emoji-picker-react 4.6.4 → 4.6.5
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/dist/Stylesheet/stylesheet.d.ts +4 -3
- package/dist/components/Layout/Flex.d.ts +0 -1
- package/dist/components/body/EmojiCategory.d.ts +0 -1
- package/dist/components/footer/Preview.d.ts +0 -1
- package/dist/emoji-picker-react.cjs.development.css +1 -22
- package/dist/emoji-picker-react.cjs.development.js +207 -19
- package/dist/emoji-picker-react.cjs.development.js.map +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js +1 -1
- package/dist/emoji-picker-react.cjs.production.min.js.map +1 -1
- package/dist/emoji-picker-react.esm.js +217 -38
- package/dist/emoji-picker-react.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/EmojiPickerReact.css +0 -162
- package/src/Stylesheet/stylesheet.ts +18 -0
- package/src/components/Layout/Flex.tsx +17 -2
- package/src/components/body/EmojiCategory.tsx +45 -8
- package/src/components/emoji/ClickableEmojiButton.tsx +10 -6
- package/src/components/footer/Preview.tsx +22 -4
- package/src/components/main/PickerMain.tsx +128 -4
- package/src/components/Layout/Flex.css +0 -11
- package/src/components/body/EmojiCategory.css +0 -30
- package/src/components/footer/Preview.css +0 -16
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.6.
|
|
2
|
+
"version": "4.6.5",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -99,6 +99,6 @@
|
|
|
99
99
|
"typescript": "^4.7.4"
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"flairup": "0.0.
|
|
102
|
+
"flairup": "0.0.16"
|
|
103
103
|
}
|
|
104
104
|
}
|
package/src/EmojiPickerReact.css
CHANGED
|
@@ -1,165 +1,3 @@
|
|
|
1
|
-
.EmojiPickerReact {
|
|
2
|
-
--epr-highlight-color: #007aeb;
|
|
3
|
-
--epr-hover-bg-color: #f1f8ff;
|
|
4
|
-
--epr-focus-bg-color: #e0f0ff;
|
|
5
|
-
--epr-text-color: #858585;
|
|
6
|
-
--epr-search-input-bg-color: #f6f6f6;
|
|
7
|
-
--epr-picker-border-color: #e7e7e7;
|
|
8
|
-
--epr-bg-color: #fff;
|
|
9
|
-
--epr-category-icon-active-color: #6aa8de;
|
|
10
|
-
--epr-skin-tone-picker-menu-color: #ffffff95;
|
|
11
|
-
|
|
12
|
-
--epr-horizontal-padding: 10px;
|
|
13
|
-
|
|
14
|
-
--epr-picker-border-radius: 8px;
|
|
15
|
-
|
|
16
|
-
/* Header */
|
|
17
|
-
--epr-search-border-color: var(--epr-highlight-color);
|
|
18
|
-
--epr-header-padding: 15px var(--epr-horizontal-padding);
|
|
19
|
-
|
|
20
|
-
/* Skin Tone Picker */
|
|
21
|
-
--epr-active-skin-tone-indicator-border-color: var(--epr-highlight-color);
|
|
22
|
-
--epr-active-skin-hover-color: var(--epr-hover-bg-color);
|
|
23
|
-
|
|
24
|
-
/* Search */
|
|
25
|
-
--epr-search-input-bg-color-active: var(--epr-search-input-bg-color);
|
|
26
|
-
--epr-search-input-padding: 0 30px;
|
|
27
|
-
--epr-search-input-border-radius: 8px;
|
|
28
|
-
--epr-search-input-height: 40px;
|
|
29
|
-
--epr-search-input-text-color: var(--epr-text-color);
|
|
30
|
-
--epr-search-input-placeholder-color: var(--epr-text-color);
|
|
31
|
-
--epr-search-bar-inner-padding: var(--epr-horizontal-padding);
|
|
32
|
-
|
|
33
|
-
/* Category Navigation */
|
|
34
|
-
--epr-category-navigation-button-size: 30px;
|
|
35
|
-
|
|
36
|
-
/* Variation Picker */
|
|
37
|
-
--epr-emoji-variation-picker-height: 45px;
|
|
38
|
-
--epr-emoji-variation-picker-bg-color: var(--epr-bg-color);
|
|
39
|
-
|
|
40
|
-
/* Preview */
|
|
41
|
-
--epr-preview-height: 70px;
|
|
42
|
-
--epr-preview-text-size: 14px;
|
|
43
|
-
--epr-preview-text-padding: 0 var(--epr-horizontal-padding);
|
|
44
|
-
--epr-preview-border-color: var(--epr-picker-border-color);
|
|
45
|
-
--epr-preview-text-color: var(--epr-text-color);
|
|
46
|
-
|
|
47
|
-
/* Category */
|
|
48
|
-
--epr-category-padding: 0 var(--epr-horizontal-padding);
|
|
49
|
-
|
|
50
|
-
/* Category Label */
|
|
51
|
-
--epr-category-label-bg-color: #ffffffe6;
|
|
52
|
-
--epr-category-label-text-color: var(--epr-text-color);
|
|
53
|
-
--epr-category-label-padding: 0 var(--epr-horizontal-padding);
|
|
54
|
-
--epr-category-label-height: 40px;
|
|
55
|
-
|
|
56
|
-
/* Emoji */
|
|
57
|
-
--epr-emoji-size: 30px;
|
|
58
|
-
--epr-emoji-padding: 5px;
|
|
59
|
-
--epr-emoji-fullsize: calc(
|
|
60
|
-
var(--epr-emoji-size) + var(--epr-emoji-padding) * 2
|
|
61
|
-
);
|
|
62
|
-
--epr-emoji-hover-color: var(--epr-hover-bg-color);
|
|
63
|
-
--epr-emoji-variation-indicator-color: var(--epr-picker-border-color);
|
|
64
|
-
--epr-emoji-variation-indicator-color-hover: var(--epr-text-color);
|
|
65
|
-
|
|
66
|
-
/* Z-Index */
|
|
67
|
-
--epr-header-overlay-z-index: 3;
|
|
68
|
-
--epr-emoji-variations-indictator-z-index: 1;
|
|
69
|
-
--epr-category-label-z-index: 2;
|
|
70
|
-
--epr-skin-variation-picker-z-index: 5;
|
|
71
|
-
--epr-preview-z-index: 6;
|
|
72
|
-
|
|
73
|
-
/* Dark Theme Variables */
|
|
74
|
-
--epr-dark: #000;
|
|
75
|
-
--epr-dark-emoji-variation-picker-bg-color: var(--epr-dark);
|
|
76
|
-
--epr-dark-highlight-color: #c0c0c0;
|
|
77
|
-
--epr-dark-text-color: var(--epr-highlight-color);
|
|
78
|
-
--epr-dark-hover-bg-color: #363636f6;
|
|
79
|
-
--epr-dark-focus-bg-color: #474747;
|
|
80
|
-
--epr-dark-search-input-bg-color: #333333;
|
|
81
|
-
--epr-dark-category-label-bg-color: #222222e6;
|
|
82
|
-
--epr-dark-picker-border-color: #151617;
|
|
83
|
-
--epr-dark-bg-color: #222222;
|
|
84
|
-
--epr-dark-search-input-bg-color-active: var(--epr-dark);
|
|
85
|
-
--epr-dark-emoji-variation-indicator-color: #444;
|
|
86
|
-
--epr-dark-category-icon-active-color: #3271b7;
|
|
87
|
-
--epr-dark-skin-tone-picker-menu-color: #22222295;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
@media (prefers-color-scheme: dark) {
|
|
91
|
-
/* Keep in sync with the section below */
|
|
92
|
-
.EmojiPickerReact.epr-auto-theme {
|
|
93
|
-
--epr-emoji-variation-picker-bg-color: var(
|
|
94
|
-
--epr-dark-emoji-variation-picker-bg-color
|
|
95
|
-
);
|
|
96
|
-
--epr-highlight-color: var(--epr-dark-highlight-color);
|
|
97
|
-
--epr-text-color: var(--epr-dark-text-color);
|
|
98
|
-
--epr-hover-bg-color: var(--epr-dark-hover-bg-color);
|
|
99
|
-
--epr-focus-bg-color: var(--epr-dark-focus-bg-color);
|
|
100
|
-
--epr-search-input-bg-color: var(--epr-dark-search-input-bg-color);
|
|
101
|
-
--epr-category-label-bg-color: var(--epr-dark-category-label-bg-color);
|
|
102
|
-
--epr-picker-border-color: var(--epr-dark-picker-border-color);
|
|
103
|
-
--epr-bg-color: var(--epr-dark-bg-color);
|
|
104
|
-
--epr-search-input-bg-color-active: var(
|
|
105
|
-
--epr-dark-search-input-bg-color-active
|
|
106
|
-
);
|
|
107
|
-
--epr-emoji-variation-indicator-color: var(
|
|
108
|
-
--epr-dark-emoji-variation-indicator-color
|
|
109
|
-
);
|
|
110
|
-
--epr-category-icon-active-color: var(
|
|
111
|
-
--epr-dark-category-icon-active-color
|
|
112
|
-
);
|
|
113
|
-
--epr-skin-tone-picker-menu-color: var(
|
|
114
|
-
--epr-dark-skin-tone-picker-menu-color
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.EmojiPickerReact.epr-dark-theme {
|
|
120
|
-
/* Keep in sync with the section above */
|
|
121
|
-
--epr-emoji-variation-picker-bg-color: var(
|
|
122
|
-
--epr-dark-emoji-variation-picker-bg-color
|
|
123
|
-
);
|
|
124
|
-
--epr-highlight-color: var(--epr-dark-highlight-color);
|
|
125
|
-
--epr-text-color: var(--epr-dark-text-color);
|
|
126
|
-
--epr-hover-bg-color: var(--epr-dark-hover-bg-color);
|
|
127
|
-
--epr-focus-bg-color: var(--epr-dark-focus-bg-color);
|
|
128
|
-
--epr-search-input-bg-color: var(--epr-dark-search-input-bg-color);
|
|
129
|
-
--epr-category-label-bg-color: var(--epr-dark-category-label-bg-color);
|
|
130
|
-
--epr-picker-border-color: var(--epr-dark-picker-border-color);
|
|
131
|
-
--epr-bg-color: var(--epr-dark-bg-color);
|
|
132
|
-
--epr-search-input-bg-color-active: var(
|
|
133
|
-
--epr-dark-search-input-bg-color-active
|
|
134
|
-
);
|
|
135
|
-
--epr-emoji-variation-indicator-color: var(
|
|
136
|
-
--epr-dark-emoji-variation-indicator-color
|
|
137
|
-
);
|
|
138
|
-
--epr-category-icon-active-color: var(--epr-dark-category-icon-active-color);
|
|
139
|
-
--epr-skin-tone-picker-menu-color: var(
|
|
140
|
-
--epr-dark-skin-tone-picker-menu-color
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.EmojiPickerReact {
|
|
145
|
-
background-color: var(--epr-bg-color);
|
|
146
|
-
overflow: hidden;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.EmojiPickerReact .epr-hidden {
|
|
150
|
-
display: none !important;
|
|
151
|
-
opacity: 0 !important;
|
|
152
|
-
pointer-events: none !important;
|
|
153
|
-
visibility: hidden !important;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.EmojiPickerReact.epr-search-active .epr-hidden-on-search {
|
|
157
|
-
display: none !important;
|
|
158
|
-
opacity: 0 !important;
|
|
159
|
-
pointer-events: none !important;
|
|
160
|
-
visibility: hidden !important;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
1
|
.EmojiPickerReact:not(.epr-search-active) .epr-visible-on-search-only {
|
|
164
2
|
display: none !important;
|
|
165
3
|
opacity: 0 !important;
|
|
@@ -1,3 +1,21 @@
|
|
|
1
1
|
import { createSheet } from 'flairup';
|
|
2
2
|
|
|
3
|
+
import { ClassNames } from '../DomUtils/classNames';
|
|
4
|
+
|
|
3
5
|
export const stylesheet = createSheet('epr');
|
|
6
|
+
|
|
7
|
+
export const commonStyles = stylesheet.create({
|
|
8
|
+
hidden: {
|
|
9
|
+
'.': ClassNames.hidden,
|
|
10
|
+
display: 'none',
|
|
11
|
+
opacity: '0',
|
|
12
|
+
pointerEvents: 'none',
|
|
13
|
+
visibility: 'hidden'
|
|
14
|
+
},
|
|
15
|
+
hiddenOnSearch: {
|
|
16
|
+
display: 'none',
|
|
17
|
+
opacity: '0',
|
|
18
|
+
pointerEvents: 'none',
|
|
19
|
+
visibility: 'hidden'
|
|
20
|
+
}
|
|
21
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cx } from 'flairup';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
import '
|
|
4
|
+
import { stylesheet } from '../../Stylesheet/stylesheet';
|
|
5
5
|
|
|
6
6
|
export enum FlexDirection {
|
|
7
7
|
ROW = 'FlexRow',
|
|
@@ -22,8 +22,23 @@ export default function Flex({
|
|
|
22
22
|
direction = FlexDirection.ROW
|
|
23
23
|
}: Props) {
|
|
24
24
|
return (
|
|
25
|
-
<div
|
|
25
|
+
<div
|
|
26
|
+
style={{ ...style }}
|
|
27
|
+
className={cx(styles.flex, className, styles[direction])}
|
|
28
|
+
>
|
|
26
29
|
{children}
|
|
27
30
|
</div>
|
|
28
31
|
);
|
|
29
32
|
}
|
|
33
|
+
|
|
34
|
+
const styles = stylesheet.create({
|
|
35
|
+
flex: {
|
|
36
|
+
display: 'flex'
|
|
37
|
+
},
|
|
38
|
+
[FlexDirection.ROW]: {
|
|
39
|
+
flexDirection: 'row'
|
|
40
|
+
},
|
|
41
|
+
[FlexDirection.COLUMN]: {
|
|
42
|
+
flexDirection: 'column'
|
|
43
|
+
}
|
|
44
|
+
});
|
|
@@ -2,14 +2,13 @@ import { cx } from 'flairup';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
import { ClassNames } from '../../DomUtils/classNames';
|
|
5
|
+
import { commonStyles, stylesheet } from '../../Stylesheet/stylesheet';
|
|
5
6
|
import {
|
|
6
7
|
CategoryConfig,
|
|
7
8
|
categoryFromCategoryConfig,
|
|
8
9
|
categoryNameFromCategoryConfig
|
|
9
10
|
} from '../../config/categoryConfig';
|
|
10
11
|
|
|
11
|
-
import './EmojiCategory.css';
|
|
12
|
-
|
|
13
12
|
type Props = Readonly<{
|
|
14
13
|
categoryConfig: CategoryConfig;
|
|
15
14
|
children?: React.ReactNode;
|
|
@@ -28,15 +27,53 @@ export function EmojiCategory({
|
|
|
28
27
|
|
|
29
28
|
return (
|
|
30
29
|
<li
|
|
31
|
-
className={cx(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
className={cx(
|
|
31
|
+
styles.category,
|
|
32
|
+
hidden && commonStyles.hidden,
|
|
33
|
+
hiddenOnSearch && commonStyles.hiddenOnSearch
|
|
34
|
+
)}
|
|
35
35
|
data-name={category}
|
|
36
36
|
aria-label={categoryName}
|
|
37
37
|
>
|
|
38
|
-
<h2 className={
|
|
39
|
-
<div className={
|
|
38
|
+
<h2 className={cx(styles.label)}>{categoryName}</h2>
|
|
39
|
+
<div className={cx(styles.categoryContent)}>{children}</div>
|
|
40
40
|
</li>
|
|
41
41
|
);
|
|
42
42
|
}
|
|
43
|
+
|
|
44
|
+
const styles = stylesheet.create({
|
|
45
|
+
category: {
|
|
46
|
+
'.': ClassNames.category,
|
|
47
|
+
':not(:has(.epr-visible))': {
|
|
48
|
+
display: 'none'
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
categoryContent: {
|
|
52
|
+
'.': ClassNames.categoryContent,
|
|
53
|
+
display: 'grid',
|
|
54
|
+
gridGap: '0',
|
|
55
|
+
gridTemplateColumns: 'repeat(auto-fill, var(--epr-emoji-fullsize))',
|
|
56
|
+
justifyContent: 'space-between',
|
|
57
|
+
margin: 'var(--epr-category-padding)',
|
|
58
|
+
position: 'relative'
|
|
59
|
+
},
|
|
60
|
+
label: {
|
|
61
|
+
'.': ClassNames.label,
|
|
62
|
+
alignItems: 'center',
|
|
63
|
+
// @ts-expect-error - backdropFilter is a valid CSS property
|
|
64
|
+
backdropFilter: 'blur(3px)',
|
|
65
|
+
backgroundColor: 'var(--epr-category-label-bg-color)',
|
|
66
|
+
color: 'var(--epr-category-label-text-color)',
|
|
67
|
+
display: 'flex',
|
|
68
|
+
fontSize: '16px',
|
|
69
|
+
fontWeight: 'bold',
|
|
70
|
+
height: 'var(--epr-category-label-height)',
|
|
71
|
+
margin: '0',
|
|
72
|
+
padding: 'var(--epr-category-label-padding)',
|
|
73
|
+
position: 'sticky',
|
|
74
|
+
textTransform: 'capitalize',
|
|
75
|
+
top: '0',
|
|
76
|
+
width: '100%',
|
|
77
|
+
zIndex: 'var(--epr-category-label-z-index)'
|
|
78
|
+
}
|
|
79
|
+
});
|
|
@@ -2,6 +2,7 @@ import { cx } from 'flairup';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
4
|
import { ClassNames } from '../../DomUtils/classNames';
|
|
5
|
+
import { commonStyles } from '../../Stylesheet/stylesheet';
|
|
5
6
|
import { Button } from '../atoms/Button';
|
|
6
7
|
|
|
7
8
|
import './Emoji.css';
|
|
@@ -27,12 +28,15 @@ export function ClickableEmojiButton({
|
|
|
27
28
|
}: ClickableEmojiButtonProps) {
|
|
28
29
|
return (
|
|
29
30
|
<Button
|
|
30
|
-
className={cx(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
className={cx(
|
|
32
|
+
ClassNames.emoji,
|
|
33
|
+
hidden && commonStyles.hidden,
|
|
34
|
+
hiddenOnSearch && commonStyles.hiddenOnSearch,
|
|
35
|
+
{
|
|
36
|
+
[ClassNames.visible]: !hidden && !hiddenOnSearch,
|
|
37
|
+
[ClassNames.emojiHasVariations]: hasVariations && showVariations
|
|
38
|
+
}
|
|
39
|
+
)}
|
|
36
40
|
data-unified={unified}
|
|
37
41
|
aria-label={emojiNames[0]}
|
|
38
42
|
data-full-name={emojiNames}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { cx } from 'flairup';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { useState } from 'react';
|
|
3
4
|
|
|
5
|
+
import { stylesheet } from '../../Stylesheet/stylesheet';
|
|
4
6
|
import {
|
|
5
7
|
useEmojiStyleConfig,
|
|
6
8
|
useGetEmojiUrlConfig,
|
|
@@ -16,7 +18,6 @@ import { useIsSkinToneInPreview } from '../../hooks/useShouldShowSkinTonePicker'
|
|
|
16
18
|
import Flex from '../Layout/Flex';
|
|
17
19
|
import Space from '../Layout/Space';
|
|
18
20
|
import { useEmojiVariationPickerState } from '../context/PickerContext';
|
|
19
|
-
import './Preview.css';
|
|
20
21
|
import { ViewOnlyEmoji } from '../emoji/ViewOnlyEmoji';
|
|
21
22
|
import { SkinTonePickerMenu } from '../header/SkinTonePicker';
|
|
22
23
|
|
|
@@ -29,7 +30,7 @@ export function Preview() {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
return (
|
|
32
|
-
<Flex className=
|
|
33
|
+
<Flex className={cx(styles.preview)}>
|
|
33
34
|
<PreviewBody />
|
|
34
35
|
<Space />
|
|
35
36
|
{isSkinToneInPreview ? <SkinTonePickerMenu /> : null}
|
|
@@ -86,9 +87,9 @@ export function PreviewBody() {
|
|
|
86
87
|
) : null}
|
|
87
88
|
</div>
|
|
88
89
|
{show ? (
|
|
89
|
-
<div className=
|
|
90
|
+
<div className={cx(styles.label)}>{emojiName(emoji)}</div>
|
|
90
91
|
) : (
|
|
91
|
-
<div className=
|
|
92
|
+
<div className={cx(styles.label)}>{defaultText}</div>
|
|
92
93
|
)}
|
|
93
94
|
</>
|
|
94
95
|
);
|
|
@@ -99,3 +100,20 @@ export type PreviewEmoji = null | {
|
|
|
99
100
|
unified: string;
|
|
100
101
|
originalUnified: string;
|
|
101
102
|
};
|
|
103
|
+
|
|
104
|
+
const styles = stylesheet.create({
|
|
105
|
+
preview: {
|
|
106
|
+
alignItems: 'center',
|
|
107
|
+
borderTop: '1px solid var(--epr-preview-border-color)',
|
|
108
|
+
height: 'var(--epr-preview-height)',
|
|
109
|
+
padding: '0 var(--epr-horizontal-padding)',
|
|
110
|
+
position: 'relative',
|
|
111
|
+
zIndex: 'var(--epr-preview-z-index)'
|
|
112
|
+
},
|
|
113
|
+
label: {
|
|
114
|
+
color: 'var(--epr-preview-text-color)',
|
|
115
|
+
fontSize: 'var(--epr-preview-text-size)',
|
|
116
|
+
padding: 'var(--epr-preview-text-padding)',
|
|
117
|
+
textTransform: 'capitalize'
|
|
118
|
+
}
|
|
119
|
+
});
|
|
@@ -47,10 +47,11 @@ function PickerRootElement({ children }: RootProps) {
|
|
|
47
47
|
<aside
|
|
48
48
|
className={cx(
|
|
49
49
|
styles.main,
|
|
50
|
+
styles.baseVariables,
|
|
51
|
+
theme === Theme.DARK && styles.darkTheme,
|
|
52
|
+
theme === Theme.AUTO && styles.autoThemeDark,
|
|
50
53
|
{
|
|
51
|
-
[ClassNames.searchActive]: searchModeActive
|
|
52
|
-
[ClassNames.darkTheme]: theme === Theme.DARK,
|
|
53
|
-
[ClassNames.autoTheme]: theme === Theme.AUTO
|
|
54
|
+
[ClassNames.searchActive]: searchModeActive
|
|
54
55
|
},
|
|
55
56
|
className
|
|
56
57
|
)}
|
|
@@ -62,6 +63,27 @@ function PickerRootElement({ children }: RootProps) {
|
|
|
62
63
|
);
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
const DarkTheme = {
|
|
67
|
+
'--epr-emoji-variation-picker-bg-color':
|
|
68
|
+
'var(--epr-dark-emoji-variation-picker-bg-color)',
|
|
69
|
+
'--epr-highlight-color': 'var(--epr-dark-highlight-color)',
|
|
70
|
+
'--epr-text-color': 'var(--epr-dark-text-color)',
|
|
71
|
+
'--epr-hover-bg-color': 'var(--epr-dark-hover-bg-color)',
|
|
72
|
+
'--epr-focus-bg-color': 'var(--epr-dark-focus-bg-color)',
|
|
73
|
+
'--epr-search-input-bg-color': 'var(--epr-dark-search-input-bg-color)',
|
|
74
|
+
'--epr-category-label-bg-color': 'var(--epr-dark-category-label-bg-color)',
|
|
75
|
+
'--epr-picker-border-color': 'var(--epr-dark-picker-border-color)',
|
|
76
|
+
'--epr-bg-color': 'var(--epr-dark-bg-color)',
|
|
77
|
+
'--epr-search-input-bg-color-active':
|
|
78
|
+
'var(--epr-dark-search-input-bg-color-active)',
|
|
79
|
+
'--epr-emoji-variation-indicator-color':
|
|
80
|
+
'var(--epr-dark-emoji-variation-indicator-color)',
|
|
81
|
+
'--epr-category-icon-active-color':
|
|
82
|
+
'var(--epr-dark-category-icon-active-color)',
|
|
83
|
+
'--epr-skin-tone-picker-menu-color':
|
|
84
|
+
'var(--epr-dark-skin-tone-picker-menu-color)'
|
|
85
|
+
};
|
|
86
|
+
|
|
65
87
|
const styles = stylesheet.create({
|
|
66
88
|
main: {
|
|
67
89
|
'.': ['epr-main', ClassNames.emojiPicker],
|
|
@@ -71,6 +93,108 @@ const styles = stylesheet.create({
|
|
|
71
93
|
borderWidth: '1px',
|
|
72
94
|
borderStyle: 'solid',
|
|
73
95
|
borderRadius: 'var(--epr-picker-border-radius)',
|
|
74
|
-
borderColor: 'var(--epr-picker-border-color)'
|
|
96
|
+
borderColor: 'var(--epr-picker-border-color)',
|
|
97
|
+
backgroundColor: 'var(--epr-bg-color)',
|
|
98
|
+
overflow: 'hidden'
|
|
99
|
+
},
|
|
100
|
+
baseVariables: {
|
|
101
|
+
'--': {
|
|
102
|
+
'--epr-highlight-color': '#007aeb',
|
|
103
|
+
'--epr-hover-bg-color': '#f1f8ff',
|
|
104
|
+
'--epr-focus-bg-color': '#e0f0ff',
|
|
105
|
+
'--epr-text-color': '#858585',
|
|
106
|
+
'--epr-search-input-bg-color': '#f6f6f6',
|
|
107
|
+
'--epr-picker-border-color': '#e7e7e7',
|
|
108
|
+
'--epr-bg-color': '#fff',
|
|
109
|
+
'--epr-category-icon-active-color': '#6aa8de',
|
|
110
|
+
'--epr-skin-tone-picker-menu-color': '#ffffff95',
|
|
111
|
+
|
|
112
|
+
'--epr-horizontal-padding': '10px',
|
|
113
|
+
|
|
114
|
+
'--epr-picker-border-radius': '8px',
|
|
115
|
+
|
|
116
|
+
/* Header */
|
|
117
|
+
'--epr-search-border-color': 'var(--epr-highlight-color)',
|
|
118
|
+
'--epr-header-padding': '15px var(--epr-horizontal-padding)',
|
|
119
|
+
|
|
120
|
+
/* Skin Tone Picker */
|
|
121
|
+
'--epr-active-skin-tone-indicator-border-color':
|
|
122
|
+
'var(--epr-highlight-color)',
|
|
123
|
+
'--epr-active-skin-hover-color': 'var(--epr-hover-bg-color)',
|
|
124
|
+
|
|
125
|
+
/* Search */
|
|
126
|
+
'--epr-search-input-bg-color-active': 'var(--epr-search-input-bg-color)',
|
|
127
|
+
'--epr-search-input-padding': '0 30px',
|
|
128
|
+
'--epr-search-input-border-radius': '8px',
|
|
129
|
+
'--epr-search-input-height': '40px',
|
|
130
|
+
'--epr-search-input-text-color': 'var(--epr-text-color)',
|
|
131
|
+
'--epr-search-input-placeholder-color': 'var(--epr-text-color)',
|
|
132
|
+
'--epr-search-bar-inner-padding': 'var(--epr-horizontal-padding)',
|
|
133
|
+
|
|
134
|
+
/* Category Navigation */
|
|
135
|
+
'--epr-category-navigation-button-size': '30px',
|
|
136
|
+
|
|
137
|
+
/* Variation Picker */
|
|
138
|
+
'--epr-emoji-variation-picker-height': '45px',
|
|
139
|
+
'--epr-emoji-variation-picker-bg-color': 'var(--epr-bg-color)',
|
|
140
|
+
|
|
141
|
+
/* Preview */
|
|
142
|
+
'--epr-preview-height': '70px',
|
|
143
|
+
'--epr-preview-text-size': '14px',
|
|
144
|
+
'--epr-preview-text-padding': '0 var(--epr-horizontal-padding)',
|
|
145
|
+
'--epr-preview-border-color': 'var(--epr-picker-border-color)',
|
|
146
|
+
'--epr-preview-text-color': 'var(--epr-text-color)',
|
|
147
|
+
|
|
148
|
+
/* Category */
|
|
149
|
+
'--epr-category-padding': '0 var(--epr-horizontal-padding)',
|
|
150
|
+
|
|
151
|
+
/* Category Label */
|
|
152
|
+
'--epr-category-label-bg-color': '#ffffffe6',
|
|
153
|
+
'--epr-category-label-text-color': 'var(--epr-text-color)',
|
|
154
|
+
'--epr-category-label-padding': '0 var(--epr-horizontal-padding)',
|
|
155
|
+
'--epr-category-label-height': '40px',
|
|
156
|
+
|
|
157
|
+
/* Emoji */
|
|
158
|
+
'--epr-emoji-size': '30px',
|
|
159
|
+
'--epr-emoji-padding': '5px',
|
|
160
|
+
'--epr-emoji-fullsize':
|
|
161
|
+
'calc(var(--epr-emoji-size) + var(--epr-emoji-padding) * 2)',
|
|
162
|
+
'--epr-emoji-hover-color': 'var(--epr-hover-bg-color)',
|
|
163
|
+
'--epr-emoji-variation-indicator-color': 'var(--epr-picker-border-color)',
|
|
164
|
+
'--epr-emoji-variation-indicator-color-hover': 'var(--epr-text-color)',
|
|
165
|
+
|
|
166
|
+
/* Z-Index */
|
|
167
|
+
'--epr-header-overlay-z-index': '3',
|
|
168
|
+
'--epr-emoji-variations-indictator-z-index': '1',
|
|
169
|
+
'--epr-category-label-z-index': '2',
|
|
170
|
+
'--epr-skin-variation-picker-z-index': '5',
|
|
171
|
+
'--epr-preview-z-index': '6',
|
|
172
|
+
|
|
173
|
+
/* Dark Theme Variables */
|
|
174
|
+
'--epr-dark': '#000',
|
|
175
|
+
'--epr-dark-emoji-variation-picker-bg-color': 'var(--epr-dark)',
|
|
176
|
+
'--epr-dark-highlight-color': '#c0c0c0',
|
|
177
|
+
'--epr-dark-text-color': 'var(--epr-highlight-color)',
|
|
178
|
+
'--epr-dark-hover-bg-color': '#363636f6',
|
|
179
|
+
'--epr-dark-focus-bg-color': '#474747',
|
|
180
|
+
'--epr-dark-search-input-bg-color': '#333333',
|
|
181
|
+
'--epr-dark-category-label-bg-color': '#222222e6',
|
|
182
|
+
'--epr-dark-picker-border-color': '#151617',
|
|
183
|
+
'--epr-dark-bg-color': '#222222',
|
|
184
|
+
'--epr-dark-search-input-bg-color-active': 'var(--epr-dark)',
|
|
185
|
+
'--epr-dark-emoji-variation-indicator-color': '#444',
|
|
186
|
+
'--epr-dark-category-icon-active-color': '#3271b7',
|
|
187
|
+
'--epr-dark-skin-tone-picker-menu-color': '#22222295'
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
autoThemeDark: {
|
|
191
|
+
'.': ClassNames.autoTheme,
|
|
192
|
+
'@media (prefers-color-scheme: dark)': {
|
|
193
|
+
'--': DarkTheme
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
darkTheme: {
|
|
197
|
+
'.': ClassNames.darkTheme,
|
|
198
|
+
'--': DarkTheme
|
|
75
199
|
}
|
|
76
200
|
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
.EmojiPickerReact li.epr-emoji-category > .epr-emoji-category-content {
|
|
2
|
-
position: relative;
|
|
3
|
-
margin: var(--epr-category-padding);
|
|
4
|
-
display: grid;
|
|
5
|
-
grid-template-columns: repeat(auto-fill, var(--epr-emoji-fullsize));
|
|
6
|
-
grid-gap: 0;
|
|
7
|
-
justify-content: space-between;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.EmojiPickerReact li.epr-emoji-category:not(:has(.epr-visible)) {
|
|
11
|
-
display: none;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.EmojiPickerReact li.epr-emoji-category > .epr-emoji-category-label {
|
|
15
|
-
position: sticky;
|
|
16
|
-
top: 0;
|
|
17
|
-
width: 100%;
|
|
18
|
-
display: flex;
|
|
19
|
-
align-items: center;
|
|
20
|
-
font-weight: bold;
|
|
21
|
-
font-size: 16px;
|
|
22
|
-
margin: 0;
|
|
23
|
-
text-transform: capitalize;
|
|
24
|
-
backdrop-filter: blur(3px);
|
|
25
|
-
padding: var(--epr-category-label-padding);
|
|
26
|
-
background-color: var(--epr-category-label-bg-color);
|
|
27
|
-
color: var(--epr-category-label-text-color);
|
|
28
|
-
z-index: var(--epr-category-label-z-index);
|
|
29
|
-
height: var(--epr-category-label-height);
|
|
30
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.EmojiPickerReact .epr-preview {
|
|
2
|
-
padding: 0 var(--epr-horizontal-padding);
|
|
3
|
-
z-index: 1;
|
|
4
|
-
align-items: center;
|
|
5
|
-
border-top: 1px solid var(--epr-preview-border-color);
|
|
6
|
-
height: var(--epr-preview-height);
|
|
7
|
-
position: relative;
|
|
8
|
-
z-index: var(--epr-preview-z-index);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.EmojiPickerReact .epr-preview .epr-preview-emoji-label {
|
|
12
|
-
text-transform: capitalize;
|
|
13
|
-
color: var(--epr-preview-text-color);
|
|
14
|
-
font-size: var(--epr-preview-text-size);
|
|
15
|
-
padding: var(--epr-preview-text-padding);
|
|
16
|
-
}
|