@preply/ds-web-core 0.4.3-beta.32
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.
- package/README.md +37 -0
- package/dist/color-scheme/classes/ColorScheme.d.ts +11 -0
- package/dist/color-scheme/classes/ColorScheme.js +20 -0
- package/dist/color-scheme/colorSchemes.d.ts +3 -0
- package/dist/color-scheme/colorSchemes.js +8 -0
- package/dist/color-scheme/constants.d.ts +2 -0
- package/dist/color-scheme/constants.js +4 -0
- package/dist/color-scheme/hocs/withColorScheme.d.ts +9 -0
- package/dist/color-scheme/hocs/withColorScheme.js +22 -0
- package/dist/color-scheme/hooks/useColorScheme.d.ts +2 -0
- package/dist/color-scheme/hooks/useColorScheme.js +13 -0
- package/dist/color-scheme/index.d.ts +9 -0
- package/dist/color-scheme/index.js +7 -0
- package/dist/color-scheme/providers/ColorSchemeProvider.d.ts +12 -0
- package/dist/color-scheme/providers/ColorSchemeProvider.js +13 -0
- package/dist/color-scheme/styles/index.module.less +15 -0
- package/dist/color-scheme/styles/index.module.less.js +9 -0
- package/dist/color-scheme/styles/mixins.less +11 -0
- package/dist/color-scheme/styles/mixins.less.js +8 -0
- package/dist/color-scheme/types.d.ts +5 -0
- package/dist/color-scheme/types.js +2 -0
- package/dist/css-module/index.d.ts +11 -0
- package/dist/css-module/index.js +26 -0
- package/dist/css-module/types.d.ts +3 -0
- package/dist/css-module/types.js +2 -0
- package/dist/dom/props/constants.d.ts +6 -0
- package/dist/dom/props/constants.js +5 -0
- package/dist/dom/props/index.d.ts +4 -0
- package/dist/dom/props/index.js +22 -0
- package/dist/external/style-inject/dist/style-inject.es.js +29 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +25 -0
- package/dist/keyboard/index.d.ts +1 -0
- package/dist/keyboard/index.js +21 -0
- package/dist/layout/hooks/useLayoutClassNames.d.ts +4 -0
- package/dist/layout/hooks/useLayoutClassNames.js +12 -0
- package/dist/layout/hooks/useLayoutFlexClassNames.d.ts +4 -0
- package/dist/layout/hooks/useLayoutFlexClassNames.js +24 -0
- package/dist/layout/hooks/useLayoutGridClassNames.d.ts +4 -0
- package/dist/layout/hooks/useLayoutGridClassNames.js +21 -0
- package/dist/layout/hooks/useLayoutGridStyles.d.ts +5 -0
- package/dist/layout/hooks/useLayoutGridStyles.js +10 -0
- package/dist/layout/hooks/useLayoutStyles.d.ts +5 -0
- package/dist/layout/hooks/useLayoutStyles.js +9 -0
- package/dist/layout/index.d.ts +5 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/style/common.mixins.less +46 -0
- package/dist/layout/style/common.mixins.less.js +8 -0
- package/dist/layout/style/flex.mixins.less +33 -0
- package/dist/layout/style/flex.mixins.less.js +8 -0
- package/dist/layout/style/grid.mixins.less +5 -0
- package/dist/layout/style/grid.mixins.less.js +8 -0
- package/dist/layout/style/index.module.less +22 -0
- package/dist/layout/style/index.module.less.js +9 -0
- package/dist/location/index.d.ts +2 -0
- package/dist/location/index.js +5 -0
- package/dist/theme/classes/Theme.d.ts +18 -0
- package/dist/theme/classes/Theme.js +45 -0
- package/dist/theme/constants.d.ts +3 -0
- package/dist/theme/constants.js +6 -0
- package/dist/theme/hocs/withTheme.d.ts +9 -0
- package/dist/theme/hocs/withTheme.js +22 -0
- package/dist/theme/hooks/useSetTheme.d.ts +2 -0
- package/dist/theme/hooks/useSetTheme.js +10 -0
- package/dist/theme/hooks/useTheme.d.ts +2 -0
- package/dist/theme/hooks/useTheme.js +13 -0
- package/dist/theme/hooks/useThemes.d.ts +2 -0
- package/dist/theme/hooks/useThemes.js +13 -0
- package/dist/theme/index.d.ts +11 -0
- package/dist/theme/index.js +8 -0
- package/dist/theme/providers/ThemeProvider.d.ts +15 -0
- package/dist/theme/providers/ThemeProvider.js +14 -0
- package/dist/theme/providers/ThemesProvider.d.ts +16 -0
- package/dist/theme/providers/ThemesProvider.js +23 -0
- package/dist/theme/style/declarations.mixins.less +129 -0
- package/dist/theme/style/declarations.mixins.less.js +8 -0
- package/dist/theme/types.d.ts +11 -0
- package/dist/theme/types.js +2 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +2 -0
- package/dist/typography/constants.d.ts +2 -0
- package/dist/typography/constants.js +4 -0
- package/dist/typography/style/mixins.less +38 -0
- package/dist/typography/style/mixins.less.js +8 -0
- package/dist/typography/types.d.ts +1 -0
- package/dist/typography/types.js +2 -0
- package/dist/url/index.d.ts +1 -0
- package/dist/url/index.js +17 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -0
- package/package.json +30 -0
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# `@preply/ds-web-core`
|
|
2
|
+
|
|
3
|
+
> Web support and context providers (React + CSS modules).
|
|
4
|
+
|
|
5
|
+
## Using the Design System in your application or library?
|
|
6
|
+
|
|
7
|
+
Follow the instructions in [@preply/ds-workspace](../../README.md).
|
|
8
|
+
|
|
9
|
+
## Contributing
|
|
10
|
+
|
|
11
|
+
Reach out to [#design-system-public](https://preply.slack.com/archives/C024EAEHP6V) if you think you can help and keep an eye on [DS Confluence](https://preply.atlassian.net/wiki/spaces/DS/overview) for more docs, guides, work in progress, decisions, the works.
|
|
12
|
+
|
|
13
|
+
## Development
|
|
14
|
+
|
|
15
|
+
You probably want to execute `yarn dev` and/or `yarn docs` in the root, as per instructions in [@preply/ds-workspace](../../README.md).
|
|
16
|
+
|
|
17
|
+
For quicker - and more focused - feedback, you can also directly use the scripts in this package directory, but make sure you have first executed `yarn build` in root, or that you have the root `yarn dev` script running in the background.
|
|
18
|
+
|
|
19
|
+
## Tooling
|
|
20
|
+
|
|
21
|
+
Details about tools and configurations in [@preply/ds-workspace](../../README.md).
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
**Note:** `@preply/ds-***` are declared both as direct and peer dependencies:
|
|
26
|
+
|
|
27
|
+
- to ensure `rollup` excludes them from the bundle.
|
|
28
|
+
- to ensure Lerna honours build sequence (does not do so for peer dependencies).
|
|
29
|
+
|
|
30
|
+
### Dev dependencies
|
|
31
|
+
|
|
32
|
+
We only list the dependencies used directly in stories, MDX docs and tests (`@storybook/react`, `@testing-library/react`, ...).
|
|
33
|
+
|
|
34
|
+
**Do NOT add dependencies on** linting, testing, building tools unless:
|
|
35
|
+
|
|
36
|
+
- you need to require some resource in a doc file or a test.
|
|
37
|
+
- you need to add a very specific plugin to this package only and you want to signal the dependency loudly.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ColorSchemeName } from '@preply/ds-core';
|
|
2
|
+
import type { CSSModule } from '../../css-module/types';
|
|
3
|
+
import type { ColorSchemeInterface } from '../types';
|
|
4
|
+
export declare class ColorScheme implements ColorSchemeInterface {
|
|
5
|
+
static PREFIX: string;
|
|
6
|
+
private styles;
|
|
7
|
+
private extend?;
|
|
8
|
+
readonly name: any;
|
|
9
|
+
constructor(styles: CSSModule, name: ColorSchemeName, extend?: ColorSchemeName[]);
|
|
10
|
+
getClassName(): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { safeClassName } from '../../css-module/index.js';
|
|
2
|
+
|
|
3
|
+
class ColorScheme {
|
|
4
|
+
constructor(styles, name, extend) {
|
|
5
|
+
this.styles = styles;
|
|
6
|
+
this.name = name;
|
|
7
|
+
this.extend = extend;
|
|
8
|
+
}
|
|
9
|
+
getClassName() {
|
|
10
|
+
const extendedClasses = this.extend || [];
|
|
11
|
+
const classNames = [this.name, ...extendedClasses];
|
|
12
|
+
return classNames
|
|
13
|
+
.map(className => safeClassName(this.styles, `${ColorScheme.PREFIX}scheme--${className}`))
|
|
14
|
+
.join(' ');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ColorScheme.PREFIX = 'ds-';
|
|
18
|
+
|
|
19
|
+
export { ColorScheme };
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3JTY2hlbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xvci1zY2hlbWUvY2xhc3Nlcy9Db2xvclNjaGVtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lTmFtZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5cbmltcG9ydCB7IHNhZmVDbGFzc05hbWUgfSBmcm9tICcuLi8uLi9jc3MtbW9kdWxlJztcbmltcG9ydCB0eXBlIHsgQ1NTTW9kdWxlIH0gZnJvbSAnLi4vLi4vY3NzLW1vZHVsZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQ29sb3JTY2hlbWUgaW1wbGVtZW50cyBDb2xvclNjaGVtZUludGVyZmFjZSB7XG4gICAgc3RhdGljIFBSRUZJWCA9ICdkcy0nO1xuXG4gICAgcHJpdmF0ZSBzdHlsZXM6IENTU01vZHVsZTtcbiAgICBwcml2YXRlIGV4dGVuZD86IENvbG9yU2NoZW1lTmFtZVtdO1xuICAgIHB1YmxpYyByZWFkb25seSBuYW1lO1xuXG4gICAgY29uc3RydWN0b3Ioc3R5bGVzOiBDU1NNb2R1bGUsIG5hbWU6IENvbG9yU2NoZW1lTmFtZSwgZXh0ZW5kPzogQ29sb3JTY2hlbWVOYW1lW10pIHtcbiAgICAgICAgdGhpcy5zdHlsZXMgPSBzdHlsZXM7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuZXh0ZW5kID0gZXh0ZW5kO1xuICAgIH1cblxuICAgIGdldENsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBleHRlbmRlZENsYXNzZXMgPSB0aGlzLmV4dGVuZCB8fCBbXTtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lcyA9IFt0aGlzLm5hbWUsIC4uLmV4dGVuZGVkQ2xhc3Nlc107XG4gICAgICAgIHJldHVybiBjbGFzc05hbWVzXG4gICAgICAgICAgICAubWFwKGNsYXNzTmFtZSA9PlxuICAgICAgICAgICAgICAgIHNhZmVDbGFzc05hbWUodGhpcy5zdHlsZXMsIGAke0NvbG9yU2NoZW1lLlBSRUZJWH1zY2hlbWUtLSR7Y2xhc3NOYW1lfWApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7TUFNYSxXQUFXO0lBT3BCLFlBQVksTUFBaUIsRUFBRSxJQUFxQixFQUFFLE1BQTBCO1FBQzVFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0tBQ3hCO0lBRUQsWUFBWTtRQUNSLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sVUFBVTthQUNaLEdBQUcsQ0FBQyxTQUFTLElBQ1YsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsTUFBTSxXQUFXLFNBQVMsRUFBRSxDQUFDLENBQzFFO2FBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ2xCOztBQXBCTSxrQkFBTSxHQUFHLEtBQUs7Ozs7In0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { colorSchemeConfig } from '@preply/ds-core';
|
|
2
|
+
import { ColorScheme } from './classes/ColorScheme.js';
|
|
3
|
+
|
|
4
|
+
const styles = Object.keys(colorSchemeConfig).reduce((acc, scheme) => ({ ...acc, [`ds-scheme--${scheme}`]: `ds-scheme--${scheme}` }), {});
|
|
5
|
+
const colorSchemes = Object.entries(colorSchemeConfig).map(([name, value]) => new ColorScheme(styles, name, value.extend));
|
|
6
|
+
|
|
7
|
+
export { colorSchemes };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JTY2hlbWVzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sb3Itc2NoZW1lL2NvbG9yU2NoZW1lcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lTmFtZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBjb2xvclNjaGVtZUNvbmZpZyB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5cbmltcG9ydCB7IENvbG9yU2NoZW1lIH0gZnJvbSAnLi9jbGFzc2VzL0NvbG9yU2NoZW1lJztcbmltcG9ydCAnLi9zdHlsZXMvaW5kZXgubW9kdWxlLmxlc3MnO1xuXG5jb25zdCBzdHlsZXMgPSBPYmplY3Qua2V5cyhjb2xvclNjaGVtZUNvbmZpZykucmVkdWNlKFxuICAgIChhY2MsIHNjaGVtZSkgPT4gKHsgLi4uYWNjLCBbYGRzLXNjaGVtZS0tJHtzY2hlbWV9YF06IGBkcy1zY2hlbWUtLSR7c2NoZW1lfWAgfSksXG4gICAge30sXG4pO1xuXG5leHBvcnQgY29uc3QgY29sb3JTY2hlbWVzID0gT2JqZWN0LmVudHJpZXMoY29sb3JTY2hlbWVDb25maWcpLm1hcChcbiAgICAoW25hbWUsIHZhbHVlXSkgPT4gbmV3IENvbG9yU2NoZW1lKHN0eWxlcywgbmFtZSBhcyBDb2xvclNjaGVtZU5hbWUsIHZhbHVlLmV4dGVuZCksXG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLENBQ2hELENBQUMsR0FBRyxFQUFFLE1BQU0sTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsY0FBYyxNQUFNLEVBQUUsR0FBRyxjQUFjLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFDL0UsRUFBRSxDQUNMLENBQUM7TUFFVyxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FDN0QsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBdUIsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDOzs7OyJ9
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const COLOR_SCHEME_DEFAULT = 'base';
|
|
2
|
+
|
|
3
|
+
export { COLOR_SCHEME_DEFAULT };
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sb3Itc2NoZW1lL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvclNjaGVtZU5hbWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuXG5leHBvcnQgY29uc3QgQ09MT1JfU0NIRU1FX0RFRkFVTFQ6IENvbG9yU2NoZW1lTmFtZSA9ICdiYXNlJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFFYSxvQkFBb0IsR0FBb0I7Ozs7In0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ColorSchemeName } from '@preply/ds-core';
|
|
2
|
+
import { ComponentType, FC } from 'react';
|
|
3
|
+
export interface ColorSchemeProps {
|
|
4
|
+
colorScheme: ColorSchemeName;
|
|
5
|
+
}
|
|
6
|
+
export interface WithColorSchemeProps {
|
|
7
|
+
colorSchemeClassName?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function withColorScheme<P>(Component: ComponentType<P>): FC<P & ColorSchemeProps>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useThemes } from '../../theme/hooks/useThemes.js';
|
|
3
|
+
import { useColorScheme } from '../hooks/useColorScheme.js';
|
|
4
|
+
import { ColorSchemeProvider } from '../providers/ColorSchemeProvider.js';
|
|
5
|
+
|
|
6
|
+
function withColorScheme(Component) {
|
|
7
|
+
const Wrapper = ({ colorScheme: colorSchemeName, ...props }) => {
|
|
8
|
+
const { findColorScheme } = useThemes();
|
|
9
|
+
const { colorScheme: currentColorScheme } = useColorScheme();
|
|
10
|
+
const newColorScheme = colorSchemeName && findColorScheme(colorSchemeName);
|
|
11
|
+
if (newColorScheme && newColorScheme !== currentColorScheme) {
|
|
12
|
+
return (React.createElement(ColorSchemeProvider, { colorScheme: colorSchemeName },
|
|
13
|
+
React.createElement(Component, Object.assign({ colorSchemeClassName: newColorScheme.getClassName() }, props))));
|
|
14
|
+
}
|
|
15
|
+
return React.createElement(Component, Object.assign({}, props));
|
|
16
|
+
};
|
|
17
|
+
Wrapper.displayName = `withColorScheme(${Component.displayName})`;
|
|
18
|
+
return Wrapper;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { withColorScheme };
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aENvbG9yU2NoZW1lLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29sb3Itc2NoZW1lL2hvY3Mvd2l0aENvbG9yU2NoZW1lLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lTmFtZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50VHlwZSwgRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHVzZVRoZW1lcyB9IGZyb20gJy4uLy4uL3RoZW1lL2hvb2tzL3VzZVRoZW1lcyc7XG5pbXBvcnQgeyB1c2VDb2xvclNjaGVtZSB9IGZyb20gJy4uL2hvb2tzL3VzZUNvbG9yU2NoZW1lJztcbmltcG9ydCB7IENvbG9yU2NoZW1lUHJvdmlkZXIgfSBmcm9tICcuLi9wcm92aWRlcnMvQ29sb3JTY2hlbWVQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTY2hlbWVQcm9wcyB7XG4gICAgY29sb3JTY2hlbWU6IENvbG9yU2NoZW1lTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoQ29sb3JTY2hlbWVQcm9wcyB7XG4gICAgY29sb3JTY2hlbWVDbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoQ29sb3JTY2hlbWU8UD4oQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFA+KTogRkM8UCAmIENvbG9yU2NoZW1lUHJvcHM+IHtcbiAgICBjb25zdCBXcmFwcGVyOiBGQzxQICYgQ29sb3JTY2hlbWVQcm9wcz4gPSAoeyBjb2xvclNjaGVtZTogY29sb3JTY2hlbWVOYW1lLCAuLi5wcm9wcyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZmluZENvbG9yU2NoZW1lIH0gPSB1c2VUaGVtZXMoKTtcbiAgICAgICAgY29uc3QgeyBjb2xvclNjaGVtZTogY3VycmVudENvbG9yU2NoZW1lIH0gPSB1c2VDb2xvclNjaGVtZSgpO1xuXG4gICAgICAgIGNvbnN0IG5ld0NvbG9yU2NoZW1lID0gY29sb3JTY2hlbWVOYW1lICYmIGZpbmRDb2xvclNjaGVtZShjb2xvclNjaGVtZU5hbWUpO1xuXG4gICAgICAgIGlmIChuZXdDb2xvclNjaGVtZSAmJiBuZXdDb2xvclNjaGVtZSAhPT0gY3VycmVudENvbG9yU2NoZW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxDb2xvclNjaGVtZVByb3ZpZGVyIGNvbG9yU2NoZW1lPXtjb2xvclNjaGVtZU5hbWV9PlxuICAgICAgICAgICAgICAgICAgICA8Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvclNjaGVtZUNsYXNzTmFtZT17bmV3Q29sb3JTY2hlbWUuZ2V0Q2xhc3NOYW1lKCl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4uKHByb3BzIGFzIFApfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvQ29sb3JTY2hlbWVQcm92aWRlcj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDxDb21wb25lbnQgey4uLihwcm9wcyBhcyBQKX0gLz47XG4gICAgfTtcblxuICAgIFdyYXBwZXIuZGlzcGxheU5hbWUgPSBgd2l0aENvbG9yU2NoZW1lKCR7Q29tcG9uZW50LmRpc3BsYXlOYW1lfSlgO1xuICAgIHJldHVybiBXcmFwcGVyO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O1NBZWdCLGVBQWUsQ0FBSSxTQUEyQjtJQUMxRCxNQUFNLE9BQU8sR0FBNkIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsR0FBRyxLQUFLLEVBQUU7UUFDakYsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUU3RCxNQUFNLGNBQWMsR0FBRyxlQUFlLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNFLElBQUksY0FBYyxJQUFJLGNBQWMsS0FBSyxrQkFBa0IsRUFBRTtZQUN6RCxRQUNJLG9CQUFDLG1CQUFtQixJQUFDLFdBQVcsRUFBRSxlQUFlO2dCQUM3QyxvQkFBQyxTQUFTLGtCQUNOLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFDOUMsS0FBVyxFQUNsQixDQUNnQixFQUN4QjtTQUNMO1FBQ0QsT0FBTyxvQkFBQyxTQUFTLG9CQUFNLEtBQVcsRUFBSSxDQUFDO0tBQzFDLENBQUM7SUFFRixPQUFPLENBQUMsV0FBVyxHQUFHLG1CQUFtQixTQUFTLENBQUMsV0FBVyxHQUFHLENBQUM7SUFDbEUsT0FBTyxPQUFPLENBQUM7QUFDbkI7Ozs7In0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ColorSchemeContext } from '../providers/ColorSchemeProvider.js';
|
|
3
|
+
|
|
4
|
+
const useColorScheme = () => {
|
|
5
|
+
const { colorScheme } = useContext(ColorSchemeContext);
|
|
6
|
+
if (!colorScheme) {
|
|
7
|
+
throw new Error('useColorScheme() must be used within a ColorSchemeProvider');
|
|
8
|
+
}
|
|
9
|
+
return { colorScheme };
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { useColorScheme };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlQ29sb3JTY2hlbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xvci1zY2hlbWUvaG9va3MvdXNlQ29sb3JTY2hlbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgQ29sb3JTY2hlbWVDb250ZXh0LCBDb2xvclNjaGVtZUNvbnRleHRTdGF0ZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9Db2xvclNjaGVtZVByb3ZpZGVyJztcblxuZXhwb3J0IGNvbnN0IHVzZUNvbG9yU2NoZW1lID0gKCk6IENvbG9yU2NoZW1lQ29udGV4dFN0YXRlID0+IHtcbiAgICBjb25zdCB7IGNvbG9yU2NoZW1lIH0gPSB1c2VDb250ZXh0KENvbG9yU2NoZW1lQ29udGV4dCk7XG4gICAgaWYgKCFjb2xvclNjaGVtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUNvbG9yU2NoZW1lKCkgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIENvbG9yU2NoZW1lUHJvdmlkZXInKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY29sb3JTY2hlbWUgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BSWEsY0FBYyxHQUFHO0lBQzFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0tBQ2pGO0lBQ0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQzNCOzs7OyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { ColorSchemeInterface } from './types';
|
|
2
|
+
export { colorSchemes } from './colorSchemes';
|
|
3
|
+
export { COLOR_SCHEME_DEFAULT } from './constants';
|
|
4
|
+
export { ColorScheme } from './classes/ColorScheme';
|
|
5
|
+
export type { ColorSchemeProviderProps } from './providers/ColorSchemeProvider';
|
|
6
|
+
export { ColorSchemeProvider } from './providers/ColorSchemeProvider';
|
|
7
|
+
export { useColorScheme } from './hooks/useColorScheme';
|
|
8
|
+
export type { ColorSchemeProps, WithColorSchemeProps } from './hocs/withColorScheme';
|
|
9
|
+
export { withColorScheme } from './hocs/withColorScheme';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { colorSchemes } from './colorSchemes.js';
|
|
2
|
+
export { COLOR_SCHEME_DEFAULT } from './constants.js';
|
|
3
|
+
export { ColorScheme } from './classes/ColorScheme.js';
|
|
4
|
+
export { ColorSchemeProvider } from './providers/ColorSchemeProvider.js';
|
|
5
|
+
export { useColorScheme } from './hooks/useColorScheme.js';
|
|
6
|
+
export { withColorScheme } from './hocs/withColorScheme.js';
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OzsifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ColorSchemeName } from '@preply/ds-core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { ColorSchemeInterface } from '../types';
|
|
4
|
+
export declare const SCHEME_DEFAULT = "base";
|
|
5
|
+
export interface ColorSchemeProviderProps {
|
|
6
|
+
colorScheme: ColorSchemeName;
|
|
7
|
+
}
|
|
8
|
+
export interface ColorSchemeContextState {
|
|
9
|
+
colorScheme: ColorSchemeInterface;
|
|
10
|
+
}
|
|
11
|
+
export declare const ColorSchemeContext: React.Context<ColorSchemeContextState>;
|
|
12
|
+
export declare const ColorSchemeProvider: React.FC<ColorSchemeProviderProps>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { createContext } from 'react';
|
|
2
|
+
import { useThemes } from '../../theme/hooks/useThemes.js';
|
|
3
|
+
|
|
4
|
+
const SCHEME_DEFAULT = 'base';
|
|
5
|
+
const ColorSchemeContext = createContext({});
|
|
6
|
+
const ColorSchemeProvider = ({ colorScheme: colorSchemeName, children, }) => {
|
|
7
|
+
const { findColorScheme } = useThemes();
|
|
8
|
+
const colorScheme = findColorScheme(colorSchemeName);
|
|
9
|
+
return (React.createElement(ColorSchemeContext.Provider, { value: { colorScheme } }, children));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { ColorSchemeContext, ColorSchemeProvider, SCHEME_DEFAULT };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3JTY2hlbWVQcm92aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbG9yLXNjaGVtZS9wcm92aWRlcnMvQ29sb3JTY2hlbWVQcm92aWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xvclNjaGVtZU5hbWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHVzZVRoZW1lcyB9IGZyb20gJy4uLy4uL3RoZW1lL2hvb2tzL3VzZVRoZW1lcyc7XG5pbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgU0NIRU1FX0RFRkFVTFQgPSAnYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTY2hlbWVQcm92aWRlclByb3BzIHtcbiAgICBjb2xvclNjaGVtZTogQ29sb3JTY2hlbWVOYW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yU2NoZW1lQ29udGV4dFN0YXRlIHtcbiAgICBjb2xvclNjaGVtZTogQ29sb3JTY2hlbWVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBjb25zdCBDb2xvclNjaGVtZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PENvbG9yU2NoZW1lQ29udGV4dFN0YXRlPihcbiAgICB7fSBhcyBDb2xvclNjaGVtZUNvbnRleHRTdGF0ZSxcbik7XG5cbmV4cG9ydCBjb25zdCBDb2xvclNjaGVtZVByb3ZpZGVyOiBSZWFjdC5GQzxDb2xvclNjaGVtZVByb3ZpZGVyUHJvcHM+ID0gKHtcbiAgICBjb2xvclNjaGVtZTogY29sb3JTY2hlbWVOYW1lLFxuICAgIGNoaWxkcmVuLFxufSkgPT4ge1xuICAgIGNvbnN0IHsgZmluZENvbG9yU2NoZW1lIH0gPSB1c2VUaGVtZXMoKTtcblxuICAgIGNvbnN0IGNvbG9yU2NoZW1lID0gZmluZENvbG9yU2NoZW1lKGNvbG9yU2NoZW1lTmFtZSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Q29sb3JTY2hlbWVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGNvbG9yU2NoZW1lIH19PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbG9yU2NoZW1lQ29udGV4dC5Qcm92aWRlcj5cbiAgICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFNYSxjQUFjLEdBQUcsT0FBTztNQVV4QixrQkFBa0IsR0FBRyxhQUFhLENBQzNDLEVBQTZCLEVBQy9CO01BRVcsbUJBQW1CLEdBQXVDLENBQUMsRUFDcEUsV0FBVyxFQUFFLGVBQWUsRUFDNUIsUUFBUSxHQUNYO0lBQ0csTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBRXhDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVyRCxRQUNJLG9CQUFDLGtCQUFrQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFDOUMsUUFBUSxDQUNpQixFQUNoQztBQUNOOzs7OyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
:global(.ds-scheme--base) {
|
|
2
|
+
--scheme-name: 'base';
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
:global(.ds-scheme--highlight) {
|
|
6
|
+
--scheme-name: 'highlight';
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:global(.ds-scheme--banner) {
|
|
10
|
+
--scheme-name: 'banner';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
:global(.ds-scheme--invert) {
|
|
14
|
+
--scheme-name: 'invert';
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styleInject from '../../external/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".ds-scheme--base {\n --scheme-name: 'base';\n}\n.ds-scheme--highlight {\n --scheme-name: 'highlight';\n}\n.ds-scheme--banner {\n --scheme-name: 'banner';\n}\n.ds-scheme--invert {\n --scheme-name: 'invert';\n}\n";
|
|
4
|
+
var index_module = {};
|
|
5
|
+
var stylesheet=".ds-scheme--base {\n --scheme-name: 'base';\n}\n.ds-scheme--highlight {\n --scheme-name: 'highlight';\n}\n.ds-scheme--banner {\n --scheme-name: 'banner';\n}\n.ds-scheme--invert {\n --scheme-name: 'invert';\n}\n";
|
|
6
|
+
styleInject(css_248z);
|
|
7
|
+
|
|
8
|
+
export { index_module as default, stylesheet };
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbbnVsbF0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixxREFBeUQ7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7In0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import styleInject from '../../external/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = "";
|
|
4
|
+
var stylesheet="";
|
|
5
|
+
styleInject(css_248z);
|
|
6
|
+
|
|
7
|
+
export { css_248z as default, stylesheet };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbbnVsbF0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixxREFBeUQ7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CSSModule } from './types';
|
|
2
|
+
declare type Concatenated = Array<string | undefined>;
|
|
3
|
+
declare type Conditional = {
|
|
4
|
+
if: boolean | undefined;
|
|
5
|
+
then: string | Concatenated | undefined;
|
|
6
|
+
};
|
|
7
|
+
declare type ClassName = Concatenated | Conditional | string | undefined;
|
|
8
|
+
export declare const safeClassName: (cssModule: CSSModule, name: string) => string;
|
|
9
|
+
export declare const localClasses: (cssModule: CSSModule, namespace: string, locals?: ClassName[]) => string[];
|
|
10
|
+
export declare const globalClasses: (globals?: ClassName[]) => string[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const fromArray = (classname) => !classname.includes(undefined) ? classname.join('-') : undefined;
|
|
2
|
+
const fromObject = (classname, recurse) => classname.if ? recurse(classname.then) : undefined;
|
|
3
|
+
const conditionalClass = (classname) => {
|
|
4
|
+
if (Array.isArray(classname)) {
|
|
5
|
+
return fromArray(classname);
|
|
6
|
+
}
|
|
7
|
+
if (typeof classname === 'object') {
|
|
8
|
+
return fromObject(classname, conditionalClass);
|
|
9
|
+
}
|
|
10
|
+
return classname;
|
|
11
|
+
};
|
|
12
|
+
const safeClassName = (cssModule, name) => {
|
|
13
|
+
if (!cssModule[name]) {
|
|
14
|
+
throw new Error(`Unknow classname ${name}`);
|
|
15
|
+
}
|
|
16
|
+
return cssModule[name];
|
|
17
|
+
};
|
|
18
|
+
const localClasses = (cssModule, namespace, locals = []) => locals
|
|
19
|
+
.map(part => conditionalClass(part))
|
|
20
|
+
.filter(classname => classname)
|
|
21
|
+
.map(classname => `${namespace}--${classname}`)
|
|
22
|
+
.map(classname => safeClassName(cssModule, classname));
|
|
23
|
+
const globalClasses = (globals = []) => globals.map(part => conditionalClass(part)).filter(classname => classname);
|
|
24
|
+
|
|
25
|
+
export { globalClasses, localClasses, safeClassName };
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jc3MtbW9kdWxlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTTW9kdWxlIH0gZnJvbSAnLi90eXBlcyc7XG5cbnR5cGUgQ29uY2F0ZW5hdGVkID0gQXJyYXk8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbnR5cGUgQ29uZGl0aW9uYWwgPSB7XG4gICAgaWY6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgdGhlbjogc3RyaW5nIHwgQ29uY2F0ZW5hdGVkIHwgdW5kZWZpbmVkO1xufTtcbnR5cGUgQ2xhc3NOYW1lID0gQ29uY2F0ZW5hdGVkIHwgQ29uZGl0aW9uYWwgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbmNvbnN0IGZyb21BcnJheSA9IChjbGFzc25hbWU6IENvbmNhdGVuYXRlZCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAgICFjbGFzc25hbWUuaW5jbHVkZXModW5kZWZpbmVkKSA/IGNsYXNzbmFtZS5qb2luKCctJykgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IGZyb21PYmplY3QgPSAoY2xhc3NuYW1lOiBDb25kaXRpb25hbCwgcmVjdXJzZTogdHlwZW9mIGNvbmRpdGlvbmFsQ2xhc3MpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgICBjbGFzc25hbWUuaWYgPyByZWN1cnNlKGNsYXNzbmFtZS50aGVuKSA6IHVuZGVmaW5lZDtcblxuY29uc3QgY29uZGl0aW9uYWxDbGFzcyA9IChjbGFzc25hbWU6IENsYXNzTmFtZSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xhc3NuYW1lKSkge1xuICAgICAgICByZXR1cm4gZnJvbUFycmF5KGNsYXNzbmFtZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY2xhc3NuYW1lID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gZnJvbU9iamVjdChjbGFzc25hbWUsIGNvbmRpdGlvbmFsQ2xhc3MpO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IHNhZmVDbGFzc05hbWUgPSAoY3NzTW9kdWxlOiBDU1NNb2R1bGUsIG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgaWYgKCFjc3NNb2R1bGVbbmFtZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3cgY2xhc3NuYW1lICR7bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGNzc01vZHVsZVtuYW1lXTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2NhbENsYXNzZXMgPSAoXG4gICAgY3NzTW9kdWxlOiBDU1NNb2R1bGUsXG4gICAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgbG9jYWxzOiBDbGFzc05hbWVbXSA9IFtdLFxuKTogc3RyaW5nW10gPT5cbiAgICBsb2NhbHNcbiAgICAgICAgLm1hcChwYXJ0ID0+IGNvbmRpdGlvbmFsQ2xhc3MocGFydCkpXG4gICAgICAgIC5maWx0ZXIoY2xhc3NuYW1lID0+IGNsYXNzbmFtZSlcbiAgICAgICAgLm1hcChjbGFzc25hbWUgPT4gYCR7bmFtZXNwYWNlfS0tJHtjbGFzc25hbWV9YClcbiAgICAgICAgLm1hcChjbGFzc25hbWUgPT4gc2FmZUNsYXNzTmFtZShjc3NNb2R1bGUsIGNsYXNzbmFtZSkpO1xuXG5leHBvcnQgY29uc3QgZ2xvYmFsQ2xhc3NlcyA9IChnbG9iYWxzOiBDbGFzc05hbWVbXSA9IFtdKTogc3RyaW5nW10gPT5cbiAgICBnbG9iYWxzLm1hcChwYXJ0ID0+IGNvbmRpdGlvbmFsQ2xhc3MocGFydCkpLmZpbHRlcihjbGFzc25hbWUgPT4gY2xhc3NuYW1lKSBhcyBzdHJpbmdbXTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLFNBQVMsR0FBRyxDQUFDLFNBQXVCLEtBQ3RDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUVyRSxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQXNCLEVBQUUsT0FBZ0MsS0FDeEUsU0FBUyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUV2RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBb0I7SUFDMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzFCLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQy9CO0lBQ0QsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDL0IsT0FBTyxVQUFVLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7S0FDbEQ7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUM7TUFFVyxhQUFhLEdBQUcsQ0FBQyxTQUFvQixFQUFFLElBQVk7SUFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9DO0lBQ0QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDM0IsRUFBRTtNQUVXLFlBQVksR0FBRyxDQUN4QixTQUFvQixFQUNwQixTQUFpQixFQUNqQixTQUFzQixFQUFFLEtBRXhCLE1BQU07S0FDRCxHQUFHLENBQUMsSUFBSSxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25DLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO0tBQzlCLEdBQUcsQ0FBQyxTQUFTLElBQUksR0FBRyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7S0FDOUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFO01BRWxELGFBQWEsR0FBRyxDQUFDLFVBQXVCLEVBQUUsS0FDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVM7Ozs7In0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const PROPS_EXTERNAL_REL = { rel: 'noreferrer noopener' };
|
|
2
|
+
const PROPS_EXTERNAL_TARGET = { target: '_blank' };
|
|
3
|
+
|
|
4
|
+
export { PROPS_EXTERNAL_REL, PROPS_EXTERNAL_TARGET };
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZG9tL3Byb3BzL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUFJPUFNfRVhURVJOQUxfUkVMID0geyByZWw6ICdub3JlZmVycmVyIG5vb3BlbmVyJyB9O1xuZXhwb3J0IGNvbnN0IFBST1BTX0VYVEVSTkFMX1RBUkdFVCA9IHsgdGFyZ2V0OiAnX2JsYW5rJyB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQUFhLGtCQUFrQixHQUFHLEVBQUUsR0FBRyxFQUFFLHFCQUFxQixHQUFHO01BQ3BELHFCQUFxQixHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVE7Ozs7In0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Dataset } from '@preply/ds-core';
|
|
2
|
+
import type { AnchorProps } from '../../types';
|
|
3
|
+
export declare const getDatasetProps: (dataset?: Dataset | undefined) => Dataset;
|
|
4
|
+
export declare const getExternalUrlProps: (url: string, opensInNewTab?: boolean | undefined) => AnchorProps;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isExternalUrl } from '../../url/index.js';
|
|
2
|
+
import { PROPS_EXTERNAL_REL, PROPS_EXTERNAL_TARGET } from './constants.js';
|
|
3
|
+
|
|
4
|
+
const getDatasetProps = (dataset) => {
|
|
5
|
+
if (!dataset) {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
return Object.keys(dataset).reduce((acc, key) => {
|
|
9
|
+
acc[`data-${key}`] = dataset[key];
|
|
10
|
+
return acc;
|
|
11
|
+
}, {});
|
|
12
|
+
};
|
|
13
|
+
const getExternalUrlProps = (url, opensInNewTab) => {
|
|
14
|
+
const isExternal = isExternalUrl(url);
|
|
15
|
+
const propsRel = isExternal ? PROPS_EXTERNAL_REL : {};
|
|
16
|
+
const useExternalTarget = opensInNewTab === undefined ? isExternal : opensInNewTab;
|
|
17
|
+
const propsTarget = useExternalTarget ? PROPS_EXTERNAL_TARGET : {};
|
|
18
|
+
return { ...propsRel, ...propsTarget };
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { getDatasetProps, getExternalUrlProps };
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcHJvcHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEYXRhc2V0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBBbmNob3JQcm9wcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRXh0ZXJuYWxVcmwgfSBmcm9tICcuLi8uLi91cmwnO1xuXG5pbXBvcnQgeyBQUk9QU19FWFRFUk5BTF9SRUwsIFBST1BTX0VYVEVSTkFMX1RBUkdFVCB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGdldERhdGFzZXRQcm9wcyA9IChkYXRhc2V0PzogRGF0YXNldCk6IERhdGFzZXQgPT4ge1xuICAgIGlmICghZGF0YXNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhc2V0KS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGFjY1tgZGF0YS0ke2tleX1gXSA9IGRhdGFzZXRba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBEYXRhc2V0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFeHRlcm5hbFVybFByb3BzID0gKHVybDogc3RyaW5nLCBvcGVuc0luTmV3VGFiPzogYm9vbGVhbik6IEFuY2hvclByb3BzID0+IHtcbiAgICBjb25zdCBpc0V4dGVybmFsID0gaXNFeHRlcm5hbFVybCh1cmwpO1xuICAgIGNvbnN0IHByb3BzUmVsID0gaXNFeHRlcm5hbCA/IFBST1BTX0VYVEVSTkFMX1JFTCA6IHt9O1xuXG4gICAgY29uc3QgdXNlRXh0ZXJuYWxUYXJnZXQgPSBvcGVuc0luTmV3VGFiID09PSB1bmRlZmluZWQgPyBpc0V4dGVybmFsIDogb3BlbnNJbk5ld1RhYjtcbiAgICBjb25zdCBwcm9wc1RhcmdldCA9IHVzZUV4dGVybmFsVGFyZ2V0ID8gUFJPUFNfRVhURVJOQUxfVEFSR0VUIDoge307XG5cbiAgICByZXR1cm4geyAuLi5wcm9wc1JlbCwgLi4ucHJvcHNUYXJnZXQgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BT2EsZUFBZSxHQUFHLENBQUMsT0FBaUI7SUFDN0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDeEMsR0FBRyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxHQUFHLENBQUM7S0FDZCxFQUFFLEVBQWEsQ0FBQyxDQUFDO0FBQ3RCLEVBQUU7TUFFVyxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxhQUF1QjtJQUNwRSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxHQUFHLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUV0RCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsS0FBSyxTQUFTLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztJQUNuRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsR0FBRyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFFbkUsT0FBTyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUM7QUFDM0M7Ozs7In0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function styleInject(css, ref) {
|
|
2
|
+
if ( ref === void 0 ) ref = {};
|
|
3
|
+
var insertAt = ref.insertAt;
|
|
4
|
+
|
|
5
|
+
if (!css || typeof document === 'undefined') { return; }
|
|
6
|
+
|
|
7
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
8
|
+
var style = document.createElement('style');
|
|
9
|
+
style.type = 'text/css';
|
|
10
|
+
|
|
11
|
+
if (insertAt === 'top') {
|
|
12
|
+
if (head.firstChild) {
|
|
13
|
+
head.insertBefore(style, head.firstChild);
|
|
14
|
+
} else {
|
|
15
|
+
head.appendChild(style);
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
head.appendChild(style);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (style.styleSheet) {
|
|
22
|
+
style.styleSheet.cssText = css;
|
|
23
|
+
} else {
|
|
24
|
+
style.appendChild(document.createTextNode(css));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { styleInject as default };
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtaW5qZWN0LmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtaW5qZWN0L2Rpc3Qvc3R5bGUtaW5qZWN0LmVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIHN0eWxlSW5qZWN0KGNzcywgcmVmKSB7XG4gIGlmICggcmVmID09PSB2b2lkIDAgKSByZWYgPSB7fTtcbiAgdmFyIGluc2VydEF0ID0gcmVmLmluc2VydEF0O1xuXG4gIGlmICghY3NzIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuOyB9XG5cbiAgdmFyIGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuXG4gIGlmIChpbnNlcnRBdCA9PT0gJ3RvcCcpIHtcbiAgICBpZiAoaGVhZC5maXJzdENoaWxkKSB7XG4gICAgICBoZWFkLmluc2VydEJlZm9yZShzdHlsZSwgaGVhZC5maXJzdENoaWxkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICB9XG5cbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVJbmplY3Q7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtBQUMvQixFQUFFLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDakMsRUFBRSxJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO0FBQzlCO0FBQ0EsRUFBRSxJQUFJLENBQUMsR0FBRyxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRTtBQUMxRDtBQUNBLEVBQUUsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkUsRUFBRSxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLEVBQUUsS0FBSyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7QUFDMUI7QUFDQSxFQUFFLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRTtBQUMxQixJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtBQUN6QixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNoRCxLQUFLLE1BQU07QUFDWCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIsS0FBSztBQUNMLEdBQUcsTUFBTTtBQUNULElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtBQUN4QixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNuQyxHQUFHLE1BQU07QUFDVCxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3BELEdBQUc7QUFDSDs7OzsifQ==
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { VERSION } from './version';
|
|
2
|
+
export * from './color-scheme';
|
|
3
|
+
export * from './css-module';
|
|
4
|
+
export * from './dom/props';
|
|
5
|
+
export * from './keyboard';
|
|
6
|
+
export * from './layout';
|
|
7
|
+
export * from './location';
|
|
8
|
+
export * from './theme';
|
|
9
|
+
export * from './types';
|
|
10
|
+
export * from './url';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { VERSION } from './version.js';
|
|
2
|
+
export { globalClasses, localClasses, safeClassName } from './css-module/index.js';
|
|
3
|
+
export { getDatasetProps, getExternalUrlProps } from './dom/props/index.js';
|
|
4
|
+
export { mapEdgeKeyToStandard } from './keyboard/index.js';
|
|
5
|
+
export { currentHref, currentProtocol } from './location/index.js';
|
|
6
|
+
export { isExternalUrl } from './url/index.js';
|
|
7
|
+
export { colorSchemes } from './color-scheme/colorSchemes.js';
|
|
8
|
+
export { COLOR_SCHEME_DEFAULT } from './color-scheme/constants.js';
|
|
9
|
+
export { ColorScheme } from './color-scheme/classes/ColorScheme.js';
|
|
10
|
+
export { ColorSchemeProvider } from './color-scheme/providers/ColorSchemeProvider.js';
|
|
11
|
+
export { useColorScheme } from './color-scheme/hooks/useColorScheme.js';
|
|
12
|
+
export { withColorScheme } from './color-scheme/hocs/withColorScheme.js';
|
|
13
|
+
export { useLayoutClassNames } from './layout/hooks/useLayoutClassNames.js';
|
|
14
|
+
export { useLayoutFlexClassNames } from './layout/hooks/useLayoutFlexClassNames.js';
|
|
15
|
+
export { useLayoutGridClassNames } from './layout/hooks/useLayoutGridClassNames.js';
|
|
16
|
+
export { useLayoutStyles } from './layout/hooks/useLayoutStyles.js';
|
|
17
|
+
export { useLayoutGridStyles } from './layout/hooks/useLayoutGridStyles.js';
|
|
18
|
+
export { Theme } from './theme/classes/Theme.js';
|
|
19
|
+
export { ThemesProvider } from './theme/providers/ThemesProvider.js';
|
|
20
|
+
export { ThemeProvider } from './theme/providers/ThemeProvider.js';
|
|
21
|
+
export { useTheme } from './theme/hooks/useTheme.js';
|
|
22
|
+
export { useThemes } from './theme/hooks/useThemes.js';
|
|
23
|
+
export { useSetTheme } from './theme/hooks/useSetTheme.js';
|
|
24
|
+
export { withTheme } from './theme/hocs/withTheme.js';
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const mapEdgeKeyToStandard: (key: string) => string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const MAP_EDGE_KEY_TO_STANDARD = {
|
|
2
|
+
Win: 'Meta',
|
|
3
|
+
Scroll: 'ScrollLock',
|
|
4
|
+
Spacebar: ' ',
|
|
5
|
+
Down: 'ArrowDown',
|
|
6
|
+
Left: 'ArrowLeft',
|
|
7
|
+
Right: 'ArrowRight',
|
|
8
|
+
Up: 'ArrowUp',
|
|
9
|
+
Del: 'Delete',
|
|
10
|
+
Apps: 'ContextMenu',
|
|
11
|
+
Esc: 'Escape',
|
|
12
|
+
Multiply: '*',
|
|
13
|
+
Add: '+',
|
|
14
|
+
Subtract: '-',
|
|
15
|
+
Decimal: '.',
|
|
16
|
+
Divide: '/',
|
|
17
|
+
};
|
|
18
|
+
const mapEdgeKeyToStandard = (key) => MAP_EDGE_KEY_TO_STANDARD[key] || key;
|
|
19
|
+
|
|
20
|
+
export { mapEdgeKeyToStandard };
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXlib2FyZC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEtleU1hcCA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbmNvbnN0IE1BUF9FREdFX0tFWV9UT19TVEFOREFSRDogS2V5TWFwID0ge1xuICAgIFdpbjogJ01ldGEnLFxuICAgIFNjcm9sbDogJ1Njcm9sbExvY2snLFxuICAgIFNwYWNlYmFyOiAnICcsXG4gICAgRG93bjogJ0Fycm93RG93bicsXG4gICAgTGVmdDogJ0Fycm93TGVmdCcsXG4gICAgUmlnaHQ6ICdBcnJvd1JpZ2h0JyxcbiAgICBVcDogJ0Fycm93VXAnLFxuICAgIERlbDogJ0RlbGV0ZScsXG4gICAgQXBwczogJ0NvbnRleHRNZW51JyxcbiAgICBFc2M6ICdFc2NhcGUnLFxuICAgIE11bHRpcGx5OiAnKicsXG4gICAgQWRkOiAnKycsXG4gICAgU3VidHJhY3Q6ICctJyxcbiAgICBEZWNpbWFsOiAnLicsXG4gICAgRGl2aWRlOiAnLycsXG59O1xuXG5leHBvcnQgY29uc3QgbWFwRWRnZUtleVRvU3RhbmRhcmQgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4gTUFQX0VER0VfS0VZX1RPX1NUQU5EQVJEW2tleV0gfHwga2V5O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sd0JBQXdCLEdBQVc7SUFDckMsR0FBRyxFQUFFLE1BQU07SUFDWCxNQUFNLEVBQUUsWUFBWTtJQUNwQixRQUFRLEVBQUUsR0FBRztJQUNiLElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxXQUFXO0lBQ2pCLEtBQUssRUFBRSxZQUFZO0lBQ25CLEVBQUUsRUFBRSxTQUFTO0lBQ2IsR0FBRyxFQUFFLFFBQVE7SUFDYixJQUFJLEVBQUUsYUFBYTtJQUNuQixHQUFHLEVBQUUsUUFBUTtJQUNiLFFBQVEsRUFBRSxHQUFHO0lBQ2IsR0FBRyxFQUFFLEdBQUc7SUFDUixRQUFRLEVBQUUsR0FBRztJQUNiLE9BQU8sRUFBRSxHQUFHO0lBQ1osTUFBTSxFQUFFLEdBQUc7Q0FDZCxDQUFDO01BRVcsb0JBQW9CLEdBQUcsQ0FBQyxHQUFXLEtBQWEsd0JBQXdCLENBQUMsR0FBRyxDQUFDLElBQUk7Ozs7In0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useLayoutFlexClassNames } from './useLayoutFlexClassNames.js';
|
|
2
|
+
import { useLayoutGridClassNames } from './useLayoutGridClassNames.js';
|
|
3
|
+
|
|
4
|
+
const useLayoutClassNames = props => {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const gridClassNames = useLayoutGridClassNames(props === null || props === void 0 ? void 0 : props.layout, (_a = props) === null || _a === void 0 ? void 0 : _a.grid);
|
|
7
|
+
const flexClassNames = useLayoutFlexClassNames(props === null || props === void 0 ? void 0 : props.layout, (_b = props) === null || _b === void 0 ? void 0 : _b.flex);
|
|
8
|
+
return [...gridClassNames, ...flexClassNames];
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { useLayoutClassNames };
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0Q2xhc3NOYW1lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xheW91dC9ob29rcy91c2VMYXlvdXRDbGFzc05hbWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgICBPcHRpb25hbExheW91dEZsZXhQcm9wcyxcbiAgICBPcHRpb25hbExheW91dEdyaWRQcm9wcyxcbiAgICBPcHRpb25hbExheW91dFByb3BzLFxufSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuXG5pbXBvcnQgeyB1c2VMYXlvdXRGbGV4Q2xhc3NOYW1lcyB9IGZyb20gJy4vdXNlTGF5b3V0RmxleENsYXNzTmFtZXMnO1xuaW1wb3J0IHsgdXNlTGF5b3V0R3JpZENsYXNzTmFtZXMgfSBmcm9tICcuL3VzZUxheW91dEdyaWRDbGFzc05hbWVzJztcblxudHlwZSBIb29rID0gKHByb3BzPzogT3B0aW9uYWxMYXlvdXRQcm9wcykgPT4gc3RyaW5nW107XG5cbmV4cG9ydCBjb25zdCB1c2VMYXlvdXRDbGFzc05hbWVzOiBIb29rID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IGdyaWRDbGFzc05hbWVzID0gdXNlTGF5b3V0R3JpZENsYXNzTmFtZXMoXG4gICAgICAgIHByb3BzPy5sYXlvdXQsXG4gICAgICAgIChwcm9wcyBhcyBPcHRpb25hbExheW91dEdyaWRQcm9wcyk/LmdyaWQsXG4gICAgKTtcbiAgICBjb25zdCBmbGV4Q2xhc3NOYW1lcyA9IHVzZUxheW91dEZsZXhDbGFzc05hbWVzKFxuICAgICAgICBwcm9wcz8ubGF5b3V0LFxuICAgICAgICAocHJvcHMgYXMgT3B0aW9uYWxMYXlvdXRGbGV4UHJvcHMpPy5mbGV4LFxuICAgICk7XG4gICAgcmV0dXJuIFsuLi5ncmlkQ2xhc3NOYW1lcywgLi4uZmxleENsYXNzTmFtZXNdO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFXYSxtQkFBbUIsR0FBUyxLQUFLOztJQUMxQyxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FDMUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sUUFDWixLQUFpQywwQ0FBRSxJQUFJLENBQzNDLENBQUM7SUFDRixNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FDMUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sUUFDWixLQUFpQywwQ0FBRSxJQUFJLENBQzNDLENBQUM7SUFDRixPQUFPLENBQUMsR0FBRyxjQUFjLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQztBQUNsRDs7OzsifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { LAYOUT_GAP_DEFAULT } from '@preply/ds-core';
|
|
2
|
+
import { safeClassName, localClasses } from '../../css-module/index.js';
|
|
3
|
+
import styles from '../style/index.module.less.js';
|
|
4
|
+
|
|
5
|
+
const LAYOUT_FLEX = 'LayoutFlex';
|
|
6
|
+
const useLayoutFlexClassNames = (layout, props) => {
|
|
7
|
+
const { gap = LAYOUT_GAP_DEFAULT, nowrap, column, reverse, justifyContent, alignItems, inline, } = props || {};
|
|
8
|
+
return layout === 'flex'
|
|
9
|
+
? [
|
|
10
|
+
safeClassName(styles, LAYOUT_FLEX),
|
|
11
|
+
...localClasses(styles, LAYOUT_FLEX, [
|
|
12
|
+
['gap', gap],
|
|
13
|
+
[inline ? 'inline' : undefined],
|
|
14
|
+
[nowrap ? 'nowrap' : undefined],
|
|
15
|
+
[column ? 'column' : 'row', reverse ? 'rev' : 'fwd'],
|
|
16
|
+
['justify-content', justifyContent],
|
|
17
|
+
['align-items', alignItems],
|
|
18
|
+
]),
|
|
19
|
+
]
|
|
20
|
+
: [];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { useLayoutFlexClassNames };
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0RmxleENsYXNzTmFtZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXlvdXQvaG9va3MvdXNlTGF5b3V0RmxleENsYXNzTmFtZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMYXlvdXRGbGV4UHJvcHMsIExheW91dFR5cGUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgTEFZT1VUX0dBUF9ERUZBVUxUIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHsgbG9jYWxDbGFzc2VzLCBzYWZlQ2xhc3NOYW1lIH0gZnJvbSAnLi4vLi4vY3NzLW1vZHVsZSc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4uL3N0eWxlL2luZGV4Lm1vZHVsZS5sZXNzJztcblxuY29uc3QgTEFZT1VUX0ZMRVggPSAnTGF5b3V0RmxleCc7XG5cbnR5cGUgSG9vayA9IChsYXlvdXQ/OiBMYXlvdXRUeXBlLCBwcm9wcz86IExheW91dEZsZXhQcm9wcykgPT4gc3RyaW5nW107XG5cbmV4cG9ydCBjb25zdCB1c2VMYXlvdXRGbGV4Q2xhc3NOYW1lczogSG9vayA9IChsYXlvdXQsIHByb3BzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICBnYXAgPSBMQVlPVVRfR0FQX0RFRkFVTFQsXG4gICAgICAgIG5vd3JhcCxcbiAgICAgICAgY29sdW1uLFxuICAgICAgICByZXZlcnNlLFxuICAgICAgICBqdXN0aWZ5Q29udGVudCxcbiAgICAgICAgYWxpZ25JdGVtcyxcbiAgICAgICAgaW5saW5lLFxuICAgIH0gPSBwcm9wcyB8fCB7fTtcbiAgICByZXR1cm4gbGF5b3V0ID09PSAnZmxleCdcbiAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHNhZmVDbGFzc05hbWUoc3R5bGVzLCBMQVlPVVRfRkxFWCksXG4gICAgICAgICAgICAgIC4uLmxvY2FsQ2xhc3NlcyhzdHlsZXMsIExBWU9VVF9GTEVYLCBbXG4gICAgICAgICAgICAgICAgICBbJ2dhcCcsIGdhcF0sXG4gICAgICAgICAgICAgICAgICBbaW5saW5lID8gJ2lubGluZScgOiB1bmRlZmluZWRdLFxuICAgICAgICAgICAgICAgICAgW25vd3JhcCA/ICdub3dyYXAnIDogdW5kZWZpbmVkXSxcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW4gPyAnY29sdW1uJyA6ICdyb3cnLCByZXZlcnNlID8gJ3JldicgOiAnZndkJ10sXG4gICAgICAgICAgICAgICAgICBbJ2p1c3RpZnktY29udGVudCcsIGp1c3RpZnlDb250ZW50XSxcbiAgICAgICAgICAgICAgICAgIFsnYWxpZ24taXRlbXMnLCBhbGlnbkl0ZW1zXSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO01BSXBCLHVCQUF1QixHQUFTLENBQUMsTUFBTSxFQUFFLEtBQUs7SUFDdkQsTUFBTSxFQUNGLEdBQUcsR0FBRyxrQkFBa0IsRUFDeEIsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsY0FBYyxFQUNkLFVBQVUsRUFDVixNQUFNLEdBQ1QsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ2hCLE9BQU8sTUFBTSxLQUFLLE1BQU07VUFDbEI7WUFDSSxhQUFhLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztZQUNsQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO2dCQUNqQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztnQkFDL0IsQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztnQkFDL0IsQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLEtBQUssRUFBRSxPQUFPLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDcEQsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUM7Z0JBQ25DLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQzthQUM5QixDQUFDO1NBQ0w7VUFDRCxFQUFFLENBQUM7QUFDYjs7OzsifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LAYOUT_GAP_DEFAULT } from '@preply/ds-core';
|
|
2
|
+
import { safeClassName, localClasses } from '../../css-module/index.js';
|
|
3
|
+
import styles from '../style/index.module.less.js';
|
|
4
|
+
|
|
5
|
+
const LAYOUT_GRID = 'LayoutGrid';
|
|
6
|
+
const useLayoutGridClassNames = (layout, props) => {
|
|
7
|
+
const { gap = LAYOUT_GAP_DEFAULT, justifyContent, alignItems } = props || {};
|
|
8
|
+
return layout === 'grid'
|
|
9
|
+
? [
|
|
10
|
+
safeClassName(styles, LAYOUT_GRID),
|
|
11
|
+
...localClasses(styles, LAYOUT_GRID, [
|
|
12
|
+
['gap', gap],
|
|
13
|
+
['justify-content', justifyContent],
|
|
14
|
+
['align-items', alignItems],
|
|
15
|
+
]),
|
|
16
|
+
]
|
|
17
|
+
: [];
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { useLayoutGridClassNames };
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0R3JpZENsYXNzTmFtZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXlvdXQvaG9va3MvdXNlTGF5b3V0R3JpZENsYXNzTmFtZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMYXlvdXRHcmlkUHJvcHMsIExheW91dFR5cGUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgTEFZT1VUX0dBUF9ERUZBVUxUIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHsgbG9jYWxDbGFzc2VzLCBzYWZlQ2xhc3NOYW1lIH0gZnJvbSAnLi4vLi4vY3NzLW1vZHVsZSc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4uL3N0eWxlL2luZGV4Lm1vZHVsZS5sZXNzJztcblxuY29uc3QgTEFZT1VUX0dSSUQgPSAnTGF5b3V0R3JpZCc7XG5cbnR5cGUgSG9vayA9IChsYXlvdXQ/OiBMYXlvdXRUeXBlLCBwcm9wcz86IExheW91dEdyaWRQcm9wcykgPT4gc3RyaW5nW107XG5cbmV4cG9ydCBjb25zdCB1c2VMYXlvdXRHcmlkQ2xhc3NOYW1lczogSG9vayA9IChsYXlvdXQsIHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBnYXAgPSBMQVlPVVRfR0FQX0RFRkFVTFQsIGp1c3RpZnlDb250ZW50LCBhbGlnbkl0ZW1zIH0gPSBwcm9wcyB8fCB7fTtcbiAgICByZXR1cm4gbGF5b3V0ID09PSAnZ3JpZCdcbiAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHNhZmVDbGFzc05hbWUoc3R5bGVzLCBMQVlPVVRfR1JJRCksXG4gICAgICAgICAgICAgIC4uLmxvY2FsQ2xhc3NlcyhzdHlsZXMsIExBWU9VVF9HUklELCBbXG4gICAgICAgICAgICAgICAgICBbJ2dhcCcsIGdhcF0sXG4gICAgICAgICAgICAgICAgICBbJ2p1c3RpZnktY29udGVudCcsIGp1c3RpZnlDb250ZW50XSxcbiAgICAgICAgICAgICAgICAgIFsnYWxpZ24taXRlbXMnLCBhbGlnbkl0ZW1zXSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO01BSXBCLHVCQUF1QixHQUFTLENBQUMsTUFBTSxFQUFFLEtBQUs7SUFDdkQsTUFBTSxFQUFFLEdBQUcsR0FBRyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3RSxPQUFPLE1BQU0sS0FBSyxNQUFNO1VBQ2xCO1lBQ0ksYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7WUFDbEMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRTtnQkFDakMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2dCQUNaLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO2dCQUNuQyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7YUFDOUIsQ0FBQztTQUNMO1VBQ0QsRUFBRSxDQUFDO0FBQ2I7Ozs7In0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const useLayoutGridStyles = props => {
|
|
2
|
+
const { columns } = props || {};
|
|
3
|
+
const gridTemplateColumns = typeof columns === 'number' ? `repeat(${columns}, 1fr)` : columns === null || columns === void 0 ? void 0 : columns.join(' ');
|
|
4
|
+
return {
|
|
5
|
+
gridTemplateColumns,
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { useLayoutGridStyles };
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0R3JpZFN0eWxlcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xheW91dC9ob29rcy91c2VMYXlvdXRHcmlkU3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGF5b3V0R3JpZFByb3BzIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IENTU1Byb3BlcnRpZXMgfSBmcm9tICdyZWFjdCc7XG5cbnR5cGUgSG9vayA9IChwcm9wcz86IExheW91dEdyaWRQcm9wcykgPT4gQ1NTUHJvcGVydGllcztcblxuZXhwb3J0IGNvbnN0IHVzZUxheW91dEdyaWRTdHlsZXM6IEhvb2sgPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjb2x1bW5zIH0gPSBwcm9wcyB8fCB7fTtcblxuICAgIGNvbnN0IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPVxuICAgICAgICB0eXBlb2YgY29sdW1ucyA9PT0gJ251bWJlcicgPyBgcmVwZWF0KCR7Y29sdW1uc30sIDFmcilgIDogY29sdW1ucz8uam9pbignICcpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucyxcbiAgICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiTUFLYSxtQkFBbUIsR0FBUyxLQUFLO0lBQzFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBRWhDLE1BQU0sbUJBQW1CLEdBQ3JCLE9BQU8sT0FBTyxLQUFLLFFBQVEsR0FBRyxVQUFVLE9BQU8sUUFBUSxHQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakYsT0FBTztRQUNILG1CQUFtQjtLQUN0QixDQUFDO0FBQ047Ozs7In0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useLayoutGridStyles } from './useLayoutGridStyles.js';
|
|
2
|
+
|
|
3
|
+
const useLayoutStyles = props => {
|
|
4
|
+
const gridStyles = useLayoutGridStyles(props.grid);
|
|
5
|
+
return (props === null || props === void 0 ? void 0 : props.layout) === 'grid' ? gridStyles : {};
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { useLayoutStyles };
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0U3R5bGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGF5b3V0L2hvb2tzL3VzZUxheW91dFN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gICAgTGF5b3V0R3JpZFByb3BzLFxuICAgIE9wdGlvbmFsTGF5b3V0R3JpZFByb3BzLFxuICAgIE9wdGlvbmFsTGF5b3V0UHJvcHMsXG59IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBDU1NQcm9wZXJ0aWVzIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB1c2VMYXlvdXRHcmlkU3R5bGVzIH0gZnJvbSAnLi91c2VMYXlvdXRHcmlkU3R5bGVzJztcblxudHlwZSBIb29rID0gKHByb3BzPzogT3B0aW9uYWxMYXlvdXRQcm9wcykgPT4gQ1NTUHJvcGVydGllcztcblxuZXhwb3J0IGNvbnN0IHVzZUxheW91dFN0eWxlczogSG9vayA9IHByb3BzID0+IHtcbiAgICBjb25zdCBncmlkU3R5bGVzID0gdXNlTGF5b3V0R3JpZFN0eWxlcyhcbiAgICAgICAgKHByb3BzIGFzIE9wdGlvbmFsTGF5b3V0R3JpZFByb3BzKS5ncmlkIGFzIExheW91dEdyaWRQcm9wcyxcbiAgICApO1xuICAgIHJldHVybiBwcm9wcz8ubGF5b3V0ID09PSAnZ3JpZCcgPyBncmlkU3R5bGVzIDoge307XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BV2EsZUFBZSxHQUFTLEtBQUs7SUFDdEMsTUFBTSxVQUFVLEdBQUcsbUJBQW1CLENBQ2pDLEtBQWlDLENBQUMsSUFBdUIsQ0FDN0QsQ0FBQztJQUNGLE9BQU8sQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSxNQUFLLE1BQU0sR0FBRyxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3REOzs7OyJ9
|