@ankhorage/zora 11.0.0 → 12.1.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 (421) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +2 -1
  3. package/dist/constants.d.ts +5 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +12 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/{patterns/auth → features/auth/adapters/inbound}/AuthForm.d.ts +3 -3
  8. package/dist/features/auth/adapters/inbound/AuthForm.d.ts.map +1 -0
  9. package/dist/{patterns/auth → features/auth/adapters/inbound}/AuthForm.js +2 -2
  10. package/dist/features/auth/adapters/inbound/AuthForm.js.map +1 -0
  11. package/dist/{patterns/auth → features/auth/adapters/inbound}/AuthFormField.d.ts +2 -2
  12. package/dist/features/auth/adapters/inbound/AuthFormField.d.ts.map +1 -0
  13. package/dist/{patterns/auth → features/auth/adapters/inbound}/AuthFormField.js +2 -2
  14. package/dist/features/auth/adapters/inbound/AuthFormField.js.map +1 -0
  15. package/dist/{patterns/auth → features/auth/adapters/inbound}/ForgotPasswordForm.d.ts +1 -1
  16. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.d.ts.map +1 -0
  17. package/dist/{patterns/auth → features/auth/adapters/inbound}/ForgotPasswordForm.js +5 -5
  18. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js.map +1 -0
  19. package/dist/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderButton.d.ts +1 -1
  20. package/dist/features/auth/adapters/inbound/OAuthProviderButton.d.ts.map +1 -0
  21. package/dist/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderButton.js +3 -3
  22. package/dist/features/auth/adapters/inbound/OAuthProviderButton.js.map +1 -0
  23. package/dist/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderList.d.ts +1 -1
  24. package/dist/features/auth/adapters/inbound/OAuthProviderList.d.ts.map +1 -0
  25. package/dist/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderList.js +2 -2
  26. package/dist/features/auth/adapters/inbound/OAuthProviderList.js.map +1 -0
  27. package/dist/{patterns/auth → features/auth/adapters/inbound}/OtpForm.d.ts +1 -1
  28. package/dist/features/auth/adapters/inbound/OtpForm.d.ts.map +1 -0
  29. package/dist/{patterns/auth → features/auth/adapters/inbound}/OtpForm.js +4 -4
  30. package/dist/features/auth/adapters/inbound/OtpForm.js.map +1 -0
  31. package/dist/{patterns/auth → features/auth/adapters/inbound}/SignInForm.d.ts +1 -1
  32. package/dist/features/auth/adapters/inbound/SignInForm.d.ts.map +1 -0
  33. package/dist/{patterns/auth → features/auth/adapters/inbound}/SignInForm.js +5 -5
  34. package/dist/features/auth/adapters/inbound/SignInForm.js.map +1 -0
  35. package/dist/{patterns/auth → features/auth/adapters/inbound}/SignUpForm.d.ts +1 -1
  36. package/dist/features/auth/adapters/inbound/SignUpForm.d.ts.map +1 -0
  37. package/dist/{patterns/auth → features/auth/adapters/inbound}/SignUpForm.js +3 -3
  38. package/dist/features/auth/adapters/inbound/SignUpForm.js.map +1 -0
  39. package/dist/features/auth/forgotPasswordFormMeta.d.ts +79 -0
  40. package/dist/features/auth/forgotPasswordFormMeta.d.ts.map +1 -0
  41. package/dist/features/auth/forgotPasswordFormMeta.js +48 -0
  42. package/dist/features/auth/forgotPasswordFormMeta.js.map +1 -0
  43. package/dist/features/auth/oauthProviderButtonMeta.d.ts +83 -0
  44. package/dist/features/auth/oauthProviderButtonMeta.d.ts.map +1 -0
  45. package/dist/features/auth/oauthProviderButtonMeta.js +61 -0
  46. package/dist/features/auth/oauthProviderButtonMeta.js.map +1 -0
  47. package/dist/features/auth/oauthProviderListMeta.d.ts +109 -0
  48. package/dist/features/auth/oauthProviderListMeta.d.ts.map +1 -0
  49. package/dist/features/auth/oauthProviderListMeta.js +66 -0
  50. package/dist/features/auth/oauthProviderListMeta.js.map +1 -0
  51. package/dist/features/auth/otpFormMeta.d.ts +89 -0
  52. package/dist/features/auth/otpFormMeta.d.ts.map +1 -0
  53. package/dist/features/auth/otpFormMeta.js +54 -0
  54. package/dist/features/auth/otpFormMeta.js.map +1 -0
  55. package/dist/features/auth/public.d.ts +9 -0
  56. package/dist/features/auth/public.d.ts.map +1 -0
  57. package/dist/features/auth/public.js +8 -0
  58. package/dist/features/auth/public.js.map +1 -0
  59. package/dist/features/auth/signInFormMeta.d.ts +100 -0
  60. package/dist/features/auth/signInFormMeta.d.ts.map +1 -0
  61. package/dist/features/auth/signInFormMeta.js +62 -0
  62. package/dist/features/auth/signInFormMeta.js.map +1 -0
  63. package/dist/features/auth/signUpFormMeta.d.ts +111 -0
  64. package/dist/features/auth/signUpFormMeta.d.ts.map +1 -0
  65. package/dist/features/auth/signUpFormMeta.js +66 -0
  66. package/dist/features/auth/signUpFormMeta.js.map +1 -0
  67. package/dist/{patterns/auth/utils.d.ts → features/auth/utils/authForm.d.ts} +3 -3
  68. package/dist/features/auth/utils/authForm.d.ts.map +1 -0
  69. package/dist/{patterns/auth/utils.js → features/auth/utils/authForm.js} +1 -1
  70. package/dist/features/auth/utils/authForm.js.map +1 -0
  71. package/dist/{patterns/auth → features/auth/utils}/oauthProviders.d.ts +1 -1
  72. package/dist/features/auth/utils/oauthProviders.d.ts.map +1 -0
  73. package/dist/features/auth/utils/oauthProviders.js.map +1 -0
  74. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  75. package/dist/features/card/cardMeta.d.ts +1 -1
  76. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  77. package/dist/features/card/postCardMeta.d.ts +1 -1
  78. package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
  79. package/dist/features/data-table/adapters/inbound/DataTable.js +1 -1
  80. package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
  81. package/dist/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.d.ts +1 -1
  82. package/dist/features/date-picker/adapters/inbound/DatePicker.d.ts.map +1 -0
  83. package/dist/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.js +23 -26
  84. package/dist/features/date-picker/adapters/inbound/DatePicker.js.map +1 -0
  85. package/dist/features/date-picker/datePickerMeta.d.ts +83 -0
  86. package/dist/features/date-picker/datePickerMeta.d.ts.map +1 -0
  87. package/dist/features/date-picker/datePickerMeta.js +57 -0
  88. package/dist/features/date-picker/datePickerMeta.js.map +1 -0
  89. package/dist/features/date-picker/public.d.ts +3 -0
  90. package/dist/features/date-picker/public.d.ts.map +1 -0
  91. package/dist/features/date-picker/public.js +2 -0
  92. package/dist/features/date-picker/public.js.map +1 -0
  93. package/dist/features/date-picker/utils/localDate.d.ts +5 -0
  94. package/dist/features/date-picker/utils/localDate.d.ts.map +1 -0
  95. package/dist/features/date-picker/utils/localDate.js +27 -0
  96. package/dist/features/date-picker/utils/localDate.js.map +1 -0
  97. package/dist/{components/gradient → features/gradient/adapters/inbound}/Gradient.d.ts +1 -1
  98. package/dist/features/gradient/adapters/inbound/Gradient.d.ts.map +1 -0
  99. package/dist/{components/gradient → features/gradient/adapters/inbound}/Gradient.js +2 -2
  100. package/dist/features/gradient/adapters/inbound/Gradient.js.map +1 -0
  101. package/dist/{components/gradient → features/gradient/adapters/inbound}/GradientRendererContext.d.ts +3 -2
  102. package/dist/features/gradient/adapters/inbound/GradientRendererContext.d.ts.map +1 -0
  103. package/dist/{components/gradient → features/gradient/adapters/inbound}/GradientRendererContext.js +2 -1
  104. package/dist/features/gradient/adapters/inbound/GradientRendererContext.js.map +1 -0
  105. package/dist/features/gradient/gradientMeta.d.ts +48 -0
  106. package/dist/features/gradient/gradientMeta.d.ts.map +1 -0
  107. package/dist/features/gradient/gradientMeta.js +25 -0
  108. package/dist/features/gradient/gradientMeta.js.map +1 -0
  109. package/dist/features/gradient/public.d.ts +4 -0
  110. package/dist/features/gradient/public.d.ts.map +1 -0
  111. package/dist/features/gradient/public.js +3 -0
  112. package/dist/features/gradient/public.js.map +1 -0
  113. package/dist/{patterns/hero → features/hero/adapters/inbound}/Hero.d.ts +1 -1
  114. package/dist/features/hero/adapters/inbound/Hero.d.ts.map +1 -0
  115. package/dist/{patterns/hero → features/hero/adapters/inbound}/Hero.js +5 -6
  116. package/dist/features/hero/adapters/inbound/Hero.js.map +1 -0
  117. package/dist/{patterns/hero/meta.d.ts → features/hero/heroMeta.d.ts} +1 -1
  118. package/dist/features/hero/heroMeta.d.ts.map +1 -0
  119. package/dist/{patterns/hero/meta.js → features/hero/heroMeta.js} +1 -1
  120. package/dist/features/hero/heroMeta.js.map +1 -0
  121. package/dist/features/hero/public.d.ts +3 -0
  122. package/dist/features/hero/public.d.ts.map +1 -0
  123. package/dist/features/hero/public.js +2 -0
  124. package/dist/features/hero/public.js.map +1 -0
  125. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  126. package/dist/features/layout/boxMeta.d.ts +1 -1
  127. package/dist/features/layout/containerMeta.d.ts +1 -1
  128. package/dist/features/layout/gridMeta.d.ts +1 -1
  129. package/dist/features/layout/stackMeta.d.ts +1 -1
  130. package/dist/features/list/flatListMeta.d.ts +1 -1
  131. package/dist/features/list/sectionListMeta.d.ts +1 -1
  132. package/dist/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.d.ts +1 -1
  133. package/dist/features/missing-element/adapters/inbound/MissingElement.d.ts.map +1 -0
  134. package/dist/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.js +5 -5
  135. package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -0
  136. package/dist/{patterns/missing-element/meta.d.ts → features/missing-element/missingElementMeta.d.ts} +1 -1
  137. package/dist/features/missing-element/missingElementMeta.d.ts.map +1 -0
  138. package/dist/{patterns/missing-element/meta.js → features/missing-element/missingElementMeta.js} +1 -1
  139. package/dist/features/missing-element/missingElementMeta.js.map +1 -0
  140. package/dist/features/missing-element/public.d.ts +3 -0
  141. package/dist/features/missing-element/public.d.ts.map +1 -0
  142. package/dist/features/missing-element/public.js +2 -0
  143. package/dist/features/missing-element/public.js.map +1 -0
  144. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.d.ts +1 -1
  145. package/dist/features/skeleton/adapters/inbound/Skeleton.d.ts.map +1 -0
  146. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.js +3 -3
  147. package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -0
  148. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.d.ts +1 -1
  149. package/dist/features/skeleton/adapters/inbound/SkeletonCard.d.ts.map +1 -0
  150. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.js +4 -4
  151. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -0
  152. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.d.ts +1 -1
  153. package/dist/features/skeleton/adapters/inbound/SkeletonList.d.ts.map +1 -0
  154. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.js +2 -2
  155. package/dist/features/skeleton/adapters/inbound/SkeletonList.js.map +1 -0
  156. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.d.ts +1 -1
  157. package/dist/features/skeleton/adapters/inbound/SkeletonText.d.ts.map +1 -0
  158. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.js +2 -2
  159. package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -0
  160. package/dist/features/skeleton/public.d.ts +6 -0
  161. package/dist/features/skeleton/public.d.ts.map +1 -0
  162. package/dist/features/skeleton/public.js +5 -0
  163. package/dist/features/skeleton/public.js.map +1 -0
  164. package/dist/features/skeleton/skeletonMeta.d.ts +178 -0
  165. package/dist/features/skeleton/skeletonMeta.d.ts.map +1 -0
  166. package/dist/features/skeleton/skeletonMeta.js +84 -0
  167. package/dist/features/skeleton/skeletonMeta.js.map +1 -0
  168. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  169. package/dist/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.d.ts +1 -1
  170. package/dist/features/time-picker/adapters/inbound/TimePicker.d.ts.map +1 -0
  171. package/dist/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.js +8 -11
  172. package/dist/features/time-picker/adapters/inbound/TimePicker.js.map +1 -0
  173. package/dist/features/time-picker/public.d.ts +3 -0
  174. package/dist/features/time-picker/public.d.ts.map +1 -0
  175. package/dist/features/time-picker/public.js +2 -0
  176. package/dist/features/time-picker/public.js.map +1 -0
  177. package/dist/features/time-picker/timePickerMeta.d.ts +90 -0
  178. package/dist/features/time-picker/timePickerMeta.d.ts.map +1 -0
  179. package/dist/features/time-picker/timePickerMeta.js +64 -0
  180. package/dist/features/time-picker/timePickerMeta.js.map +1 -0
  181. package/dist/index.d.ts +9 -14
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +7 -7
  184. package/dist/index.js.map +1 -1
  185. package/dist/layout/screen/meta.d.ts +1 -1
  186. package/dist/layout/screen-section/meta.d.ts +1 -1
  187. package/dist/metadata/allowedChildren.d.ts +3 -3
  188. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  189. package/dist/metadata/allowedChildren.js +14 -0
  190. package/dist/metadata/allowedChildren.js.map +1 -1
  191. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  192. package/dist/metadata/componentMeta.d.ts.map +1 -1
  193. package/dist/metadata/componentMeta.js +12 -7
  194. package/dist/metadata/componentMeta.js.map +1 -1
  195. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  196. package/dist/patterns/notice/meta.d.ts +1 -1
  197. package/dist/patterns/panel/meta.d.ts +1 -1
  198. package/dist/patterns/reader/meta.d.ts +2 -2
  199. package/dist/patterns/scanner/meta.d.ts +2 -2
  200. package/dist/registry.js +7 -7
  201. package/dist/registry.js.map +1 -1
  202. package/dist/{patterns/auth/types.d.ts → types/auth.d.ts} +8 -8
  203. package/dist/types/auth.d.ts.map +1 -0
  204. package/dist/types/auth.js +2 -0
  205. package/dist/types/auth.js.map +1 -0
  206. package/dist/{components/date-picker/types.d.ts → types/date-picker.d.ts} +6 -6
  207. package/dist/types/date-picker.d.ts.map +1 -0
  208. package/dist/types/date-picker.js +2 -0
  209. package/dist/types/date-picker.js.map +1 -0
  210. package/dist/{components/gradient/types.d.ts → types/gradient.d.ts} +3 -3
  211. package/dist/types/gradient.d.ts.map +1 -0
  212. package/dist/types/gradient.js +2 -0
  213. package/dist/types/gradient.js.map +1 -0
  214. package/dist/{patterns/hero/types.d.ts → types/hero.d.ts} +3 -3
  215. package/dist/types/hero.d.ts.map +1 -0
  216. package/dist/types/hero.js +2 -0
  217. package/dist/types/hero.js.map +1 -0
  218. package/dist/{patterns/missing-element/types.d.ts → types/missing-element.d.ts} +2 -2
  219. package/dist/types/missing-element.d.ts.map +1 -0
  220. package/dist/types/missing-element.js +2 -0
  221. package/dist/types/missing-element.js.map +1 -0
  222. package/dist/{components/skeleton/types.d.ts → types/skeleton.d.ts} +3 -3
  223. package/dist/types/skeleton.d.ts.map +1 -0
  224. package/dist/types/skeleton.js +2 -0
  225. package/dist/types/skeleton.js.map +1 -0
  226. package/dist/{components/time-picker/types.d.ts → types/time-picker.d.ts} +2 -2
  227. package/dist/types/time-picker.d.ts.map +1 -0
  228. package/dist/types/time-picker.js +2 -0
  229. package/dist/types/time-picker.js.map +1 -0
  230. package/package.json +1 -1
  231. package/src/constants.ts +12 -0
  232. package/src/expo57Migration.test.ts +1 -1
  233. package/src/featureManifest.test.ts +14 -0
  234. package/src/{patterns/auth → features/auth/adapters/inbound}/AuthForm.tsx +5 -5
  235. package/src/{patterns/auth → features/auth/adapters/inbound}/AuthFormField.tsx +4 -4
  236. package/src/{patterns/auth → features/auth/adapters/inbound}/ForgotPasswordForm.tsx +8 -8
  237. package/src/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderButton.tsx +4 -4
  238. package/src/{patterns/auth → features/auth/adapters/inbound}/OAuthProviderList.tsx +3 -3
  239. package/src/{patterns/auth → features/auth/adapters/inbound}/OtpForm.tsx +6 -6
  240. package/src/{patterns/auth → features/auth/adapters/inbound}/SignInForm.tsx +8 -8
  241. package/src/{patterns/auth → features/auth/adapters/inbound}/SignUpForm.tsx +5 -5
  242. package/src/features/auth/forgotPasswordFormMeta.ts +49 -0
  243. package/src/features/auth/oauthProviderButtonMeta.ts +62 -0
  244. package/src/features/auth/oauthProviderListMeta.ts +67 -0
  245. package/src/features/auth/otpFormMeta.ts +55 -0
  246. package/src/features/auth/public.test.ts +34 -0
  247. package/src/{patterns/auth/index.ts → features/auth/public.ts} +12 -12
  248. package/src/features/auth/signInFormMeta.ts +63 -0
  249. package/src/features/auth/signUpFormMeta.ts +67 -0
  250. package/src/{patterns/auth/utils.ts → features/auth/utils/authForm.ts} +2 -2
  251. package/src/{patterns/auth → features/auth/utils}/oauthProviders.test.ts +1 -1
  252. package/src/{patterns/auth → features/auth/utils}/oauthProviders.ts +1 -1
  253. package/src/features/bottom-sheet/public.test.ts +2 -2
  254. package/src/features/data-table/adapters/inbound/DataTable.tsx +1 -1
  255. package/src/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.tsx +41 -32
  256. package/src/features/date-picker/datePickerMeta.ts +58 -0
  257. package/src/features/date-picker/public.test.ts +15 -0
  258. package/src/features/date-picker/public.ts +2 -0
  259. package/src/features/date-picker/utils/localDate.test.ts +18 -0
  260. package/src/features/date-picker/utils/localDate.ts +29 -0
  261. package/src/{components/gradient → features/gradient/adapters/inbound}/Gradient.tsx +3 -3
  262. package/src/{components/gradient → features/gradient/adapters/inbound}/GradientRendererContext.tsx +3 -2
  263. package/src/features/gradient/gradientMeta.ts +26 -0
  264. package/src/features/gradient/public.test.ts +15 -0
  265. package/src/{components/gradient/index.ts → features/gradient/public.ts} +3 -3
  266. package/src/{patterns/hero → features/hero/adapters/inbound}/Hero.tsx +6 -7
  267. package/src/features/hero/public.ts +2 -0
  268. package/src/{patterns → features}/missing-element/MissingElement.test.ts +6 -4
  269. package/src/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.tsx +6 -6
  270. package/src/features/missing-element/public.ts +2 -0
  271. package/src/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.tsx +4 -4
  272. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.tsx +5 -5
  273. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.tsx +3 -3
  274. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.tsx +3 -3
  275. package/src/features/skeleton/public.test.ts +24 -0
  276. package/src/features/skeleton/public.ts +13 -0
  277. package/src/features/skeleton/skeletonMeta.ts +88 -0
  278. package/src/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.tsx +9 -12
  279. package/src/features/time-picker/public.test.ts +14 -0
  280. package/src/features/time-picker/public.ts +2 -0
  281. package/src/features/time-picker/timePickerMeta.ts +65 -0
  282. package/src/index.ts +72 -58
  283. package/src/interactionPolicy.test.ts +3 -3
  284. package/src/metadata/allowedChildren.ts +14 -0
  285. package/src/metadata/componentMeta.test.ts +13 -0
  286. package/src/metadata/componentMeta.ts +17 -19
  287. package/src/registry.ts +14 -14
  288. package/src/theme/themeScopeStructure.test.ts +7 -5
  289. package/src/{patterns/auth/types.ts → types/auth.ts} +7 -7
  290. package/src/{components/date-picker/types.ts → types/date-picker.ts} +5 -5
  291. package/src/{components/gradient/types.ts → types/gradient.ts} +2 -2
  292. package/src/{patterns/hero/types.ts → types/hero.ts} +2 -2
  293. package/src/{patterns/missing-element/types.ts → types/missing-element.ts} +1 -1
  294. package/src/{components/skeleton/types.ts → types/skeleton.ts} +2 -2
  295. package/src/{components/time-picker/types.ts → types/time-picker.ts} +1 -1
  296. package/dist/components/date-picker/DatePicker.d.ts.map +0 -1
  297. package/dist/components/date-picker/DatePicker.js.map +0 -1
  298. package/dist/components/date-picker/index.d.ts +0 -3
  299. package/dist/components/date-picker/index.d.ts.map +0 -1
  300. package/dist/components/date-picker/index.js +0 -2
  301. package/dist/components/date-picker/index.js.map +0 -1
  302. package/dist/components/date-picker/meta.d.ts +0 -9
  303. package/dist/components/date-picker/meta.d.ts.map +0 -1
  304. package/dist/components/date-picker/meta.js +0 -9
  305. package/dist/components/date-picker/meta.js.map +0 -1
  306. package/dist/components/date-picker/types.d.ts.map +0 -1
  307. package/dist/components/date-picker/types.js +0 -2
  308. package/dist/components/date-picker/types.js.map +0 -1
  309. package/dist/components/gradient/Gradient.d.ts.map +0 -1
  310. package/dist/components/gradient/Gradient.js.map +0 -1
  311. package/dist/components/gradient/GradientRendererContext.d.ts.map +0 -1
  312. package/dist/components/gradient/GradientRendererContext.js.map +0 -1
  313. package/dist/components/gradient/index.d.ts +0 -4
  314. package/dist/components/gradient/index.d.ts.map +0 -1
  315. package/dist/components/gradient/index.js +0 -3
  316. package/dist/components/gradient/index.js.map +0 -1
  317. package/dist/components/gradient/meta.d.ts +0 -9
  318. package/dist/components/gradient/meta.d.ts.map +0 -1
  319. package/dist/components/gradient/meta.js +0 -9
  320. package/dist/components/gradient/meta.js.map +0 -1
  321. package/dist/components/gradient/types.d.ts.map +0 -1
  322. package/dist/components/gradient/types.js +0 -2
  323. package/dist/components/gradient/types.js.map +0 -1
  324. package/dist/components/skeleton/Skeleton.d.ts.map +0 -1
  325. package/dist/components/skeleton/Skeleton.js.map +0 -1
  326. package/dist/components/skeleton/SkeletonCard.d.ts.map +0 -1
  327. package/dist/components/skeleton/SkeletonCard.js.map +0 -1
  328. package/dist/components/skeleton/SkeletonList.d.ts.map +0 -1
  329. package/dist/components/skeleton/SkeletonList.js.map +0 -1
  330. package/dist/components/skeleton/SkeletonText.d.ts.map +0 -1
  331. package/dist/components/skeleton/SkeletonText.js.map +0 -1
  332. package/dist/components/skeleton/index.d.ts +0 -6
  333. package/dist/components/skeleton/index.d.ts.map +0 -1
  334. package/dist/components/skeleton/index.js +0 -5
  335. package/dist/components/skeleton/index.js.map +0 -1
  336. package/dist/components/skeleton/meta.d.ts +0 -33
  337. package/dist/components/skeleton/meta.d.ts.map +0 -1
  338. package/dist/components/skeleton/meta.js +0 -33
  339. package/dist/components/skeleton/meta.js.map +0 -1
  340. package/dist/components/skeleton/types.d.ts.map +0 -1
  341. package/dist/components/skeleton/types.js +0 -2
  342. package/dist/components/skeleton/types.js.map +0 -1
  343. package/dist/components/time-picker/TimePicker.d.ts.map +0 -1
  344. package/dist/components/time-picker/TimePicker.js.map +0 -1
  345. package/dist/components/time-picker/index.d.ts +0 -3
  346. package/dist/components/time-picker/index.d.ts.map +0 -1
  347. package/dist/components/time-picker/index.js +0 -2
  348. package/dist/components/time-picker/index.js.map +0 -1
  349. package/dist/components/time-picker/meta.d.ts +0 -9
  350. package/dist/components/time-picker/meta.d.ts.map +0 -1
  351. package/dist/components/time-picker/meta.js +0 -9
  352. package/dist/components/time-picker/meta.js.map +0 -1
  353. package/dist/components/time-picker/types.d.ts.map +0 -1
  354. package/dist/components/time-picker/types.js +0 -2
  355. package/dist/components/time-picker/types.js.map +0 -1
  356. package/dist/patterns/auth/AuthForm.d.ts.map +0 -1
  357. package/dist/patterns/auth/AuthForm.js.map +0 -1
  358. package/dist/patterns/auth/AuthFormField.d.ts.map +0 -1
  359. package/dist/patterns/auth/AuthFormField.js.map +0 -1
  360. package/dist/patterns/auth/ForgotPasswordForm.d.ts.map +0 -1
  361. package/dist/patterns/auth/ForgotPasswordForm.js.map +0 -1
  362. package/dist/patterns/auth/OAuthProviderButton.d.ts.map +0 -1
  363. package/dist/patterns/auth/OAuthProviderButton.js.map +0 -1
  364. package/dist/patterns/auth/OAuthProviderList.d.ts.map +0 -1
  365. package/dist/patterns/auth/OAuthProviderList.js.map +0 -1
  366. package/dist/patterns/auth/OtpForm.d.ts.map +0 -1
  367. package/dist/patterns/auth/OtpForm.js.map +0 -1
  368. package/dist/patterns/auth/SignInForm.d.ts.map +0 -1
  369. package/dist/patterns/auth/SignInForm.js.map +0 -1
  370. package/dist/patterns/auth/SignUpForm.d.ts.map +0 -1
  371. package/dist/patterns/auth/SignUpForm.js.map +0 -1
  372. package/dist/patterns/auth/index.d.ts +0 -9
  373. package/dist/patterns/auth/index.d.ts.map +0 -1
  374. package/dist/patterns/auth/index.js +0 -8
  375. package/dist/patterns/auth/index.js.map +0 -1
  376. package/dist/patterns/auth/meta.d.ts +0 -49
  377. package/dist/patterns/auth/meta.d.ts.map +0 -1
  378. package/dist/patterns/auth/meta.js +0 -50
  379. package/dist/patterns/auth/meta.js.map +0 -1
  380. package/dist/patterns/auth/oauthProviders.d.ts.map +0 -1
  381. package/dist/patterns/auth/oauthProviders.js.map +0 -1
  382. package/dist/patterns/auth/types.d.ts.map +0 -1
  383. package/dist/patterns/auth/types.js +0 -2
  384. package/dist/patterns/auth/types.js.map +0 -1
  385. package/dist/patterns/auth/utils.d.ts.map +0 -1
  386. package/dist/patterns/auth/utils.js.map +0 -1
  387. package/dist/patterns/hero/Hero.d.ts.map +0 -1
  388. package/dist/patterns/hero/Hero.js.map +0 -1
  389. package/dist/patterns/hero/index.d.ts +0 -3
  390. package/dist/patterns/hero/index.d.ts.map +0 -1
  391. package/dist/patterns/hero/index.js +0 -2
  392. package/dist/patterns/hero/index.js.map +0 -1
  393. package/dist/patterns/hero/meta.d.ts.map +0 -1
  394. package/dist/patterns/hero/meta.js.map +0 -1
  395. package/dist/patterns/hero/types.d.ts.map +0 -1
  396. package/dist/patterns/hero/types.js +0 -2
  397. package/dist/patterns/hero/types.js.map +0 -1
  398. package/dist/patterns/missing-element/MissingElement.d.ts.map +0 -1
  399. package/dist/patterns/missing-element/MissingElement.js.map +0 -1
  400. package/dist/patterns/missing-element/index.d.ts +0 -3
  401. package/dist/patterns/missing-element/index.d.ts.map +0 -1
  402. package/dist/patterns/missing-element/index.js +0 -2
  403. package/dist/patterns/missing-element/index.js.map +0 -1
  404. package/dist/patterns/missing-element/meta.d.ts.map +0 -1
  405. package/dist/patterns/missing-element/meta.js.map +0 -1
  406. package/dist/patterns/missing-element/types.d.ts.map +0 -1
  407. package/dist/patterns/missing-element/types.js +0 -2
  408. package/dist/patterns/missing-element/types.js.map +0 -1
  409. package/src/components/date-picker/index.ts +0 -2
  410. package/src/components/date-picker/meta.ts +0 -10
  411. package/src/components/gradient/meta.ts +0 -10
  412. package/src/components/skeleton/index.ts +0 -13
  413. package/src/components/skeleton/meta.ts +0 -37
  414. package/src/components/time-picker/index.ts +0 -2
  415. package/src/components/time-picker/meta.ts +0 -10
  416. package/src/patterns/auth/meta.ts +0 -57
  417. package/src/patterns/hero/index.ts +0 -2
  418. package/src/patterns/missing-element/index.ts +0 -2
  419. /package/dist/{patterns/auth → features/auth/utils}/oauthProviders.js +0 -0
  420. /package/src/{patterns/hero/meta.ts → features/hero/heroMeta.ts} +0 -0
  421. /package/src/{patterns/missing-element/meta.ts → features/missing-element/missingElementMeta.ts} +0 -0
@@ -0,0 +1,62 @@
1
+ export const signInFormMeta = {
2
+ name: 'SignInForm',
3
+ category: 'pattern',
4
+ description: 'Collects an account identifier and secret for sign-in.',
5
+ directManifestNode: true,
6
+ allowedChildren: [],
7
+ blueprint: {
8
+ label: 'Sign-in form',
9
+ defaultProps: {
10
+ identifiers: ['email'],
11
+ identifierLabel: 'Email',
12
+ secretLabel: 'Password',
13
+ forgotPasswordLabel: 'Forgot password',
14
+ signUpLabel: 'Sign up',
15
+ submitLabel: 'Sign in',
16
+ loading: false,
17
+ disabled: false,
18
+ },
19
+ },
20
+ events: {
21
+ submit: {
22
+ label: 'Submit',
23
+ eventType: 'signInForm.submit',
24
+ payloadFields: [
25
+ { path: 'identifier', type: 'string', label: 'Identifier' },
26
+ { path: 'identifierKind', type: 'string', label: 'Identifier kind' },
27
+ { path: 'secret', type: 'string', label: 'Secret' },
28
+ ],
29
+ },
30
+ forgotPassword: {
31
+ label: 'Forgot password',
32
+ eventType: 'signInForm.forgotPassword',
33
+ payloadFields: [],
34
+ },
35
+ signUp: {
36
+ label: 'Sign up',
37
+ eventType: 'signInForm.signUp',
38
+ payloadFields: [],
39
+ },
40
+ },
41
+ props: {
42
+ identifiers: {
43
+ type: 'array',
44
+ category: 'Authentication',
45
+ label: 'Identifiers',
46
+ default: ['email'],
47
+ },
48
+ identifierLabel: { type: 'string', category: 'Content', label: 'Identifier label' },
49
+ secretLabel: { type: 'string', category: 'Content', label: 'Secret label' },
50
+ forgotPasswordLabel: {
51
+ type: 'string',
52
+ category: 'Content',
53
+ label: 'Forgot-password label',
54
+ },
55
+ signUpLabel: { type: 'string', category: 'Content', label: 'Sign-up label' },
56
+ submitLabel: { type: 'string', category: 'Content', label: 'Submit label' },
57
+ error: { type: 'string', category: 'State', label: 'Error' },
58
+ loading: { type: 'boolean', category: 'State', label: 'Loading', default: false },
59
+ disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },
60
+ },
61
+ };
62
+ //# sourceMappingURL=signInFormMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signInFormMeta.js","sourceRoot":"","sources":["../../../src/features/auth/signInFormMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,wDAAwD;IACrE,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE;YACZ,WAAW,EAAE,CAAC,OAAO,CAAC;YACtB,eAAe,EAAE,OAAO;YACxB,WAAW,EAAE,UAAU;YACvB,mBAAmB,EAAE,iBAAiB;YACtC,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE;gBACb,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;aACpD;SACF;QACD,cAAc,EAAE;YACd,KAAK,EAAE,iBAAiB;YACxB,SAAS,EAAE,2BAA2B;YACtC,aAAa,EAAE,EAAE;SAClB;QACD,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,EAAE;SAClB;KACF;IACD,KAAK,EAAE;QACL,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,CAAC,OAAO,CAAC;SACnB;QACD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACnF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;QAC3E,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,uBAAuB;SAC/B;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE;QAC5E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;QAC3E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACjF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;KACpF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const signInFormMeta = {\n name: 'SignInForm',\n category: 'pattern',\n description: 'Collects an account identifier and secret for sign-in.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Sign-in form',\n defaultProps: {\n identifiers: ['email'],\n identifierLabel: 'Email',\n secretLabel: 'Password',\n forgotPasswordLabel: 'Forgot password',\n signUpLabel: 'Sign up',\n submitLabel: 'Sign in',\n loading: false,\n disabled: false,\n },\n },\n events: {\n submit: {\n label: 'Submit',\n eventType: 'signInForm.submit',\n payloadFields: [\n { path: 'identifier', type: 'string', label: 'Identifier' },\n { path: 'identifierKind', type: 'string', label: 'Identifier kind' },\n { path: 'secret', type: 'string', label: 'Secret' },\n ],\n },\n forgotPassword: {\n label: 'Forgot password',\n eventType: 'signInForm.forgotPassword',\n payloadFields: [],\n },\n signUp: {\n label: 'Sign up',\n eventType: 'signInForm.signUp',\n payloadFields: [],\n },\n },\n props: {\n identifiers: {\n type: 'array',\n category: 'Authentication',\n label: 'Identifiers',\n default: ['email'],\n },\n identifierLabel: { type: 'string', category: 'Content', label: 'Identifier label' },\n secretLabel: { type: 'string', category: 'Content', label: 'Secret label' },\n forgotPasswordLabel: {\n type: 'string',\n category: 'Content',\n label: 'Forgot-password label',\n },\n signUpLabel: { type: 'string', category: 'Content', label: 'Sign-up label' },\n submitLabel: { type: 'string', category: 'Content', label: 'Submit label' },\n error: { type: 'string', category: 'State', label: 'Error' },\n loading: { type: 'boolean', category: 'State', label: 'Loading', default: false },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,111 @@
1
+ export declare const signUpFormMeta: {
2
+ readonly name: "SignUpForm";
3
+ readonly category: "pattern";
4
+ readonly description: "Collects configurable account fields for sign-up.";
5
+ readonly directManifestNode: true;
6
+ readonly allowedChildren: readonly [];
7
+ readonly blueprint: {
8
+ readonly label: "Sign-up form";
9
+ readonly defaultProps: {
10
+ readonly signInLabel: "Sign in";
11
+ readonly submitLabel: "Sign up";
12
+ readonly loading: false;
13
+ readonly disabled: false;
14
+ };
15
+ };
16
+ readonly events: {
17
+ readonly submit: {
18
+ readonly label: "Submit";
19
+ readonly eventType: "signUpForm.submit";
20
+ readonly payloadFields: readonly [{
21
+ readonly path: "values";
22
+ readonly type: "record";
23
+ readonly label: "Values";
24
+ }];
25
+ };
26
+ readonly signIn: {
27
+ readonly label: "Sign in";
28
+ readonly eventType: "signUpForm.signIn";
29
+ readonly payloadFields: readonly [];
30
+ };
31
+ };
32
+ readonly props: {
33
+ readonly fields: {
34
+ readonly type: "array";
35
+ readonly category: "Authentication";
36
+ readonly label: "Fields";
37
+ readonly itemSchema: readonly [{
38
+ readonly key: "name";
39
+ readonly schema: {
40
+ readonly type: "string";
41
+ readonly category: "Identity";
42
+ readonly label: "Name";
43
+ };
44
+ }, {
45
+ readonly key: "label";
46
+ readonly schema: {
47
+ readonly type: "string";
48
+ readonly category: "Content";
49
+ readonly label: "Label";
50
+ };
51
+ }, {
52
+ readonly key: "type";
53
+ readonly schema: {
54
+ readonly type: "enum";
55
+ readonly category: "Authentication";
56
+ readonly label: "Type";
57
+ readonly enum: readonly ["email", "number", "otp", "password", "tel", "text", "url"];
58
+ };
59
+ }, {
60
+ readonly key: "placeholder";
61
+ readonly schema: {
62
+ readonly type: "string";
63
+ readonly category: "Content";
64
+ readonly label: "Placeholder";
65
+ };
66
+ }, {
67
+ readonly key: "required";
68
+ readonly schema: {
69
+ readonly type: "boolean";
70
+ readonly category: "Validation";
71
+ readonly label: "Required";
72
+ };
73
+ }, {
74
+ readonly key: "disabled";
75
+ readonly schema: {
76
+ readonly type: "boolean";
77
+ readonly category: "State";
78
+ readonly label: "Disabled";
79
+ };
80
+ }];
81
+ };
82
+ readonly signInLabel: {
83
+ readonly type: "string";
84
+ readonly category: "Content";
85
+ readonly label: "Sign-in label";
86
+ };
87
+ readonly submitLabel: {
88
+ readonly type: "string";
89
+ readonly category: "Content";
90
+ readonly label: "Submit label";
91
+ };
92
+ readonly error: {
93
+ readonly type: "string";
94
+ readonly category: "State";
95
+ readonly label: "Error";
96
+ };
97
+ readonly loading: {
98
+ readonly type: "boolean";
99
+ readonly category: "State";
100
+ readonly label: "Loading";
101
+ readonly default: false;
102
+ };
103
+ readonly disabled: {
104
+ readonly type: "boolean";
105
+ readonly category: "State";
106
+ readonly label: "Disabled";
107
+ readonly default: false;
108
+ };
109
+ };
110
+ };
111
+ //# sourceMappingURL=signUpFormMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signUpFormMeta.d.ts","sourceRoot":"","sources":["../../../src/features/auth/signUpFormMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEW,CAAC"}
@@ -0,0 +1,66 @@
1
+ export const signUpFormMeta = {
2
+ name: 'SignUpForm',
3
+ category: 'pattern',
4
+ description: 'Collects configurable account fields for sign-up.',
5
+ directManifestNode: true,
6
+ allowedChildren: [],
7
+ blueprint: {
8
+ label: 'Sign-up form',
9
+ defaultProps: {
10
+ signInLabel: 'Sign in',
11
+ submitLabel: 'Sign up',
12
+ loading: false,
13
+ disabled: false,
14
+ },
15
+ },
16
+ events: {
17
+ submit: {
18
+ label: 'Submit',
19
+ eventType: 'signUpForm.submit',
20
+ payloadFields: [{ path: 'values', type: 'record', label: 'Values' }],
21
+ },
22
+ signIn: {
23
+ label: 'Sign in',
24
+ eventType: 'signUpForm.signIn',
25
+ payloadFields: [],
26
+ },
27
+ },
28
+ props: {
29
+ fields: {
30
+ type: 'array',
31
+ category: 'Authentication',
32
+ label: 'Fields',
33
+ itemSchema: [
34
+ { key: 'name', schema: { type: 'string', category: 'Identity', label: 'Name' } },
35
+ { key: 'label', schema: { type: 'string', category: 'Content', label: 'Label' } },
36
+ {
37
+ key: 'type',
38
+ schema: {
39
+ type: 'enum',
40
+ category: 'Authentication',
41
+ label: 'Type',
42
+ enum: ['email', 'number', 'otp', 'password', 'tel', 'text', 'url'],
43
+ },
44
+ },
45
+ {
46
+ key: 'placeholder',
47
+ schema: { type: 'string', category: 'Content', label: 'Placeholder' },
48
+ },
49
+ {
50
+ key: 'required',
51
+ schema: { type: 'boolean', category: 'Validation', label: 'Required' },
52
+ },
53
+ {
54
+ key: 'disabled',
55
+ schema: { type: 'boolean', category: 'State', label: 'Disabled' },
56
+ },
57
+ ],
58
+ },
59
+ signInLabel: { type: 'string', category: 'Content', label: 'Sign-in label' },
60
+ submitLabel: { type: 'string', category: 'Content', label: 'Submit label' },
61
+ error: { type: 'string', category: 'State', label: 'Error' },
62
+ loading: { type: 'boolean', category: 'State', label: 'Loading', default: false },
63
+ disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },
64
+ },
65
+ };
66
+ //# sourceMappingURL=signUpFormMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signUpFormMeta.js","sourceRoot":"","sources":["../../../src/features/auth/signUpFormMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,mDAAmD;IAChE,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE;YACZ,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE;QACN,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACrE;QACD,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,EAAE;SAClB;KACF;IACD,KAAK,EAAE;QACL,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE;gBACV,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAChF,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjF;oBACE,GAAG,EAAE,MAAM;oBACX,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,gBAAgB;wBAC1B,KAAK,EAAE,MAAM;wBACb,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;qBACnE;iBACF;gBACD;oBACE,GAAG,EAAE,aAAa;oBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;iBACtE;gBACD;oBACE,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE;iBACvE;gBACD;oBACE,GAAG,EAAE,UAAU;oBACf,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;iBAClE;aACF;SACF;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE;QAC5E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE;QAC3E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACjF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;KACpF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const signUpFormMeta = {\n name: 'SignUpForm',\n category: 'pattern',\n description: 'Collects configurable account fields for sign-up.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Sign-up form',\n defaultProps: {\n signInLabel: 'Sign in',\n submitLabel: 'Sign up',\n loading: false,\n disabled: false,\n },\n },\n events: {\n submit: {\n label: 'Submit',\n eventType: 'signUpForm.submit',\n payloadFields: [{ path: 'values', type: 'record', label: 'Values' }],\n },\n signIn: {\n label: 'Sign in',\n eventType: 'signUpForm.signIn',\n payloadFields: [],\n },\n },\n props: {\n fields: {\n type: 'array',\n category: 'Authentication',\n label: 'Fields',\n itemSchema: [\n { key: 'name', schema: { type: 'string', category: 'Identity', label: 'Name' } },\n { key: 'label', schema: { type: 'string', category: 'Content', label: 'Label' } },\n {\n key: 'type',\n schema: {\n type: 'enum',\n category: 'Authentication',\n label: 'Type',\n enum: ['email', 'number', 'otp', 'password', 'tel', 'text', 'url'],\n },\n },\n {\n key: 'placeholder',\n schema: { type: 'string', category: 'Content', label: 'Placeholder' },\n },\n {\n key: 'required',\n schema: { type: 'boolean', category: 'Validation', label: 'Required' },\n },\n {\n key: 'disabled',\n schema: { type: 'boolean', category: 'State', label: 'Disabled' },\n },\n ],\n },\n signInLabel: { type: 'string', category: 'Content', label: 'Sign-in label' },\n submitLabel: { type: 'string', category: 'Content', label: 'Submit label' },\n error: { type: 'string', category: 'State', label: 'Error' },\n loading: { type: 'boolean', category: 'State', label: 'Loading', default: false },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled', default: false },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1,8 +1,8 @@
1
- import type { FormFieldConfig, ValidationRule } from '../../types/form';
2
- import type { AuthIdentifierKind } from './types';
1
+ import type { AuthIdentifierKind } from '../../../types/auth';
2
+ import type { FormFieldConfig, ValidationRule } from '../../../types/form';
3
3
  export declare const defaultIdentifiers: readonly ["email"];
4
4
  export declare function resolveIdentifierLabel(identifiers: readonly AuthIdentifierKind[]): string;
5
5
  export declare function resolveIdentifierType(identifiers: readonly AuthIdentifierKind[]): FormFieldConfig['type'];
6
6
  export declare function resolveIdentifierRules(identifiers: readonly AuthIdentifierKind[]): readonly ValidationRule[];
7
7
  export declare function normalizeIdentifierKind(identifier: string, identifiers: readonly AuthIdentifierKind[]): AuthIdentifierKind;
8
- //# sourceMappingURL=utils.d.ts.map
8
+ //# sourceMappingURL=authForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authForm.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/utils/authForm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,eAAO,MAAM,kBAAkB,oBAA6D,CAAC;AAqB7F,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAMzF;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,SAAS,kBAAkB,EAAE,GACzC,eAAe,CAAC,MAAM,CAAC,CAgBzB;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,SAAS,kBAAkB,EAAE,GACzC,SAAS,cAAc,EAAE,CAM3B;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,kBAAkB,EAAE,GACzC,kBAAkB,CAoBpB"}
@@ -54,4 +54,4 @@ export function normalizeIdentifierKind(identifier, identifiers) {
54
54
  }
55
55
  return identifiers[0] ?? 'email';
56
56
  }
57
- //# sourceMappingURL=utils.js.map
57
+ //# sourceMappingURL=authForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authForm.js","sourceRoot":"","sources":["../../../../src/features/auth/utils/authForm.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAkD,CAAC;AAE7F,SAAS,0BAA0B,CAAC,UAA8B;IAChE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO,CAAC;QACb;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,WAA0C,EAC1C,UAA8B;IAE9B,OAAO,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAA0C;IAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAA0C;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;IAEjC,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAA0C;IAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,WAA0C;IAE1C,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAE/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACnC,CAAC;IAED,IAAI,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AACnC,CAAC","sourcesContent":["import type { AuthIdentifierKind } from '../../../types/auth';\nimport type { FormFieldConfig, ValidationRule } from '../../../types/form';\n\nexport const defaultIdentifiers = ['email'] as const satisfies readonly AuthIdentifierKind[];\n\nfunction resolveIdentifierKindLabel(identifier: AuthIdentifierKind): string {\n switch (identifier) {\n case 'phone':\n return 'Phone';\n case 'username':\n return 'Username';\n case 'email':\n default:\n return 'Email';\n }\n}\n\nfunction includesIdentifier(\n identifiers: readonly AuthIdentifierKind[],\n identifier: AuthIdentifierKind,\n): boolean {\n return identifiers.includes(identifier);\n}\n\nexport function resolveIdentifierLabel(identifiers: readonly AuthIdentifierKind[]): string {\n if (identifiers.length === 1) {\n return resolveIdentifierKindLabel(identifiers[0] ?? 'email');\n }\n\n return identifiers.map(resolveIdentifierKindLabel).join(', or ');\n}\n\nexport function resolveIdentifierType(\n identifiers: readonly AuthIdentifierKind[],\n): FormFieldConfig['type'] {\n if (identifiers.length !== 1) {\n return 'text';\n }\n\n const [identifier] = identifiers;\n\n if (identifier === 'email') {\n return 'email';\n }\n\n if (identifier === 'phone') {\n return 'tel';\n }\n\n return 'text';\n}\n\nexport function resolveIdentifierRules(\n identifiers: readonly AuthIdentifierKind[],\n): readonly ValidationRule[] {\n if (identifiers.length === 1 && identifiers[0] === 'email') {\n return [{ kind: 'required' }, { kind: 'email' }];\n }\n\n return [{ kind: 'required' }];\n}\n\nexport function normalizeIdentifierKind(\n identifier: string,\n identifiers: readonly AuthIdentifierKind[],\n): AuthIdentifierKind {\n const normalizedIdentifier = identifier.trim();\n\n if (identifiers.length === 1) {\n return identifiers[0] ?? 'email';\n }\n\n if (includesIdentifier(identifiers, 'email') && normalizedIdentifier.includes('@')) {\n return 'email';\n }\n\n if (includesIdentifier(identifiers, 'phone') && /^[+()\\d\\s.-]+$/.test(normalizedIdentifier)) {\n return 'phone';\n }\n\n if (includesIdentifier(identifiers, 'username')) {\n return 'username';\n }\n\n return identifiers[0] ?? 'email';\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { OAuthProviderIconSpec } from './types';
1
+ import type { OAuthProviderIconSpec } from '../../../types/auth';
2
2
  export declare const DEFAULT_OAUTH_PROVIDER_ICONS: {
3
3
  readonly apple: {
4
4
  readonly provider: "FontAwesome";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthProviders.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/utils/oauthProviders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBiB,CAAC;AA+B3D,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAE9F;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthProviders.js","sourceRoot":"","sources":["../../../../src/features/auth/utils/oauthProviders.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;IACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;IACxE,SAAS,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;IACzD,OAAO,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;IACxE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;IACvD,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACpE,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACnD,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;IACtE,MAAM,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;IACnD,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;IACvD,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;IAC5E,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IACpE,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;IACrD,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;IACtE,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;IACrD,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;IACpE,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;CACX,CAAC;AAE3D,MAAM,6BAA6B,GAAG;IACpC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,CAAC,EAAE,GAAG;IACN,IAAI,EAAE,MAAM;CAC6B,CAAC;AAE5C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAC7C,CAAC;AACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAiB,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAEnG,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,kBAAkB,CAAC,GAAG,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAEjE,OAAO,UAAU,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAkB;IAClD,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,KAAK,GAAG,UAAU;SACrB,KAAK,CAAC,UAAU,CAAC;SACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1F,CAAC","sourcesContent":["import type { OAuthProviderIconSpec } from '../../../types/auth';\n\nexport const DEFAULT_OAUTH_PROVIDER_ICONS = {\n apple: { provider: 'FontAwesome', name: 'apple' },\n azure: { provider: 'FontAwesome5', name: 'microsoft', variant: 'brand' },\n bitbucket: { provider: 'FontAwesome', name: 'bitbucket' },\n discord: { provider: 'FontAwesome5', name: 'discord', variant: 'brand' },\n facebook: { provider: 'FontAwesome', name: 'facebook' },\n figma: { provider: 'FontAwesome5', name: 'figma', variant: 'brand' },\n github: { provider: 'FontAwesome', name: 'github' },\n gitlab: { provider: 'FontAwesome5', name: 'gitlab', variant: 'brand' },\n google: { provider: 'FontAwesome', name: 'google' },\n linkedin: { provider: 'FontAwesome', name: 'linkedin' },\n microsoft: { provider: 'FontAwesome5', name: 'microsoft', variant: 'brand' },\n slack: { provider: 'FontAwesome5', name: 'slack', variant: 'brand' },\n spotify: { provider: 'FontAwesome', name: 'spotify' },\n twitch: { provider: 'FontAwesome5', name: 'twitch', variant: 'brand' },\n twitter: { provider: 'FontAwesome', name: 'twitter' },\n x: { provider: 'FontAwesome6', name: 'x-twitter', variant: 'brand' },\n zoom: { provider: 'FontAwesome5', name: 'video', variant: 'solid' },\n} as const satisfies Record<string, OAuthProviderIconSpec>;\n\nconst DEFAULT_OAUTH_PROVIDER_LABELS = {\n apple: 'Apple',\n azure: 'Microsoft',\n bitbucket: 'Bitbucket',\n discord: 'Discord',\n facebook: 'Facebook',\n figma: 'Figma',\n github: 'GitHub',\n gitlab: 'GitLab',\n google: 'Google',\n kakao: 'Kakao',\n keycloak: 'Keycloak',\n linkedin: 'LinkedIn',\n microsoft: 'Microsoft',\n notion: 'Notion',\n slack: 'Slack',\n spotify: 'Spotify',\n twitch: 'Twitch',\n twitter: 'Twitter',\n workos: 'WorkOS',\n x: 'X',\n zoom: 'Zoom',\n} as const satisfies Record<string, string>;\n\nconst oauthProviderIcons = new Map<string, OAuthProviderIconSpec>(\n Object.entries(DEFAULT_OAUTH_PROVIDER_ICONS),\n);\nconst oauthProviderLabels = new Map<string, string>(Object.entries(DEFAULT_OAUTH_PROVIDER_LABELS));\n\nexport function resolveOAuthProviderIcon(providerId: string): OAuthProviderIconSpec | undefined {\n return oauthProviderIcons.get(normalizeOAuthProviderId(providerId));\n}\n\nexport function resolveOAuthProviderLabel(providerId: string): string {\n const normalizedProviderId = normalizeOAuthProviderId(providerId);\n const knownLabel = oauthProviderLabels.get(normalizedProviderId);\n\n return knownLabel ?? titleCaseProviderId(normalizedProviderId);\n}\n\nfunction normalizeOAuthProviderId(providerId: string): string {\n return providerId.trim().toLowerCase();\n}\n\nfunction titleCaseProviderId(providerId: string): string {\n const words = providerId\n .split(/[-_\\s]+/u)\n .map((word) => word.trim())\n .filter((word) => word.length > 0);\n\n if (words.length === 0) {\n return 'Provider';\n }\n\n return words.map((word) => `${word.charAt(0).toUpperCase()}${word.slice(1)}`).join(' ');\n}\n"]}
@@ -2,7 +2,7 @@ export declare const bottomSheetMeta: {
2
2
  readonly name: "BottomSheet";
3
3
  readonly category: "layout";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "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", "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
6
  readonly description: "Controlled presentation through the shared single-sheet host. Bind dismiss to clear open.";
7
7
  readonly events: {
8
8
  readonly dismiss: {
@@ -2,7 +2,7 @@ export declare const cardMeta: {
2
2
  readonly name: "Card";
3
3
  readonly category: "component";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "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", "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
6
  readonly blueprint: {
7
7
  readonly label: "Card";
8
8
  readonly defaultProps: {
@@ -2,7 +2,7 @@ export declare const mediaCardMeta: {
2
2
  readonly name: "MediaCard";
3
3
  readonly category: "component";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "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", "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
6
  readonly events: {
7
7
  readonly press: {
8
8
  readonly label: "Press";
@@ -3,7 +3,7 @@ export declare const postCardMeta: {
3
3
  readonly category: "pattern";
4
4
  readonly description: "Social/content post card with author identity, body, media, actions, and comment previews.";
5
5
  readonly directManifestNode: true;
6
- readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Container", "Divider", "Text", "Heading", "Icon", "Image", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "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", "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"];
7
7
  readonly blueprint: {
8
8
  readonly label: "Post card";
9
9
  readonly icon: {
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAQtC;;GAEG;AACH,eAAO,MAAM,SAAS,GAuVE,IAAI,SAAS,MAAM,2DAvVgB,CAAC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAStC;;GAEG;AACH,eAAO,MAAM,SAAS,GAuVE,IAAI,SAAS,MAAM,2DAvVgB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ScrollView } from 'react-native';
3
3
  import { DropdownMenu } from '../../../../components/menu';
4
- import { SkeletonList } from '../../../../components/skeleton';
5
4
  import { Show } from '../../../../foundation';
6
5
  import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
7
6
  import { Button } from '../../../button/public';
@@ -9,6 +8,7 @@ import { IconButton } from '../../../button/public';
9
8
  import { Card } from '../../../card/public';
10
9
  import { EmptyState } from '../../../empty-state/public';
11
10
  import { Box, Stack } from '../../../layout/public';
11
+ import { SkeletonList } from '../../../skeleton/public';
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 React from 'react';\nimport { ScrollView, type ViewStyle } from 'react-native';\n\nimport { DropdownMenu, type MenuAction } from '../../../../components/menu';\nimport { SkeletonList } from '../../../../components/skeleton';\nimport { Show } from '../../../../foundation';\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 { Box, Stack } from '../../../layout/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\nfunction mapRowActions<TRow extends object>(\n row: TRow,\n actions: readonly DataTableRowAction<TRow>[],\n): readonly MenuAction[] {\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\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 <DropdownMenu\n actions={mapRowActions(row, actions)}\n interactionPolicy={interactionPolicy}\n testID={testID ? `${testID}-row-actions-${rowIndex}` : undefined}\n trigger={\n <IconButton\n icon={{ name: 'ellipsis-horizontal' }}\n label=\"Row actions\"\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 <Box bg=\"subtle\" borderColor=\"border\" borderWidth={1} radius=\"m\">\n <Stack 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 <Box 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 </Box>\n );\n })}\n <Box 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 </Box>\n </Stack>\n </Box>\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 <Box minWidth={720} style={{ width: '100%' }}>\n <Stack gap=\"xs\">\n <DataTableHeader\n columns={columns}\n density={density}\n interactionPolicy={interactionPolicy}\n onSortChange={onSortChange}\n sort={sort}\n />\n <Stack gap=\"xs\">\n {rows.map((row, rowIndex) => (\n <Box\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 <Stack direction=\"row\" align=\"center\">\n {columns.map((column) => (\n <Box\n key={column.id}\n px={padding.px}\n py={padding.py}\n style={resolveCellStyle(column)}\n >\n {renderTableCell(column, row, rowIndex)}\n </Box>\n ))}\n <Box\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 </Box>\n </Stack>\n </Box>\n ))}\n </Stack>\n </Stack>\n </Box>\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 <Stack 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 <Stack gap=\"s\">\n {detailColumns.map((column) => (\n <Stack 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 </Stack>\n ))}\n </Stack>\n </Card>\n );\n })}\n </Stack>\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 <Box testID={testID}>\n <Show when={{ base: false, md: true }} fallback={<DataTableMobile {...tableProps} />}>\n <DataTableDesktop {...tableProps} />\n </Show>\n </Box>\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 React from 'react';\nimport { ScrollView, type ViewStyle } from 'react-native';\n\nimport { DropdownMenu, type MenuAction } from '../../../../components/menu';\nimport { Show } from '../../../../foundation';\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 { Box, Stack } from '../../../layout/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\nfunction mapRowActions<TRow extends object>(\n row: TRow,\n actions: readonly DataTableRowAction<TRow>[],\n): readonly MenuAction[] {\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\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 <DropdownMenu\n actions={mapRowActions(row, actions)}\n interactionPolicy={interactionPolicy}\n testID={testID ? `${testID}-row-actions-${rowIndex}` : undefined}\n trigger={\n <IconButton\n icon={{ name: 'ellipsis-horizontal' }}\n label=\"Row actions\"\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 <Box bg=\"subtle\" borderColor=\"border\" borderWidth={1} radius=\"m\">\n <Stack 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 <Box 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 </Box>\n );\n })}\n <Box 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 </Box>\n </Stack>\n </Box>\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 <Box minWidth={720} style={{ width: '100%' }}>\n <Stack gap=\"xs\">\n <DataTableHeader\n columns={columns}\n density={density}\n interactionPolicy={interactionPolicy}\n onSortChange={onSortChange}\n sort={sort}\n />\n <Stack gap=\"xs\">\n {rows.map((row, rowIndex) => (\n <Box\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 <Stack direction=\"row\" align=\"center\">\n {columns.map((column) => (\n <Box\n key={column.id}\n px={padding.px}\n py={padding.py}\n style={resolveCellStyle(column)}\n >\n {renderTableCell(column, row, rowIndex)}\n </Box>\n ))}\n <Box\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 </Box>\n </Stack>\n </Box>\n ))}\n </Stack>\n </Stack>\n </Box>\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 <Stack 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 <Stack gap=\"s\">\n {detailColumns.map((column) => (\n <Stack 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 </Stack>\n ))}\n </Stack>\n </Card>\n );\n })}\n </Stack>\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 <Box testID={testID}>\n <Show when={{ base: false, md: true }} fallback={<DataTableMobile {...tableProps} />}>\n <DataTableDesktop {...tableProps} />\n </Show>\n </Box>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { DatePickerProps } from './types';
2
+ import type { DatePickerProps } from '../../../../types/date-picker';
3
3
  /***
4
4
  * Date input control with calendar selection and formatted display value.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA4VrE;;GAEG;AACH,eAAO,MAAM,UAAU,uDAAsC,CAAC"}