@ankhorage/zora 3.2.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/card/meta.d.ts +1 -1
  3. package/dist/foundation/meta.d.ts +4 -4
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/layout/screen/meta.d.ts +1 -1
  9. package/dist/layout/screen-section/meta.d.ts +1 -1
  10. package/dist/metadata/allowedChildren.d.ts +4 -3
  11. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  12. package/dist/metadata/allowedChildren.js +12 -0
  13. package/dist/metadata/allowedChildren.js.map +1 -1
  14. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  15. package/dist/metadata/componentMeta.d.ts.map +1 -1
  16. package/dist/metadata/componentMeta.js +2 -0
  17. package/dist/metadata/componentMeta.js.map +1 -1
  18. package/dist/patterns/content-rail/ContentRail.d.ts +10 -0
  19. package/dist/patterns/content-rail/ContentRail.d.ts.map +1 -0
  20. package/dist/patterns/content-rail/ContentRail.js +175 -0
  21. package/dist/patterns/content-rail/ContentRail.js.map +1 -0
  22. package/dist/patterns/content-rail/index.d.ts +3 -0
  23. package/dist/patterns/content-rail/index.d.ts.map +1 -0
  24. package/dist/patterns/content-rail/index.js +2 -0
  25. package/dist/patterns/content-rail/index.js.map +1 -0
  26. package/dist/patterns/content-rail/meta.d.ts +143 -0
  27. package/dist/patterns/content-rail/meta.d.ts.map +1 -0
  28. package/dist/patterns/content-rail/meta.js +130 -0
  29. package/dist/patterns/content-rail/meta.js.map +1 -0
  30. package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts +10 -0
  31. package/dist/patterns/content-rail/resolveContentRailItemWidth.d.ts.map +1 -0
  32. package/dist/patterns/content-rail/resolveContentRailItemWidth.js +25 -0
  33. package/dist/patterns/content-rail/resolveContentRailItemWidth.js.map +1 -0
  34. package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.d.ts +6 -0
  35. package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.d.ts.map +1 -0
  36. package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.js +5 -0
  37. package/dist/patterns/content-rail/resolveContentRailPhysicalOffset.js.map +1 -0
  38. package/dist/patterns/content-rail/resolveContentRailState.d.ts +18 -0
  39. package/dist/patterns/content-rail/resolveContentRailState.d.ts.map +1 -0
  40. package/dist/patterns/content-rail/resolveContentRailState.js +21 -0
  41. package/dist/patterns/content-rail/resolveContentRailState.js.map +1 -0
  42. package/dist/patterns/content-rail/types.d.ts +31 -0
  43. package/dist/patterns/content-rail/types.d.ts.map +1 -0
  44. package/dist/patterns/content-rail/types.js +2 -0
  45. package/dist/patterns/content-rail/types.js.map +1 -0
  46. package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts +3 -0
  47. package/dist/patterns/content-rail/useContentRailReducedMotion.d.ts.map +1 -0
  48. package/dist/patterns/content-rail/useContentRailReducedMotion.js +21 -0
  49. package/dist/patterns/content-rail/useContentRailReducedMotion.js.map +1 -0
  50. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  51. package/dist/patterns/notice/meta.d.ts +1 -1
  52. package/dist/patterns/panel/meta.d.ts +1 -1
  53. package/dist/patterns/post-card/meta.d.ts +1 -1
  54. package/dist/patterns/reader/meta.d.ts +2 -2
  55. package/dist/patterns/scanner/meta.d.ts +2 -2
  56. package/dist/registry.d.ts.map +1 -1
  57. package/dist/registry.js +2 -0
  58. package/dist/registry.js.map +1 -1
  59. package/package.json +2 -2
  60. package/src/index.ts +10 -0
  61. package/src/interactionPolicy.test.ts +22 -0
  62. package/src/metadata/allowedChildren.ts +13 -0
  63. package/src/metadata/componentMeta.test.ts +34 -0
  64. package/src/metadata/componentMeta.ts +2 -0
  65. package/src/patterns/content-rail/ContentRail.test.ts +44 -0
  66. package/src/patterns/content-rail/ContentRail.tsx +245 -0
  67. package/src/patterns/content-rail/index.ts +10 -0
  68. package/src/patterns/content-rail/meta.ts +133 -0
  69. package/src/patterns/content-rail/resolveContentRailItemWidth.test.ts +77 -0
  70. package/src/patterns/content-rail/resolveContentRailItemWidth.ts +39 -0
  71. package/src/patterns/content-rail/resolveContentRailPhysicalOffset.test.ts +29 -0
  72. package/src/patterns/content-rail/resolveContentRailPhysicalOffset.ts +12 -0
  73. package/src/patterns/content-rail/resolveContentRailState.test.ts +68 -0
  74. package/src/patterns/content-rail/resolveContentRailState.ts +36 -0
  75. package/src/patterns/content-rail/types.ts +35 -0
  76. package/src/patterns/content-rail/useContentRailReducedMotion.ts +28 -0
  77. package/src/registry.ts +2 -0
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { AccessibilityInfo } from 'react-native';
3
+
4
+ import type { ContentRailMotion } from './types';
5
+
6
+ export function useContentRailReducedMotion(motion: ContentRailMotion): boolean {
7
+ const [systemReducedMotion, setSystemReducedMotion] = React.useState(false);
8
+
9
+ React.useEffect(() => {
10
+ if (motion !== 'system') return;
11
+
12
+ let active = true;
13
+ void AccessibilityInfo.isReduceMotionEnabled().then((enabled) => {
14
+ if (active) setSystemReducedMotion(enabled);
15
+ });
16
+ const subscription = AccessibilityInfo.addEventListener(
17
+ 'reduceMotionChanged',
18
+ setSystemReducedMotion,
19
+ );
20
+
21
+ return () => {
22
+ active = false;
23
+ subscription.remove();
24
+ };
25
+ }, [motion]);
26
+
27
+ return motion === 'reduced' || (motion === 'system' && systemReducedMotion);
28
+ }
package/src/registry.ts CHANGED
@@ -72,6 +72,7 @@ import {
72
72
  import { ChatListItem } from './patterns/chat-list-item';
73
73
  import { CollectionEditor } from './patterns/collection-editor';
74
74
  import { ConfirmDialog } from './patterns/confirm-dialog';
75
+ import { ContentRail } from './patterns/content-rail';
75
76
  import { DisclosureSection } from './patterns/disclosure-section';
76
77
  import { EmptyState } from './patterns/empty-state';
77
78
  import { FilterBar } from './patterns/filter-bar';
@@ -206,6 +207,7 @@ const _ZORA_COMPONENT_REGISTRY = {
206
207
  ChatListItem,
207
208
  CollectionEditor,
208
209
  ConfirmDialog,
210
+ ContentRail,
209
211
  DisclosureSection,
210
212
  EmptyState,
211
213
  FilterBar,