@preply/ds-web-core 0.4.3-beta.33
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 +119 -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
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { useLayoutClassNames } from './hooks/useLayoutClassNames';
|
|
2
|
+
export { useLayoutFlexClassNames } from './hooks/useLayoutFlexClassNames';
|
|
3
|
+
export { useLayoutGridClassNames } from './hooks/useLayoutGridClassNames';
|
|
4
|
+
export { useLayoutStyles } from './hooks/useLayoutStyles';
|
|
5
|
+
export { useLayoutGridStyles } from './hooks/useLayoutGridStyles';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useLayoutClassNames } from './hooks/useLayoutClassNames.js';
|
|
2
|
+
export { useLayoutFlexClassNames } from './hooks/useLayoutFlexClassNames.js';
|
|
3
|
+
export { useLayoutGridClassNames } from './hooks/useLayoutGridClassNames.js';
|
|
4
|
+
export { useLayoutStyles } from './hooks/useLayoutStyles.js';
|
|
5
|
+
export { useLayoutGridStyles } from './hooks/useLayoutGridStyles.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OyJ9
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
@layout-gap: none, small, base, medium, large;
|
|
2
|
+
@justify-content: center, start, end, space-between, space-around, space-evenly;
|
|
3
|
+
@align-content: center, space-between, space-around, space-evenly, stretch;
|
|
4
|
+
@justify-items: start, center, end, stretch;
|
|
5
|
+
@align-items: center, start, end, stretch, baseline;
|
|
6
|
+
|
|
7
|
+
.layout-gap() {
|
|
8
|
+
each(@layout-gap, {
|
|
9
|
+
&--gap-@{value} {
|
|
10
|
+
@token: 'gap-@{value}';
|
|
11
|
+
.gap('layout', @token);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.layout-justify-content() {
|
|
17
|
+
each(@justify-content, {
|
|
18
|
+
&--justify-content-@{value} {
|
|
19
|
+
justify-content: @value;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.layout-align-content() {
|
|
25
|
+
each(@align-content, {
|
|
26
|
+
&--align-content-@{value} {
|
|
27
|
+
align-content: @value;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.layout-justify-items() {
|
|
33
|
+
each(@justify-items, {
|
|
34
|
+
&--justify-items-@{value} {
|
|
35
|
+
justify-items: @value;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.layout-align-items() {
|
|
41
|
+
each(@align-items, {
|
|
42
|
+
&--align-items-@{value} {
|
|
43
|
+
align-items: @value;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
@@ -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,33 @@
|
|
|
1
|
+
@import '../../theme/style/declarations.mixins.less';
|
|
2
|
+
|
|
3
|
+
.flex-base() {
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-wrap: wrap;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.flex-wrap() {
|
|
9
|
+
&--nowrap {
|
|
10
|
+
flex-wrap: nowrap;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.flex-inline() {
|
|
15
|
+
&--inline {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.flex-direction() {
|
|
21
|
+
&--row-fwd {
|
|
22
|
+
flex-direction: row;
|
|
23
|
+
}
|
|
24
|
+
&--row-rev {
|
|
25
|
+
flex-direction: row-reverse;
|
|
26
|
+
}
|
|
27
|
+
&--column-fwd {
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
}
|
|
30
|
+
&--column-rev {
|
|
31
|
+
flex-direction: column-reverse;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -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,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,22 @@
|
|
|
1
|
+
@import './common.mixins.less';
|
|
2
|
+
@import './flex.mixins.less';
|
|
3
|
+
@import './grid.mixins.less';
|
|
4
|
+
|
|
5
|
+
.LayoutFlex {
|
|
6
|
+
.flex-base();
|
|
7
|
+
.flex-wrap();
|
|
8
|
+
.flex-inline();
|
|
9
|
+
.layout-gap();
|
|
10
|
+
.flex-direction();
|
|
11
|
+
.layout-justify-content();
|
|
12
|
+
.layout-align-items();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.LayoutGrid {
|
|
16
|
+
.grid-base();
|
|
17
|
+
.layout-gap();
|
|
18
|
+
.layout-justify-content();
|
|
19
|
+
.layout-align-content();
|
|
20
|
+
.layout-justify-items();
|
|
21
|
+
.layout-align-items();
|
|
22
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import styleInject from '../../external/style-inject/dist/style-inject.es.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = "._15uGWh {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n._3rnoor {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n._1_IXQm {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n._1eu8AB {\n grid-gap: var(--layout--gap-none--space);\n gap: var(--layout--gap-none--space);\n}\n._3yYLRc {\n grid-gap: var(--layout--gap-small--space);\n gap: var(--layout--gap-small--space);\n}\n._1nDuVC {\n grid-gap: var(--layout--gap-base--space);\n gap: var(--layout--gap-base--space);\n}\n.ZknBAf {\n grid-gap: var(--layout--gap-medium--space);\n gap: var(--layout--gap-medium--space);\n}\n._1WqO9Z {\n grid-gap: var(--layout--gap-large--space);\n gap: var(--layout--gap-large--space);\n}\n.X4eHUe {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n._3_M_4w {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n._2ByMq1 {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n._3_8VIk {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n._3Aw3T1 {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._10X-3Q {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: start;\n}\n._33a0v9 {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: end;\n}\n._3qMVGq {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._2REBgi {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n._3zq1C_ {\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n}\n.hUFwKI {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n._1BOjPg {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: start;\n}\n._3AQmNs {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: end;\n}\n._3orDH1 {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n.qh7on_ {\n -webkit-box-align: baseline;\n -ms-flex-align: baseline;\n align-items: baseline;\n}\n._1C0eq8 {\n display: grid;\n}\n._3JhbNt {\n grid-gap: var(--layout--gap-none--space);\n gap: var(--layout--gap-none--space);\n}\n.yQz5G0 {\n grid-gap: var(--layout--gap-small--space);\n gap: var(--layout--gap-small--space);\n}\n.sj0cbB {\n grid-gap: var(--layout--gap-base--space);\n gap: var(--layout--gap-base--space);\n}\n._22Ohoz {\n grid-gap: var(--layout--gap-medium--space);\n gap: var(--layout--gap-medium--space);\n}\n._16o5et {\n grid-gap: var(--layout--gap-large--space);\n gap: var(--layout--gap-large--space);\n}\n._25SpXB {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._3GDeqz {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: start;\n}\n._2-jaGe {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: end;\n}\n._3lGct7 {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._2wHTdX {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n._1BVKaN {\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n}\n._3QOaa3 {\n -ms-flex-line-pack: center;\n align-content: center;\n}\n._2pBQs3 {\n -ms-flex-line-pack: justify;\n align-content: space-between;\n}\n.gTA891 {\n -ms-flex-line-pack: distribute;\n align-content: space-around;\n}\n._H9jFl {\n -ms-flex-line-pack: space-evenly;\n align-content: space-evenly;\n}\n._2pB881 {\n -ms-flex-line-pack: stretch;\n align-content: stretch;\n}\n.ctOm0o {\n justify-items: start;\n}\n._3ZqB_F {\n justify-items: center;\n}\n.Ya0UyE {\n justify-items: end;\n}\n._180uXD {\n justify-items: stretch;\n}\n._1nyAA2 {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n._1Xe-EI {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: start;\n}\n._3hQvqA {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: end;\n}\n.KBSz7h {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n.KBW4yE {\n -webkit-box-align: baseline;\n -ms-flex-align: baseline;\n align-items: baseline;\n}\n";
|
|
4
|
+
var styles = {"LayoutFlex":"_15uGWh","LayoutFlex--nowrap":"_3rnoor","LayoutFlex--inline":"_1_IXQm","LayoutFlex--gap-none":"_1eu8AB","LayoutFlex--gap-small":"_3yYLRc","LayoutFlex--gap-base":"_1nDuVC","LayoutFlex--gap-medium":"ZknBAf","LayoutFlex--gap-large":"_1WqO9Z","LayoutFlex--row-fwd":"X4eHUe","LayoutFlex--row-rev":"_3_M_4w","LayoutFlex--column-fwd":"_2ByMq1","LayoutFlex--column-rev":"_3_8VIk","LayoutFlex--justify-content-center":"_3Aw3T1","LayoutFlex--justify-content-start":"_10X-3Q","LayoutFlex--justify-content-end":"_33a0v9","LayoutFlex--justify-content-space-between":"_3qMVGq","LayoutFlex--justify-content-space-around":"_2REBgi","LayoutFlex--justify-content-space-evenly":"_3zq1C_","LayoutFlex--align-items-center":"hUFwKI","LayoutFlex--align-items-start":"_1BOjPg","LayoutFlex--align-items-end":"_3AQmNs","LayoutFlex--align-items-stretch":"_3orDH1","LayoutFlex--align-items-baseline":"qh7on_","LayoutGrid":"_1C0eq8","LayoutGrid--gap-none":"_3JhbNt","LayoutGrid--gap-small":"yQz5G0","LayoutGrid--gap-base":"sj0cbB","LayoutGrid--gap-medium":"_22Ohoz","LayoutGrid--gap-large":"_16o5et","LayoutGrid--justify-content-center":"_25SpXB","LayoutGrid--justify-content-start":"_3GDeqz","LayoutGrid--justify-content-end":"_2-jaGe","LayoutGrid--justify-content-space-between":"_3lGct7","LayoutGrid--justify-content-space-around":"_2wHTdX","LayoutGrid--justify-content-space-evenly":"_1BVKaN","LayoutGrid--align-content-center":"_3QOaa3","LayoutGrid--align-content-space-between":"_2pBQs3","LayoutGrid--align-content-space-around":"gTA891","LayoutGrid--align-content-space-evenly":"_H9jFl","LayoutGrid--align-content-stretch":"_2pB881","LayoutGrid--justify-items-start":"ctOm0o","LayoutGrid--justify-items-center":"_3ZqB_F","LayoutGrid--justify-items-end":"Ya0UyE","LayoutGrid--justify-items-stretch":"_180uXD","LayoutGrid--align-items-center":"_1nyAA2","LayoutGrid--align-items-start":"_1Xe-EI","LayoutGrid--align-items-end":"_3hQvqA","LayoutGrid--align-items-stretch":"KBSz7h","LayoutGrid--align-items-baseline":"KBW4yE"};
|
|
5
|
+
var stylesheet="._15uGWh {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n._3rnoor {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n._1_IXQm {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n._1eu8AB {\n grid-gap: var(--layout--gap-none--space);\n gap: var(--layout--gap-none--space);\n}\n._3yYLRc {\n grid-gap: var(--layout--gap-small--space);\n gap: var(--layout--gap-small--space);\n}\n._1nDuVC {\n grid-gap: var(--layout--gap-base--space);\n gap: var(--layout--gap-base--space);\n}\n.ZknBAf {\n grid-gap: var(--layout--gap-medium--space);\n gap: var(--layout--gap-medium--space);\n}\n._1WqO9Z {\n grid-gap: var(--layout--gap-large--space);\n gap: var(--layout--gap-large--space);\n}\n.X4eHUe {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n._3_M_4w {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n._2ByMq1 {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n._3_8VIk {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n._3Aw3T1 {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._10X-3Q {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: start;\n}\n._33a0v9 {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: end;\n}\n._3qMVGq {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._2REBgi {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n._3zq1C_ {\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n}\n.hUFwKI {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n._1BOjPg {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: start;\n}\n._3AQmNs {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: end;\n}\n._3orDH1 {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n.qh7on_ {\n -webkit-box-align: baseline;\n -ms-flex-align: baseline;\n align-items: baseline;\n}\n._1C0eq8 {\n display: grid;\n}\n._3JhbNt {\n grid-gap: var(--layout--gap-none--space);\n gap: var(--layout--gap-none--space);\n}\n.yQz5G0 {\n grid-gap: var(--layout--gap-small--space);\n gap: var(--layout--gap-small--space);\n}\n.sj0cbB {\n grid-gap: var(--layout--gap-base--space);\n gap: var(--layout--gap-base--space);\n}\n._22Ohoz {\n grid-gap: var(--layout--gap-medium--space);\n gap: var(--layout--gap-medium--space);\n}\n._16o5et {\n grid-gap: var(--layout--gap-large--space);\n gap: var(--layout--gap-large--space);\n}\n._25SpXB {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._3GDeqz {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: start;\n}\n._2-jaGe {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: end;\n}\n._3lGct7 {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._2wHTdX {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n._1BVKaN {\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n}\n._3QOaa3 {\n -ms-flex-line-pack: center;\n align-content: center;\n}\n._2pBQs3 {\n -ms-flex-line-pack: justify;\n align-content: space-between;\n}\n.gTA891 {\n -ms-flex-line-pack: distribute;\n align-content: space-around;\n}\n._H9jFl {\n -ms-flex-line-pack: space-evenly;\n align-content: space-evenly;\n}\n._2pB881 {\n -ms-flex-line-pack: stretch;\n align-content: stretch;\n}\n.ctOm0o {\n justify-items: start;\n}\n._3ZqB_F {\n justify-items: center;\n}\n.Ya0UyE {\n justify-items: end;\n}\n._180uXD {\n justify-items: stretch;\n}\n._1nyAA2 {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n._1Xe-EI {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: start;\n}\n._3hQvqA {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: end;\n}\n.KBSz7h {\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n.KBW4yE {\n -webkit-box-align: baseline;\n -ms-flex-align: baseline;\n align-items: baseline;\n}\n";
|
|
6
|
+
styleInject(css_248z);
|
|
7
|
+
|
|
8
|
+
export { styles as default, stylesheet };
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbbnVsbF0sInNvdXJjZXNDb250ZW50IjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixxREFBeUQ7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7In0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const currentProtocol = () => window.location.protocol;
|
|
2
|
+
const currentHref = () => window.location.href;
|
|
3
|
+
|
|
4
|
+
export { currentHref, currentProtocol };
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhdGlvbi9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgY3VycmVudFByb3RvY29sID0gKCk6IHN0cmluZyA9PiB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7XG5cbmV4cG9ydCBjb25zdCBjdXJyZW50SHJlZiA9ICgpOiBzdHJpbmcgPT4gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik1BQWEsZUFBZSxHQUFHLE1BQWMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTO01BRXpELFdBQVcsR0FBRyxNQUFjLE1BQU0sQ0FBQyxRQUFRLENBQUM7Ozs7In0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ThemeName } from '@preply/ds-core';
|
|
2
|
+
import type { CSSModule } from '../../css-module/types';
|
|
3
|
+
import type { ThemeInterface, TokenMap } from '../types';
|
|
4
|
+
export declare class Theme implements ThemeInterface {
|
|
5
|
+
static PREFIX: string;
|
|
6
|
+
static ROOT_CLASS: string;
|
|
7
|
+
private styles;
|
|
8
|
+
private values?;
|
|
9
|
+
private tokens?;
|
|
10
|
+
private extend;
|
|
11
|
+
readonly name: any;
|
|
12
|
+
constructor(styles: CSSModule, name: ThemeName, extend?: Theme[], values?: TokenMap, tokens?: TokenMap);
|
|
13
|
+
private token;
|
|
14
|
+
getClassName(): string;
|
|
15
|
+
fgColor(component: string, variant: string): string;
|
|
16
|
+
bgColor(component: string, variant: string): string;
|
|
17
|
+
radius(component: string): string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { safeClassName } from '../../css-module/index.js';
|
|
2
|
+
import { TOKEN_COLOR_FG, TOKEN_COLOR_BG, TOKEN_RADIUS } from '../constants.js';
|
|
3
|
+
|
|
4
|
+
class Theme {
|
|
5
|
+
constructor(styles, name, extend = [], values, tokens) {
|
|
6
|
+
this.styles = styles;
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.extend = extend;
|
|
9
|
+
this.values = values;
|
|
10
|
+
this.tokens = tokens;
|
|
11
|
+
}
|
|
12
|
+
token(name) {
|
|
13
|
+
if (!this.tokens || !this.values) {
|
|
14
|
+
throw new Error(`Theme ${this.name} was instantiated without tokens`);
|
|
15
|
+
}
|
|
16
|
+
const key = this.tokens[name];
|
|
17
|
+
if (!key) {
|
|
18
|
+
throw new Error(`Unknown token ${name} in theme ${this.name}`);
|
|
19
|
+
}
|
|
20
|
+
const value = this.values[key];
|
|
21
|
+
if (!value) {
|
|
22
|
+
throw new Error(`Unknown value ${key} for token ${name} in theme ${this.name}`);
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
getClassName() {
|
|
27
|
+
const extendedClasses = this.extend.map(theme => theme.getClassName());
|
|
28
|
+
const selfClass = safeClassName(this.styles, Theme.PREFIX + this.name);
|
|
29
|
+
return [selfClass, ...extendedClasses].join(' ');
|
|
30
|
+
}
|
|
31
|
+
fgColor(component, variant) {
|
|
32
|
+
return this.token(`${TOKEN_COLOR_FG}-${component}-${variant}`);
|
|
33
|
+
}
|
|
34
|
+
bgColor(component, variant) {
|
|
35
|
+
return this.token(`${TOKEN_COLOR_BG}-${component}-${variant}`);
|
|
36
|
+
}
|
|
37
|
+
radius(component) {
|
|
38
|
+
return this.token(`${TOKEN_RADIUS}-${component}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
Theme.PREFIX = 'ds-';
|
|
42
|
+
Theme.ROOT_CLASS = 'root';
|
|
43
|
+
|
|
44
|
+
export { Theme };
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9jbGFzc2VzL1RoZW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGhlbWVOYW1lIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcblxuaW1wb3J0IHsgc2FmZUNsYXNzTmFtZSB9IGZyb20gJy4uLy4uL2Nzcy1tb2R1bGUnO1xuaW1wb3J0IHR5cGUgeyBDU1NNb2R1bGUgfSBmcm9tICcuLi8uLi9jc3MtbW9kdWxlL3R5cGVzJztcbmltcG9ydCB7IFRPS0VOX0NPTE9SX0JHLCBUT0tFTl9DT0xPUl9GRywgVE9LRU5fUkFESVVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgVGhlbWVJbnRlcmZhY2UsIFRva2VuTWFwIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGhlbWUgaW1wbGVtZW50cyBUaGVtZUludGVyZmFjZSB7XG4gICAgc3RhdGljIFBSRUZJWCA9ICdkcy0nO1xuICAgIHN0YXRpYyBST09UX0NMQVNTID0gJ3Jvb3QnO1xuXG4gICAgcHJpdmF0ZSBzdHlsZXM6IENTU01vZHVsZTtcbiAgICBwcml2YXRlIHZhbHVlcz86IFRva2VuTWFwO1xuICAgIHByaXZhdGUgdG9rZW5zPzogVG9rZW5NYXA7XG4gICAgcHJpdmF0ZSBleHRlbmQ6IFRoZW1lW107XG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgc3R5bGVzOiBDU1NNb2R1bGUsXG4gICAgICAgIG5hbWU6IFRoZW1lTmFtZSxcbiAgICAgICAgZXh0ZW5kOiBUaGVtZVtdID0gW10sXG4gICAgICAgIHZhbHVlcz86IFRva2VuTWFwLFxuICAgICAgICB0b2tlbnM/OiBUb2tlbk1hcCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdHlsZXMgPSBzdHlsZXM7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuZXh0ZW5kID0gZXh0ZW5kO1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgdGhpcy50b2tlbnMgPSB0b2tlbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2tlbihuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRva2VucyB8fCAhdGhpcy52YWx1ZXMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlbWUgJHt0aGlzLm5hbWV9IHdhcyBpbnN0YW50aWF0ZWQgd2l0aG91dCB0b2tlbnNgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnRva2Vuc1tuYW1lXTtcbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB0b2tlbiAke25hbWV9IGluIHRoZW1lICR7dGhpcy5uYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZXNba2V5XTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHZhbHVlICR7a2V5fSBmb3IgdG9rZW4gJHtuYW1lfSBpbiB0aGVtZSAke3RoaXMubmFtZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0Q2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkQ2xhc3NlcyA9IHRoaXMuZXh0ZW5kLm1hcCh0aGVtZSA9PiB0aGVtZS5nZXRDbGFzc05hbWUoKSk7XG4gICAgICAgIGNvbnN0IHNlbGZDbGFzcyA9IHNhZmVDbGFzc05hbWUodGhpcy5zdHlsZXMsIFRoZW1lLlBSRUZJWCArIHRoaXMubmFtZSk7XG4gICAgICAgIHJldHVybiBbc2VsZkNsYXNzLCAuLi5leHRlbmRlZENsYXNzZXNdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBmZ0NvbG9yKGNvbXBvbmVudDogc3RyaW5nLCB2YXJpYW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbihgJHtUT0tFTl9DT0xPUl9GR30tJHtjb21wb25lbnR9LSR7dmFyaWFudH1gKTtcbiAgICB9XG5cbiAgICBiZ0NvbG9yKGNvbXBvbmVudDogc3RyaW5nLCB2YXJpYW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbihgJHtUT0tFTl9DT0xPUl9CR30tJHtjb21wb25lbnR9LSR7dmFyaWFudH1gKTtcbiAgICB9XG5cbiAgICByYWRpdXMoY29tcG9uZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbihgJHtUT0tFTl9SQURJVVN9LSR7Y29tcG9uZW50fWApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFPYSxLQUFLO0lBVWQsWUFDSSxNQUFpQixFQUNqQixJQUFlLEVBQ2YsU0FBa0IsRUFBRSxFQUNwQixNQUFpQixFQUNqQixNQUFpQjtRQUVqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUN4QjtJQUVPLEtBQUssQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksa0NBQWtDLENBQUMsQ0FBQztTQUN6RTtRQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLElBQUksYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNsRTtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDbkY7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELFlBQVk7UUFDUixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sQ0FBQyxTQUFpQixFQUFFLE9BQWU7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsY0FBYyxJQUFJLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFO0lBRUQsT0FBTyxDQUFDLFNBQWlCLEVBQUUsT0FBZTtRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxjQUFjLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDbEU7SUFFRCxNQUFNLENBQUMsU0FBaUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxJQUFJLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDckQ7O0FBdERNLFlBQU0sR0FBRyxLQUFLLENBQUM7QUFDZixnQkFBVSxHQUFHLE1BQU07Ozs7In0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const TOKEN_COLOR_FG = 'color-fg';
|
|
2
|
+
const TOKEN_COLOR_BG = 'color-bg';
|
|
3
|
+
const TOKEN_RADIUS = 'radius';
|
|
4
|
+
|
|
5
|
+
export { TOKEN_COLOR_BG, TOKEN_COLOR_FG, TOKEN_RADIUS };
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGhlbWUvY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUT0tFTl9DT0xPUl9GRyA9ICdjb2xvci1mZyc7XG5leHBvcnQgY29uc3QgVE9LRU5fQ09MT1JfQkcgPSAnY29sb3ItYmcnO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1JBRElVUyA9ICdyYWRpdXMnO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJNQUFhLGNBQWMsR0FBRyxXQUFXO01BQzVCLGNBQWMsR0FBRyxXQUFXO01BQzVCLFlBQVksR0FBRzs7OzsifQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ThemeName } from '@preply/ds-core';
|
|
2
|
+
import { ComponentType, FC } from 'react';
|
|
3
|
+
export interface ThemeProps {
|
|
4
|
+
theme?: ThemeName;
|
|
5
|
+
}
|
|
6
|
+
export interface WithThemeProps {
|
|
7
|
+
themeClassName?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function withTheme<P>(Component: ComponentType<P>): FC<P & ThemeProps>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useTheme } from '../hooks/useTheme.js';
|
|
3
|
+
import { useThemes } from '../hooks/useThemes.js';
|
|
4
|
+
import { ThemeProvider } from '../providers/ThemeProvider.js';
|
|
5
|
+
|
|
6
|
+
function withTheme(Component) {
|
|
7
|
+
const Wrapper = ({ theme: themeName, ...props }) => {
|
|
8
|
+
const { findTheme } = useThemes();
|
|
9
|
+
const { theme: currentTheme } = useTheme();
|
|
10
|
+
const newTheme = themeName && findTheme(themeName);
|
|
11
|
+
if (newTheme && newTheme !== currentTheme) {
|
|
12
|
+
return (React.createElement(ThemeProvider, { theme: newTheme.name },
|
|
13
|
+
React.createElement(Component, Object.assign({ themeClassName: newTheme.getClassName() }, props))));
|
|
14
|
+
}
|
|
15
|
+
return React.createElement(Component, Object.assign({}, props));
|
|
16
|
+
};
|
|
17
|
+
Wrapper.displayName = `withTheme(${Component.displayName})`;
|
|
18
|
+
return Wrapper;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { withTheme };
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFRoZW1lLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvaG9jcy93aXRoVGhlbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGhlbWVOYW1lIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnRUeXBlLCBGQyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICcuLi9ob29rcy91c2VUaGVtZSc7XG5pbXBvcnQgeyB1c2VUaGVtZXMgfSBmcm9tICcuLi9ob29rcy91c2VUaGVtZXMnO1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciB9IGZyb20gJy4uL3Byb3ZpZGVycy9UaGVtZVByb3ZpZGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZVByb3BzIHtcbiAgICB0aGVtZT86IFRoZW1lTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoVGhlbWVQcm9wcyB7XG4gICAgdGhlbWVDbGFzc05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoVGhlbWU8UD4oQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFA+KTogRkM8UCAmIFRoZW1lUHJvcHM+IHtcbiAgICBjb25zdCBXcmFwcGVyOiBGQzxQICYgVGhlbWVQcm9wcz4gPSAoeyB0aGVtZTogdGhlbWVOYW1lLCAuLi5wcm9wcyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZmluZFRoZW1lIH0gPSB1c2VUaGVtZXMoKTtcbiAgICAgICAgY29uc3QgeyB0aGVtZTogY3VycmVudFRoZW1lIH0gPSB1c2VUaGVtZSgpO1xuXG4gICAgICAgIGNvbnN0IG5ld1RoZW1lID0gdGhlbWVOYW1lICYmIGZpbmRUaGVtZSh0aGVtZU5hbWUpO1xuXG4gICAgICAgIGlmIChuZXdUaGVtZSAmJiBuZXdUaGVtZSAhPT0gY3VycmVudFRoZW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXtuZXdUaGVtZS5uYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgPENvbXBvbmVudCB0aGVtZUNsYXNzTmFtZT17bmV3VGhlbWUuZ2V0Q2xhc3NOYW1lKCl9IHsuLi4ocHJvcHMgYXMgUCl9IC8+XG4gICAgICAgICAgICAgICAgPC9UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gPENvbXBvbmVudCB7Li4uKHByb3BzIGFzIFApfSAvPjtcbiAgICB9O1xuXG4gICAgV3JhcHBlci5kaXNwbGF5TmFtZSA9IGB3aXRoVGhlbWUoJHtDb21wb25lbnQuZGlzcGxheU5hbWV9KWA7XG4gICAgcmV0dXJuIFdyYXBwZXI7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7U0FlZ0IsU0FBUyxDQUFJLFNBQTJCO0lBQ3BELE1BQU0sT0FBTyxHQUF1QixDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBRTtRQUMvRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDbEMsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUUzQyxNQUFNLFFBQVEsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELElBQUksUUFBUSxJQUFJLFFBQVEsS0FBSyxZQUFZLEVBQUU7WUFDdkMsUUFDSSxvQkFBQyxhQUFhLElBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJO2dCQUMvQixvQkFBQyxTQUFTLGtCQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFLElBQU8sS0FBVyxFQUFJLENBQzVELEVBQ2xCO1NBQ0w7UUFDRCxPQUFPLG9CQUFDLFNBQVMsb0JBQU0sS0FBVyxFQUFJLENBQUM7S0FDMUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUcsYUFBYSxTQUFTLENBQUMsV0FBVyxHQUFHLENBQUM7SUFDNUQsT0FBTyxPQUFPLENBQUM7QUFDbkI7Ozs7In0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ThemeContext } from '../providers/ThemeProvider.js';
|
|
3
|
+
|
|
4
|
+
const useSetTheme = () => {
|
|
5
|
+
const { setTheme } = useContext(ThemeContext);
|
|
6
|
+
return { setTheme };
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { useSetTheme };
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU2V0VGhlbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9ob29rcy91c2VTZXRUaGVtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFRoZW1lQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL1RoZW1lUHJvdmlkZXInO1xuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vcHJvdmlkZXJzL1RoZW1lUHJvdmlkZXInO1xuXG5leHBvcnQgY29uc3QgdXNlU2V0VGhlbWUgPSAoKTogUGljazxUaGVtZUNvbnRleHRTdGF0ZSwgJ3NldFRoZW1lJz4gPT4ge1xuICAgIGNvbnN0IHsgc2V0VGhlbWUgfSA9IHVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbiAgICByZXR1cm4geyBzZXRUaGVtZSB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFLYSxXQUFXLEdBQUc7SUFDdkIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDeEI7Ozs7In0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ThemeContext } from '../providers/ThemeProvider.js';
|
|
3
|
+
|
|
4
|
+
const useTheme = () => {
|
|
5
|
+
const { theme } = useContext(ThemeContext);
|
|
6
|
+
if (!theme) {
|
|
7
|
+
throw new Error('useTheme() must be used within a ThemeProvider');
|
|
8
|
+
}
|
|
9
|
+
return { theme };
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { useTheme };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGhlbWUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9ob29rcy91c2VUaGVtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFRoZW1lQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL1RoZW1lUHJvdmlkZXInO1xuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vcHJvdmlkZXJzL1RoZW1lUHJvdmlkZXInO1xuXG5leHBvcnQgY29uc3QgdXNlVGhlbWUgPSAoKTogVGhlbWVDb250ZXh0U3RhdGUgPT4ge1xuICAgIGNvbnN0IHsgdGhlbWUgfSA9IHVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbiAgICBpZiAoIXRoZW1lKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndXNlVGhlbWUoKSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgVGhlbWVQcm92aWRlcicpO1xuICAgIH1cbiAgICByZXR1cm4geyB0aGVtZSB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFLYSxRQUFRLEdBQUc7SUFDcEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0tBQ3JFO0lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ3JCOzs7OyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ThemesContext } from '../providers/ThemesProvider.js';
|
|
3
|
+
|
|
4
|
+
const useThemes = () => {
|
|
5
|
+
const { themes, findTheme, findColorScheme } = useContext(ThemesContext);
|
|
6
|
+
if (!themes) {
|
|
7
|
+
throw new Error('useThemes() must be used within a ThemesProvider');
|
|
8
|
+
}
|
|
9
|
+
return { themes, findTheme, findColorScheme };
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { useThemes };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGhlbWVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGhlbWUvaG9va3MvdXNlVGhlbWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgVGhlbWVzQ29udGV4dFN0YXRlIH0gZnJvbSAnLi4vcHJvdmlkZXJzL1RoZW1lc1Byb3ZpZGVyJztcbmltcG9ydCB7IFRoZW1lc0NvbnRleHQgfSBmcm9tICcuLi9wcm92aWRlcnMvVGhlbWVzUHJvdmlkZXInO1xuXG5leHBvcnQgY29uc3QgdXNlVGhlbWVzID0gKCk6IFRoZW1lc0NvbnRleHRTdGF0ZSA9PiB7XG4gICAgY29uc3QgeyB0aGVtZXMsIGZpbmRUaGVtZSwgZmluZENvbG9yU2NoZW1lIH0gPSB1c2VDb250ZXh0KFRoZW1lc0NvbnRleHQpO1xuICAgIGlmICghdGhlbWVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndXNlVGhlbWVzKCkgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFRoZW1lc1Byb3ZpZGVyJyk7XG4gICAgfVxuICAgIHJldHVybiB7IHRoZW1lcywgZmluZFRoZW1lLCBmaW5kQ29sb3JTY2hlbWUgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BS2EsU0FBUyxHQUFHO0lBQ3JCLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDbEQ7Ozs7In0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { ThemeInterface } from './types';
|
|
2
|
+
export { Theme } from './classes/Theme';
|
|
3
|
+
export type { ThemesProviderProps } from './providers/ThemesProvider';
|
|
4
|
+
export { ThemesProvider } from './providers/ThemesProvider';
|
|
5
|
+
export type { ThemeProviderProps } from './providers/ThemeProvider';
|
|
6
|
+
export { ThemeProvider } from './providers/ThemeProvider';
|
|
7
|
+
export { useTheme } from './hooks/useTheme';
|
|
8
|
+
export { useThemes } from './hooks/useThemes';
|
|
9
|
+
export { useSetTheme } from './hooks/useSetTheme';
|
|
10
|
+
export type { ThemeProps, WithThemeProps } from './hocs/withTheme';
|
|
11
|
+
export { withTheme } from './hocs/withTheme';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Theme } from './classes/Theme.js';
|
|
2
|
+
export { ThemesProvider } from './providers/ThemesProvider.js';
|
|
3
|
+
export { ThemeProvider } from './providers/ThemeProvider.js';
|
|
4
|
+
export { useTheme } from './hooks/useTheme.js';
|
|
5
|
+
export { useThemes } from './hooks/useThemes.js';
|
|
6
|
+
export { useSetTheme } from './hooks/useSetTheme.js';
|
|
7
|
+
export { withTheme } from './hocs/withTheme.js';
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ThemeName } from '@preply/ds-core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { ThemeInterface } from '../types';
|
|
4
|
+
export interface ThemeProviderProps {
|
|
5
|
+
theme: ThemeName;
|
|
6
|
+
tag?: keyof JSX.IntrinsicElements;
|
|
7
|
+
}
|
|
8
|
+
declare type SetTheme = (newTheme: ThemeInterface) => void;
|
|
9
|
+
export interface ThemeContextState {
|
|
10
|
+
theme: ThemeInterface;
|
|
11
|
+
setTheme?: SetTheme;
|
|
12
|
+
}
|
|
13
|
+
export declare const ThemeContext: React.Context<ThemeContextState>;
|
|
14
|
+
export declare const ThemeProvider: React.FC<ThemeProviderProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { createContext, useState } from 'react';
|
|
2
|
+
import { useThemes } from '../hooks/useThemes.js';
|
|
3
|
+
|
|
4
|
+
const ThemeContext = createContext({});
|
|
5
|
+
const ThemeProvider = ({ theme: themeName, children, tag: Tag, }) => {
|
|
6
|
+
const { findTheme } = useThemes();
|
|
7
|
+
const [theme, setTheme] = useState(findTheme(themeName));
|
|
8
|
+
return (React.createElement(ThemeContext.Provider, { value: { theme, setTheme } },
|
|
9
|
+
Tag && React.createElement(Tag, { className: theme.getClassName() }, children),
|
|
10
|
+
!Tag && children));
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { ThemeContext, ThemeProvider };
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVQcm92aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RoZW1lL3Byb3ZpZGVycy9UaGVtZVByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRoZW1lTmFtZSB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHVzZVRoZW1lcyB9IGZyb20gJy4uL2hvb2tzL3VzZVRoZW1lcyc7XG5pbXBvcnQgdHlwZSB7IFRoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lUHJvdmlkZXJQcm9wcyB7XG4gICAgdGhlbWU6IFRoZW1lTmFtZTtcbiAgICB0YWc/OiBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHM7XG59XG5cbnR5cGUgU2V0VGhlbWUgPSAobmV3VGhlbWU6IFRoZW1lSW50ZXJmYWNlKSA9PiB2b2lkO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lQ29udGV4dFN0YXRlIHtcbiAgICB0aGVtZTogVGhlbWVJbnRlcmZhY2U7XG4gICAgc2V0VGhlbWU/OiBTZXRUaGVtZTtcbn1cblxuZXhwb3J0IGNvbnN0IFRoZW1lQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8VGhlbWVDb250ZXh0U3RhdGU+KHt9IGFzIFRoZW1lQ29udGV4dFN0YXRlKTtcblxuZXhwb3J0IGNvbnN0IFRoZW1lUHJvdmlkZXI6IFJlYWN0LkZDPFRoZW1lUHJvdmlkZXJQcm9wcz4gPSAoe1xuICAgIHRoZW1lOiB0aGVtZU5hbWUsXG4gICAgY2hpbGRyZW4sXG4gICAgdGFnOiBUYWcsXG59KSA9PiB7XG4gICAgY29uc3QgeyBmaW5kVGhlbWUgfSA9IHVzZVRoZW1lcygpO1xuXG4gICAgY29uc3QgW3RoZW1lLCBzZXRUaGVtZV0gPSB1c2VTdGF0ZTxUaGVtZUludGVyZmFjZT4oZmluZFRoZW1lKHRoZW1lTmFtZSkpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRoZW1lQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyB0aGVtZSwgc2V0VGhlbWUgfX0+XG4gICAgICAgICAgICB7VGFnICYmIDxUYWcgY2xhc3NOYW1lPXt0aGVtZS5nZXRDbGFzc05hbWUoKX0+e2NoaWxkcmVufTwvVGFnPn1cbiAgICAgICAgICAgIHshVGFnICYmIGNoaWxkcmVufVxuICAgICAgICA8L1RoZW1lQ29udGV4dC5Qcm92aWRlcj5cbiAgICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFrQmEsWUFBWSxHQUFHLGFBQWEsQ0FBb0IsRUFBdUIsRUFBRTtNQUV6RSxhQUFhLEdBQWlDLENBQUMsRUFDeEQsS0FBSyxFQUFFLFNBQVMsRUFDaEIsUUFBUSxFQUNSLEdBQUcsRUFBRSxHQUFHLEdBQ1g7SUFDRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQWlCLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXpFLFFBQ0ksb0JBQUMsWUFBWSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1FBQzVDLEdBQUcsSUFBSSxvQkFBQyxHQUFHLElBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBRyxRQUFRLENBQU87UUFDN0QsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUNHLEVBQzFCO0FBQ047Ozs7In0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ColorSchemeName, ThemeName } from '@preply/ds-core';
|
|
2
|
+
import React, { FC } from 'react';
|
|
3
|
+
import type { ColorSchemeInterface } from '../../color-scheme/types';
|
|
4
|
+
import type { ThemeInterface } from '../types';
|
|
5
|
+
export interface ThemesProviderProps {
|
|
6
|
+
themes: ThemeInterface[];
|
|
7
|
+
colorSchemes: ColorSchemeInterface[];
|
|
8
|
+
tag?: keyof JSX.IntrinsicElements;
|
|
9
|
+
}
|
|
10
|
+
export interface ThemesContextState {
|
|
11
|
+
themes?: ThemeInterface[];
|
|
12
|
+
findTheme: (name: ThemeName) => ThemeInterface;
|
|
13
|
+
findColorScheme: (name: ColorSchemeName) => ColorSchemeInterface;
|
|
14
|
+
}
|
|
15
|
+
export declare const ThemesContext: React.Context<ThemesContextState>;
|
|
16
|
+
export declare const ThemesProvider: FC<ThemesProviderProps>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React, { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
const ThemesContext = createContext({});
|
|
4
|
+
const ThemesProvider = ({ themes, colorSchemes, children }) => {
|
|
5
|
+
const findTheme = (name) => {
|
|
6
|
+
const t = themes.find(theme => theme.name === name);
|
|
7
|
+
if (!t) {
|
|
8
|
+
throw new Error(`Unknown theme ${name}`);
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
const findColorScheme = (name) => {
|
|
13
|
+
const s = colorSchemes.find(theme => theme.name === name);
|
|
14
|
+
if (!s) {
|
|
15
|
+
throw new Error(`Unknown color scheme ${name}`);
|
|
16
|
+
}
|
|
17
|
+
return s;
|
|
18
|
+
};
|
|
19
|
+
return (React.createElement(ThemesContext.Provider, { value: { themes, findTheme, findColorScheme } }, children));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { ThemesContext, ThemesProvider };
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGhlbWVzUHJvdmlkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90aGVtZS9wcm92aWRlcnMvVGhlbWVzUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sb3JTY2hlbWVOYW1lLCBUaGVtZU5hbWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IENvbG9yU2NoZW1lSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vY29sb3Itc2NoZW1lL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgVGhlbWVJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIERFUy0yMiBtb3ZlIHRvIC4uL3RoZW1lc1xuZXhwb3J0IGludGVyZmFjZSBUaGVtZXNQcm92aWRlclByb3BzIHtcbiAgICB0aGVtZXM6IFRoZW1lSW50ZXJmYWNlW107XG4gICAgY29sb3JTY2hlbWVzOiBDb2xvclNjaGVtZUludGVyZmFjZVtdO1xuICAgIHRhZz86IGtleW9mIEpTWC5JbnRyaW5zaWNFbGVtZW50cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZXNDb250ZXh0U3RhdGUge1xuICAgIHRoZW1lcz86IFRoZW1lSW50ZXJmYWNlW107XG4gICAgZmluZFRoZW1lOiAobmFtZTogVGhlbWVOYW1lKSA9PiBUaGVtZUludGVyZmFjZTtcbiAgICBmaW5kQ29sb3JTY2hlbWU6IChuYW1lOiBDb2xvclNjaGVtZU5hbWUpID0+IENvbG9yU2NoZW1lSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgY29uc3QgVGhlbWVzQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8VGhlbWVzQ29udGV4dFN0YXRlPih7fSBhcyBUaGVtZXNDb250ZXh0U3RhdGUpO1xuXG5leHBvcnQgY29uc3QgVGhlbWVzUHJvdmlkZXI6IEZDPFRoZW1lc1Byb3ZpZGVyUHJvcHM+ID0gKHsgdGhlbWVzLCBjb2xvclNjaGVtZXMsIGNoaWxkcmVuIH0pID0+IHtcbiAgICBjb25zdCBmaW5kVGhlbWUgPSAobmFtZTogVGhlbWVOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IHQgPSB0aGVtZXMuZmluZCh0aGVtZSA9PiB0aGVtZS5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgaWYgKCF0KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gdGhlbWUgJHtuYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0O1xuICAgIH07XG4gICAgY29uc3QgZmluZENvbG9yU2NoZW1lID0gKG5hbWU6IENvbG9yU2NoZW1lTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBzID0gY29sb3JTY2hlbWVzLmZpbmQodGhlbWUgPT4gdGhlbWUubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmICghcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbG9yIHNjaGVtZSAke25hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHM7XG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8VGhlbWVzQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyB0aGVtZXMsIGZpbmRUaGVtZSwgZmluZENvbG9yU2NoZW1lIH19PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1RoZW1lc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7TUFtQmEsYUFBYSxHQUFHLGFBQWEsQ0FBcUIsRUFBd0IsRUFBRTtNQUU1RSxjQUFjLEdBQTRCLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRTtJQUN0RixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQWU7UUFDOUIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sQ0FBQyxDQUFDO0tBQ1osQ0FBQztJQUNGLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBcUI7UUFDMUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNuRDtRQUNELE9BQU8sQ0FBQyxDQUFDO0tBQ1osQ0FBQztJQUNGLFFBQ0ksb0JBQUMsYUFBYSxDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxJQUNoRSxRQUFRLENBQ1ksRUFDM0I7QUFDTjs7OzsifQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// DES-22 move to less/tokens
|
|
2
|
+
|
|
3
|
+
.token(@namespace, @key, @type) {
|
|
4
|
+
@token: ~'--@{namespace}--@{key}--@{type}';
|
|
5
|
+
@t: var(@token);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// DES-22 move to less/declarations
|
|
9
|
+
|
|
10
|
+
.size(@namespace, @key) {
|
|
11
|
+
@token: ~'--@{namespace}--@{key}--size';
|
|
12
|
+
width: var(@token);
|
|
13
|
+
height: var(@token);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.width(@namespace, @key) {
|
|
17
|
+
@token: ~'--@{namespace}--@{key}--width';
|
|
18
|
+
height: var(@token);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.height(@namespace, @key) {
|
|
22
|
+
@token: ~'--@{namespace}--@{key}--height';
|
|
23
|
+
height: var(@token);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.min-height(@namespace, @key) {
|
|
27
|
+
@token: ~'--@{namespace}--@{key}--height';
|
|
28
|
+
min-height: var(@token);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.gap(@namespace, @key) {
|
|
32
|
+
@token: ~'--@{namespace}--@{key}--space';
|
|
33
|
+
@gap: var(@token);
|
|
34
|
+
gap: @gap;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.padding(@namespace, @key) {
|
|
38
|
+
@token: ~'--@{namespace}--@{key}--padding';
|
|
39
|
+
@padding: var(@token);
|
|
40
|
+
padding: @padding;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.padding-h(@namespace, @key) {
|
|
44
|
+
@token: ~'--@{namespace}--@{key}--padding';
|
|
45
|
+
@padding: var(@token);
|
|
46
|
+
padding-left: @padding;
|
|
47
|
+
padding-right: @padding;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.padding-v(@namespace, @key) {
|
|
51
|
+
@token: ~'--@{namespace}--@{key}--padding';
|
|
52
|
+
@padding: var(@token);
|
|
53
|
+
padding-top: @padding;
|
|
54
|
+
padding-bottom: @padding;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.font-size(@namespace, @key) {
|
|
58
|
+
@token: ~'--@{namespace}--@{key}--font-size';
|
|
59
|
+
font-size: var(@token);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.color(@namespace, @key) {
|
|
63
|
+
@token: ~'--@{namespace}--@{key}--color';
|
|
64
|
+
color: var(@token);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.fill(@namespace, @key) {
|
|
68
|
+
@token: ~'--@{namespace}--@{key}--color';
|
|
69
|
+
fill: var(@token);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.bg-color(@namespace, @key) {
|
|
73
|
+
@token: ~'--@{namespace}--@{key}--bg-color';
|
|
74
|
+
background-color: var(@token);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.border-color(@namespace, @key) {
|
|
78
|
+
@token: ~'--@{namespace}--@{key}--border-color';
|
|
79
|
+
border-color: var(@token);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.divider-color(@namespace, @key) {
|
|
83
|
+
@token: ~'--@{namespace}--@{key}--divider-color';
|
|
84
|
+
border-color: var(@token);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.border-radius(@namespace, @key) {
|
|
88
|
+
@token: ~'--@{namespace}--@{key}--border-radius';
|
|
89
|
+
border-radius: var(@token);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.var(@token) {
|
|
93
|
+
@var: var(@token);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.hover-filter(@namespace, @key) {
|
|
97
|
+
@token: ~'--@{namespace}--@{key}-hover--brigthness';
|
|
98
|
+
@value: var(@token);
|
|
99
|
+
filter: brightness(@value);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.active-filter(@namespace, @key) {
|
|
103
|
+
@token: ~'--@{namespace}--@{key}-active--brigthness';
|
|
104
|
+
@value: var(@token);
|
|
105
|
+
filter: brightness(@value);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.focus-outline(@namespace, @key) {
|
|
109
|
+
@token: ~'--@{namespace}--@{key}-focus--outline-color';
|
|
110
|
+
outline-color: var(@token);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.disabled-filter(@namespace, @key) {
|
|
114
|
+
// prettier-ignore
|
|
115
|
+
@brightness: .var(~'--@{namespace}--@{key}-disabled--brightness')[];
|
|
116
|
+
// prettier-ignore
|
|
117
|
+
@saturate: .var(~'--@{namespace}--@{key}-disabled--saturate')[];
|
|
118
|
+
filter: brightness(@brightness) saturate(@saturate);
|
|
119
|
+
}
|
|
@@ -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 { ThemeName } from '@preply/ds-core';
|
|
2
|
+
export declare type TokenMap = {
|
|
3
|
+
[key: string]: string;
|
|
4
|
+
};
|
|
5
|
+
export interface ThemeInterface {
|
|
6
|
+
name: ThemeName;
|
|
7
|
+
getClassName(): string;
|
|
8
|
+
fgColor(component: string, variant: string): void;
|
|
9
|
+
bgColor(component: string, variant: string): void;
|
|
10
|
+
radius(component: string): void;
|
|
11
|
+
}
|