@ankhorage/zora 11.0.0 → 12.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 (252) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +2 -1
  3. package/dist/constants.d.ts +3 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +3 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  8. package/dist/features/card/cardMeta.d.ts +1 -1
  9. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  10. package/dist/features/card/postCardMeta.d.ts +1 -1
  11. package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
  12. package/dist/features/data-table/adapters/inbound/DataTable.js +1 -1
  13. package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
  14. package/dist/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.d.ts +1 -1
  15. package/dist/features/date-picker/adapters/inbound/DatePicker.d.ts.map +1 -0
  16. package/dist/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.js +23 -26
  17. package/dist/features/date-picker/adapters/inbound/DatePicker.js.map +1 -0
  18. package/dist/features/date-picker/datePickerMeta.d.ts +83 -0
  19. package/dist/features/date-picker/datePickerMeta.d.ts.map +1 -0
  20. package/dist/features/date-picker/datePickerMeta.js +57 -0
  21. package/dist/features/date-picker/datePickerMeta.js.map +1 -0
  22. package/dist/features/date-picker/public.d.ts +3 -0
  23. package/dist/features/date-picker/public.d.ts.map +1 -0
  24. package/dist/features/date-picker/public.js +2 -0
  25. package/dist/features/date-picker/public.js.map +1 -0
  26. package/dist/features/date-picker/utils/localDate.d.ts +5 -0
  27. package/dist/features/date-picker/utils/localDate.d.ts.map +1 -0
  28. package/dist/features/date-picker/utils/localDate.js +27 -0
  29. package/dist/features/date-picker/utils/localDate.js.map +1 -0
  30. package/dist/{patterns/hero → features/hero/adapters/inbound}/Hero.d.ts +1 -1
  31. package/dist/features/hero/adapters/inbound/Hero.d.ts.map +1 -0
  32. package/dist/{patterns/hero → features/hero/adapters/inbound}/Hero.js +5 -6
  33. package/dist/features/hero/adapters/inbound/Hero.js.map +1 -0
  34. package/dist/{patterns/hero/meta.d.ts → features/hero/heroMeta.d.ts} +1 -1
  35. package/dist/features/hero/heroMeta.d.ts.map +1 -0
  36. package/dist/{patterns/hero/meta.js → features/hero/heroMeta.js} +1 -1
  37. package/dist/features/hero/heroMeta.js.map +1 -0
  38. package/dist/features/hero/public.d.ts +3 -0
  39. package/dist/features/hero/public.d.ts.map +1 -0
  40. package/dist/features/hero/public.js +2 -0
  41. package/dist/features/hero/public.js.map +1 -0
  42. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  43. package/dist/features/layout/boxMeta.d.ts +1 -1
  44. package/dist/features/layout/containerMeta.d.ts +1 -1
  45. package/dist/features/layout/gridMeta.d.ts +1 -1
  46. package/dist/features/layout/stackMeta.d.ts +1 -1
  47. package/dist/features/list/flatListMeta.d.ts +1 -1
  48. package/dist/features/list/sectionListMeta.d.ts +1 -1
  49. package/dist/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.d.ts +1 -1
  50. package/dist/features/missing-element/adapters/inbound/MissingElement.d.ts.map +1 -0
  51. package/dist/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.js +5 -5
  52. package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -0
  53. package/dist/{patterns/missing-element/meta.d.ts → features/missing-element/missingElementMeta.d.ts} +1 -1
  54. package/dist/features/missing-element/missingElementMeta.d.ts.map +1 -0
  55. package/dist/{patterns/missing-element/meta.js → features/missing-element/missingElementMeta.js} +1 -1
  56. package/dist/features/missing-element/missingElementMeta.js.map +1 -0
  57. package/dist/features/missing-element/public.d.ts +3 -0
  58. package/dist/features/missing-element/public.d.ts.map +1 -0
  59. package/dist/features/missing-element/public.js +2 -0
  60. package/dist/features/missing-element/public.js.map +1 -0
  61. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.d.ts +1 -1
  62. package/dist/features/skeleton/adapters/inbound/Skeleton.d.ts.map +1 -0
  63. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.js +3 -3
  64. package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -0
  65. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.d.ts +1 -1
  66. package/dist/features/skeleton/adapters/inbound/SkeletonCard.d.ts.map +1 -0
  67. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.js +4 -4
  68. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -0
  69. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.d.ts +1 -1
  70. package/dist/features/skeleton/adapters/inbound/SkeletonList.d.ts.map +1 -0
  71. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.js +2 -2
  72. package/dist/features/skeleton/adapters/inbound/SkeletonList.js.map +1 -0
  73. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.d.ts +1 -1
  74. package/dist/features/skeleton/adapters/inbound/SkeletonText.d.ts.map +1 -0
  75. package/dist/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.js +2 -2
  76. package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -0
  77. package/dist/features/skeleton/public.d.ts +6 -0
  78. package/dist/features/skeleton/public.d.ts.map +1 -0
  79. package/dist/features/skeleton/public.js +5 -0
  80. package/dist/features/skeleton/public.js.map +1 -0
  81. package/dist/features/skeleton/skeletonMeta.d.ts +178 -0
  82. package/dist/features/skeleton/skeletonMeta.d.ts.map +1 -0
  83. package/dist/features/skeleton/skeletonMeta.js +84 -0
  84. package/dist/features/skeleton/skeletonMeta.js.map +1 -0
  85. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  86. package/dist/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.d.ts +1 -1
  87. package/dist/features/time-picker/adapters/inbound/TimePicker.d.ts.map +1 -0
  88. package/dist/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.js +8 -11
  89. package/dist/features/time-picker/adapters/inbound/TimePicker.js.map +1 -0
  90. package/dist/features/time-picker/public.d.ts +3 -0
  91. package/dist/features/time-picker/public.d.ts.map +1 -0
  92. package/dist/features/time-picker/public.js +2 -0
  93. package/dist/features/time-picker/public.js.map +1 -0
  94. package/dist/features/time-picker/timePickerMeta.d.ts +90 -0
  95. package/dist/features/time-picker/timePickerMeta.d.ts.map +1 -0
  96. package/dist/features/time-picker/timePickerMeta.js +64 -0
  97. package/dist/features/time-picker/timePickerMeta.js.map +1 -0
  98. package/dist/index.d.ts +5 -10
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +5 -5
  101. package/dist/index.js.map +1 -1
  102. package/dist/layout/screen/meta.d.ts +1 -1
  103. package/dist/layout/screen-section/meta.d.ts +1 -1
  104. package/dist/metadata/allowedChildren.d.ts +3 -3
  105. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  106. package/dist/metadata/allowedChildren.js +7 -0
  107. package/dist/metadata/allowedChildren.js.map +1 -1
  108. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  109. package/dist/metadata/componentMeta.js +5 -5
  110. package/dist/metadata/componentMeta.js.map +1 -1
  111. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  112. package/dist/patterns/notice/meta.d.ts +1 -1
  113. package/dist/patterns/panel/meta.d.ts +1 -1
  114. package/dist/patterns/reader/meta.d.ts +2 -2
  115. package/dist/patterns/scanner/meta.d.ts +2 -2
  116. package/dist/registry.js +5 -5
  117. package/dist/registry.js.map +1 -1
  118. package/dist/{components/date-picker/types.d.ts → types/date-picker.d.ts} +6 -6
  119. package/dist/types/date-picker.d.ts.map +1 -0
  120. package/dist/types/date-picker.js +2 -0
  121. package/dist/types/date-picker.js.map +1 -0
  122. package/dist/{patterns/hero/types.d.ts → types/hero.d.ts} +3 -3
  123. package/dist/types/hero.d.ts.map +1 -0
  124. package/dist/types/hero.js +2 -0
  125. package/dist/types/hero.js.map +1 -0
  126. package/dist/{patterns/missing-element/types.d.ts → types/missing-element.d.ts} +2 -2
  127. package/dist/types/missing-element.d.ts.map +1 -0
  128. package/dist/types/missing-element.js +2 -0
  129. package/dist/types/missing-element.js.map +1 -0
  130. package/dist/{components/skeleton/types.d.ts → types/skeleton.d.ts} +3 -3
  131. package/dist/types/skeleton.d.ts.map +1 -0
  132. package/dist/types/skeleton.js +2 -0
  133. package/dist/types/skeleton.js.map +1 -0
  134. package/dist/{components/time-picker/types.d.ts → types/time-picker.d.ts} +2 -2
  135. package/dist/types/time-picker.d.ts.map +1 -0
  136. package/dist/types/time-picker.js +2 -0
  137. package/dist/types/time-picker.js.map +1 -0
  138. package/package.json +1 -1
  139. package/src/constants.ts +3 -0
  140. package/src/featureManifest.test.ts +12 -0
  141. package/src/features/bottom-sheet/public.test.ts +2 -2
  142. package/src/features/data-table/adapters/inbound/DataTable.tsx +1 -1
  143. package/src/{components/date-picker → features/date-picker/adapters/inbound}/DatePicker.tsx +41 -32
  144. package/src/features/date-picker/datePickerMeta.ts +58 -0
  145. package/src/features/date-picker/public.test.ts +15 -0
  146. package/src/features/date-picker/public.ts +2 -0
  147. package/src/features/date-picker/utils/localDate.test.ts +18 -0
  148. package/src/features/date-picker/utils/localDate.ts +29 -0
  149. package/src/{patterns/hero → features/hero/adapters/inbound}/Hero.tsx +6 -7
  150. package/src/features/hero/public.ts +2 -0
  151. package/src/{patterns → features}/missing-element/MissingElement.test.ts +6 -4
  152. package/src/{patterns/missing-element → features/missing-element/adapters/inbound}/MissingElement.tsx +6 -6
  153. package/src/features/missing-element/public.ts +2 -0
  154. package/src/{components/skeleton → features/skeleton/adapters/inbound}/Skeleton.tsx +4 -4
  155. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonCard.tsx +5 -5
  156. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonList.tsx +3 -3
  157. package/src/{components/skeleton → features/skeleton/adapters/inbound}/SkeletonText.tsx +3 -3
  158. package/src/features/skeleton/public.test.ts +24 -0
  159. package/src/features/skeleton/public.ts +13 -0
  160. package/src/features/skeleton/skeletonMeta.ts +88 -0
  161. package/src/{components/time-picker → features/time-picker/adapters/inbound}/TimePicker.tsx +9 -12
  162. package/src/features/time-picker/public.test.ts +14 -0
  163. package/src/features/time-picker/public.ts +2 -0
  164. package/src/features/time-picker/timePickerMeta.ts +65 -0
  165. package/src/index.ts +32 -18
  166. package/src/interactionPolicy.test.ts +3 -3
  167. package/src/metadata/allowedChildren.ts +7 -0
  168. package/src/metadata/componentMeta.test.ts +6 -0
  169. package/src/metadata/componentMeta.ts +10 -10
  170. package/src/registry.ts +5 -5
  171. package/src/{components/date-picker/types.ts → types/date-picker.ts} +5 -5
  172. package/src/{patterns/hero/types.ts → types/hero.ts} +2 -2
  173. package/src/{patterns/missing-element/types.ts → types/missing-element.ts} +1 -1
  174. package/src/{components/skeleton/types.ts → types/skeleton.ts} +2 -2
  175. package/src/{components/time-picker/types.ts → types/time-picker.ts} +1 -1
  176. package/dist/components/date-picker/DatePicker.d.ts.map +0 -1
  177. package/dist/components/date-picker/DatePicker.js.map +0 -1
  178. package/dist/components/date-picker/index.d.ts +0 -3
  179. package/dist/components/date-picker/index.d.ts.map +0 -1
  180. package/dist/components/date-picker/index.js +0 -2
  181. package/dist/components/date-picker/index.js.map +0 -1
  182. package/dist/components/date-picker/meta.d.ts +0 -9
  183. package/dist/components/date-picker/meta.d.ts.map +0 -1
  184. package/dist/components/date-picker/meta.js +0 -9
  185. package/dist/components/date-picker/meta.js.map +0 -1
  186. package/dist/components/date-picker/types.d.ts.map +0 -1
  187. package/dist/components/date-picker/types.js +0 -2
  188. package/dist/components/date-picker/types.js.map +0 -1
  189. package/dist/components/skeleton/Skeleton.d.ts.map +0 -1
  190. package/dist/components/skeleton/Skeleton.js.map +0 -1
  191. package/dist/components/skeleton/SkeletonCard.d.ts.map +0 -1
  192. package/dist/components/skeleton/SkeletonCard.js.map +0 -1
  193. package/dist/components/skeleton/SkeletonList.d.ts.map +0 -1
  194. package/dist/components/skeleton/SkeletonList.js.map +0 -1
  195. package/dist/components/skeleton/SkeletonText.d.ts.map +0 -1
  196. package/dist/components/skeleton/SkeletonText.js.map +0 -1
  197. package/dist/components/skeleton/index.d.ts +0 -6
  198. package/dist/components/skeleton/index.d.ts.map +0 -1
  199. package/dist/components/skeleton/index.js +0 -5
  200. package/dist/components/skeleton/index.js.map +0 -1
  201. package/dist/components/skeleton/meta.d.ts +0 -33
  202. package/dist/components/skeleton/meta.d.ts.map +0 -1
  203. package/dist/components/skeleton/meta.js +0 -33
  204. package/dist/components/skeleton/meta.js.map +0 -1
  205. package/dist/components/skeleton/types.d.ts.map +0 -1
  206. package/dist/components/skeleton/types.js +0 -2
  207. package/dist/components/skeleton/types.js.map +0 -1
  208. package/dist/components/time-picker/TimePicker.d.ts.map +0 -1
  209. package/dist/components/time-picker/TimePicker.js.map +0 -1
  210. package/dist/components/time-picker/index.d.ts +0 -3
  211. package/dist/components/time-picker/index.d.ts.map +0 -1
  212. package/dist/components/time-picker/index.js +0 -2
  213. package/dist/components/time-picker/index.js.map +0 -1
  214. package/dist/components/time-picker/meta.d.ts +0 -9
  215. package/dist/components/time-picker/meta.d.ts.map +0 -1
  216. package/dist/components/time-picker/meta.js +0 -9
  217. package/dist/components/time-picker/meta.js.map +0 -1
  218. package/dist/components/time-picker/types.d.ts.map +0 -1
  219. package/dist/components/time-picker/types.js +0 -2
  220. package/dist/components/time-picker/types.js.map +0 -1
  221. package/dist/patterns/hero/Hero.d.ts.map +0 -1
  222. package/dist/patterns/hero/Hero.js.map +0 -1
  223. package/dist/patterns/hero/index.d.ts +0 -3
  224. package/dist/patterns/hero/index.d.ts.map +0 -1
  225. package/dist/patterns/hero/index.js +0 -2
  226. package/dist/patterns/hero/index.js.map +0 -1
  227. package/dist/patterns/hero/meta.d.ts.map +0 -1
  228. package/dist/patterns/hero/meta.js.map +0 -1
  229. package/dist/patterns/hero/types.d.ts.map +0 -1
  230. package/dist/patterns/hero/types.js +0 -2
  231. package/dist/patterns/hero/types.js.map +0 -1
  232. package/dist/patterns/missing-element/MissingElement.d.ts.map +0 -1
  233. package/dist/patterns/missing-element/MissingElement.js.map +0 -1
  234. package/dist/patterns/missing-element/index.d.ts +0 -3
  235. package/dist/patterns/missing-element/index.d.ts.map +0 -1
  236. package/dist/patterns/missing-element/index.js +0 -2
  237. package/dist/patterns/missing-element/index.js.map +0 -1
  238. package/dist/patterns/missing-element/meta.d.ts.map +0 -1
  239. package/dist/patterns/missing-element/meta.js.map +0 -1
  240. package/dist/patterns/missing-element/types.d.ts.map +0 -1
  241. package/dist/patterns/missing-element/types.js +0 -2
  242. package/dist/patterns/missing-element/types.js.map +0 -1
  243. package/src/components/date-picker/index.ts +0 -2
  244. package/src/components/date-picker/meta.ts +0 -10
  245. package/src/components/skeleton/index.ts +0 -13
  246. package/src/components/skeleton/meta.ts +0 -37
  247. package/src/components/time-picker/index.ts +0 -2
  248. package/src/components/time-picker/meta.ts +0 -10
  249. package/src/patterns/hero/index.ts +0 -2
  250. package/src/patterns/missing-element/index.ts +0 -2
  251. /package/src/{patterns/hero/meta.ts → features/hero/heroMeta.ts} +0 -0
  252. /package/src/{patterns/missing-element/meta.ts → features/missing-element/missingElementMeta.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export { DatePicker } from './adapters/inbound/DatePicker';
2
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/date-picker/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["export type { DatePickerProps, DatePickerValue } from '../../types/date-picker';\nexport { DatePicker } from './adapters/inbound/DatePicker';\n"]}
@@ -0,0 +1,5 @@
1
+ /*** Parse a calendar date without applying a UTC offset. */
2
+ export declare function parseLocalDate(value: string | null | undefined): Date | undefined;
3
+ /*** Serialize a Date as a local calendar date suitable for manifest state. */
4
+ export declare function formatLocalDate(value: Date): string;
5
+ //# sourceMappingURL=localDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localDate.d.ts","sourceRoot":"","sources":["../../../../src/features/date-picker/utils/localDate.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAiBjF;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAKnD"}
@@ -0,0 +1,27 @@
1
+ const LOCAL_DATE_PATTERN = /^(\d{4})-(\d{2})-(\d{2})$/u;
2
+ /*** Parse a calendar date without applying a UTC offset. */
3
+ export function parseLocalDate(value) {
4
+ if (!value)
5
+ return undefined;
6
+ const match = LOCAL_DATE_PATTERN.exec(value);
7
+ if (!match)
8
+ return undefined;
9
+ const year = Number(match[1]);
10
+ const month = Number(match[2]);
11
+ const day = Number(match[3]);
12
+ const parsed = new Date(year, month - 1, day);
13
+ parsed.setFullYear(year);
14
+ return parsed.getFullYear() === year &&
15
+ parsed.getMonth() === month - 1 &&
16
+ parsed.getDate() === day
17
+ ? parsed
18
+ : undefined;
19
+ }
20
+ /*** Serialize a Date as a local calendar date suitable for manifest state. */
21
+ export function formatLocalDate(value) {
22
+ const year = String(value.getFullYear()).padStart(4, '0');
23
+ const month = String(value.getMonth() + 1).padStart(2, '0');
24
+ const day = String(value.getDate()).padStart(2, '0');
25
+ return `${year}-${month}-${day}`;
26
+ }
27
+ //# sourceMappingURL=localDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localDate.js","sourceRoot":"","sources":["../../../../src/features/date-picker/utils/localDate.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAExD,4DAA4D;AAC5D,MAAM,UAAU,cAAc,CAAC,KAAgC;IAC7D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI;QAClC,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAK,GAAG,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,KAAK,GAAG;QACxB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAC,KAAW;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;AACnC,CAAC","sourcesContent":["const LOCAL_DATE_PATTERN = /^(\\d{4})-(\\d{2})-(\\d{2})$/u;\n\n/*** Parse a calendar date without applying a UTC offset. */\nexport function parseLocalDate(value: string | null | undefined): Date | undefined {\n if (!value) return undefined;\n\n const match = LOCAL_DATE_PATTERN.exec(value);\n if (!match) return undefined;\n\n const year = Number(match[1]);\n const month = Number(match[2]);\n const day = Number(match[3]);\n const parsed = new Date(year, month - 1, day);\n parsed.setFullYear(year);\n\n return parsed.getFullYear() === year &&\n parsed.getMonth() === month - 1 &&\n parsed.getDate() === day\n ? parsed\n : undefined;\n}\n\n/*** Serialize a Date as a local calendar date suitable for manifest state. */\nexport function formatLocalDate(value: Date): string {\n const year = String(value.getFullYear()).padStart(4, '0');\n const month = String(value.getMonth() + 1).padStart(2, '0');\n const day = String(value.getDate()).padStart(2, '0');\n return `${year}-${month}-${day}`;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { HeroProps } from './types';
2
+ import type { HeroProps } from '../../../../types/hero';
3
3
  /***
4
4
  * Hero section pattern for prominent page introductions with actions.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../../../../src/features/hero/adapters/inbound/Hero.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAyH/E;;;;GAIG;AACH,eAAO,MAAM,IAAI,iDAAgC,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
- import { Button } from '../../features/button/public';
3
- import { Card } from '../../features/card/public';
4
- import { Box, Grid, Stack } from '../../features/layout/public';
5
- import { Heading } from '../../features/typography/public';
6
- import { Text } from '../../features/typography/public';
7
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { Button } from '../../../button/public';
4
+ import { Card } from '../../../card/public';
5
+ import { Box, Grid, Stack } from '../../../layout/public';
6
+ import { Heading, Text } from '../../../typography/public';
8
7
  function HeroInner({ themeId: _themeId, mode: _mode, interactionPolicy, title, description, eyebrow, primaryAction, secondaryAction, media, footer, align = 'start', layout = 'split', tone = 'subtle', compact = false, testID, }) {
9
8
  const hasActions = primaryAction !== undefined || secondaryAction !== undefined;
10
9
  const hasMedia = media !== undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hero.js","sourceRoot":"","sources":["../../../../../src/features/hero/adapters/inbound/Hero.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { HeroAction, HeroAlign, HeroProps } from '../../../../types/hero';\nimport { Button } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { Box, Grid, Stack } from '../../../layout/public';\nimport { Heading, Text } from '../../../typography/public';\n\nfunction HeroInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n title,\n description,\n eyebrow,\n primaryAction,\n secondaryAction,\n media,\n footer,\n align = 'start',\n layout = 'split',\n tone = 'subtle',\n compact = false,\n testID,\n}: HeroProps) {\n const hasActions = primaryAction !== undefined || secondaryAction !== undefined;\n const hasMedia = media !== undefined;\n const contentAlign = resolveContentAlign(align);\n const textAlign = align === 'center' ? 'center' : undefined;\n const mediaFirst = layout === 'mediaFirst';\n\n const content = (\n <Box width=\"100%\">\n <Stack align={contentAlign} gap={compact ? 's' : 'm'}>\n <Stack align={contentAlign} gap=\"xs\">\n {eyebrow !== undefined ? (\n <Text align={textAlign} color=\"primary\" variant=\"eyebrow\">\n {eyebrow}\n </Text>\n ) : null}\n <Heading\n align={textAlign}\n level={1}\n size={{ base: 'h2', md: compact ? 'h2' : 'display' }}\n >\n {title}\n </Heading>\n {description !== undefined ? (\n <Text\n align={textAlign}\n emphasis=\"muted\"\n variant={{ base: 'body', md: compact ? 'body' : 'lead' }}\n >\n {description}\n </Text>\n ) : null}\n </Stack>\n\n {hasActions ? (\n <Stack\n align={contentAlign}\n direction={{ base: 'column', md: 'row' }}\n gap=\"s\"\n justify={align === 'center' ? 'center' : 'flex-start'}\n >\n {primaryAction !== undefined\n ? renderAction(primaryAction, 'primary', interactionPolicy)\n : null}\n {secondaryAction !== undefined\n ? renderAction(secondaryAction, 'secondary', interactionPolicy)\n : null}\n </Stack>\n ) : null}\n\n {footer}\n </Stack>\n </Box>\n );\n\n const mediaSlot = hasMedia ? <Box width=\"100%\">{media}</Box> : null;\n\n const body =\n hasMedia && layout !== 'stack' ? (\n <Grid cols={{ base: 1, md: 2 }} gap={compact ? 'm' : 'l'}>\n {mediaFirst ? mediaSlot : content}\n {mediaFirst ? content : mediaSlot}\n </Grid>\n ) : (\n <Stack align=\"center\" direction=\"column\" gap={compact ? 'm' : 'l'}>\n {mediaFirst ? mediaSlot : content}\n {mediaFirst ? content : mediaSlot}\n </Stack>\n );\n\n return (\n <Card compact={compact} interactionPolicy={interactionPolicy} testID={testID} tone={tone}>\n {body}\n </Card>\n );\n}\n\nfunction renderAction(\n action: HeroAction,\n role: 'primary' | 'secondary',\n interactionPolicy: HeroProps['interactionPolicy'],\n) {\n return (\n <Button\n disabled={action.disabled}\n interactionPolicy={interactionPolicy}\n variant={action.variant ?? (role === 'primary' ? 'solid' : 'soft')}\n onPress={action.onPress}\n color={action.color ?? (role === 'primary' ? 'primary' : 'neutral')}\n >\n {action.label}\n </Button>\n );\n}\n\nfunction resolveContentAlign(align: HeroAlign) {\n return align === 'center' ? 'center' : 'flex-start';\n}\n\n/***\n * Hero section pattern for prominent page introductions with actions.\n *\n \n */\nexport const Hero = withZoraThemeScope(HeroInner);\n"]}
@@ -98,4 +98,4 @@ export declare const heroMeta: {
98
98
  };
99
99
  };
100
100
  };
101
- //# sourceMappingURL=meta.d.ts.map
101
+ //# sourceMappingURL=heroMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heroMeta.d.ts","sourceRoot":"","sources":["../../../src/features/hero/heroMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FiB,CAAC"}
@@ -91,4 +91,4 @@ export const heroMeta = {
91
91
  },
92
92
  },
93
93
  };
94
- //# sourceMappingURL=meta.js.map
94
+ //# sourceMappingURL=heroMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heroMeta.js","sourceRoot":"","sources":["../../../src/features/hero/heroMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,6EAA6E;IAC1F,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAClC,YAAY,EAAE;YACZ,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,8BAA8B;YACrC,WAAW,EAAE,4EAA4E;YACzF,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,QAAQ;SACf;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE;YACzD,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE;YACrD,EAAE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE;SAClE;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC;SAC9D;QACD,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;SAClD;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,aAAa;SACvB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,8BAA8B;SACxC;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,4EAA4E;SACtF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YACzB,OAAO,EAAE,OAAO;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;YACtC,OAAO,EAAE,OAAO;SACjB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;YACtC,OAAO,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,KAAK;SACf;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,gBAAgB;SACxB;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,kBAAkB;SAC1B;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const heroMeta = {\n name: 'Hero',\n category: 'pattern',\n description: 'Landing-page and section hero with title copy, actions, and optional media.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Hero',\n icon: { name: 'sparkles-outline' },\n defaultProps: {\n eyebrow: 'New release',\n title: 'Build product screens faster',\n description: 'Use a responsive hero pattern with strong defaults and structured actions.',\n align: 'start',\n layout: 'split',\n tone: 'subtle',\n },\n },\n i18n: {\n fields: [\n { keyProp: 'eyebrowI18nKey', defaultTextProp: 'eyebrow' },\n { keyProp: 'titleI18nKey', defaultTextProp: 'title' },\n { keyProp: 'descriptionI18nKey', defaultTextProp: 'description' },\n ],\n },\n slots: {\n media: {\n label: 'Media',\n allowedChildren: ['Image', 'Card', 'MetricCard', 'MediaCard'],\n },\n footer: {\n label: 'Footer',\n allowedChildren: ['Badge', 'Text', 'AvatarGroup'],\n },\n },\n props: {\n eyebrow: {\n type: 'string',\n category: 'Content',\n label: 'Eyebrow',\n default: 'New release',\n },\n title: {\n type: 'string',\n category: 'Content',\n label: 'Title',\n default: 'Build product screens faster',\n },\n description: {\n type: 'string',\n category: 'Content',\n label: 'Description',\n default: 'Use a responsive hero pattern with strong defaults and structured actions.',\n },\n align: {\n type: 'enum',\n category: 'Layout',\n label: 'Alignment',\n enum: ['start', 'center'],\n default: 'start',\n },\n layout: {\n type: 'enum',\n category: 'Layout',\n label: 'Layout',\n enum: ['stack', 'split', 'mediaFirst'],\n default: 'split',\n },\n tone: {\n type: 'enum',\n category: 'Appearance',\n label: 'Tone',\n enum: ['default', 'subtle', 'outline'],\n default: 'subtle',\n },\n compact: {\n type: 'boolean',\n category: 'Layout',\n label: 'Compact',\n default: false,\n },\n primaryAction: {\n type: 'action',\n category: 'Actions',\n label: 'Primary action',\n },\n secondaryAction: {\n type: 'action',\n category: 'Actions',\n label: 'Secondary action',\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,3 @@
1
+ export type { HeroAction, HeroAlign, HeroLayout, HeroProps, HeroTone } from '../../types/hero';
2
+ export { Hero } from './adapters/inbound/Hero';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/hero/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Hero } from './adapters/inbound/Hero';
2
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/hero/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export type { HeroAction, HeroAlign, HeroLayout, HeroProps, HeroTone } from '../../types/hero';\nexport { Hero } from './adapters/inbound/Hero';\n"]}
@@ -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", "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", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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"];
8
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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", "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"];
112
+ readonly allowedChildren: readonly ["ActivityIndicator", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "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
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { MissingElementProps } from './types';
2
+ import type { MissingElementProps } from '../../../../types/missing-element';
3
3
  /***
4
4
  * Draft-only marker that preserves an unsupported manifest region without faking its capability.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingElement.d.ts","sourceRoot":"","sources":["../../../../../src/features/missing-element/adapters/inbound/MissingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AA6D7E;;;;;GAKG;AACH,eAAO,MAAM,cAAc,2DAA0C,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { StyleSheet } from 'react-native';
3
- import { Badge } from '../../features/badge/public';
4
- import { Box, Stack } from '../../features/layout/public';
5
- import { Text } from '../../features/typography/public';
6
- import { useZoraTheme } from '../../theme/useZoraTheme';
7
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
3
+ import { useZoraTheme } from '../../../../theme/useZoraTheme';
4
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
5
+ import { Badge } from '../../../badge/public';
6
+ import { Box, Stack } from '../../../layout/public';
7
+ import { Text } from '../../../typography/public';
8
8
  /***
9
9
  * Renders the visible, non-interactive body of a draft missing-element marker.
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MissingElement.js","sourceRoot":"","sources":["../../../../../src/features/missing-element/adapters/inbound/MissingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;GAEG;AACH,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EACnB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,aAAa,EACb,MAAM,GACc;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,kBAAkB,GAAG,oBAAoB,mBAAmB,KAAK,MAAM,EAAE,CAAC;IAEhF,OAAO,CACL,CAAC,GAAG,CACF,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,iBAAiB,CAAC,MAAM,CACxB,UAAU,CACV,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CACnC,WAAW,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAC1C,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,SAAS,CAAC,CAAC,aAAa,CAAC,CACzB,QAAQ,CAAC,CAAC,YAAY,CAAC,CACvB,CAAC,CAAC,GAAG,CACL,MAAM,CAAC,GAAG,CACV,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CACb;QAAA,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAC7C;QAAA,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CACrC;UAAA,CAAC,mBAAmB,CACtB;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CACxC;UAAA,CAAC,MAAM,CACT;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,UAAU,CAAC,CAAC,CAAC,CACZ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACvC;sBAAU,CAAC,UAAU,CACvB;UAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,IAAI,CACV;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,WAAW,EAAE,QAAQ;KACtB;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { MissingElementProps } from '../../../../types/missing-element';\nimport { Badge } from '../../../badge/public';\nimport { Box, Stack } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\n\n/***\n * Renders the visible, non-interactive body of a draft missing-element marker.\n */\nfunction MissingElementInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n requestedCapability,\n reason,\n evidenceId,\n minimumWidth,\n minimumHeight,\n testID,\n}: MissingElementProps) {\n const { theme } = useZoraTheme();\n const accessibilityLabel = `Missing element: ${requestedCapability}. ${reason}`;\n\n return (\n <Box\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"text\"\n accessible\n bg={theme.semantics.warning.softBg}\n borderColor={theme.semantics.warning.base}\n borderWidth={1}\n minHeight={minimumHeight}\n minWidth={minimumWidth}\n p=\"m\"\n radius=\"m\"\n style={styles.root}\n testID={testID}\n >\n <Stack gap=\"xs\">\n <Badge color=\"warning\">Missing element</Badge>\n <Text variant=\"label\" weight=\"semiBold\">\n {requestedCapability}\n </Text>\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {reason}\n </Text>\n {evidenceId ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n Evidence: {evidenceId}\n </Text>\n ) : null}\n </Stack>\n </Box>\n );\n}\n\nconst styles = StyleSheet.create({\n root: {\n borderStyle: 'dashed',\n },\n});\n\n/***\n * Draft-only marker that preserves an unsupported manifest region without faking its capability.\n *\n * `MissingElement` is intentionally non-interactive and release-blocking in component metadata.\n * Replace it with a released semantic ZORA element before publishing a production template.\n */\nexport const MissingElement = withZoraThemeScope(MissingElementInner);\n"]}
@@ -65,4 +65,4 @@ export declare const missingElementMeta: {
65
65
  };
66
66
  };
67
67
  };
68
- //# sourceMappingURL=meta.d.ts.map
68
+ //# sourceMappingURL=missingElementMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missingElementMeta.d.ts","sourceRoot":"","sources":["../../../src/features/missing-element/missingElementMeta.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDO,CAAC"}
@@ -56,4 +56,4 @@ export const missingElementMeta = {
56
56
  },
57
57
  },
58
58
  };
59
- //# sourceMappingURL=meta.js.map
59
+ //# sourceMappingURL=missingElementMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missingElementMeta.js","sourceRoot":"","sources":["../../../src/features/missing-element/missingElementMeta.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,EAAE,SAAS,EAAE,UAAU,EAAW,CAAC;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,oGAAoG;IACtG,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE;QACd,IAAI,EAAE,oBAAoB;QAC1B,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,SAAS;KACvB;IACD,SAAS,EAAE;QACT,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE;YACZ,mBAAmB,EAAE,iCAAiC;YACtD,MAAM,EAAE,wCAAwC;YAChD,YAAY,EAAE,GAAG;YACjB,aAAa,EAAE,GAAG;SACnB;KACF;IACD,KAAK,EAAE;QACL,mBAAmB,EAAE;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,iCAAiC;YAC1C,SAAS,EAAE,iBAAiB;SAC7B;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,wCAAwC;YACjD,SAAS,EAAE,iBAAiB;SAC7B;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,iBAAiB;SAC7B;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,iBAAiB;SAC7B;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,iBAAiB;SAC7B;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nconst instanceAuthoring = { authority: 'instance' } as const;\n\nexport const missingElementMeta = {\n name: 'MissingElement',\n category: 'pattern',\n description:\n 'Draft-only marker for an unresolved semantic ZORA capability that must be replaced before release.',\n directManifestNode: true,\n allowedChildren: [],\n manifestPolicy: {\n kind: 'unresolved-element',\n availability: 'draft-only',\n releaseGate: 'blocked',\n },\n blueprint: {\n label: 'Missing element',\n defaultProps: {\n requestedCapability: 'Unresolved interface capability',\n reason: 'No matching ZORA element is available.',\n minimumWidth: 240,\n minimumHeight: 160,\n },\n },\n props: {\n requestedCapability: {\n type: 'string',\n category: 'Gap',\n label: 'Requested capability',\n default: 'Unresolved interface capability',\n authoring: instanceAuthoring,\n },\n reason: {\n type: 'string',\n category: 'Gap',\n label: 'Reason',\n default: 'No matching ZORA element is available.',\n authoring: instanceAuthoring,\n },\n evidenceId: {\n type: 'string',\n category: 'Evidence',\n label: 'Evidence ID',\n authoring: instanceAuthoring,\n },\n minimumWidth: {\n type: 'number',\n category: 'Layout',\n label: 'Minimum width',\n default: 240,\n authoring: instanceAuthoring,\n },\n minimumHeight: {\n type: 'number',\n category: 'Layout',\n label: 'Minimum height',\n default: 160,\n authoring: instanceAuthoring,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,3 @@
1
+ export type { MissingElementProps } from '../../types/missing-element';
2
+ export { MissingElement } from './adapters/inbound/MissingElement';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/missing-element/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { MissingElement } from './adapters/inbound/MissingElement';
2
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/missing-element/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["export type { MissingElementProps } from '../../types/missing-element';\nexport { MissingElement } from './adapters/inbound/MissingElement';\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SkeletonProps } from './types';
2
+ import type { SkeletonProps } from '../../../../types/skeleton';
3
3
  /***
4
4
  * Generic skeleton placeholder for loading states.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AA2BhE;;GAEG;AACH,eAAO,MAAM,QAAQ,qDAAoC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { Box } from '../../features/layout/public';
3
- import { useZoraTheme } from '../../theme/useZoraTheme';
4
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { useZoraTheme } from '../../../../theme/useZoraTheme';
3
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
+ import { Box } from '../../../layout/public';
5
5
  function SkeletonInner({ themeId: _themeId, mode: _mode, testID, width = '100%', height = 16, radius = 'm', }) {
6
6
  const { theme } = useZoraTheme();
7
7
  return (<Box accessibilityLabel="Loading" accessibilityRole="text" bg={theme.semantics.neutral.surfaceHover} height={height} radius={radius} testID={testID} width={width} style={{ opacity: 0.72 }}/>);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAE7C,SAAS,aAAa,CAAC,EACrB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,GACE;IACd,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,CACL,CAAC,GAAG,CACF,kBAAkB,CAAC,SAAS,CAC5B,iBAAiB,CAAC,MAAM,CACxB,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CACzC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EACzB,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { SkeletonProps } from '../../../../types/skeleton';\nimport { Box } from '../../../layout/public';\n\nfunction SkeletonInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n width = '100%',\n height = 16,\n radius = 'm',\n}: SkeletonProps) {\n const { theme } = useZoraTheme();\n\n return (\n <Box\n accessibilityLabel=\"Loading\"\n accessibilityRole=\"text\"\n bg={theme.semantics.neutral.surfaceHover}\n height={height}\n radius={radius}\n testID={testID}\n width={width}\n style={{ opacity: 0.72 }}\n />\n );\n}\n\n/***\n * Generic skeleton placeholder for loading states.\n */\nexport const Skeleton = withZoraThemeScope(SkeletonInner);\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SkeletonCardProps } from './types';
2
+ import type { SkeletonCardProps } from '../../../../types/skeleton';
3
3
  /***
4
4
  * Skeleton placeholder that matches the structure of a `Card`.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAmCpE;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAwC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { ButtonGroup } from '../../features/button/public';
3
- import { Card } from '../../features/card/public';
4
- import { Stack } from '../../features/layout/public';
5
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { ButtonGroup } from '../../../button/public';
4
+ import { Card } from '../../../card/public';
5
+ import { Stack } from '../../../layout/public';
6
6
  import { Skeleton } from './Skeleton';
7
7
  import { SkeletonText } from './SkeletonText';
8
8
  function SkeletonCardInner({ themeId: _themeId, mode: _mode, testID, media = false, actions = false, lines = 3, compact = false, }) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonCard.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,iBAAiB,CAAC,EACzB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,KAAK,GACG;IAClB,OAAO,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CACpD;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAC9B;QAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,IAAI,CACpE;QAAA,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CACZ;UAAA,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAC/C;UAAA,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAC7B;QAAA,EAAE,KAAK,CACP;QAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CACT,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CACtB;YAAA,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAC3C;YAAA,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAC9C;UAAA,EAAE,WAAW,CAAC,CACf,CAAC,CAAC,CAAC,IAAI,CACV;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { SkeletonCardProps } from '../../../../types/skeleton';\nimport { ButtonGroup } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { Stack } from '../../../layout/public';\nimport { Skeleton } from './Skeleton';\nimport { SkeletonText } from './SkeletonText';\n\nfunction SkeletonCardInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n media = false,\n actions = false,\n lines = 3,\n compact = false,\n}: SkeletonCardProps) {\n return (\n <Card compact={compact} testID={testID} tone=\"default\">\n <Stack gap={compact ? 's' : 'm'}>\n {media ? <Skeleton height={compact ? 120 : 180} radius=\"m\" /> : null}\n <Stack gap=\"s\">\n <Skeleton height={18} radius=\"full\" width=\"54%\" />\n <SkeletonText lines={lines} />\n </Stack>\n {actions ? (\n <ButtonGroup align=\"end\">\n <Skeleton height={36} radius=\"m\" width={88} />\n <Skeleton height={36} radius=\"m\" width={120} />\n </ButtonGroup>\n ) : null}\n </Stack>\n </Card>\n );\n}\n\n/***\n * Skeleton placeholder that matches the structure of a `Card`.\n */\nexport const SkeletonCard = withZoraThemeScope(SkeletonCardInner);\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SkeletonListProps } from './types';
2
+ import type { SkeletonListProps } from '../../../../types/skeleton';
3
3
  /***
4
4
  * Skeleton placeholder list for loading states in list views.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonList.d.ts","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AA+CpE;;;;GAIG;AACH,eAAO,MAAM,YAAY,yDAAwC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { List } from '../../patterns/list';
3
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { List } from '../../../../patterns/list';
3
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
4
  import { Skeleton } from './Skeleton';
5
5
  import { SkeletonText } from './SkeletonText';
6
6
  function clampRows(rows) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonList.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAqB,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAA+C;IACnF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAG,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAG,CAAC;IAC3D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,IAAI,GAAG,CAAC,EACR,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,KAAK,EACb,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,KAAK,GACG;IAClB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAmB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,OAAO;QACP,WAAW,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAG;QAC3C,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAG;QACzD,OAAO;KACR,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAG,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { List, type ListRowProps } from '../../../../patterns/list';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { SkeletonListProps } from '../../../../types/skeleton';\nimport { Skeleton } from './Skeleton';\nimport { SkeletonText } from './SkeletonText';\n\nfunction clampRows(rows: number): number {\n if (!Number.isFinite(rows)) {\n return 1;\n }\n\n return Math.max(1, Math.floor(rows));\n}\n\nfunction renderLeading({ avatar, media }: Pick<SkeletonListProps, 'avatar' | 'media'>) {\n if (media) {\n return <Skeleton height={64} radius=\"m\" width={64} />;\n }\n\n if (avatar) {\n return <Skeleton height={40} radius=\"full\" width={40} />;\n }\n\n return undefined;\n}\n\nfunction SkeletonListInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n rows = 5,\n avatar = false,\n media = false,\n lines = 2,\n variant = 'divider',\n compact = false,\n}: SkeletonListProps) {\n const rowCount = clampRows(rows);\n const items: ListRowProps[] = Array.from({ length: rowCount }).map(() => ({\n compact,\n description: <SkeletonText lines={lines} />,\n leading: renderLeading({ avatar, media }),\n title: <Skeleton height={16} radius=\"full\" width=\"48%\" />,\n variant,\n }));\n\n return <List compact={compact} items={items} rowVariant={variant} testID={testID} />;\n}\n\n/***\n * Skeleton placeholder list for loading states in list views.\n *\n \n */\nexport const SkeletonList = withZoraThemeScope(SkeletonListInner);\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { SkeletonTextProps } from './types';
2
+ import type { SkeletonTextProps } from '../../../../types/skeleton';
3
3
  /***
4
4
  * Multi-line skeleton placeholder for text content.
5
5
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonText.d.ts","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAyCpE;;;;GAIG;AACH,eAAO,MAAM,YAAY,yDAAwC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Stack } from '../../features/layout/public';
3
- import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { Stack } from '../../../layout/public';
4
4
  import { Skeleton } from './Skeleton';
5
5
  function clampLines(lines) {
6
6
  if (!Number.isFinite(lines)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonText.js","sourceRoot":"","sources":["../../../../../src/features/skeleton/adapters/inbound/SkeletonText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,GAAG,CAAC,EACT,UAAU,GAAG,EAAE,EACf,GAAG,GAAG,IAAI,EACV,KAAK,GAAG,MAAM,EACd,aAAa,GAAG,KAAK,GACH;IAClB,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC9B;MAAA,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,GAAG,CAAC,CAAC;YAC3C,OAAO,CACL,CAAC,QAAQ,CACP,MAAM,CAAC,CAAC,UAAU,CAAC,CACnB,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAChB,MAAM,CAAC,MAAM,CACb,KAAK,CAAC,CAAC,UAAU,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3D,CACH,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { SkeletonTextProps } from '../../../../types/skeleton';\nimport { Stack } from '../../../layout/public';\nimport { Skeleton } from './Skeleton';\n\nfunction clampLines(lines: number): number {\n if (!Number.isFinite(lines)) {\n return 1;\n }\n\n return Math.max(1, Math.floor(lines));\n}\n\nfunction SkeletonTextInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n lines = 3,\n lineHeight = 12,\n gap = 'xs',\n width = '100%',\n lastLineWidth = '70%',\n}: SkeletonTextProps) {\n const lineCount = clampLines(lines);\n\n return (\n <Stack gap={gap} testID={testID}>\n {Array.from({ length: lineCount }).map((_, index) => {\n const isLastLine = index === lineCount - 1;\n return (\n <Skeleton\n height={lineHeight}\n key={`${index}`}\n radius=\"full\"\n width={isLastLine && lineCount > 1 ? lastLineWidth : width}\n />\n );\n })}\n </Stack>\n );\n}\n\n/***\n * Multi-line skeleton placeholder for text content.\n *\n \n */\nexport const SkeletonText = withZoraThemeScope(SkeletonTextInner);\n"]}
@@ -0,0 +1,6 @@
1
+ export type { SkeletonCardProps, SkeletonDimension, SkeletonListProps, SkeletonListVariant, SkeletonProps, SkeletonRadius, SkeletonTextProps, } from '../../types/skeleton';
2
+ export { Skeleton } from './adapters/inbound/Skeleton';
3
+ export { SkeletonCard } from './adapters/inbound/SkeletonCard';
4
+ export { SkeletonList } from './adapters/inbound/SkeletonList';
5
+ export { SkeletonText } from './adapters/inbound/SkeletonText';
6
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/skeleton/public.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Skeleton } from './adapters/inbound/Skeleton';
2
+ export { SkeletonCard } from './adapters/inbound/SkeletonCard';
3
+ export { SkeletonList } from './adapters/inbound/SkeletonList';
4
+ export { SkeletonText } from './adapters/inbound/SkeletonText';
5
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/skeleton/public.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export type {\n SkeletonCardProps,\n SkeletonDimension,\n SkeletonListProps,\n SkeletonListVariant,\n SkeletonProps,\n SkeletonRadius,\n SkeletonTextProps,\n} from '../../types/skeleton';\nexport { Skeleton } from './adapters/inbound/Skeleton';\nexport { SkeletonCard } from './adapters/inbound/SkeletonCard';\nexport { SkeletonList } from './adapters/inbound/SkeletonList';\nexport { SkeletonText } from './adapters/inbound/SkeletonText';\n"]}