@cloudscape-design/components-themeable 3.0.320 → 3.0.321

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 (159) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/space-between/styles.scss +4 -0
  3. package/lib/internal/template/button/internal.d.ts +6 -0
  4. package/lib/internal/template/button/internal.d.ts.map +1 -1
  5. package/lib/internal/template/button/internal.js +6 -8
  6. package/lib/internal/template/button/internal.js.map +1 -1
  7. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  8. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  9. package/lib/internal/template/date-range-picker/calendar/header/index.d.ts.map +1 -1
  10. package/lib/internal/template/date-range-picker/calendar/header/index.js +4 -2
  11. package/lib/internal/template/date-range-picker/calendar/header/index.js.map +1 -1
  12. package/lib/internal/template/date-range-picker/calendar/index.js +1 -1
  13. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  14. package/lib/internal/template/form/index.d.ts.map +1 -1
  15. package/lib/internal/template/form/index.js +14 -1
  16. package/lib/internal/template/form/index.js.map +1 -1
  17. package/lib/internal/template/form/internal.d.ts.map +1 -1
  18. package/lib/internal/template/form/internal.js +3 -4
  19. package/lib/internal/template/form/internal.js.map +1 -1
  20. package/lib/internal/template/form-field/internal.js +2 -3
  21. package/lib/internal/template/form-field/internal.js.map +1 -1
  22. package/lib/internal/template/i18n/context.d.ts +14 -7
  23. package/lib/internal/template/i18n/context.d.ts.map +1 -1
  24. package/lib/internal/template/i18n/context.js.map +1 -1
  25. package/lib/internal/template/i18n/messages/all.all.js +3692 -538
  26. package/lib/internal/template/i18n/messages/all.all.json +3756 -577
  27. package/lib/internal/template/i18n/messages/all.de.js +317 -22
  28. package/lib/internal/template/i18n/messages/all.de.json +324 -27
  29. package/lib/internal/template/i18n/messages/all.en-GB.js +306 -21
  30. package/lib/internal/template/i18n/messages/all.en-GB.json +309 -24
  31. package/lib/internal/template/i18n/messages/all.en.js +11 -11
  32. package/lib/internal/template/i18n/messages/all.en.json +11 -11
  33. package/lib/internal/template/i18n/messages/all.es.js +311 -22
  34. package/lib/internal/template/i18n/messages/all.es.json +318 -25
  35. package/lib/internal/template/i18n/messages/all.fr.js +335 -27
  36. package/lib/internal/template/i18n/messages/all.fr.json +343 -30
  37. package/lib/internal/template/i18n/messages/all.id.js +319 -28
  38. package/lib/internal/template/i18n/messages/all.id.json +322 -31
  39. package/lib/internal/template/i18n/messages/all.it.js +320 -27
  40. package/lib/internal/template/i18n/messages/all.it.json +326 -30
  41. package/lib/internal/template/i18n/messages/all.ja.js +312 -28
  42. package/lib/internal/template/i18n/messages/all.ja.json +315 -30
  43. package/lib/internal/template/i18n/messages/all.ko.js +304 -24
  44. package/lib/internal/template/i18n/messages/all.ko.json +312 -25
  45. package/lib/internal/template/i18n/messages/all.pt-BR.js +313 -28
  46. package/lib/internal/template/i18n/messages/all.pt-BR.json +325 -31
  47. package/lib/internal/template/i18n/messages/all.zh-CN.js +301 -29
  48. package/lib/internal/template/i18n/messages/all.zh-CN.json +300 -31
  49. package/lib/internal/template/i18n/messages/all.zh-TW.js +295 -23
  50. package/lib/internal/template/i18n/messages/all.zh-TW.json +294 -25
  51. package/lib/internal/template/i18n/messages-types.d.ts +435 -0
  52. package/lib/internal/template/i18n/messages-types.d.ts.map +1 -0
  53. package/lib/internal/template/i18n/messages-types.js +5 -0
  54. package/lib/internal/template/i18n/messages-types.js.map +1 -0
  55. package/lib/internal/template/i18n/provider.js.map +1 -1
  56. package/lib/internal/template/internal/analytics/components/analytics-funnel.d.ts +2 -1
  57. package/lib/internal/template/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  58. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +6 -4
  59. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  60. package/lib/internal/template/internal/analytics/context/analytics-context.d.ts +2 -0
  61. package/lib/internal/template/internal/analytics/context/analytics-context.d.ts.map +1 -1
  62. package/lib/internal/template/internal/analytics/context/analytics-context.js +2 -0
  63. package/lib/internal/template/internal/analytics/context/analytics-context.js.map +1 -1
  64. package/lib/internal/template/internal/analytics/hooks/use-funnel.d.ts +3 -7
  65. package/lib/internal/template/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  66. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +2 -7
  67. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  68. package/lib/internal/template/internal/components/cartesian-chart/bottom-labels.js +1 -1
  69. package/lib/internal/template/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  70. package/lib/internal/template/internal/components/cartesian-chart/left-labels.js +1 -1
  71. package/lib/internal/template/internal/components/cartesian-chart/left-labels.js.map +1 -1
  72. package/lib/internal/template/internal/components/focus-lock/index.js +20 -19
  73. package/lib/internal/template/internal/components/focus-lock/index.js.map +1 -1
  74. package/lib/internal/template/internal/context/button-context.d.ts +10 -0
  75. package/lib/internal/template/internal/context/button-context.d.ts.map +1 -0
  76. package/lib/internal/template/internal/context/button-context.js +10 -0
  77. package/lib/internal/template/internal/context/button-context.js.map +1 -0
  78. package/lib/internal/template/internal/environment.js +1 -1
  79. package/lib/internal/template/internal/i18n/messages/all.all.js +3692 -538
  80. package/lib/internal/template/internal/i18n/messages/all.all.json +3756 -577
  81. package/lib/internal/template/internal/i18n/messages/all.de.js +317 -22
  82. package/lib/internal/template/internal/i18n/messages/all.de.json +324 -27
  83. package/lib/internal/template/internal/i18n/messages/all.en-GB.js +306 -21
  84. package/lib/internal/template/internal/i18n/messages/all.en-GB.json +309 -24
  85. package/lib/internal/template/internal/i18n/messages/all.en.js +11 -11
  86. package/lib/internal/template/internal/i18n/messages/all.en.json +11 -11
  87. package/lib/internal/template/internal/i18n/messages/all.es.js +311 -22
  88. package/lib/internal/template/internal/i18n/messages/all.es.json +318 -25
  89. package/lib/internal/template/internal/i18n/messages/all.fr.js +335 -27
  90. package/lib/internal/template/internal/i18n/messages/all.fr.json +343 -30
  91. package/lib/internal/template/internal/i18n/messages/all.id.js +319 -28
  92. package/lib/internal/template/internal/i18n/messages/all.id.json +322 -31
  93. package/lib/internal/template/internal/i18n/messages/all.it.js +320 -27
  94. package/lib/internal/template/internal/i18n/messages/all.it.json +326 -30
  95. package/lib/internal/template/internal/i18n/messages/all.ja.js +312 -28
  96. package/lib/internal/template/internal/i18n/messages/all.ja.json +315 -30
  97. package/lib/internal/template/internal/i18n/messages/all.ko.js +304 -24
  98. package/lib/internal/template/internal/i18n/messages/all.ko.json +312 -25
  99. package/lib/internal/template/internal/i18n/messages/all.pt-BR.js +313 -28
  100. package/lib/internal/template/internal/i18n/messages/all.pt-BR.json +325 -31
  101. package/lib/internal/template/internal/i18n/messages/all.zh-CN.js +301 -29
  102. package/lib/internal/template/internal/i18n/messages/all.zh-CN.json +300 -31
  103. package/lib/internal/template/internal/i18n/messages/all.zh-TW.js +295 -23
  104. package/lib/internal/template/internal/i18n/messages/all.zh-TW.json +294 -25
  105. package/lib/internal/template/package.json +0 -1
  106. package/lib/internal/template/pagination/internal.d.ts.map +1 -1
  107. package/lib/internal/template/pagination/internal.js +4 -4
  108. package/lib/internal/template/pagination/internal.js.map +1 -1
  109. package/lib/internal/template/pie-chart/utils.d.ts +1 -1
  110. package/lib/internal/template/pie-chart/utils.d.ts.map +1 -1
  111. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  112. package/lib/internal/template/property-filter/index.d.ts.map +1 -1
  113. package/lib/internal/template/property-filter/index.js +1 -1
  114. package/lib/internal/template/property-filter/index.js.map +1 -1
  115. package/lib/internal/template/s3-resource-selector/interfaces.d.ts +3 -0
  116. package/lib/internal/template/s3-resource-selector/interfaces.d.ts.map +1 -1
  117. package/lib/internal/template/s3-resource-selector/interfaces.js.map +1 -1
  118. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  119. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  120. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.d.ts +1 -1
  121. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.d.ts.map +1 -1
  122. package/lib/internal/template/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  123. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.d.ts +3 -1
  124. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  125. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +2 -1
  126. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  127. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +1 -1
  128. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  129. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.d.ts +1 -1
  130. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
  131. package/lib/internal/template/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  132. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  133. package/lib/internal/template/space-between/interfaces.d.ts +5 -0
  134. package/lib/internal/template/space-between/interfaces.d.ts.map +1 -1
  135. package/lib/internal/template/space-between/interfaces.js.map +1 -1
  136. package/lib/internal/template/space-between/internal.d.ts +1 -1
  137. package/lib/internal/template/space-between/internal.d.ts.map +1 -1
  138. package/lib/internal/template/space-between/internal.js +2 -2
  139. package/lib/internal/template/space-between/internal.js.map +1 -1
  140. package/lib/internal/template/space-between/styles.css.js +21 -20
  141. package/lib/internal/template/space-between/styles.scoped.css +25 -21
  142. package/lib/internal/template/space-between/styles.selectors.js +21 -20
  143. package/lib/internal/template/tag-editor/interfaces.d.ts +1 -0
  144. package/lib/internal/template/tag-editor/interfaces.d.ts.map +1 -1
  145. package/lib/internal/template/tag-editor/interfaces.js.map +1 -1
  146. package/lib/internal/template/tag-editor/validation.d.ts +1 -1
  147. package/lib/internal/template/tag-editor/validation.d.ts.map +1 -1
  148. package/lib/internal/template/tag-editor/validation.js.map +1 -1
  149. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  150. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  151. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +2 -2
  152. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  153. package/lib/internal/template/wizard/internal.d.ts.map +1 -1
  154. package/lib/internal/template/wizard/internal.js +4 -2
  155. package/lib/internal/template/wizard/internal.js.map +1 -1
  156. package/lib/internal/template/wizard/wizard-form.d.ts.map +1 -1
  157. package/lib/internal/template/wizard/wizard-form.js +1 -2
  158. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  159. package/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- export type CustomHandler<T> = (formatFn: (args: Record<string, string | number>) => string) => T;
2
+ import { I18nFormatArgTypes } from './messages-types';
3
+ export type CustomHandler<ReturnValue, FormatFnArgs> = (formatFn: (args: FormatFnArgs) => string) => ReturnValue;
3
4
  export interface FormatFunction {
4
5
  (namespace: string, component: string, key: string, provided: string): string;
5
6
  (namespace: string, component: string, key: string, provided: string | undefined): string | undefined;
6
- <T>(namespace: string, component: string, key: string, provided: T, handler?: CustomHandler<T>): T;
7
+ <T, A = unknown>(namespace: string, component: string, key: string, provided: T, handler?: CustomHandler<T, A>): T;
7
8
  }
8
9
  export interface InternalI18nContextProps {
9
10
  locale: string | null;
@@ -11,10 +12,16 @@ export interface InternalI18nContextProps {
11
12
  }
12
13
  export declare const InternalI18nContext: React.Context<InternalI18nContextProps>;
13
14
  export declare function useLocale(): string | null;
14
- export interface ComponentFormatFunction {
15
- (key: string, provided: string): string;
16
- (key: string, provided: string | undefined): string | undefined;
17
- <T>(key: string, provided: T, handler?: CustomHandler<T>): T;
15
+ /**
16
+ * Utility to get "keyof T" but exclude number or symbol types.
17
+ * TypeScript allows those types because JS implicitly casts them to string.
18
+ */
19
+ type StringKeyOf<T> = Extract<keyof T, string>;
20
+ export interface ComponentFormatFunction<ComponentName extends StringKeyOf<I18nFormatArgTypes>> {
21
+ <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>>(key: MessageKey, provided: string, handler?: CustomHandler<string, I18nFormatArgTypes[ComponentName][MessageKey]>): string;
22
+ <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>>(key: MessageKey, provided: string | undefined, handler?: CustomHandler<string, I18nFormatArgTypes[ComponentName][MessageKey]>): string | undefined;
23
+ <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>, ReturnValue>(key: MessageKey, provided: ReturnValue, handler: I18nFormatArgTypes[ComponentName][MessageKey] extends never ? never : CustomHandler<ReturnValue, I18nFormatArgTypes[ComponentName][MessageKey]>): ReturnValue;
18
24
  }
19
- export declare function useInternalI18n(componentName: string): ComponentFormatFunction;
25
+ export declare function useInternalI18n<ComponentName extends StringKeyOf<I18nFormatArgTypes>>(componentName: ComponentName): ComponentFormatFunction<ComponentName>;
26
+ export {};
20
27
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"lib/default/","sources":["i18n/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC,CAAC;AAElG,MAAM,WAAW,cAAc;IAC7B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACtG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CACpG;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,yCAG9B,CAAC;AAEH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAChE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC9D;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,uBAAuB,CAK9E"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"lib/default/","sources":["i18n/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,aAAa,CAAC,WAAW,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,KAAK,WAAW,CAAC;AAEjH,MAAM,WAAW,cAAc;IAC7B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACtG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;CACpH;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,yCAG9B,CAAC;AAEH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAE/C,MAAM,WAAW,uBAAuB,CAAC,aAAa,SAAS,WAAW,CAAC,kBAAkB,CAAC;IAC5F,CAAC,UAAU,SAAS,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAChE,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,GAC7E,MAAM,CAAC;IACV,CAAC,UAAU,SAAS,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAChE,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,GAC7E,MAAM,GAAG,SAAS,CAAC;IACtB,CAAC,UAAU,SAAS,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,EAC7E,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,SAAS,KAAK,GAChE,KAAK,GACL,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,GAC5E,WAAW,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,aAAa,SAAS,WAAW,CAAC,kBAAkB,CAAC,EACnF,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAAC,aAAa,CAAC,CASxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"lib/default/","sources":["i18n/context.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAe1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAA2B;IAC/E,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAI,UAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,QAAW,EAAE,EAAE,CAAC,QAAQ;CAC3F,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACnD,OAAO,CAAI,GAAW,EAAE,QAAW,EAAE,aAAgC,EAAE,EAAE;QACvE,OAAO,MAAM,CAAI,+BAA+B,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjG,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useContext } from 'react';\n\nexport type CustomHandler<T> = (formatFn: (args: Record<string, string | number>) => string) => T;\n\nexport interface FormatFunction {\n (namespace: string, component: string, key: string, provided: string): string;\n (namespace: string, component: string, key: string, provided: string | undefined): string | undefined;\n <T>(namespace: string, component: string, key: string, provided: T, handler?: CustomHandler<T>): T;\n}\n\nexport interface InternalI18nContextProps {\n locale: string | null;\n format: FormatFunction;\n}\n\nexport const InternalI18nContext = React.createContext<InternalI18nContextProps>({\n locale: null,\n format: <T>(_namespace: string, _component: string, _key: string, provided: T) => provided,\n});\n\nexport function useLocale(): string | null {\n return useContext(InternalI18nContext).locale;\n}\n\nexport interface ComponentFormatFunction {\n (key: string, provided: string): string;\n (key: string, provided: string | undefined): string | undefined;\n <T>(key: string, provided: T, handler?: CustomHandler<T>): T;\n}\n\nexport function useInternalI18n(componentName: string): ComponentFormatFunction {\n const { format } = useContext(InternalI18nContext);\n return <T>(key: string, provided: T, customHandler?: CustomHandler<T>) => {\n return format<T>('@cloudscape-design/components', componentName, key, provided, customHandler);\n };\n}\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"lib/default/","sources":["i18n/context.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAgB1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAA2B;IAC/E,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAI,UAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,QAAW,EAAE,EAAE,CAAC,QAAQ;CAC3F,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS;IACvB,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AA4BD,MAAM,UAAU,eAAe,CAC7B,aAA4B;IAE5B,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACnD,OAAO,CACL,GAAe,EACf,QAAmB,EACnB,aAAuF,EACvF,EAAE;QACF,OAAO,MAAM,CAAC,+BAA+B,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9F,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useContext } from 'react';\nimport { I18nFormatArgTypes } from './messages-types';\n\nexport type CustomHandler<ReturnValue, FormatFnArgs> = (formatFn: (args: FormatFnArgs) => string) => ReturnValue;\n\nexport interface FormatFunction {\n (namespace: string, component: string, key: string, provided: string): string;\n (namespace: string, component: string, key: string, provided: string | undefined): string | undefined;\n <T, A = unknown>(namespace: string, component: string, key: string, provided: T, handler?: CustomHandler<T, A>): T;\n}\n\nexport interface InternalI18nContextProps {\n locale: string | null;\n format: FormatFunction;\n}\n\nexport const InternalI18nContext = React.createContext<InternalI18nContextProps>({\n locale: null,\n format: <T>(_namespace: string, _component: string, _key: string, provided: T) => provided,\n});\n\nexport function useLocale(): string | null {\n return useContext(InternalI18nContext).locale;\n}\n\n/**\n * Utility to get \"keyof T\" but exclude number or symbol types.\n * TypeScript allows those types because JS implicitly casts them to string.\n */\ntype StringKeyOf<T> = Extract<keyof T, string>;\n\nexport interface ComponentFormatFunction<ComponentName extends StringKeyOf<I18nFormatArgTypes>> {\n <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>>(\n key: MessageKey,\n provided: string,\n handler?: CustomHandler<string, I18nFormatArgTypes[ComponentName][MessageKey]>\n ): string;\n <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>>(\n key: MessageKey,\n provided: string | undefined,\n handler?: CustomHandler<string, I18nFormatArgTypes[ComponentName][MessageKey]>\n ): string | undefined;\n <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>, ReturnValue>(\n key: MessageKey,\n provided: ReturnValue,\n handler: I18nFormatArgTypes[ComponentName][MessageKey] extends never\n ? never\n : CustomHandler<ReturnValue, I18nFormatArgTypes[ComponentName][MessageKey]>\n ): ReturnValue;\n}\n\nexport function useInternalI18n<ComponentName extends StringKeyOf<I18nFormatArgTypes>>(\n componentName: ComponentName\n): ComponentFormatFunction<ComponentName> {\n const { format } = useContext(InternalI18nContext);\n return <MessageKey extends StringKeyOf<I18nFormatArgTypes[ComponentName]>, ValueType>(\n key: MessageKey,\n provided: ValueType,\n customHandler?: CustomHandler<ValueType, I18nFormatArgTypes[ComponentName][MessageKey]>\n ) => {\n return format('@cloudscape-design/components', componentName, key, provided, customHandler);\n };\n}\n"]}