@ankhorage/zora 4.4.0 → 4.5.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 (58) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/components/card/meta.d.ts +1 -1
  4. package/dist/components/radio/RadioGroup.d.ts +1 -3
  5. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  6. package/dist/components/radio/RadioGroup.js +52 -40
  7. package/dist/components/radio/RadioGroup.js.map +1 -1
  8. package/dist/components/radio/RadioOptionControl.d.ts +15 -0
  9. package/dist/components/radio/RadioOptionControl.d.ts.map +1 -0
  10. package/dist/components/radio/RadioOptionControl.js +105 -0
  11. package/dist/components/radio/RadioOptionControl.js.map +1 -0
  12. package/dist/components/radio/handleRadioOptionKeyDown.d.ts +13 -0
  13. package/dist/components/radio/handleRadioOptionKeyDown.d.ts.map +1 -0
  14. package/dist/components/radio/handleRadioOptionKeyDown.js +22 -0
  15. package/dist/components/radio/handleRadioOptionKeyDown.js.map +1 -0
  16. package/dist/components/radio/meta.d.ts +38 -3
  17. package/dist/components/radio/meta.d.ts.map +1 -1
  18. package/dist/components/radio/meta.js +28 -3
  19. package/dist/components/radio/meta.js.map +1 -1
  20. package/dist/components/radio/resolveRadioOptionColors.d.ts +10 -0
  21. package/dist/components/radio/resolveRadioOptionColors.d.ts.map +1 -0
  22. package/dist/components/radio/resolveRadioOptionColors.js +27 -0
  23. package/dist/components/radio/resolveRadioOptionColors.js.map +1 -0
  24. package/dist/components/radio/types.d.ts +12 -2
  25. package/dist/components/radio/types.d.ts.map +1 -1
  26. package/dist/components/radio/types.js.map +1 -1
  27. package/dist/constants/keyboard.d.ts +3 -0
  28. package/dist/constants/keyboard.d.ts.map +1 -0
  29. package/dist/constants/keyboard.js +8 -0
  30. package/dist/constants/keyboard.js.map +1 -0
  31. package/dist/foundation/meta.d.ts +4 -4
  32. package/dist/layout/screen/meta.d.ts +1 -1
  33. package/dist/layout/screen-section/meta.d.ts +1 -1
  34. package/dist/metadata/allowedChildren.d.ts +3 -3
  35. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  36. package/dist/metadata/allowedChildren.js +1 -0
  37. package/dist/metadata/allowedChildren.js.map +1 -1
  38. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  39. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  40. package/dist/patterns/notice/meta.d.ts +1 -1
  41. package/dist/patterns/panel/meta.d.ts +1 -1
  42. package/dist/patterns/post-card/meta.d.ts +1 -1
  43. package/dist/patterns/reader/meta.d.ts +2 -2
  44. package/dist/patterns/scanner/meta.d.ts +2 -2
  45. package/package.json +1 -1
  46. package/src/components/radio/RadioGroup.test.ts +13 -9
  47. package/src/components/radio/RadioGroup.tsx +85 -111
  48. package/src/components/radio/RadioOptionControl.tsx +192 -0
  49. package/src/components/radio/handleRadioOptionKeyDown.test.ts +47 -0
  50. package/src/components/radio/handleRadioOptionKeyDown.ts +37 -0
  51. package/src/components/radio/meta.ts +28 -3
  52. package/src/components/radio/resolveRadioOptionColors.test.ts +29 -0
  53. package/src/components/radio/resolveRadioOptionColors.ts +37 -0
  54. package/src/components/radio/types.ts +10 -2
  55. package/src/constants/keyboard.ts +7 -0
  56. package/src/metadata/allowedChildren.ts +1 -0
  57. package/src/metadata/componentMeta.test.ts +1 -0
  58. package/src/metadata/radioGroupReachability.test.ts +20 -0
@@ -0,0 +1,7 @@
1
+ /** Shared arrow-key offsets; string keys also permit lookup of unrelated keyboard events. */
2
+ export const DIRECTION_MODIFIERS: ReadonlyMap<string, number> = new Map([
3
+ ['ArrowRight', 1],
4
+ ['ArrowDown', 1],
5
+ ['ArrowLeft', -1],
6
+ ['ArrowUp', -1],
7
+ ]);
@@ -10,6 +10,7 @@ export const CONTAINER_ALLOWED_CHILDREN = [
10
10
  'Image',
11
11
  'Button',
12
12
  'ButtonGroup',
13
+ 'RadioGroup',
13
14
  'ThemeModeToggle',
14
15
  'Input',
15
16
  'Textarea',
@@ -210,6 +210,7 @@ describe('ZORA_COMPONENT_META invariants', () => {
210
210
  'value',
211
211
  'label',
212
212
  'description',
213
+ 'iconSource',
213
214
  'disabled',
214
215
  ]);
215
216
  expect(radioGroup.bindings?.props?.value?.value).toEqual({ type: 'string' });
@@ -0,0 +1,20 @@
1
+ import { expect, test } from 'bun:test';
2
+
3
+ import { ZORA_COMPONENT_META } from './index';
4
+
5
+ const containers = [
6
+ ['Screen', ZORA_COMPONENT_META.Screen],
7
+ ['ScreenSection', ZORA_COMPONENT_META.ScreenSection],
8
+ ['Box', ZORA_COMPONENT_META.Box],
9
+ ['Stack', ZORA_COMPONENT_META.Stack],
10
+ ['Card', ZORA_COMPONENT_META.Card],
11
+ ['Panel', ZORA_COMPONENT_META.Panel],
12
+ ] as const;
13
+
14
+ test('keeps manifest RadioGroup reachable through canonical container composition', () => {
15
+ expect(ZORA_COMPONENT_META.RadioGroup.directManifestNode).toBe(true);
16
+
17
+ for (const [name, metadata] of containers) {
18
+ expect(metadata.allowedChildren, `${name} should allow RadioGroup`).toContain('RadioGroup');
19
+ }
20
+ });