@preply/ds-web-core 0.26.0 → 0.29.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.
@@ -1,4 +1,4 @@
1
1
  import type { Dataset } from '@preply/ds-core';
2
2
  import type { AnchorProps } from '../../types';
3
3
  export declare const getDatasetProps: (dataset?: Dataset | undefined) => Dataset;
4
- export declare const getExternalUrlProps: (url: string, opensInNewTab?: boolean | undefined) => AnchorProps;
4
+ export declare const getExternalUrlProps: (hostname: string | undefined, url: string, opensInNewTab?: boolean | undefined) => AnchorProps;
@@ -1,4 +1,5 @@
1
- import { isExternalUrl } from '../../url/index.js';
1
+ import { currentHostname } from '../../location/index.js';
2
+ import { domainOf } from '../../url/index.js';
2
3
  import { PROPS_EXTERNAL_REL, PROPS_EXTERNAL_TARGET } from './constants.js';
3
4
 
4
5
  const getDatasetProps = (dataset) => {
@@ -10,8 +11,10 @@ const getDatasetProps = (dataset) => {
10
11
  return acc;
11
12
  }, {});
12
13
  };
13
- const getExternalUrlProps = (url, opensInNewTab) => {
14
- const isExternal = isExternalUrl(url);
14
+ const getExternalUrlProps = (hostname, url, opensInNewTab) => {
15
+ const local = hostname || currentHostname();
16
+ const isAbsolute = /^[a-z]+:/.test(url) || url.startsWith('//');
17
+ const isExternal = isAbsolute && domainOf(url) !== local;
15
18
  const propsRel = isExternal ? PROPS_EXTERNAL_REL : {};
16
19
  const useExternalTarget = opensInNewTab === undefined ? isExternal : opensInNewTab;
17
20
  const propsTarget = useExternalTarget ? PROPS_EXTERNAL_TARGET : {};
@@ -19,4 +22,4 @@ const getExternalUrlProps = (url, opensInNewTab) => {
19
22
  };
20
23
 
21
24
  export { getDatasetProps, getExternalUrlProps };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcHJvcHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhc2V0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBBbmNob3JQcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRXh0ZXJuYWxVcmwgfSBmcm9tICcuLi8uLi91cmwnO1xuXG5pbXBvcnQgeyBQUk9QU19FWFRFUk5BTF9SRUwsIFBST1BTX0VYVEVSTkFMX1RBUkdFVCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGdldERhdGFzZXRQcm9wcyA9IChkYXRhc2V0PzogRGF0YXNldCk6IERhdGFzZXQgPT4ge1xuICAgIGlmICghZGF0YXNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhc2V0KS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGFjY1tgZGF0YS0ke2tleX1gXSA9IGRhdGFzZXRba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBEYXRhc2V0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFeHRlcm5hbFVybFByb3BzID0gKHVybDogc3RyaW5nLCBvcGVuc0luTmV3VGFiPzogYm9vbGVhbik6IEFuY2hvclByb3BzID0+IHtcbiAgICBjb25zdCBpc0V4dGVybmFsID0gaXNFeHRlcm5hbFVybCh1cmwpO1xuICAgIGNvbnN0IHByb3BzUmVsID0gaXNFeHRlcm5hbCA/IFBST1BTX0VYVEVSTkFMX1JFTCA6IHt9O1xuXG4gICAgY29uc3QgdXNlRXh0ZXJuYWxUYXJnZXQgPSBvcGVuc0luTmV3VGFiID09PSB1bmRlZmluZWQgPyBpc0V4dGVybmFsIDogb3BlbnNJbk5ld1RhYjtcbiAgICBjb25zdCBwcm9wc1RhcmdldCA9IHVzZUV4dGVybmFsVGFyZ2V0ID8gUFJPUFNfRVhURVJOQUxfVEFSR0VUIDoge307XG5cbiAgICByZXR1cm4geyAuLi5wcm9wc1JlbCwgLi4ucHJvcHNUYXJnZXQgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BT2EsZUFBZSxHQUFHLENBQUMsT0FBaUI7SUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDeEMsR0FBRyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxHQUFHLENBQUM7S0FDZCxFQUFFLEVBQWEsQ0FBQyxDQUFDO0FBQ3RCLEVBQUU7TUFFVyxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxhQUF1QjtJQUNwRSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxHQUFHLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUV0RCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsS0FBSyxTQUFTLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNuRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsR0FBRyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFFbkUsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDM0M7Ozs7In0=
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcHJvcHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhc2V0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHsgY3VycmVudEhvc3RuYW1lIH0gZnJvbSAnLi4vLi4vbG9jYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBBbmNob3JQcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGRvbWFpbk9mIH0gZnJvbSAnLi4vLi4vdXJsJztcblxuaW1wb3J0IHsgUFJPUFNfRVhURVJOQUxfUkVMLCBQUk9QU19FWFRFUk5BTF9UQVJHRVQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhc2V0UHJvcHMgPSAoZGF0YXNldD86IERhdGFzZXQpOiBEYXRhc2V0ID0+IHtcbiAgICBpZiAoIWRhdGFzZXQpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YXNldCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBhY2NbYGRhdGEtJHtrZXl9YF0gPSBkYXRhc2V0W2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgRGF0YXNldCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RXh0ZXJuYWxVcmxQcm9wcyA9IChcbiAgICBob3N0bmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wZW5zSW5OZXdUYWI/OiBib29sZWFuLFxuKTogQW5jaG9yUHJvcHMgPT4ge1xuICAgIGNvbnN0IGxvY2FsID0gaG9zdG5hbWUgfHwgY3VycmVudEhvc3RuYW1lKCk7XG4gICAgY29uc3QgaXNBYnNvbHV0ZSA9IC9eW2Etel0rOi8udGVzdCh1cmwpIHx8IHVybC5zdGFydHNXaXRoKCcvLycpO1xuICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSBpc0Fic29sdXRlICYmIGRvbWFpbk9mKHVybCkgIT09IGxvY2FsO1xuXG4gICAgY29uc3QgcHJvcHNSZWwgPSBpc0V4dGVybmFsID8gUFJPUFNfRVhURVJOQUxfUkVMIDoge307XG5cbiAgICBjb25zdCB1c2VFeHRlcm5hbFRhcmdldCA9IG9wZW5zSW5OZXdUYWIgPT09IHVuZGVmaW5lZCA/IGlzRXh0ZXJuYWwgOiBvcGVuc0luTmV3VGFiO1xuICAgIGNvbnN0IHByb3BzVGFyZ2V0ID0gdXNlRXh0ZXJuYWxUYXJnZXQgPyBQUk9QU19FWFRFUk5BTF9UQVJHRVQgOiB7fTtcblxuICAgIHJldHVybiB7IC4uLnByb3BzUmVsLCAuLi5wcm9wc1RhcmdldCB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O01BUWEsZUFBZSxHQUFHLENBQUMsT0FBaUI7SUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDeEMsR0FBRyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxHQUFHLENBQUM7S0FDZCxFQUFFLEVBQWEsQ0FBQyxDQUFDO0FBQ3RCLEVBQUU7TUFFVyxtQkFBbUIsR0FBRyxDQUMvQixRQUE0QixFQUM1QixHQUFXLEVBQ1gsYUFBdUI7SUFFdkIsTUFBTSxLQUFLLEdBQUcsUUFBUSxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQzVDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxNQUFNLFVBQVUsR0FBRyxVQUFVLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUV6RCxNQUFNLFFBQVEsR0FBRyxVQUFVLEdBQUcsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRXRELE1BQU0saUJBQWlCLEdBQUcsYUFBYSxLQUFLLFNBQVMsR0FBRyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ25GLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixHQUFHLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztJQUVuRSxPQUFPLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztBQUMzQzs7OzsifQ==
@@ -1,4 +1,4 @@
1
- /* AUTO GENERATED @Mon May 02 2022 09:35:50 GMT+0000 (Coordinated Universal Time) */
1
+ /* AUTO GENERATED @Mon May 23 2022 09:33:51 GMT+0000 (Coordinated Universal Time) */
2
2
 
3
3
  @breakpoints: {
4
4
  narrow-l: 400px;
@@ -1,4 +1,4 @@
1
- /* AUTO GENERATED @Mon May 02 2022 09:35:50 GMT+0000 (Coordinated Universal Time) */
1
+ /* AUTO GENERATED @Mon May 23 2022 09:33:51 GMT+0000 (Coordinated Universal Time) */
2
2
 
3
3
  @AVATAR_SIZE_OPTIONS: 2xs, xs, s, m, l, xl;
4
4
  @BUTTON_SIZE_OPTIONS: xs, s, m, l, xl;
@@ -15,6 +15,7 @@
15
15
  @LAYOUT_PADDING_OPTIONS: none, 3xs, 2xs, xs, s, m, l, xl;
16
16
  @LAYOUT_TAG_OPTIONS: div, main, header, footer, article, section, ul, ol, li, p, span;
17
17
  @PANEL_PADDING_OPTIONS: small, base, medium, large;
18
+ @PREPLY_LOGO_VARIANT_OPTIONS: default, monochrome, ua;
18
19
  @TEXT_ACCENT_OPTIONS: normal, muted, brand, positive;
19
20
  @TEXT_HIGHLIGHT_OPTIONS: blue, green;
20
21
  @TEXT_INLINE_TAG_OPTIONS: span, strong, em;
@@ -1,4 +1,4 @@
1
- /* AUTO GENERATED @Mon May 02 2022 09:35:50 GMT+0000 (Coordinated Universal Time) */
1
+ /* AUTO GENERATED @Mon May 23 2022 09:33:51 GMT+0000 (Coordinated Universal Time) */
2
2
 
3
3
  @scheme-color: var(--aface);
4
4
  @scheme-bgColor: var(--786b9);
@@ -64,6 +64,13 @@
64
64
  @root-text-size-1200: var(--f339d);
65
65
  @root-text-base-fontSize: var(--8d63e);
66
66
  @root-text-base-lineHeight: var(--d4313);
67
+ @background-primary: var(--7271a);
68
+ @background-secondary: var(--5836c);
69
+ @background-overlay: var(--410fb);
70
+ @content-primary: var(--8f6cf);
71
+ @content-secondary: var(--cfb13);
72
+ @content-branded: var(--d4c39);
73
+ @content-positive: var(--d2701);
67
74
  @action-base-borderRadius: var(--8d513);
68
75
  @action-base-disabled-color: var(--a8b89);
69
76
  @action-base-disabled-bgColor: var(--04dae);
package/dist/index.d.ts CHANGED
@@ -11,4 +11,3 @@ export * from './ssr';
11
11
  export * from './theme';
12
12
  export * from './token';
13
13
  export * from './types';
14
- export * from './url';
package/dist/index.js CHANGED
@@ -1,8 +1,7 @@
1
1
  export { VERSION } from './version.js';
2
2
  export { getDatasetProps, getExternalUrlProps } from './dom/props/index.js';
3
3
  export { mapEdgeKeyToStandard } from './keyboard/index.js';
4
- export { currentHref, currentProtocol } from './location/index.js';
5
- export { isExternalUrl } from './url/index.js';
4
+ export { currentHostname, currentHref } from './location/index.js';
6
5
  export { colorSchemes } from './color-scheme/colorSchemes.js';
7
6
  export { ColorScheme } from './color-scheme/classes/ColorScheme.js';
8
7
  export { ColorSchemeProvider } from './color-scheme/providers/ColorSchemeProvider.js';
@@ -19,10 +18,12 @@ export { useLayoutStyles } from './layout/hooks/useLayoutStyles.js';
19
18
  export { useLayoutGridStyles } from './layout/hooks/useLayoutGridStyles.js';
20
19
  export { minWidth } from './responsive/sc/mixins.js';
21
20
  export { ServerStyleSheet } from './ssr/classes/ServerStyleSheet.js';
22
- export { StyleExtractContext, StyleExtractProvider } from './ssr/contexts/StyleExtractContext.js';
21
+ export { HostnameContext } from './ssr/contexts/HostnameContext.js';
22
+ export { StyleExtractContext } from './ssr/contexts/StyleExtractContext.js';
23
+ export { withStyleExtract } from './ssr/hocs/withStyleExtract.js';
23
24
  export { useClassNameExtract } from './ssr/hooks/useClassNameExtract.js';
25
+ export { useHostname } from './ssr/hooks/useHostname.js';
24
26
  export { useStyleExtract } from './ssr/hooks/useStyleExtract.js';
25
- export { withStyleExtract } from './ssr/hocs/withStyleExtract.js';
26
27
  export { Theme } from './theme/classes/Theme.js';
27
28
  export { ThemesProvider } from './theme/providers/ThemesProvider.js';
28
29
  export { ThemeProvider } from './theme/providers/ThemeProvider.js';
@@ -33,4 +34,4 @@ export { withTheme } from './theme/hocs/withTheme.js';
33
34
  export { getTokenVar } from './token/util/getTokenVar.js';
34
35
  export { useToken } from './token/hooks/useToken.js';
35
36
  export { withGetToken } from './token/hocs/withGetToken.js';
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
@@ -1,34 +1,43 @@
1
1
  /* eslint-disable dot-notation */
2
2
  const matcher = pattern => window.location.href.startsWith(pattern);
3
3
  const patterns = ['http://localhost', 'https://stage', 'https://ds.preply.org'];
4
+ const RUNTIME = 'PREPLY_DS_RUNTIME';
5
+ const EVENTS = 'PREPLY_DS_RUNTIME_EVENTS';
6
+ const LOADER_ID = 'preply-ds-runtime-loader';
4
7
  const isActive = typeof window !== 'undefined' && patterns.find(matcher);
5
- let isLoading = false;
6
- let isReady = false;
7
- const events = [];
8
8
  const loadInstrumentation = async () => {
9
- if (!isActive || isLoading) {
9
+ if (!isActive) {
10
10
  return;
11
11
  }
12
- isLoading = true;
12
+ const loader = window.document.querySelector(`[data-id="${LOADER_ID}"]`);
13
+ if (loader) {
14
+ return;
15
+ }
16
+ window[EVENTS] = window[EVENTS] || [];
13
17
  const script = window.document.createElement('script');
14
18
  script.src = 'https://ds.preply.org/runtime/latest/index.js';
19
+ script.dataset.id = LOADER_ID;
15
20
  window.document.head.appendChild(script);
16
21
  script.addEventListener('load', async () => {
17
- await window['PREPLY_DS_RUNTIME'].load();
18
- isReady = true;
19
- events.forEach(event => {
20
- window['PREPLY_DS_RUNTIME'].instrument(event);
22
+ await window[RUNTIME].load();
23
+ window[EVENTS].forEach(event => {
24
+ window[RUNTIME].instrument(event);
21
25
  });
26
+ delete window[EVENTS];
22
27
  });
23
28
  };
24
29
  const instrument = event => {
25
- if (isReady) {
26
- window['PREPLY_DS_RUNTIME'].instrument(event);
30
+ if (!isActive) {
31
+ return;
32
+ }
33
+ if (window[RUNTIME]) {
34
+ window[RUNTIME].instrument(event);
27
35
  }
28
36
  else {
29
- events.push(event);
37
+ window[EVENTS] = window[EVENTS] || [];
38
+ window[EVENTS].push(event);
30
39
  }
31
40
  };
32
41
 
33
42
  export { instrument, loadInstrumentation };
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5zdHJ1bWVudC9wcml2YXRlL2xvYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBkb3Qtbm90YXRpb24gKi9cblxuaW1wb3J0IHsgSW5zdHJ1bWVudEV2ZW50LCBJbnN0cnVtZW50RnVuY3Rpb24gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuXG5jb25zdCBtYXRjaGVyID0gcGF0dGVybiA9PiB3aW5kb3cubG9jYXRpb24uaHJlZi5zdGFydHNXaXRoKHBhdHRlcm4pO1xuY29uc3QgcGF0dGVybnMgPSBbJ2h0dHA6Ly9sb2NhbGhvc3QnLCAnaHR0cHM6Ly9zdGFnZScsICdodHRwczovL2RzLnByZXBseS5vcmcnXTtcbmNvbnN0IGlzQWN0aXZlID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcGF0dGVybnMuZmluZChtYXRjaGVyKTtcbmxldCBpc0xvYWRpbmcgPSBmYWxzZTtcbmxldCBpc1JlYWR5ID0gZmFsc2U7XG5jb25zdCBldmVudHM6IEluc3RydW1lbnRFdmVudFtdID0gW107XG5cbmV4cG9ydCBjb25zdCBsb2FkSW5zdHJ1bWVudGF0aW9uID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICghaXNBY3RpdmUgfHwgaXNMb2FkaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBzY3JpcHQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2RzLnByZXBseS5vcmcvcnVudGltZS9sYXRlc3QvaW5kZXguanMnO1xuICAgIHdpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHdpbmRvd1snUFJFUExZX0RTX1JVTlRJTUUnXS5sb2FkKCk7XG4gICAgICAgIGlzUmVhZHkgPSB0cnVlO1xuICAgICAgICBldmVudHMuZm9yRWFjaChldmVudCA9PiB7XG4gICAgICAgICAgICB3aW5kb3dbJ1BSRVBMWV9EU19SVU5USU1FJ10uaW5zdHJ1bWVudChldmVudCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc3RydW1lbnQ6IEluc3RydW1lbnRGdW5jdGlvbiA9IGV2ZW50ID0+IHtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgICB3aW5kb3dbJ1BSRVBMWV9EU19SVU5USU1FJ10uaW5zdHJ1bWVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZXZlbnRzLnB1c2goZXZlbnQpO1xuICAgIH1cbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFJQSxNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BFLE1BQU0sUUFBUSxHQUFHLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFDaEYsTUFBTSxRQUFRLEdBQUcsT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekUsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNwQixNQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFDO01BRXhCLG1CQUFtQixHQUFHO0lBQy9CLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFO1FBQ3hCLE9BQU87S0FDVjtJQUNELFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsR0FBRywrQ0FBK0MsQ0FBQztJQUM3RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtRQUM1QixNQUFNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDaEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pELENBQUMsQ0FBQztLQUNOLENBQUMsQ0FBQztBQUNQLEVBQUU7TUFFVyxVQUFVLEdBQXVCLEtBQUs7SUFDL0MsSUFBSSxPQUFPLEVBQUU7UUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDakQ7U0FBTTtRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdEI7QUFDTDs7OzsifQ==
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5zdHJ1bWVudC9wcml2YXRlL2xvYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBkb3Qtbm90YXRpb24gKi9cblxuaW1wb3J0IHsgSW5zdHJ1bWVudEZ1bmN0aW9uIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlLXR5cGVzJztcblxuY29uc3QgbWF0Y2hlciA9IHBhdHRlcm4gPT4gd2luZG93LmxvY2F0aW9uLmhyZWYuc3RhcnRzV2l0aChwYXR0ZXJuKTtcbmNvbnN0IHBhdHRlcm5zID0gWydodHRwOi8vbG9jYWxob3N0JywgJ2h0dHBzOi8vc3RhZ2UnLCAnaHR0cHM6Ly9kcy5wcmVwbHkub3JnJ107XG5jb25zdCBSVU5USU1FID0gJ1BSRVBMWV9EU19SVU5USU1FJztcbmNvbnN0IEVWRU5UUyA9ICdQUkVQTFlfRFNfUlVOVElNRV9FVkVOVFMnO1xuY29uc3QgTE9BREVSX0lEID0gJ3ByZXBseS1kcy1ydW50aW1lLWxvYWRlcic7XG5jb25zdCBpc0FjdGl2ZSA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHBhdHRlcm5zLmZpbmQobWF0Y2hlcik7XG5cbmV4cG9ydCBjb25zdCBsb2FkSW5zdHJ1bWVudGF0aW9uID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGlmICghaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBsb2FkZXIgPSB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtaWQ9XCIke0xPQURFUl9JRH1cIl1gKTtcbiAgICBpZiAobG9hZGVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93W0VWRU5UU10gPSB3aW5kb3dbRVZFTlRTXSB8fCBbXTtcbiAgICBjb25zdCBzY3JpcHQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgc2NyaXB0LnNyYyA9ICdodHRwczovL2RzLnByZXBseS5vcmcvcnVudGltZS9sYXRlc3QvaW5kZXguanMnO1xuICAgIHNjcmlwdC5kYXRhc2V0LmlkID0gTE9BREVSX0lEO1xuICAgIHdpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHdpbmRvd1tSVU5USU1FXS5sb2FkKCk7XG4gICAgICAgIHdpbmRvd1tFVkVOVFNdLmZvckVhY2goZXZlbnQgPT4ge1xuICAgICAgICAgICAgd2luZG93W1JVTlRJTUVdLmluc3RydW1lbnQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgZGVsZXRlIHdpbmRvd1tFVkVOVFNdO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc3RydW1lbnQ6IEluc3RydW1lbnRGdW5jdGlvbiA9IGV2ZW50ID0+IHtcbiAgICBpZiAoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpbmRvd1tSVU5USU1FXSkge1xuICAgICAgICB3aW5kb3dbUlVOVElNRV0uaW5zdHJ1bWVudChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgd2luZG93W0VWRU5UU10gPSB3aW5kb3dbRVZFTlRTXSB8fCBbXTtcbiAgICAgICAgd2luZG93W0VWRU5UU10ucHVzaChldmVudCk7XG4gICAgfVxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDcEUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQUNoRixNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztBQUNwQyxNQUFNLE1BQU0sR0FBRywwQkFBMEIsQ0FBQztBQUMxQyxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQztBQUM3QyxNQUFNLFFBQVEsR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztNQUU1RCxtQkFBbUIsR0FBRztJQUMvQixJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ1gsT0FBTztLQUNWO0lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3pFLElBQUksTUFBTSxFQUFFO1FBQ1IsT0FBTztLQUNWO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsR0FBRywrQ0FBK0MsQ0FBQztJQUM3RCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDOUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7UUFDNUIsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDekIsQ0FBQyxDQUFDO0FBQ1AsRUFBRTtNQUVXLFVBQVUsR0FBdUIsS0FBSztJQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ1gsT0FBTztLQUNWO0lBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUM5QjtBQUNMOzs7OyJ9
@@ -1,2 +1,2 @@
1
- export declare const currentProtocol: () => string;
2
1
  export declare const currentHref: () => string;
2
+ export declare const currentHostname: () => string;
@@ -1,5 +1,5 @@
1
- const currentProtocol = () => typeof window !== 'undefined' ? window.location.protocol : 'http:';
2
- const currentHref = () => typeof window !== 'undefined' ? window.location.href : '';
1
+ const currentHref = () => typeof window !== 'undefined' ? window.location.href : '';
2
+ const currentHostname = () => typeof window !== 'undefined' ? window.location.hostname : '';
3
3
 
4
- export { currentHref, currentProtocol };
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhdGlvbi9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY3VycmVudFByb3RvY29sID0gKCk6IHN0cmluZyA9PlxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLnByb3RvY29sIDogJ2h0dHA6JztcblxuZXhwb3J0IGNvbnN0IGN1cnJlbnRIcmVmID0gKCk6IHN0cmluZyA9PlxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFBYSxlQUFlLEdBQUcsTUFDM0IsT0FBTyxNQUFNLEtBQUssV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVE7TUFFMUQsV0FBVyxHQUFHLE1BQ3ZCLE9BQU8sTUFBTSxLQUFLLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRzs7OzsifQ==
4
+ export { currentHostname, currentHref };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhdGlvbi9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY3VycmVudEhyZWYgPSAoKTogc3RyaW5nID0+XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6ICcnO1xuXG5leHBvcnQgY29uc3QgY3VycmVudEhvc3RuYW1lID0gKCk6IHN0cmluZyA9PlxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lIDogJyc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BQWEsV0FBVyxHQUFHLE1BQ3ZCLE9BQU8sTUFBTSxLQUFLLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHO01BRWpELGVBQWUsR0FBRyxNQUMzQixPQUFPLE1BQU0sS0FBSyxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUc7Ozs7In0=
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare type HostnameContextState = string | undefined;
3
+ export declare const HostnameContext: import("react").Context<HostnameContextState>;
4
+ export interface HostnameContextProps {
5
+ hostname: HostnameContextState;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+
3
+ const HostnameContext = createContext(undefined);
4
+
5
+ export { HostnameContext };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9zdG5hbWVDb250ZXh0LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3NyL2NvbnRleHRzL0hvc3RuYW1lQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IHR5cGUgSG9zdG5hbWVDb250ZXh0U3RhdGUgPSBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBIb3N0bmFtZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PEhvc3RuYW1lQ29udGV4dFN0YXRlPih1bmRlZmluZWQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RuYW1lQ29udGV4dFByb3BzIHtcbiAgICBob3N0bmFtZTogSG9zdG5hbWVDb250ZXh0U3RhdGU7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7TUFJYSxlQUFlLEdBQUcsYUFBYSxDQUF1QixTQUFTOzs7OyJ9
@@ -1,9 +1,7 @@
1
- import React, { FC } from 'react';
1
+ /// <reference types="react" />
2
2
  import { ServerStyleSheetInterface } from '../types';
3
3
  export declare type StyleExtractContextState = ServerStyleSheetInterface;
4
- export declare const StyleExtractContext: React.Context<ServerStyleSheetInterface>;
5
- interface StyleExtractProviderProps {
6
- stylesheet: ServerStyleSheetInterface;
4
+ export declare const StyleExtractContext: import("react").Context<ServerStyleSheetInterface>;
5
+ export interface StyleExtractContextProps {
6
+ stylesheet: StyleExtractContextState;
7
7
  }
8
- export declare const StyleExtractProvider: FC<StyleExtractProviderProps>;
9
- export {};
@@ -1,9 +1,6 @@
1
- import React, { createContext } from 'react';
1
+ import { createContext } from 'react';
2
2
 
3
- const StyleExtractContext = createContext({});
4
- const StyleExtractProvider = ({ children, stylesheet }) => {
5
- return (React.createElement(StyleExtractContext.Provider, { value: stylesheet }, children));
6
- };
3
+ const StyleExtractContext = createContext({});
7
4
 
8
- export { StyleExtractContext, StyleExtractProvider };
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVFeHRyYWN0Q29udGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nzci9jb250ZXh0cy9TdHlsZUV4dHJhY3RDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IFNlcnZlclN0eWxlU2hlZXRJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFN0eWxlRXh0cmFjdENvbnRleHRTdGF0ZSA9IFNlcnZlclN0eWxlU2hlZXRJbnRlcmZhY2U7XG5cbmV4cG9ydCBjb25zdCBTdHlsZUV4dHJhY3RDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxTdHlsZUV4dHJhY3RDb250ZXh0U3RhdGU+KFxuICAgIHt9IGFzIFNlcnZlclN0eWxlU2hlZXRJbnRlcmZhY2UsXG4pO1xuXG5pbnRlcmZhY2UgU3R5bGVFeHRyYWN0UHJvdmlkZXJQcm9wcyB7XG4gICAgc3R5bGVzaGVldDogU2VydmVyU3R5bGVTaGVldEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlRXh0cmFjdFByb3ZpZGVyOiBGQzxTdHlsZUV4dHJhY3RQcm92aWRlclByb3BzPiA9ICh7IGNoaWxkcmVuLCBzdHlsZXNoZWV0IH0pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVFeHRyYWN0Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17c3R5bGVzaGVldH0+e2NoaWxkcmVufTwvU3R5bGVFeHRyYWN0Q29udGV4dC5Qcm92aWRlcj5cbiAgICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztNQU1hLG1CQUFtQixHQUFHLGFBQWEsQ0FDNUMsRUFBK0IsRUFDakM7TUFNVyxvQkFBb0IsR0FBa0MsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7SUFDeEYsUUFDSSxvQkFBQyxtQkFBbUIsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLFVBQVUsSUFBRyxRQUFRLENBQWdDLEVBQzVGO0FBQ047Ozs7In0=
5
+ export { StyleExtractContext };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGVFeHRyYWN0Q29udGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nzci9jb250ZXh0cy9TdHlsZUV4dHJhY3RDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBTZXJ2ZXJTdHlsZVNoZWV0SW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBTdHlsZUV4dHJhY3RDb250ZXh0U3RhdGUgPSBTZXJ2ZXJTdHlsZVNoZWV0SW50ZXJmYWNlO1xuXG5leHBvcnQgY29uc3QgU3R5bGVFeHRyYWN0Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U3R5bGVFeHRyYWN0Q29udGV4dFN0YXRlPihcbiAgICB7fSBhcyBTZXJ2ZXJTdHlsZVNoZWV0SW50ZXJmYWNlLFxuKTtcbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVFeHRyYWN0Q29udGV4dFByb3BzIHtcbiAgICBzdHlsZXNoZWV0OiBTdHlsZUV4dHJhY3RDb250ZXh0U3RhdGU7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7TUFNYSxtQkFBbUIsR0FBRyxhQUFhLENBQzVDLEVBQStCOzs7OyJ9
@@ -0,0 +1,2 @@
1
+ import type { HostnameContextState } from '../contexts/HostnameContext';
2
+ export declare const useHostname: () => HostnameContextState;
@@ -0,0 +1,10 @@
1
+ import { useContext } from 'react';
2
+ import { HostnameContext } from '../contexts/HostnameContext.js';
3
+
4
+ const useHostname = () => {
5
+ const hostname = useContext(HostnameContext);
6
+ return hostname;
7
+ };
8
+
9
+ export { useHostname };
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSG9zdG5hbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3IvaG9va3MvdXNlSG9zdG5hbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBIb3N0bmFtZUNvbnRleHRTdGF0ZSB9IGZyb20gJy4uL2NvbnRleHRzL0hvc3RuYW1lQ29udGV4dCc7XG5pbXBvcnQgeyBIb3N0bmFtZUNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0cy9Ib3N0bmFtZUNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgdXNlSG9zdG5hbWUgPSAoKTogSG9zdG5hbWVDb250ZXh0U3RhdGUgPT4ge1xuICAgIGNvbnN0IGhvc3RuYW1lID0gdXNlQ29udGV4dChIb3N0bmFtZUNvbnRleHQpO1xuICAgIHJldHVybiBob3N0bmFtZTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BS2EsV0FBVyxHQUFHO0lBQ3ZCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxPQUFPLFFBQVEsQ0FBQztBQUNwQjs7OzsifQ==
@@ -1,6 +1,10 @@
1
1
  export type { ServerStyleSheetInterface } from './types';
2
2
  export { ServerStyleSheet } from './classes/ServerStyleSheet';
3
- export { StyleExtractContext, StyleExtractProvider } from './contexts/StyleExtractContext';
3
+ export type { HostnameContextProps } from './contexts/HostnameContext';
4
+ export { HostnameContext } from './contexts/HostnameContext';
5
+ export type { StyleExtractContextProps } from './contexts/StyleExtractContext';
6
+ export { StyleExtractContext } from './contexts/StyleExtractContext';
7
+ export { withStyleExtract } from './hocs/withStyleExtract';
4
8
  export { useClassNameExtract } from './hooks/useClassNameExtract';
9
+ export { useHostname } from './hooks/useHostname';
5
10
  export { useStyleExtract } from './hooks/useStyleExtract';
6
- export { withStyleExtract } from './hocs/withStyleExtract';
package/dist/ssr/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export { ServerStyleSheet } from './classes/ServerStyleSheet.js';
2
- export { StyleExtractContext, StyleExtractProvider } from './contexts/StyleExtractContext.js';
2
+ export { HostnameContext } from './contexts/HostnameContext.js';
3
+ export { StyleExtractContext } from './contexts/StyleExtractContext.js';
4
+ export { withStyleExtract } from './hocs/withStyleExtract.js';
3
5
  export { useClassNameExtract } from './hooks/useClassNameExtract.js';
6
+ export { useHostname } from './hooks/useHostname.js';
4
7
  export { useStyleExtract } from './hooks/useStyleExtract.js';
5
- export { withStyleExtract } from './hocs/withStyleExtract.js';
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OyJ9
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import { getToken } from '../private/getToken.js';
3
+ import { useInstrument } from '../../instrument/hooks/useInstrument.js';
3
4
  import { useTheme } from '../../theme/hooks/useTheme.js';
4
5
  import { useColorScheme } from '../../color-scheme/hooks/useColorScheme.js';
5
6
 
6
7
  function withGetToken(Component) {
7
8
  const Wrapper = ({ ...props }) => {
9
+ useInstrument('api', { api: 'withGetToken' });
8
10
  const { theme } = useTheme();
9
11
  const { colorScheme } = useColorScheme();
10
12
  const getToken$1 = (token) => getToken(theme, colorScheme, token);
@@ -15,4 +17,4 @@ function withGetToken(Component) {
15
17
  }
16
18
 
17
19
  export { withGetToken };
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aEdldFRva2VuLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9rZW4vaG9jcy93aXRoR2V0VG9rZW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVG9rZW4sIFRva2VuVmFsdWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFR5cGUsIEZDIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VDb2xvclNjaGVtZSB9IGZyb20gJy4uLy4uL2NvbG9yLXNjaGVtZSc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJy4uLy4uL3RoZW1lJztcbmltcG9ydCB7IGdldFRva2VuIGFzIGdldFRva2VuUHJpdmF0ZSB9IGZyb20gJy4uL3ByaXZhdGUvZ2V0VG9rZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRva2VuUHJvcHMge1xuICAgIGdldFRva2VuOiAodG9rZW46IFRva2VuKSA9PiBUb2tlblZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEdldFRva2VuPFA+KENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQPik6IEZDPE9taXQ8UCwgJ2dldFRva2VuJz4+IHtcbiAgICBjb25zdCBXcmFwcGVyOiBGQzxPbWl0PFAsICdnZXRUb2tlbic+PiA9ICh7IC4uLnByb3BzIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyB0aGVtZSB9ID0gdXNlVGhlbWUoKTtcbiAgICAgICAgY29uc3QgeyBjb2xvclNjaGVtZSB9ID0gdXNlQ29sb3JTY2hlbWUoKTtcblxuICAgICAgICBjb25zdCBnZXRUb2tlbiA9ICh0b2tlbjogVG9rZW4pID0+IGdldFRva2VuUHJpdmF0ZSh0aGVtZSwgY29sb3JTY2hlbWUsIHRva2VuKTtcblxuICAgICAgICByZXR1cm4gPENvbXBvbmVudCB7Li4uKHByb3BzIGFzIFApfSBnZXRUb2tlbj17Z2V0VG9rZW59IC8+O1xuICAgIH07XG5cbiAgICBXcmFwcGVyLmRpc3BsYXlOYW1lID0gYHdpdGhHZXRUb2tlbigke0NvbXBvbmVudC5kaXNwbGF5TmFtZX0pYDtcbiAgICByZXR1cm4gV3JhcHBlcjtcbn1cbiJdLCJuYW1lcyI6WyJnZXRUb2tlbiIsImdldFRva2VuUHJpdmF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7U0FXZ0IsWUFBWSxDQUFJLFNBQTJCO0lBQ3ZELE1BQU0sT0FBTyxHQUE0QixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUU7UUFDbEQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV6QyxNQUFNQSxVQUFRLEdBQUcsQ0FBQyxLQUFZLEtBQUtDLFFBQWUsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlFLE9BQU8sb0JBQUMsU0FBUyxvQkFBTSxLQUFXLElBQUUsUUFBUSxFQUFFRCxVQUFRLElBQUksQ0FBQztLQUM5RCxDQUFDO0lBRUYsT0FBTyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsU0FBUyxDQUFDLFdBQVcsR0FBRyxDQUFDO0lBQy9ELE9BQU8sT0FBTyxDQUFDO0FBQ25COzs7OyJ9
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aEdldFRva2VuLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9rZW4vaG9jcy93aXRoR2V0VG9rZW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVG9rZW4sIFRva2VuVmFsdWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFR5cGUsIEZDIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VDb2xvclNjaGVtZSB9IGZyb20gJy4uLy4uL2NvbG9yLXNjaGVtZSc7XG5pbXBvcnQgeyB1c2VJbnN0cnVtZW50IH0gZnJvbSAnLi4vLi4vaW5zdHJ1bWVudCc7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJy4uLy4uL3RoZW1lJztcbmltcG9ydCB7IGdldFRva2VuIGFzIGdldFRva2VuUHJpdmF0ZSB9IGZyb20gJy4uL3ByaXZhdGUvZ2V0VG9rZW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRva2VuUHJvcHMge1xuICAgIGdldFRva2VuOiAodG9rZW46IFRva2VuKSA9PiBUb2tlblZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEdldFRva2VuPFA+KENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxQPik6IEZDPE9taXQ8UCwgJ2dldFRva2VuJz4+IHtcbiAgICBjb25zdCBXcmFwcGVyOiBGQzxPbWl0PFAsICdnZXRUb2tlbic+PiA9ICh7IC4uLnByb3BzIH0pID0+IHtcbiAgICAgICAgdXNlSW5zdHJ1bWVudCgnYXBpJywgeyBhcGk6ICd3aXRoR2V0VG9rZW4nIH0pO1xuICAgICAgICBjb25zdCB7IHRoZW1lIH0gPSB1c2VUaGVtZSgpO1xuICAgICAgICBjb25zdCB7IGNvbG9yU2NoZW1lIH0gPSB1c2VDb2xvclNjaGVtZSgpO1xuXG4gICAgICAgIGNvbnN0IGdldFRva2VuID0gKHRva2VuOiBUb2tlbikgPT4gZ2V0VG9rZW5Qcml2YXRlKHRoZW1lLCBjb2xvclNjaGVtZSwgdG9rZW4pO1xuXG4gICAgICAgIHJldHVybiA8Q29tcG9uZW50IHsuLi4ocHJvcHMgYXMgUCl9IGdldFRva2VuPXtnZXRUb2tlbn0gLz47XG4gICAgfTtcblxuICAgIFdyYXBwZXIuZGlzcGxheU5hbWUgPSBgd2l0aEdldFRva2VuKCR7Q29tcG9uZW50LmRpc3BsYXlOYW1lfSlgO1xuICAgIHJldHVybiBXcmFwcGVyO1xufVxuIl0sIm5hbWVzIjpbImdldFRva2VuIiwiZ2V0VG9rZW5Qcml2YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7U0FZZ0IsWUFBWSxDQUFJLFNBQTJCO0lBQ3ZELE1BQU0sT0FBTyxHQUE0QixDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUU7UUFDbEQsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUM3QixNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFekMsTUFBTUEsVUFBUSxHQUFHLENBQUMsS0FBWSxLQUFLQyxRQUFlLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5RSxPQUFPLG9CQUFDLFNBQVMsb0JBQU0sS0FBVyxJQUFFLFFBQVEsRUFBRUQsVUFBUSxJQUFJLENBQUM7S0FDOUQsQ0FBQztJQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLFNBQVMsQ0FBQyxXQUFXLEdBQUcsQ0FBQztJQUMvRCxPQUFPLE9BQU8sQ0FBQztBQUNuQjs7OzsifQ==
@@ -1,5 +1,7 @@
1
1
  import { TOKEN_ID_FIELD } from '@preply/ds-core-types';
2
+ import { loadInstrumentation, instrument } from '../../instrument/private/loader.js';
2
3
 
4
+ loadInstrumentation();
3
5
  const ERROR_MESSAGE = 'Illegal "token" argument provided to getToken(). Are you using indexes? Example: "tokens.action.size[size]". Make sure it resolves to a token.';
4
6
  const getToken = (theme, colorScheme, token) => {
5
7
  if (!token) {
@@ -9,12 +11,13 @@ const getToken = (theme, colorScheme, token) => {
9
11
  throw new Error(`Value provided is not a token. ${ERROR_MESSAGE}`);
10
12
  }
11
13
  const value = theme.getToken(token, colorScheme);
14
+ const id = token[TOKEN_ID_FIELD];
12
15
  if (value === undefined) {
13
- const id = token[TOKEN_ID_FIELD];
14
16
  throw new Error(`Token ${id} not found`);
15
17
  }
18
+ instrument({ name: 'token', attributes: { token: id } });
16
19
  return value;
17
20
  };
18
21
 
19
22
  export { getToken };
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VG9rZW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi9wcml2YXRlL2dldFRva2VuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRPS0VOX0lEX0ZJRUxELCBUb2tlbiwgVG9rZW5WYWx1ZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZS10eXBlcyc7XG5cbmltcG9ydCB7IENvbG9yU2NoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vY29sb3Itc2NoZW1lJztcbmltcG9ydCB7IFRoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vdGhlbWUnO1xuXG5jb25zdCBFUlJPUl9NRVNTQUdFID1cbiAgICAnSWxsZWdhbCBcInRva2VuXCIgYXJndW1lbnQgcHJvdmlkZWQgdG8gZ2V0VG9rZW4oKS4gQXJlIHlvdSB1c2luZyBpbmRleGVzPyBFeGFtcGxlOiBcInRva2Vucy5hY3Rpb24uc2l6ZVtzaXplXVwiLiBNYWtlIHN1cmUgaXQgcmVzb2x2ZXMgdG8gYSB0b2tlbi4nO1xuXG5leHBvcnQgdHlwZSBHZXRUb2tlbiA9IDxUIGV4dGVuZHMgVG9rZW5WYWx1ZT4oXG4gICAgdGhlbWU6IFRoZW1lSW50ZXJmYWNlLFxuICAgIGNvbG9yU2NoZW1lOiBDb2xvclNjaGVtZUludGVyZmFjZSxcbiAgICB0b2tlbjogVG9rZW4sXG4pID0+IFQ7XG5cbmV4cG9ydCBjb25zdCBnZXRUb2tlbjogR2V0VG9rZW4gPSA8VCBleHRlbmRzIFRva2VuVmFsdWU+KFxuICAgIHRoZW1lOiBUaGVtZUludGVyZmFjZSxcbiAgICBjb2xvclNjaGVtZTogQ29sb3JTY2hlbWVJbnRlcmZhY2UsXG4gICAgdG9rZW46IFRva2VuLFxuKSA9PiB7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHRva2VuIHByb3ZpZGVkLiAke0VSUk9SX01FU1NBR0V9YCk7XG4gICAgfVxuICAgIGlmICghQXJyYXkuaXNBcnJheSh0b2tlbikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWYWx1ZSBwcm92aWRlZCBpcyBub3QgYSB0b2tlbi4gJHtFUlJPUl9NRVNTQUdFfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gdGhlbWUuZ2V0VG9rZW4odG9rZW4sIGNvbG9yU2NoZW1lKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGlkID0gdG9rZW5bVE9LRU5fSURfRklFTERdO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRva2VuICR7aWR9IG5vdCBmb3VuZGApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSBhcyBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLE1BQU0sYUFBYSxHQUNmLGdKQUFnSixDQUFDO01BUXhJLFFBQVEsR0FBYSxDQUM5QixLQUFxQixFQUNyQixXQUFpQyxFQUNqQyxLQUFZO0lBRVosSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLGFBQWEsRUFBRSxDQUFDLENBQUM7S0FDMUQ7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0tBQ3RFO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFakQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3JCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztLQUM1QztJQUVELE9BQU8sS0FBVSxDQUFDO0FBQ3RCOzs7OyJ9
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0VG9rZW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi9wcml2YXRlL2dldFRva2VuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRPS0VOX0lEX0ZJRUxELCBUb2tlbiwgVG9rZW5WYWx1ZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZS10eXBlcyc7XG5cbmltcG9ydCB7IENvbG9yU2NoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vY29sb3Itc2NoZW1lJztcbmltcG9ydCB7IGluc3RydW1lbnQsIGxvYWRJbnN0cnVtZW50YXRpb24gfSBmcm9tICcuLi8uLi9pbnN0cnVtZW50L3ByaXZhdGUvbG9hZGVyJztcbmltcG9ydCB7IFRoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vdGhlbWUnO1xuXG5sb2FkSW5zdHJ1bWVudGF0aW9uKCk7XG5cbmNvbnN0IEVSUk9SX01FU1NBR0UgPVxuICAgICdJbGxlZ2FsIFwidG9rZW5cIiBhcmd1bWVudCBwcm92aWRlZCB0byBnZXRUb2tlbigpLiBBcmUgeW91IHVzaW5nIGluZGV4ZXM/IEV4YW1wbGU6IFwidG9rZW5zLmFjdGlvbi5zaXplW3NpemVdXCIuIE1ha2Ugc3VyZSBpdCByZXNvbHZlcyB0byBhIHRva2VuLic7XG5cbmV4cG9ydCB0eXBlIEdldFRva2VuID0gPFQgZXh0ZW5kcyBUb2tlblZhbHVlPihcbiAgICB0aGVtZTogVGhlbWVJbnRlcmZhY2UsXG4gICAgY29sb3JTY2hlbWU6IENvbG9yU2NoZW1lSW50ZXJmYWNlLFxuICAgIHRva2VuOiBUb2tlbixcbikgPT4gVDtcblxuZXhwb3J0IGNvbnN0IGdldFRva2VuOiBHZXRUb2tlbiA9IDxUIGV4dGVuZHMgVG9rZW5WYWx1ZT4oXG4gICAgdGhlbWU6IFRoZW1lSW50ZXJmYWNlLFxuICAgIGNvbG9yU2NoZW1lOiBDb2xvclNjaGVtZUludGVyZmFjZSxcbiAgICB0b2tlbjogVG9rZW4sXG4pID0+IHtcbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gdG9rZW4gcHJvdmlkZWQuICR7RVJST1JfTUVTU0FHRX1gKTtcbiAgICB9XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRva2VuKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIHRva2VuLiAke0VSUk9SX01FU1NBR0V9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGVtZS5nZXRUb2tlbih0b2tlbiwgY29sb3JTY2hlbWUpO1xuXG4gICAgY29uc3QgaWQgPSB0b2tlbltUT0tFTl9JRF9GSUVMRF07XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUb2tlbiAke2lkfSBub3QgZm91bmRgKTtcbiAgICB9XG5cbiAgICBpbnN0cnVtZW50KHsgbmFtZTogJ3Rva2VuJywgYXR0cmlidXRlczogeyB0b2tlbjogaWQgfSB9KTtcblxuICAgIHJldHVybiB2YWx1ZSBhcyBUO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxtQkFBbUIsRUFBRSxDQUFDO0FBRXRCLE1BQU0sYUFBYSxHQUNmLGdKQUFnSixDQUFDO01BUXhJLFFBQVEsR0FBYSxDQUM5QixLQUFxQixFQUNyQixXQUFpQyxFQUNqQyxLQUFZO0lBRVosSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLGFBQWEsRUFBRSxDQUFDLENBQUM7S0FDMUQ7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0tBQ3RFO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFakQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztLQUM1QztJQUVELFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV6RCxPQUFPLEtBQVUsQ0FBQztBQUN0Qjs7OzsifQ==
@@ -1 +1 @@
1
- export declare const isExternalUrl: (url: string) => boolean;
1
+ export declare const domainOf: (url: string | undefined) => string | undefined;
package/dist/url/index.js CHANGED
@@ -1,17 +1,9 @@
1
- import { currentProtocol, currentHref } from '../location/index.js';
2
-
1
+ // eslint-disable-next-line security/detect-unsafe-regex
2
+ const BERNERS_LEE_REGEXP = /^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
3
3
  const domainOf = (url) => {
4
- const urlWithProtocol = url.indexOf('//') === 0 ? currentProtocol() + url : url;
5
- return urlWithProtocol
6
- .toLowerCase()
7
- .replace(/[a-z]*:\/\//, '')
8
- .split('/')[0];
9
- };
10
- const isExternalUrl = (url) => {
11
- const isAbsolute = /^[a-z]+:/.test(url) || url.startsWith('//');
12
- const isDifferentDomain = domainOf(url) !== domainOf(currentHref());
13
- return isAbsolute && isDifferentDomain;
4
+ const matches = url && url.match(BERNERS_LEE_REGEXP);
5
+ return matches && matches[4] ? matches[4] : undefined;
14
6
  };
15
7
 
16
- export { isExternalUrl };
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmwvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VycmVudEhyZWYsIGN1cnJlbnRQcm90b2NvbCB9IGZyb20gJy4uL2xvY2F0aW9uJztcblxuY29uc3QgZG9tYWluT2YgPSAodXJsOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHVybFdpdGhQcm90b2NvbCA9IHVybC5pbmRleE9mKCcvLycpID09PSAwID8gY3VycmVudFByb3RvY29sKCkgKyB1cmwgOiB1cmw7XG4gICAgcmV0dXJuIHVybFdpdGhQcm90b2NvbFxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAucmVwbGFjZSgvW2Etel0qOlxcL1xcLy8sICcnKVxuICAgICAgICAuc3BsaXQoJy8nKVswXTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0V4dGVybmFsVXJsID0gKHVybDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNBYnNvbHV0ZSA9IC9eW2Etel0rOi8udGVzdCh1cmwpIHx8IHVybC5zdGFydHNXaXRoKCcvLycpO1xuICAgIGNvbnN0IGlzRGlmZmVyZW50RG9tYWluID0gZG9tYWluT2YodXJsKSAhPT0gZG9tYWluT2YoY3VycmVudEhyZWYoKSk7XG4gICAgcmV0dXJuIGlzQWJzb2x1dGUgJiYgaXNEaWZmZXJlbnREb21haW47XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXO0lBQ3pCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDaEYsT0FBTyxlQUFlO1NBQ2pCLFdBQVcsRUFBRTtTQUNiLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1NBQzFCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7TUFFVyxhQUFhLEdBQUcsQ0FBQyxHQUFXO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNwRSxPQUFPLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQztBQUMzQzs7OzsifQ==
8
+ export { domainOf };
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmwvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC11bnNhZmUtcmVnZXhcbmNvbnN0IEJFUk5FUlNfTEVFX1JFR0VYUCA9IC9eKChbXjovPyNdKyk6KT8oXFwvXFwvKFteLz8jXSopKT8oW14/I10qKShcXD8oW14jXSopKT8oIyguKikpPy87XG5cbmV4cG9ydCBjb25zdCBkb21haW5PZiA9ICh1cmw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHVybCAmJiB1cmwubWF0Y2goQkVSTkVSU19MRUVfUkVHRVhQKTtcblxuICAgIHJldHVybiBtYXRjaGVzICYmIG1hdGNoZXNbNF0gPyBtYXRjaGVzWzRdIDogdW5kZWZpbmVkO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE1BQU0sa0JBQWtCLEdBQUcsNkRBQTZELENBQUM7TUFFNUUsUUFBUSxHQUFHLENBQUMsR0FBdUI7SUFDNUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVyRCxPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUMxRDs7OzsifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@preply/ds-web-core",
3
- "version": "0.26.0",
3
+ "version": "0.29.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -19,14 +19,14 @@
19
19
  "dev": "run build:rollup -w"
20
20
  },
21
21
  "dependencies": {
22
- "@preply/ds-core": "0.26.0",
23
- "@preply/ds-core-types": "0.26.0"
22
+ "@preply/ds-core": "0.29.0",
23
+ "@preply/ds-core-types": "0.29.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@preply/ds-core": "0.26.0",
27
- "@preply/ds-core-types": "0.26.0",
26
+ "@preply/ds-core": "0.29.0",
27
+ "@preply/ds-core-types": "0.29.0",
28
28
  "react": "^16.8.3",
29
29
  "react-dom": "^16.8.3"
30
30
  },
31
- "gitHead": "58f5c6795b17348097f54abfef49d7fdae81ee62"
31
+ "gitHead": "16326f91ec0858548265909eeb7c142c07491214"
32
32
  }