@prezly/theme-kit-nextjs 1.3.1 → 1.4.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 (114) hide show
  1. package/README.md +15 -11
  2. package/build/adapter-nextjs/getNewsroomServerSideProps.d.ts +6 -0
  3. package/build/adapter-nextjs/getNewsroomServerSideProps.js +5 -1
  4. package/build/adapter-nextjs/getNewsroomServerSideProps.js.map +1 -1
  5. package/build/adapter-nextjs/processRequest.d.ts +10 -1
  6. package/build/adapter-nextjs/processRequest.js +9 -0
  7. package/build/adapter-nextjs/processRequest.js.map +1 -1
  8. package/build/data-fetching/api/PrezlyApi.d.ts +12 -4
  9. package/build/data-fetching/api/PrezlyApi.js +13 -2
  10. package/build/data-fetching/api/PrezlyApi.js.map +1 -1
  11. package/build/data-fetching/api/getPrezlyApi.d.ts +1 -1
  12. package/build/data-fetching/api/getPrezlyApi.js +5 -5
  13. package/build/data-fetching/api/getPrezlyApi.js.map +1 -1
  14. package/build/data-fetching/api/languages.d.ts +9 -0
  15. package/build/data-fetching/api/languages.js +9 -0
  16. package/build/data-fetching/api/languages.js.map +1 -1
  17. package/build/data-fetching/api/queries.d.ts +5 -5
  18. package/build/data-fetching/api/queries.js +22 -16
  19. package/build/data-fetching/api/queries.js.map +1 -1
  20. package/build/data-fetching/getAssetsUrl.d.ts +4 -0
  21. package/build/data-fetching/getAssetsUrl.js +4 -0
  22. package/build/data-fetching/getAssetsUrl.js.map +1 -1
  23. package/build/data-fetching/getLocalizedCategoryData.d.ts +2 -2
  24. package/build/data-fetching/getPrivacyPortalUrl.d.ts +1 -1
  25. package/build/data-fetching/getStoryPublicationDate.d.ts +1 -1
  26. package/build/data-fetching/getUploadcareGroupUrl.d.ts +7 -0
  27. package/build/data-fetching/getUploadcareGroupUrl.js +7 -0
  28. package/build/data-fetching/getUploadcareGroupUrl.js.map +1 -1
  29. package/build/data-fetching/lib/getAlgoliaSettings.d.ts +2 -2
  30. package/build/data-fetching/lib/getAlgoliaSettings.js +3 -3
  31. package/build/data-fetching/lib/getAlgoliaSettings.js.map +1 -1
  32. package/build/data-fetching/lib/getEnvVariables.d.ts +1 -1
  33. package/build/data-fetching/lib/getEnvVariables.js +7 -7
  34. package/build/data-fetching/lib/getEnvVariables.js.map +1 -1
  35. package/build/data-fetching/types.d.ts +1 -0
  36. package/build/intl/lang.d.ts +5 -3
  37. package/build/intl/lang.js +4 -2
  38. package/build/intl/lang.js.map +1 -1
  39. package/build/intl/locale.d.ts +5 -1
  40. package/build/intl/locale.js +9 -0
  41. package/build/intl/locale.js.map +1 -1
  42. package/build/intl/localeConfig.js +7 -2
  43. package/build/intl/localeConfig.js.map +1 -1
  44. package/build/intl/localeObject.d.ts +23 -0
  45. package/build/intl/localeObject.js +23 -0
  46. package/build/intl/localeObject.js.map +1 -1
  47. package/build/newsroom-context/context.d.ts +40 -3
  48. package/build/newsroom-context/context.js +6 -2
  49. package/build/newsroom-context/context.js.map +1 -1
  50. package/build/newsroom-context/hooks/useAlgoliaSettings.d.ts +1 -1
  51. package/build/newsroom-context/hooks/useAlgoliaSettings.js +2 -2
  52. package/build/newsroom-context/hooks/useAlgoliaSettings.js.map +1 -1
  53. package/build/newsroom-context/hooks/useCategories.d.ts +1 -1
  54. package/build/newsroom-context/hooks/useCategories.js +2 -2
  55. package/build/newsroom-context/hooks/useCategories.js.map +1 -1
  56. package/build/newsroom-context/hooks/useCompanyInformation.d.ts +1 -1
  57. package/build/newsroom-context/hooks/useCompanyInformation.js +2 -2
  58. package/build/newsroom-context/hooks/useCompanyInformation.js.map +1 -1
  59. package/build/newsroom-context/hooks/useCurrentCategory.d.ts +1 -1
  60. package/build/newsroom-context/hooks/useCurrentCategory.js +2 -2
  61. package/build/newsroom-context/hooks/useCurrentCategory.js.map +1 -1
  62. package/build/newsroom-context/hooks/useCurrentLocale.d.ts +1 -1
  63. package/build/newsroom-context/hooks/useCurrentLocale.js +2 -2
  64. package/build/newsroom-context/hooks/useCurrentLocale.js.map +1 -1
  65. package/build/newsroom-context/hooks/useCurrentStory.d.ts +1 -1
  66. package/build/newsroom-context/hooks/useCurrentStory.js +2 -2
  67. package/build/newsroom-context/hooks/useCurrentStory.js.map +1 -1
  68. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js +6 -1
  69. package/build/newsroom-context/hooks/useGetLinkLocaleSlug.js.map +1 -1
  70. package/build/newsroom-context/hooks/useGetTranslationUrl.d.ts +5 -1
  71. package/build/newsroom-context/hooks/useGetTranslationUrl.js +10 -1
  72. package/build/newsroom-context/hooks/useGetTranslationUrl.js.map +1 -1
  73. package/build/newsroom-context/hooks/useLanguages.d.ts +1 -1
  74. package/build/newsroom-context/hooks/useLanguages.js +2 -2
  75. package/build/newsroom-context/hooks/useLanguages.js.map +1 -1
  76. package/build/newsroom-context/hooks/useNewsroom.d.ts +1 -1
  77. package/build/newsroom-context/hooks/useNewsroom.js +2 -2
  78. package/build/newsroom-context/hooks/useNewsroom.js.map +1 -1
  79. package/build/newsroom-context/hooks/useNewsroomContext.d.ts +2 -2
  80. package/build/newsroom-context/hooks/useNewsroomContext.js +2 -2
  81. package/build/newsroom-context/hooks/useNewsroomContext.js.map +1 -1
  82. package/build/types.d.ts +14 -1
  83. package/package.json +2 -10
  84. package/src/adapter-nextjs/getNewsroomServerSideProps.ts +7 -1
  85. package/src/adapter-nextjs/processRequest.ts +10 -1
  86. package/src/data-fetching/api/PrezlyApi.ts +19 -4
  87. package/src/data-fetching/api/getPrezlyApi.ts +5 -5
  88. package/src/data-fetching/api/languages.ts +9 -0
  89. package/src/data-fetching/api/queries.ts +25 -18
  90. package/src/data-fetching/getAssetsUrl.ts +4 -0
  91. package/src/data-fetching/getLocalizedCategoryData.ts +2 -2
  92. package/src/data-fetching/getPrivacyPortalUrl.ts +1 -1
  93. package/src/data-fetching/getStoryPublicationDate.tsx +1 -1
  94. package/src/data-fetching/getUploadcareGroupUrl.ts +7 -0
  95. package/src/data-fetching/lib/getAlgoliaSettings.ts +4 -4
  96. package/src/data-fetching/lib/getEnvVariables.ts +7 -7
  97. package/src/data-fetching/types.ts +1 -0
  98. package/src/intl/lang.ts +5 -3
  99. package/src/intl/locale.ts +11 -1
  100. package/src/intl/localeConfig.js +7 -2
  101. package/src/intl/localeObject.ts +23 -0
  102. package/src/newsroom-context/context.tsx +43 -5
  103. package/src/newsroom-context/hooks/useAlgoliaSettings.ts +2 -2
  104. package/src/newsroom-context/hooks/useCategories.ts +2 -2
  105. package/src/newsroom-context/hooks/useCompanyInformation.ts +2 -2
  106. package/src/newsroom-context/hooks/useCurrentCategory.ts +2 -2
  107. package/src/newsroom-context/hooks/useCurrentLocale.ts +2 -2
  108. package/src/newsroom-context/hooks/useCurrentStory.ts +2 -2
  109. package/src/newsroom-context/hooks/useGetLinkLocaleSlug.ts +6 -1
  110. package/src/newsroom-context/hooks/useGetTranslationUrl.ts +11 -2
  111. package/src/newsroom-context/hooks/useLanguages.ts +2 -2
  112. package/src/newsroom-context/hooks/useNewsroom.ts +2 -2
  113. package/src/newsroom-context/hooks/useNewsroomContext.ts +4 -3
  114. package/src/types.ts +14 -2
@@ -1,4 +1,4 @@
1
1
  /// <reference types="node" />
2
2
  import type { IncomingMessage } from 'http';
3
3
  import type { PrezlyEnv } from '../types';
4
- export declare const getEnvVariables: (req?: IncomingMessage | undefined) => PrezlyEnv;
4
+ export declare function getEnvVariables(req?: IncomingMessage): PrezlyEnv;
@@ -16,7 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.getEnvVariables = void 0;
18
18
  var parse_data_url_1 = __importDefault(require("parse-data-url"));
19
- var decodeJson = function (json) {
19
+ function decodeJson(json) {
20
20
  try {
21
21
  var decoded = JSON.parse(json);
22
22
  if (decoded && typeof decoded === 'object') {
@@ -27,8 +27,8 @@ var decodeJson = function (json) {
27
27
  // passthru
28
28
  }
29
29
  return {};
30
- };
31
- var decodeHttpEnv = function (header) {
30
+ }
31
+ function decodeHttpEnv(header) {
32
32
  if (header.startsWith('data:')) {
33
33
  var parsed = (0, parse_data_url_1.default)(header);
34
34
  if (parsed && parsed.contentType === 'application/json') {
@@ -38,9 +38,9 @@ var decodeHttpEnv = function (header) {
38
38
  return {}; // unsupported data-uri
39
39
  }
40
40
  return decodeJson(header);
41
- };
42
- var getEnvVariables = function (req) {
43
- if (process.browser) {
41
+ }
42
+ function getEnvVariables(req) {
43
+ if (typeof window !== 'undefined') {
44
44
  throw new Error('"getEnvVariables" should only be used on back-end side.');
45
45
  }
46
46
  var headerName = (process.env.HTTP_ENV_HEADER || '').toLowerCase();
@@ -50,6 +50,6 @@ var getEnvVariables = function (req) {
50
50
  return __assign(__assign({}, process.env), httpEnv);
51
51
  }
52
52
  return __assign({}, process.env);
53
- };
53
+ }
54
54
  exports.getEnvVariables = getEnvVariables;
55
55
  //# sourceMappingURL=getEnvVariables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEnvVariables.js","sourceRoot":"","sources":["../../../src/data-fetching/lib/getEnvVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kEAA0C;AAI1C,IAAM,UAAU,GAAG,UAAC,IAAY;IAC5B,IAAI;QACA,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YACxC,OAAO,OAAO,CAAC;SAClB;KACJ;IAAC,WAAM;QACJ,WAAW;KACd;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,MAAc;IACjC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,IAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,kBAAkB,EAAE;YACrD,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,EAAE,CAAC,CAAC,uBAAuB;KACrC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEK,IAAM,eAAe,GAAG,UAAC,GAAqB;IACjD,IAAI,OAAO,CAAC,OAAO,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC9E;IAED,IAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAErE,IAAI,UAAU,IAAI,GAAG,EAAE;QACnB,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAuB,CAAC;QAC7D,IAAM,OAAO,GAAG,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC5C,6BAAY,OAAO,CAAC,GAAG,GAAK,OAAO,EAAG;KACzC;IAED,oBAAY,OAAO,CAAC,GAAG,EAAG;AAC9B,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B"}
1
+ {"version":3,"file":"getEnvVariables.js","sourceRoot":"","sources":["../../../src/data-fetching/lib/getEnvVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,kEAA0C;AAI1C,SAAS,UAAU,CAAC,IAAY;IAC5B,IAAI;QACA,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YACxC,OAAO,OAAO,CAAC;SAClB;KACJ;IAAC,WAAM;QACJ,WAAW;KACd;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACjC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC5B,IAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,kBAAkB,EAAE;YACrD,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,EAAE,CAAC,CAAC,uBAAuB;KACrC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,eAAe,CAAC,GAAqB;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC9E;IAED,IAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAErE,IAAI,UAAU,IAAI,GAAG,EAAE;QACnB,IAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAuB,CAAC;QAC7D,IAAM,OAAO,GAAG,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC5C,6BAAY,OAAO,CAAC,GAAG,GAAK,OAAO,EAAG;KACzC;IAED,oBAAY,OAAO,CAAC,GAAG,EAAG;AAC9B,CAAC;AAdD,0CAcC"}
@@ -6,6 +6,7 @@ export interface AlgoliaSettings {
6
6
  export interface PrezlyNewsroomEnv {
7
7
  PREZLY_ACCESS_TOKEN: string;
8
8
  PREZLY_NEWSROOM_UUID: string;
9
+ PREZLY_THEME_UUID?: string;
9
10
  }
10
11
  export interface PrezlyEnv extends PrezlyNewsroomEnv, AlgoliaSettings {
11
12
  }
@@ -1,12 +1,14 @@
1
- import { NewsroomLanguageSettings } from '@prezly/sdk';
1
+ import type { NewsroomLanguageSettings } from '@prezly/sdk';
2
2
  /**
3
+ * @returns the display name of the locale in its native language
4
+ *
3
5
  * If there's only one culture used in a specific language,
4
6
  * we strip the culture name completely.
5
7
  *
6
8
  * Examples:
7
9
  * - English (Global), Spanish (Spain)
8
- * -> English, Spanish
10
+ * - -> English, Spanish
9
11
  * - English (Global), English (UK), Spanish (Spain)
10
- * -> English (Global), English (UK), Spanish
12
+ * - -> English (Global), English (UK), Spanish
11
13
  */
12
14
  export declare function getLanguageDisplayName(language: NewsroomLanguageSettings, languages: NewsroomLanguageSettings[]): string;
@@ -9,14 +9,16 @@ function isOnlyCulture(culture, languages) {
9
9
  return numberOfLanguages === 1;
10
10
  }
11
11
  /**
12
+ * @returns the display name of the locale in its native language
13
+ *
12
14
  * If there's only one culture used in a specific language,
13
15
  * we strip the culture name completely.
14
16
  *
15
17
  * Examples:
16
18
  * - English (Global), Spanish (Spain)
17
- * -> English, Spanish
19
+ * - -> English, Spanish
18
20
  * - English (Global), English (UK), Spanish (Spain)
19
- * -> English (Global), English (UK), Spanish
21
+ * - -> English (Global), English (UK), Spanish
20
22
  */
21
23
  function getLanguageDisplayName(language, languages) {
22
24
  var locale = language.locale;
@@ -1 +1 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/intl/lang.ts"],"names":[],"mappings":";;;AAEA,SAAS,aAAa,CAAC,OAAmB,EAAE,SAAqC;IAC7E,IAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CACtC,UAAC,EAA6B;YAAjB,aAAa,0BAAA;QAAS,OAAA,aAAa,KAAK,OAAO,CAAC,aAAa;IAAvC,CAAuC,CAC7E,CAAC,MAAM,CAAC;IAET,OAAO,iBAAiB,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAClC,QAAkC,EAClC,SAAqC;IAE7B,IAAA,MAAM,GAAK,QAAQ,OAAb,CAAc;IAE5B,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;QAClC,IAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;SAC5D;KACJ;IAED,OAAO,MAAM,CAAC,WAAW,CAAC;AAC9B,CAAC;AAfD,wDAeC"}
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/intl/lang.ts"],"names":[],"mappings":";;;AAEA,SAAS,aAAa,CAAC,OAAmB,EAAE,SAAqC;IAC7E,IAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CACtC,UAAC,EAA6B;YAAjB,aAAa,0BAAA;QAAS,OAAA,aAAa,KAAK,OAAO,CAAC,aAAa;IAAvC,CAAuC,CAC7E,CAAC,MAAM,CAAC;IAET,OAAO,iBAAiB,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,sBAAsB,CAClC,QAAkC,EAClC,SAAqC;IAE7B,IAAA,MAAM,GAAK,QAAQ,OAAb,CAAc;IAE5B,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;QAClC,IAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,CAAC;SAC5D;KACJ;IAED,OAAO,MAAM,CAAC,WAAW,CAAC;AAC9B,CAAC;AAfD,wDAeC"}
@@ -1,9 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import type { Redirect } from 'next';
3
- import { ParsedUrlQuery } from 'querystring';
3
+ import type { ParsedUrlQuery } from 'querystring';
4
4
  import { LocaleObject } from './localeObject';
5
5
  export declare const DEFAULT_LOCALE = "en";
6
6
  export declare const DUMMY_DEFAULT_LOCALE = "qps-ploc";
7
+ /**
8
+ * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
9
+ * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
10
+ */
7
11
  export declare function getSupportedLocaleIsoCode(locale: LocaleObject): string;
8
12
  export declare function getRedirectToCanonicalLocale(shortestLocaleCode: string | false, nextLocaleIsoCode: string | undefined, redirectPath: string, query?: ParsedUrlQuery): Redirect | undefined;
9
13
  export declare function getLocaleDirection(locale: LocaleObject): 'ltr' | 'rtl';
@@ -4,7 +4,12 @@ exports.getLocaleDirection = exports.getRedirectToCanonicalLocale = exports.getS
4
4
  var querystring_1 = require("querystring");
5
5
  var localeObject_1 = require("./localeObject");
6
6
  exports.DEFAULT_LOCALE = 'en';
7
+ // We use pseudo locale used for localization testing, to reliably determine if we need to fallback to the default newsroom language
7
8
  exports.DUMMY_DEFAULT_LOCALE = 'qps-ploc';
9
+ /**
10
+ * This a list of locales that Prezly has translations for. Each code represents a language file in the `@prezly/themes-intl-messages` package.
11
+ * See https://github.com/prezly/themes-intl-messages for more info.
12
+ */
8
13
  var SUPPORTED_LOCALES = [
9
14
  'af',
10
15
  'ar',
@@ -53,6 +58,10 @@ var SUPPORTED_LOCALES = [
53
58
  'zh-CN',
54
59
  'zh-TW',
55
60
  ];
61
+ /**
62
+ * Use this function to determine which translations file you should load from `@prezly/themes-intl-mesages` package.
63
+ * See https://github.com/prezly/theme-nextjs-bea/blob/main/utils/lang.ts for a usage example.
64
+ */
56
65
  function getSupportedLocaleIsoCode(locale) {
57
66
  var localeIsoCode = locale.toHyphenCode();
58
67
  var isSupportedLocale = localeIsoCode.length >= 2 && SUPPORTED_LOCALES.includes(localeIsoCode);
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":";;;AACA,2CAAwD;AAExD,+CAA8C;AAEjC,QAAA,cAAc,GAAG,IAAI,CAAC;AACtB,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAE/C,IAAM,iBAAiB,GAAG;IACtB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;CACV,CAAC;AAEF,SAAgB,yBAAyB,CAAC,MAAoB;IAC1D,IAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAE5C,IAAM,iBAAiB,GACnB,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,iBAAiB,EAAE;QACnB,OAAO,aAAa,CAAC;KACxB;IAED,IAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,mBAAmB,EAAE;QACrB,OAAO,QAAQ,CAAC;KACnB;IAED,OAAO,sBAAc,CAAC;AAC1B,CAAC;AAhBD,8DAgBC;AAED,SAAgB,4BAA4B,CACxC,kBAAkC,EAClC,iBAAqC,EACrC,YAAoB,EACpB,KAAsB;IAEtB,IAAM,kBAAkB,GAAG,kBAAkB;QACzC,CAAC,CAAC,2BAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE;QAC1D,CAAC,CAAC,kBAAkB,CAAC;IAEzB,IAAI,iBAAiB,KAAK,4BAAoB,EAAE;QAC5C,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,kBAAkB,KAAK,iBAAiB,EAAE;QAC1C,IAAM,YAAY,GACd,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAI,YAAY,CAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAEtF,IAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,WAAI,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,OAAO;YACH,WAAW,EAAE,kBAAkB;gBAC3B,CAAC,CAAC,WAAI,kBAAkB,SAAG,YAAY,SAAG,QAAQ,CAAE;gBACpD,CAAC,CAAC,UAAG,YAAY,SAAG,QAAQ,CAAE;YAClC,SAAS,EAAE,KAAK;SACnB,CAAC;KACL;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AA7BD,oEA6BC;AAED,SAAgB,kBAAkB,CAAC,MAAoB;IACnD,IAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAE3D,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAClD,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AARD,gDAQC"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/intl/locale.ts"],"names":[],"mappings":";;;AAEA,2CAAwC;AAExC,+CAA8C;AAEjC,QAAA,cAAc,GAAG,IAAI,CAAC;AACnC,oIAAoI;AACvH,QAAA,oBAAoB,GAAG,UAAU,CAAC;AAE/C;;;GAGG;AACH,IAAM,iBAAiB,GAAG;IACtB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;CACV,CAAC;AAEF;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAoB;IAC1D,IAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAE5C,IAAM,iBAAiB,GACnB,aAAa,CAAC,MAAM,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,iBAAiB,EAAE;QACnB,OAAO,aAAa,CAAC;KACxB;IAED,IAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,mBAAmB,EAAE;QACrB,OAAO,QAAQ,CAAC;KACnB;IAED,OAAO,sBAAc,CAAC;AAC1B,CAAC;AAhBD,8DAgBC;AAED,SAAgB,4BAA4B,CACxC,kBAAkC,EAClC,iBAAqC,EACrC,YAAoB,EACpB,KAAsB;IAEtB,IAAM,kBAAkB,GAAG,kBAAkB;QACzC,CAAC,CAAC,2BAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE;QAC1D,CAAC,CAAC,kBAAkB,CAAC;IAEzB,IAAI,iBAAiB,KAAK,4BAAoB,EAAE;QAC5C,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,kBAAkB,KAAK,iBAAiB,EAAE;QAC1C,IAAM,YAAY,GACd,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAI,YAAY,CAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAEtF,IAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,WAAI,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAErD,OAAO;YACH,WAAW,EAAE,kBAAkB;gBAC3B,CAAC,CAAC,WAAI,kBAAkB,SAAG,YAAY,SAAG,QAAQ,CAAE;gBACpD,CAAC,CAAC,UAAG,YAAY,SAAG,QAAQ,CAAE;YAClC,SAAS,EAAE,KAAK;SACnB,CAAC;KACL;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AA7BD,oEA6BC;AAED,SAAgB,kBAAkB,CAAC,MAAoB;IACnD,IAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAE3D,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAClD,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AARD,gDAQC"}
@@ -24,7 +24,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
24
  }
25
25
  return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
- // This list is pulled from the main Prezly application. The underscores are replaced with dashes.
27
+ /**
28
+ * This list is pulled from the main Prezly application. The underscores are replaced with dashes.
29
+ * Together with permutation performed lower in the code,
30
+ * the exported list represents all of the possible locale codes that Next.js theme application might accept.
31
+ */
28
32
  var supportedLocales = [
29
33
  'af-ZA',
30
34
  'ar',
@@ -59,6 +63,7 @@ var supportedLocales = [
59
63
  'en-IE',
60
64
  'en-IL',
61
65
  'en-IN',
66
+ 'en-JM',
62
67
  'en-JP',
63
68
  'en-KH',
64
69
  'en-KR',
@@ -128,7 +133,7 @@ var supportedLocales = [
128
133
  'zh-CN',
129
134
  ];
130
135
  var lowercaseLocales = supportedLocales.map(function (l) { return l.toLowerCase(); });
131
- // Get all permutations for the shorter locale codes supported by Prezly (e.g. short region codes)
136
+ // Get all permutations for the shorter locale codes supported by Prezly (e.g. short region codes and neutral language codes)
132
137
  var lowercaseLocalPermutations = Array.from(new Set(__spreadArray(__spreadArray(__spreadArray([], __read(lowercaseLocales), false), __read(lowercaseLocales.map(function (code) { return code.split('-')[0]; })), false), __read(lowercaseLocales.map(function (code) { return code.split('-')[1]; }).filter(Boolean)), false))).sort();
133
138
  module.exports = lowercaseLocalPermutations;
134
139
  //# sourceMappingURL=localeConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"localeConfig.js","sourceRoot":"","sources":["../../src/intl/localeConfig.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAAkG;AAClG,IAAM,gBAAgB,GAAG;IACrB,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;CACV,CAAC;AAEF,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;AAEtE,kGAAkG;AAClG,IAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CACzC,IAAI,GAAG,sDACA,gBAAgB,kBAChB,gBAAgB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,kBAClD,gBAAgB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UACvE,CACL,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"localeConfig.js","sourceRoot":"","sources":["../../src/intl/localeConfig.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,IAAM,gBAAgB,GAAG;IACrB,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;CACV,CAAC;AAEF,IAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;AAEtE,6HAA6H;AAC7H,IAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CACzC,IAAI,GAAG,sDACA,gBAAgB,kBAChB,gBAAgB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,kBAClD,gBAAgB,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UACvE,CACL,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * This class is created to simplify working with locales and transforming between different locale code formats.
3
+ * Prezly API uses underscore-codes, while most frontend application tend to use hyphen-codes or slugs.
4
+ * Note that `fromAnyCode` constructor only accepts locales supported by Prezly backend. See `localeConfig` for reference.
5
+ */
1
6
  export declare class LocaleObject {
2
7
  /**
3
8
  * Hyphen-separated locale code.
@@ -13,10 +18,28 @@ export declare class LocaleObject {
13
18
  * - Slugs: `nl-be`, `en-us`, `fr`, `fil`
14
19
  */
15
20
  static fromAnyCode(localeCode: string): LocaleObject;
21
+ /**
22
+ * @returns Code formatted into hyphen format: `nl-BE`, `en-US`, `fr`, `fil`
23
+ */
16
24
  toHyphenCode(): string;
25
+ /**
26
+ * @returns Code formatted into underscore format, as expected by Prezly API: `nl_BE`, `en_US`, `fr`, `fil`
27
+ */
17
28
  toUnderscoreCode(): string;
29
+ /**
30
+ * @returns Code formatted to a URL-friendly lowercase slug format: `nl-be`, `en-us`, `fr`, `fil`
31
+ */
18
32
  toUrlSlug(): string;
33
+ /**
34
+ * @returns Only the language part of the code without culture/region part: `nl`, `en`, `fr`
35
+ */
19
36
  toNeutralLanguageCode(): string;
37
+ /**
38
+ * @returns Only the culture/regtion part without the language part: `be`, `us`, `fr`
39
+ */
20
40
  toRegionCode(): string;
41
+ /**
42
+ * Check if two LocaleObject instances are representing the same locale code.
43
+ */
21
44
  isEqual(anotherLocale: LocaleObject): boolean;
22
45
  }
@@ -21,6 +21,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.LocaleObject = void 0;
23
23
  var localeConfig_1 = __importDefault(require("./localeConfig"));
24
+ /**
25
+ * This class is created to simplify working with locales and transforming between different locale code formats.
26
+ * Prezly API uses underscore-codes, while most frontend application tend to use hyphen-codes or slugs.
27
+ * Note that `fromAnyCode` constructor only accepts locales supported by Prezly backend. See `localeConfig` for reference.
28
+ */
24
29
  var LocaleObject = /** @class */ (function () {
25
30
  function LocaleObject(localeCode) {
26
31
  if (localeCode.indexOf('_') !== -1) {
@@ -49,19 +54,34 @@ var LocaleObject = /** @class */ (function () {
49
54
  }
50
55
  return new LocaleObject(foundCode);
51
56
  };
57
+ /**
58
+ * @returns Code formatted into hyphen format: `nl-BE`, `en-US`, `fr`, `fil`
59
+ */
52
60
  LocaleObject.prototype.toHyphenCode = function () {
53
61
  return this.localeCode;
54
62
  };
63
+ /**
64
+ * @returns Code formatted into underscore format, as expected by Prezly API: `nl_BE`, `en_US`, `fr`, `fil`
65
+ */
55
66
  LocaleObject.prototype.toUnderscoreCode = function () {
56
67
  return this.localeCode.replace('-', '_');
57
68
  };
69
+ /**
70
+ * @returns Code formatted to a URL-friendly lowercase slug format: `nl-be`, `en-us`, `fr`, `fil`
71
+ */
58
72
  LocaleObject.prototype.toUrlSlug = function () {
59
73
  return this.localeCode.toLowerCase();
60
74
  };
75
+ /**
76
+ * @returns Only the language part of the code without culture/region part: `nl`, `en`, `fr`
77
+ */
61
78
  LocaleObject.prototype.toNeutralLanguageCode = function () {
62
79
  var _a = __read(this.localeCode.split('-'), 1), language = _a[0];
63
80
  return language;
64
81
  };
82
+ /**
83
+ * @returns Only the culture/regtion part without the language part: `be`, `us`, `fr`
84
+ */
65
85
  LocaleObject.prototype.toRegionCode = function () {
66
86
  var _a = __read(this.localeCode.split('-'), 2), language = _a[0], region = _a[1];
67
87
  if (!region) {
@@ -69,6 +89,9 @@ var LocaleObject = /** @class */ (function () {
69
89
  }
70
90
  return region.toUpperCase();
71
91
  };
92
+ /**
93
+ * Check if two LocaleObject instances are representing the same locale code.
94
+ */
72
95
  LocaleObject.prototype.isEqual = function (anotherLocale) {
73
96
  return anotherLocale.toHyphenCode() === this.localeCode;
74
97
  };
@@ -1 +1 @@
1
- {"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA0C;AAE1C;IAOI,sBAAoB,UAAkB;QAClC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAEK,IAAA,KAAA,OAAqB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAzC,QAAQ,QAAA,EAAE,MAAM,QAAyB,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChE;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC9B;IACL,CAAC;IAED;;;;;;OAMG;IACW,wBAAW,GAAzB,UAA0B,UAAkB;QACxC,IAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,IAAM,SAAS,GAAG,sBAAY,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,aAAa,EAAtB,CAAsB,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8CAAsC,aAAa,OAAG,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEM,mCAAY,GAAnB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,uCAAgB,GAAvB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEM,gCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAEM,4CAAqB,GAA5B;QACU,IAAA,KAAA,OAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAtC,QAAQ,QAA8B,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,mCAAY,GAAnB;QACU,IAAA,KAAA,OAAqB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAA9C,QAAQ,QAAA,EAAE,MAAM,QAA8B,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SACjC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAEM,8BAAO,GAAd,UAAe,aAA2B;QACtC,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5D,CAAC;IACL,mBAAC;AAAD,CAAC,AAtED,IAsEC;AAtEY,oCAAY"}
1
+ {"version":3,"file":"localeObject.js","sourceRoot":"","sources":["../../src/intl/localeObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,gEAA0C;AAE1C;;;;GAIG;AACH;IAOI,sBAAoB,UAAkB;QAClC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SACpD;QAEK,IAAA,KAAA,OAAqB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAzC,QAAQ,QAAA,EAAE,MAAM,QAAyB,CAAC;QAEjD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChE;aAAM;YACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC9B;IACL,CAAC;IAED;;;;;;OAMG;IACW,wBAAW,GAAzB,UAA0B,UAAkB;QACxC,IAAM,aAAa,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjE,IAAM,SAAS,GAAG,sBAAY,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,aAAa,EAAtB,CAAsB,CAAC,CAAC;QAEtE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,8CAAsC,aAAa,OAAG,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,mCAAY,GAAnB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,uCAAgB,GAAvB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,gCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,4CAAqB,GAA5B;QACU,IAAA,KAAA,OAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAAtC,QAAQ,QAA8B,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,mCAAY,GAAnB;QACU,IAAA,KAAA,OAAqB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAA,EAA9C,QAAQ,QAAA,EAAE,MAAM,QAA8B,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;SACjC;QAED,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,8BAAO,GAAd,UAAe,aAA2B;QACtC,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC;IAC5D,CAAC;IACL,mBAAC;AAAD,CAAC,AAxFD,IAwFC;AAxFY,oCAAY"}
@@ -1,21 +1,58 @@
1
1
  import type { Category, ExtendedStory, Newsroom, NewsroomCompanyInformation, NewsroomContact, NewsroomLanguageSettings, NewsroomThemePreset } from '@prezly/sdk';
2
- import { FunctionComponent } from 'react';
2
+ import type { PropsWithChildren } from 'react';
3
3
  import type { AlgoliaSettings } from '../data-fetching';
4
4
  import { LocaleObject } from '../intl';
5
5
  export interface NewsroomContextType {
6
+ /**
7
+ * Basic newsroom information: newsroom logos, settings, etc.
8
+ */
6
9
  newsroom: Newsroom;
10
+ /**
11
+ * Contact information of the newsroom in the default language, usually displayed in the "About" section
12
+ */
7
13
  companyInformation: NewsroomCompanyInformation;
14
+ /**
15
+ * List of all categories enabled on the newsroom
16
+ */
8
17
  categories: Category[];
18
+ /**
19
+ * Optional: Contacts set up to be displayed on the newsroom home page.
20
+ * Will only be loaded if `loadHomepageContacts` option of `getNewsroomServerSideProps` is set to `true`.
21
+ */
9
22
  contacts?: NewsroomContact[];
23
+ /**
24
+ * Optional: Refers to a currently selected category when navigated to `/category/[slug]` page.
25
+ */
10
26
  currentCategory?: Category;
27
+ /**
28
+ * Optional: Refers to a currently selected story when navigated to `/[slug]` page.
29
+ */
11
30
  currentStory?: ExtendedStory;
31
+ /**
32
+ * List of currently enabled newsroom languages, as well as company information translated for each language
33
+ */
12
34
  languages: NewsroomLanguageSettings[];
35
+ /**
36
+ * Currently chosen locale
37
+ */
13
38
  locale: LocaleObject;
14
- themePreset: NewsroomThemePreset;
39
+ /**
40
+ * Theme settings as set in the Prezly app.
41
+ * You need to provide `PREZLY_THEME_UUID` in environment variables in order for the preset to be loaded.
42
+ * Only applicable to themes hosted on the Prezly infrastructure.
43
+ */
44
+ themePreset: NewsroomThemePreset | null;
45
+ /**
46
+ * Environment variables required for Algolia search to work.
47
+ */
15
48
  algoliaSettings: AlgoliaSettings;
16
49
  }
17
50
  export interface NewsroomContextProps extends Omit<NewsroomContextType, 'locale'> {
18
51
  localeCode: string;
19
52
  }
20
53
  export declare const NewsroomContext: import("react").Context<NewsroomContextType | undefined>;
21
- export declare const NewsroomContextProvider: FunctionComponent<NewsroomContextProps>;
54
+ /**
55
+ * This context provides common Newsroom information retrieved by `getNewsroomServerSideProps` helper.
56
+ * Please refer to the `NewsroomContextType` definition for more info on what's exposed from the context.
57
+ */
58
+ export declare function NewsroomContextProvider({ categories, contacts, newsroom, currentCategory, currentStory, companyInformation, languages, localeCode, themePreset, algoliaSettings, children, }: PropsWithChildren<NewsroomContextProps>): JSX.Element;
@@ -16,7 +16,11 @@ var jsx_runtime_1 = require("react/jsx-runtime");
16
16
  var react_1 = require("react");
17
17
  var intl_1 = require("../intl");
18
18
  exports.NewsroomContext = (0, react_1.createContext)(undefined);
19
- var NewsroomContextProvider = function (_a) {
19
+ /**
20
+ * This context provides common Newsroom information retrieved by `getNewsroomServerSideProps` helper.
21
+ * Please refer to the `NewsroomContextType` definition for more info on what's exposed from the context.
22
+ */
23
+ function NewsroomContextProvider(_a) {
20
24
  var categories = _a.categories, contacts = _a.contacts, newsroom = _a.newsroom, currentCategory = _a.currentCategory, currentStory = _a.currentStory, companyInformation = _a.companyInformation, languages = _a.languages, localeCode = _a.localeCode, themePreset = _a.themePreset, algoliaSettings = _a.algoliaSettings, children = _a.children;
21
25
  var locale = (0, react_1.useMemo)(function () { return intl_1.LocaleObject.fromAnyCode(localeCode || intl_1.DEFAULT_LOCALE); }, [localeCode]);
22
26
  return ((0, jsx_runtime_1.jsx)(exports.NewsroomContext.Provider, __assign({ value: {
@@ -31,6 +35,6 @@ var NewsroomContextProvider = function (_a) {
31
35
  themePreset: themePreset,
32
36
  algoliaSettings: algoliaSettings,
33
37
  } }, { children: children }), void 0));
34
- };
38
+ }
35
39
  exports.NewsroomContextProvider = NewsroomContextProvider;
36
40
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/newsroom-context/context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AASA,+BAAkE;AAGlE,gCAAuD;AAmB1C,QAAA,eAAe,GAAG,IAAA,qBAAa,EAAkC,SAAS,CAAC,CAAC;AAElF,IAAM,uBAAuB,GAA4C,UAAC,EAYhF;QAXG,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,kBAAkB,wBAAA,EAClB,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,eAAe,qBAAA,EACf,QAAQ,cAAA;IAER,IAAM,MAAM,GAAG,IAAA,eAAO,EAClB,cAAM,OAAA,mBAAY,CAAC,WAAW,CAAC,UAAU,IAAI,qBAAc,CAAC,EAAtD,CAAsD,EAC5D,CAAC,UAAU,CAAC,CACf,CAAC;IAEF,OAAO,CACH,uBAAC,uBAAe,CAAC,QAAQ,aACrB,KAAK,EAAE;YACH,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,QAAQ,UAAA;YACR,eAAe,iBAAA;YACf,YAAY,cAAA;YACZ,kBAAkB,oBAAA;YAClB,SAAS,WAAA;YACT,MAAM,QAAA;YACN,WAAW,aAAA;YACX,eAAe,iBAAA;SAClB,gBAEA,QAAQ,YACc,CAC9B,CAAC;AACN,CAAC,CAAC;AApCW,QAAA,uBAAuB,2BAoClC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/newsroom-context/context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAUA,+BAA+C;AAG/C,gCAAuD;AAoD1C,QAAA,eAAe,GAAG,IAAA,qBAAa,EAAkC,SAAS,CAAC,CAAC;AAEzF;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,EAYE;QAXtC,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,kBAAkB,wBAAA,EAClB,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,eAAe,qBAAA,EACf,QAAQ,cAAA;IAER,IAAM,MAAM,GAAG,IAAA,eAAO,EAClB,cAAM,OAAA,mBAAY,CAAC,WAAW,CAAC,UAAU,IAAI,qBAAc,CAAC,EAAtD,CAAsD,EAC5D,CAAC,UAAU,CAAC,CACf,CAAC;IAEF,OAAO,CACH,uBAAC,uBAAe,CAAC,QAAQ,aACrB,KAAK,EAAE;YACH,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,QAAQ,UAAA;YACR,eAAe,iBAAA;YACf,YAAY,cAAA;YACZ,kBAAkB,oBAAA;YAClB,SAAS,WAAA;YACT,MAAM,QAAA;YACN,WAAW,aAAA;YACX,eAAe,iBAAA;SAClB,gBAEA,QAAQ,YACc,CAC9B,CAAC;AACN,CAAC;AApCD,0DAoCC"}
@@ -1 +1 @@
1
- export declare const useAlgoliaSettings: () => import("../..").AlgoliaSettings;
1
+ export declare function useAlgoliaSettings(): import("../..").AlgoliaSettings;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useAlgoliaSettings = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useAlgoliaSettings = function () {
5
+ function useAlgoliaSettings() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.algoliaSettings;
8
- };
8
+ }
9
9
  exports.useAlgoliaSettings = useAlgoliaSettings;
10
10
  //# sourceMappingURL=useAlgoliaSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAlgoliaSettings.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useAlgoliaSettings.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,kBAAkB,GAAG;IAC9B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,eAAe,CAAC;AACnC,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B"}
1
+ {"version":3,"file":"useAlgoliaSettings.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useAlgoliaSettings.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,kBAAkB;IAC9B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,eAAe,CAAC;AACnC,CAAC;AAJD,gDAIC"}
@@ -1 +1 @@
1
- export declare const useCategories: () => import("@prezly/sdk").Category[];
1
+ export declare function useCategories(): import("@prezly/sdk").Category[];
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCategories = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useCategories = function () {
5
+ function useCategories() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.categories;
8
- };
8
+ }
9
9
  exports.useCategories = useCategories;
10
10
  //# sourceMappingURL=useCategories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCategories.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCategories.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,aAAa,GAAG;IACzB,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,UAAU,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
1
+ {"version":3,"file":"useCategories.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCategories.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,aAAa;IACzB,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,UAAU,CAAC;AAC9B,CAAC;AAJD,sCAIC"}
@@ -1 +1 @@
1
- export declare const useCompanyInformation: () => import("@prezly/sdk").NewsroomCompanyInformation;
1
+ export declare function useCompanyInformation(): import("@prezly/sdk").NewsroomCompanyInformation;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCompanyInformation = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useCompanyInformation = function () {
5
+ function useCompanyInformation() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.companyInformation;
8
- };
8
+ }
9
9
  exports.useCompanyInformation = useCompanyInformation;
10
10
  //# sourceMappingURL=useCompanyInformation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCompanyInformation.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCompanyInformation.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,qBAAqB,GAAG;IACjC,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,kBAAkB,CAAC;AACtC,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC"}
1
+ {"version":3,"file":"useCompanyInformation.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCompanyInformation.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,qBAAqB;IACjC,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,kBAAkB,CAAC;AACtC,CAAC;AAJD,sDAIC"}
@@ -1 +1 @@
1
- export declare const useCurrentCategory: () => import("@prezly/sdk").Category | undefined;
1
+ export declare function useCurrentCategory(): import("@prezly/sdk").Category | undefined;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCurrentCategory = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useCurrentCategory = function () {
5
+ function useCurrentCategory() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.currentCategory;
8
- };
8
+ }
9
9
  exports.useCurrentCategory = useCurrentCategory;
10
10
  //# sourceMappingURL=useCurrentCategory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentCategory.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentCategory.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,kBAAkB,GAAG;IAC9B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,eAAe,CAAC;AACnC,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B"}
1
+ {"version":3,"file":"useCurrentCategory.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentCategory.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,kBAAkB;IAC9B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,eAAe,CAAC;AACnC,CAAC;AAJD,gDAIC"}
@@ -1 +1 @@
1
- export declare const useCurrentLocale: () => import("../..").LocaleObject;
1
+ export declare function useCurrentLocale(): import("../..").LocaleObject;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCurrentLocale = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useCurrentLocale = function () {
5
+ function useCurrentLocale() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.locale;
8
- };
8
+ }
9
9
  exports.useCurrentLocale = useCurrentLocale;
10
10
  //# sourceMappingURL=useCurrentLocale.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentLocale.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentLocale.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,gBAAgB,GAAG;IAC5B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
1
+ {"version":3,"file":"useCurrentLocale.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentLocale.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,gBAAgB;IAC5B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC;AAJD,4CAIC"}
@@ -1 +1 @@
1
- export declare const useCurrentStory: () => import("@prezly/sdk").ExtendedStory | undefined;
1
+ export declare function useCurrentStory(): import("@prezly/sdk").ExtendedStory | undefined;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useCurrentStory = void 0;
4
4
  var useNewsroomContext_1 = require("./useNewsroomContext");
5
- var useCurrentStory = function () {
5
+ function useCurrentStory() {
6
6
  var context = (0, useNewsroomContext_1.useNewsroomContext)();
7
7
  return context.currentStory;
8
- };
8
+ }
9
9
  exports.useCurrentStory = useCurrentStory;
10
10
  //# sourceMappingURL=useCurrentStory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurrentStory.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentStory.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAEnD,IAAM,eAAe,GAAG;IAC3B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,YAAY,CAAC;AAChC,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B"}
1
+ {"version":3,"file":"useCurrentStory.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useCurrentStory.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAE1D,SAAgB,eAAe;IAC3B,IAAM,OAAO,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAErC,OAAO,OAAO,CAAC,YAAY,CAAC;AAChC,CAAC;AAJD,0CAIC"}
@@ -6,7 +6,12 @@ var data_fetching_1 = require("../../data-fetching");
6
6
  var intl_1 = require("../../intl");
7
7
  var useCurrentLocale_1 = require("./useCurrentLocale");
8
8
  var useLanguages_1 = require("./useLanguages");
9
- // Determine correct locale slug for the link (trying to shorten the locale code if possible)
9
+ /**
10
+ * Determines correct locale slug for the link (trying to shorten the locale code if possible).
11
+ * E.g. if newsroom has a single locale for Dutch (`nl_BE`), it will be shortened to `nl`.
12
+ * If there are more than one locale with the same language part, a full locale code will be used instead.
13
+ * `false` means that a default locale should be used (no locale in URL required).
14
+ */
10
15
  function getLinkLocaleSlug(languages, locale) {
11
16
  var shortestLocaleCode = (0, data_fetching_1.getShortestLocaleCode)(languages, locale);
12
17
  // When navigating to default language, we don't append the locale to the URL.
@@ -1 +1 @@
1
- {"version":3,"file":"useGetLinkLocaleSlug.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useGetLinkLocaleSlug.ts"],"names":[],"mappings":";;;AACA,+BAAoC;AAEpC,qDAA4D;AAC5D,mCAA0C;AAE1C,uDAAsD;AACtD,+CAA8C;AAE9C,6FAA6F;AAC7F,SAAS,iBAAiB,CACtB,SAAqC,EACrC,MAAoB;IAEpB,IAAM,kBAAkB,GAAG,IAAA,qCAAqB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,8EAA8E;IAC9E,IAAI,CAAC,kBAAkB,EAAE;QACrB,OAAO,kBAAkB,CAAC;KAC7B;IAED,OAAO,mBAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,SAAgB,oBAAoB;IAChC,IAAM,aAAa,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACzC,IAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,8DAA8D;IAC9D,OAAO,IAAA,mBAAW,EACd,UAAC,MAAqB,IAAK,OAAA,iBAAiB,CAAC,SAAS,EAAE,MAAM,IAAI,aAAa,CAAC,EAArD,CAAqD,EAChF,CAAC,SAAS,EAAE,aAAa,CAAC,CAC7B,CAAC;AACN,CAAC;AATD,oDASC"}
1
+ {"version":3,"file":"useGetLinkLocaleSlug.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useGetLinkLocaleSlug.ts"],"names":[],"mappings":";;;AACA,+BAAoC;AAEpC,qDAA4D;AAC5D,mCAA0C;AAE1C,uDAAsD;AACtD,+CAA8C;AAE9C;;;;;GAKG;AACH,SAAS,iBAAiB,CACtB,SAAqC,EACrC,MAAoB;IAEpB,IAAM,kBAAkB,GAAG,IAAA,qCAAqB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,8EAA8E;IAC9E,IAAI,CAAC,kBAAkB,EAAE;QACrB,OAAO,kBAAkB,CAAC;KAC7B;IAED,OAAO,mBAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,SAAgB,oBAAoB;IAChC,IAAM,aAAa,GAAG,IAAA,mCAAgB,GAAE,CAAC;IACzC,IAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,8DAA8D;IAC9D,OAAO,IAAA,mBAAW,EACd,UAAC,MAAqB,IAAK,OAAA,iBAAiB,CAAC,SAAS,EAAE,MAAM,IAAI,aAAa,CAAC,EAArD,CAAqD,EAChF,CAAC,SAAS,EAAE,aAAa,CAAC,CAC7B,CAAC;AACN,CAAC;AATD,oDASC"}
@@ -1,2 +1,6 @@
1
- import { LocaleObject } from '../../intl';
1
+ import type { LocaleObject } from '../../intl';
2
+ /**
3
+ * This hook returns a function that is meant to be used in language pickers and alternate locales list for the pages.
4
+ * `noFallback` parameter is useful for alternate language links in the `head` section of the document (so that there are no unwanted links to the homepage).
5
+ */
2
6
  export declare function useGetTranslationUrl(): (locale: LocaleObject, noFallback?: boolean | undefined) => string;
@@ -6,7 +6,12 @@ var react_1 = require("react");
6
6
  var data_fetching_1 = require("../../data-fetching");
7
7
  var useCurrentCategory_1 = require("./useCurrentCategory");
8
8
  var useCurrentStory_1 = require("./useCurrentStory");
9
- // Determine correct URL for translated stories/categories with a fallback to homepage
9
+ /**
10
+ * Determine correct URL for translated stories/categories with a fallback to homepage.
11
+ * E.g. if a story has a translation, the function will return the localized slug URL.
12
+ * If there is no translation for the story, it will return the index page URL (`/`),
13
+ * or empty string, if `noFallback` is set to `true` (this is useful for alternate locale links).
14
+ */
10
15
  function getTranslationUrl(locale, path, currentCategory, currentStory, noFallback) {
11
16
  if (currentCategory) {
12
17
  if ((0, data_fetching_1.getCategoryHasTranslation)(currentCategory, locale)) {
@@ -33,6 +38,10 @@ function getTranslationUrl(locale, path, currentCategory, currentStory, noFallba
33
38
  }
34
39
  return path;
35
40
  }
41
+ /**
42
+ * This hook returns a function that is meant to be used in language pickers and alternate locales list for the pages.
43
+ * `noFallback` parameter is useful for alternate language links in the `head` section of the document (so that there are no unwanted links to the homepage).
44
+ */
36
45
  function useGetTranslationUrl() {
37
46
  var asPath = (0, router_1.useRouter)().asPath;
38
47
  var currentCategory = (0, useCurrentCategory_1.useCurrentCategory)();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTranslationUrl.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useGetTranslationUrl.ts"],"names":[],"mappings":";;;AACA,sCAAwC;AACxC,+BAAoC;AAEpC,qDAAgF;AAGhF,2DAA0D;AAC1D,qDAAoD;AAEpD,sFAAsF;AACtF,SAAS,iBAAiB,CACtB,MAAoB,EACpB,IAAY,EACZ,eAA0B,EAC1B,YAA4B,EAC5B,UAAoB;IAEpB,IAAI,eAAe,EAAE;QACjB,IAAI,IAAA,yCAAyB,EAAC,eAAe,EAAE,MAAM,CAAC,EAAE;YACpD,OAAO,IAAA,8BAAc,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC;SAClD;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,OAAO,GAAG,CAAC;KACd;IAED,IAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAE7C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;QAC5D,IAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAClD,UAAC,EAAW;gBAAT,OAAO,aAAA;YAAO,OAAA,OAAO,CAAC,MAAM,KAAK,UAAU;QAA7B,CAA6B,CACjD,CAAC;QACF,IAAI,eAAe,EAAE;YACjB,OAAO,WAAI,eAAe,CAAC,IAAI,CAAE,CAAC;SACrC;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,OAAO,GAAG,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB;IACxB,IAAA,MAAM,GAAK,IAAA,kBAAS,GAAE,OAAhB,CAAiB;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAC7C,IAAM,YAAY,GAAG,IAAA,iCAAe,GAAE,CAAC;IAEvC,OAAO,IAAA,mBAAW,EACd,UAAC,MAAoB,EAAE,UAAoB;QACvC,OAAA,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;IAA5E,CAA4E,EAChF,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAC1C,CAAC;AACN,CAAC;AAVD,oDAUC"}
1
+ {"version":3,"file":"useGetTranslationUrl.js","sourceRoot":"","sources":["../../../src/newsroom-context/hooks/useGetTranslationUrl.ts"],"names":[],"mappings":";;;AACA,sCAAwC;AACxC,+BAAoC;AAEpC,qDAAgF;AAGhF,2DAA0D;AAC1D,qDAAoD;AAEpD;;;;;GAKG;AACH,SAAS,iBAAiB,CACtB,MAAoB,EACpB,IAAY,EACZ,eAA0B,EAC1B,YAA4B,EAC5B,UAAoB;IAEpB,IAAI,eAAe,EAAE;QACjB,IAAI,IAAA,yCAAyB,EAAC,eAAe,EAAE,MAAM,CAAC,EAAE;YACpD,OAAO,IAAA,8BAAc,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC;SAClD;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,OAAO,GAAG,CAAC;KACd;IAED,IAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAE7C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;QAC5D,IAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAClD,UAAC,EAAW;gBAAT,OAAO,aAAA;YAAO,OAAA,OAAO,CAAC,MAAM,KAAK,UAAU;QAA7B,CAA6B,CACjD,CAAC;QACF,IAAI,eAAe,EAAE;YACjB,OAAO,WAAI,eAAe,CAAC,IAAI,CAAE,CAAC;SACrC;QAED,IAAI,UAAU,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,OAAO,GAAG,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB;IACxB,IAAA,MAAM,GAAK,IAAA,kBAAS,GAAE,OAAhB,CAAiB;IAC/B,IAAM,eAAe,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAC7C,IAAM,YAAY,GAAG,IAAA,iCAAe,GAAE,CAAC;IAEvC,OAAO,IAAA,mBAAW,EACd,UAAC,MAAoB,EAAE,UAAoB;QACvC,OAAA,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;IAA5E,CAA4E,EAChF,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAC1C,CAAC;AACN,CAAC;AAVD,oDAUC"}
@@ -1 +1 @@
1
- export declare const useLanguages: () => import("@prezly/sdk").NewsroomLanguageSettings[];
1
+ export declare function useLanguages(): import("@prezly/sdk").NewsroomLanguageSettings[];