@astryxdesign/core 0.7.1 → 0.7.2-canary.b69b2df

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 (39) hide show
  1. package/dist/Button/Button.d.ts.map +1 -1
  2. package/dist/Button/Button.js +38 -14
  3. package/dist/MultiSelector/hooks.d.ts.map +1 -1
  4. package/dist/MultiSelector/hooks.js +3 -1
  5. package/dist/Pagination/Pagination.d.ts +8 -5
  6. package/dist/Pagination/Pagination.d.ts.map +1 -1
  7. package/dist/Pagination/Pagination.js +21 -8
  8. package/dist/Switch/Switch.d.ts +1 -1
  9. package/dist/Switch/Switch.d.ts.map +1 -1
  10. package/dist/Switch/Switch.js +6 -0
  11. package/dist/astryx.css +1 -0
  12. package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
  13. package/dist/i18n/generated-locales/en.generated.js +19 -0
  14. package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
  15. package/dist/i18n/generated-locales/pseudo.generated.js +19 -0
  16. package/locales/en.json +76 -0
  17. package/locales/pseudo.json +57 -0
  18. package/package.json +4 -4
  19. package/src/Button/Button.doc.mjs +2 -2
  20. package/src/Button/Button.test.tsx +155 -9
  21. package/src/Button/Button.tsx +39 -16
  22. package/src/Button/__tests__/Button.a11y.known-failures.ts +1 -62
  23. package/src/Button/__tests__/Button.a11y.states.ts +0 -10
  24. package/src/IconButton/IconButton.doc.mjs +2 -2
  25. package/src/IconButton/IconButton.test.tsx +3 -1
  26. package/src/MultiSelector/hooks.ts +3 -1
  27. package/src/MultiSelector/useMultiCombobox.doc.mjs +267 -0
  28. package/src/Pagination/Pagination.doc.mjs +7 -7
  29. package/src/Pagination/Pagination.spec.md +9 -9
  30. package/src/Pagination/Pagination.test.tsx +242 -0
  31. package/src/Pagination/Pagination.tsx +27 -11
  32. package/src/Switch/Switch.test.tsx +28 -0
  33. package/src/Switch/Switch.tsx +6 -0
  34. package/src/i18n/InternationalizationProvider.doc.mjs +8 -0
  35. package/src/i18n/InternationalizationProvider.spec.md +252 -0
  36. package/src/i18n/__tests__/InternationalizationProvider.test.tsx +128 -0
  37. package/src/i18n/generated-locales/en.generated.ts +21 -0
  38. package/src/i18n/generated-locales/pseudo.generated.ts +21 -0
  39. package/src/i18n/useTranslator.test.tsx +37 -0
@@ -32,6 +32,12 @@ const FR_MESSAGES: MessagesByLocale = {
32
32
  const FR_RUNTIME_MESSAGES: ProviderMessagesByLocale = {
33
33
  fr: {'@astryx.pagination.next': 'Page suivante compacte'},
34
34
  };
35
+ // One messages value mixing shapes: a generated string map for the active
36
+ // locale and a rich catalog for its parent.
37
+ const MIXED_MESSAGES: ProviderMessagesByLocale = {
38
+ 'fr-CA': {'@astryx.pagination.next': 'Page suivante (CA)'},
39
+ fr: {'@astryx.pagination.previous': {defaultMessage: 'Page précédente'}},
40
+ };
35
41
  const FR_OVERRIDES: Overrides = {
36
42
  fr: {'@astryx.pagination.next': 'Suivant'},
37
43
  };
@@ -101,6 +107,37 @@ describe('useTranslator — resolution', () => {
101
107
  ).toEqual({defaultMessage: 'Page suivante compacte'});
102
108
  });
103
109
 
110
+ it('resolves rich and runtime catalogs mixed in one messages value', () => {
111
+ const {result} = renderHook(
112
+ () => ({
113
+ context: use(InternationalizationContext),
114
+ translate: useTranslator(),
115
+ }),
116
+ {
117
+ wrapper: ({children}) => (
118
+ <InternationalizationProvider
119
+ locale="fr-CA"
120
+ messages={MIXED_MESSAGES}>
121
+ {children}
122
+ </InternationalizationProvider>
123
+ ),
124
+ },
125
+ );
126
+
127
+ expect(result.current.translate('@astryx.pagination.next')).toBe(
128
+ 'Page suivante (CA)',
129
+ );
130
+ expect(result.current.translate('@astryx.pagination.previous')).toBe(
131
+ 'Page précédente',
132
+ );
133
+ expect(result.current.context.messages).toEqual({
134
+ 'fr-CA': {
135
+ '@astryx.pagination.next': {defaultMessage: 'Page suivante (CA)'},
136
+ },
137
+ fr: {'@astryx.pagination.previous': {defaultMessage: 'Page précédente'}},
138
+ });
139
+ });
140
+
104
141
  it('lets a provider override beat the provider catalog', () => {
105
142
  const {result} = renderHook(() => useTranslator(), {
106
143
  wrapper: ({children}) => (