expo-native-sheet-emojis 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -285,6 +285,18 @@ Programmatically dismisses the emoji picker sheet.
285
285
 
286
286
  **Returns:** `Promise<void>`
287
287
 
288
+ ### EmojiSheetModule.clearRecents()
289
+
290
+ Clears all frequently used emoji data.
291
+
292
+ **Returns:** `Promise<void>`
293
+
294
+ ### EmojiSheetModule.clearSkinTonePreferences()
295
+
296
+ Clears all saved skin tone preferences.
297
+
298
+ **Returns:** `Promise<void>`
299
+
288
300
  ### EmojiSheetView
289
301
 
290
302
  A declarative React component that renders the emoji picker inline.
@@ -294,7 +306,7 @@ A declarative React component that renders the emoji picker inline.
294
306
  | Prop | Type | Default | Description |
295
307
  |-|-|-|-|
296
308
  | onEmojiSelected | `(emoji: string) => void` | required | Called when an emoji is tapped |
297
- | theme | `EmojiSheetTheme \| 'dark' \| 'light'` | `'light'` | Theme configuration |
309
+ | theme | `EmojiSheetTheme \| 'dark' \| 'light' \| 'system'` | `'light'` | Theme configuration |
298
310
  | translations | `EmojiSheetTranslations` | -- | Localized strings |
299
311
  | categoryBarPosition | `'top' \| 'bottom'` | `'top'` | Position of the category tab bar |
300
312
  | columns | `number` | `7` | Number of emoji columns in the grid |
@@ -304,6 +316,7 @@ A declarative React component that renders the emoji picker inline.
304
316
  | showRecents | `boolean` | `true` | Whether to show the frequently used section |
305
317
  | enableSkinTones | `boolean` | `true` | Whether to enable skin tone selection on long press |
306
318
  | enableHaptics | `boolean` | `true` | Whether to trigger haptic feedback on emoji tap, long-press, and skin tone selection |
319
+ | enableAnimations | `boolean` | `false` | Scale animation on emoji tap. Mostly useful for the embedded `EmojiSheetView` since the imperative sheet dismisses on selection before the animation completes. |
307
320
  | excludeEmojis | `string[]` | `[]` | Array of emoji IDs to exclude (e.g., `["pile_of_poo", "thumbs_down"]`) |
308
321
 
309
322
  ### EmojiSheetTheme
@@ -339,7 +352,7 @@ All theme fields with their purpose:
339
352
 
340
353
  | Field | Type | Default | Description |
341
354
  |-|-|-|-|
342
- | theme | `EmojiSheetTheme \| 'dark' \| 'light'` | `'light'` | Theme configuration |
355
+ | theme | `EmojiSheetTheme \| 'dark' \| 'light' \| 'system'` | `'light'` | Theme configuration |
343
356
  | translations | `EmojiSheetTranslations` | -- | Localized UI strings |
344
357
  | snapPoints | `[number, number]` | `[0.5, 1.0]` | Bottom sheet snap points as screen fractions |
345
358
  | categoryBarPosition | `'top' \| 'bottom'` | `'top'` | Position of the category tab bar |
@@ -350,6 +363,7 @@ All theme fields with their purpose:
350
363
  | showRecents | `boolean` | `true` | Show the frequently used section |
351
364
  | enableSkinTones | `boolean` | `true` | Enable skin tone long-press |
352
365
  | enableHaptics | `boolean` | `true` | Haptic feedback on tap, long-press, and skin tone select |
366
+ | enableAnimations | `boolean` | `false` | Scale animation on emoji tap (mainly useful for embedded `EmojiSheetView`) |
353
367
  | gestureEnabled | `boolean` | `true` | Allow swipe-to-dismiss gesture |
354
368
  | backdropOpacity | `number` | `0.22` | Opacity of the backdrop behind the sheet |
355
369
  | excludeEmojis | `string[]` | `[]` | Emoji IDs to hide from the picker |
@@ -377,7 +391,7 @@ Set via `categoryBarPosition: 'top'` or `categoryBarPosition: 'bottom'` in the o
377
391
 
378
392
  | Prop | Type | Default | Description |
379
393
  |-|-|-|-|
380
- | theme | `EmojiSheetTheme \| 'dark' \| 'light'` | `'light'` | Visual theme |
394
+ | theme | `EmojiSheetTheme \| 'dark' \| 'light' \| 'system'` | `'light'` | Visual theme |
381
395
  | translations | `EmojiSheetTranslations` | -- | Localized strings |
382
396
  | snapPoints | `[number, number]` | `[0.5, 1.0]` | Sheet snap points |
383
397
  | categoryBarPosition | `'top' \| 'bottom'` | `'top'` | Category bar placement |
@@ -388,6 +402,7 @@ Set via `categoryBarPosition: 'top'` or `categoryBarPosition: 'bottom'` in the o
388
402
  | showRecents | `boolean` | `true` | Show recents section |
389
403
  | enableSkinTones | `boolean` | `true` | Skin tone long-press |
390
404
  | enableHaptics | `boolean` | `true` | Haptic feedback on interactions |
405
+ | enableAnimations | `boolean` | `false` | Scale animation on emoji tap (mainly useful for embedded `EmojiSheetView`) |
391
406
  | excludeEmojis | `string[]` | `[]` | Emoji IDs to exclude |
392
407
  | gestureEnabled | `boolean` | `true` | Swipe to dismiss |
393
408
  | backdropOpacity | `number` | `0.22` | Backdrop opacity |
@@ -26,6 +26,7 @@ class EmojiGridAdapter(
26
26
  var emojiTextSize: Float = 32f
27
27
  var enableSkinTones: Boolean = true
28
28
  var enableHaptics: Boolean = true
29
+ var enableAnimations: Boolean = false
29
30
 
30
31
  sealed class ListItem {
31
32
  data class Header(val title: String, val categoryKey: String) : ListItem()
@@ -119,6 +120,11 @@ class EmojiGridAdapter(
119
120
  if (enableHaptics) {
120
121
  view.performHapticFeedback(android.view.HapticFeedbackConstants.KEYBOARD_TAP)
121
122
  }
123
+ if (enableAnimations) {
124
+ view.animate().scaleX(0.85f).scaleY(0.85f).setDuration(80).withEndAction {
125
+ view.animate().scaleX(1f).scaleY(1f).setDuration(80).start()
126
+ }.start()
127
+ }
122
128
  onEmojiClick(item.emoji, item.id)
123
129
  }
124
130
  if (item.toneEnabled && enableSkinTones) {
@@ -67,6 +67,10 @@ class EmojiSheetContentView(
67
67
  pickerView.enableHaptics = enable
68
68
  }
69
69
 
70
+ fun updateEnableAnimations(enable: Boolean) {
71
+ pickerView.enableAnimations = enable
72
+ }
73
+
70
74
  fun updateSearchPlaceholder(text: String) {
71
75
  pickerView.searchPlaceholder = text
72
76
  }
@@ -51,9 +51,27 @@ class EmojiSheetModule : Module() {
51
51
  }
52
52
  }
53
53
 
54
+ AsyncFunction("clearRecents") {
55
+ appContext.reactContext
56
+ ?.getSharedPreferences("emoji_sheet_frequently_used", android.content.Context.MODE_PRIVATE)
57
+ ?.edit()?.clear()?.apply()
58
+ }
59
+
60
+ AsyncFunction("clearSkinTonePreferences") {
61
+ appContext.reactContext
62
+ ?.getSharedPreferences("emoji_sheet_skin_tones", android.content.Context.MODE_PRIVATE)
63
+ ?.edit()?.clear()?.apply()
64
+ }
65
+
54
66
  View(EmojiSheetContentView::class) {
55
67
  Prop("theme") { view: EmojiSheetContentView, theme: String? ->
56
- view.updateTheme(theme ?: "light")
68
+ val resolved = if (theme == "system") {
69
+ val uiMode = view.context.resources.configuration.uiMode and android.content.res.Configuration.UI_MODE_NIGHT_MASK
70
+ if (uiMode == android.content.res.Configuration.UI_MODE_NIGHT_YES) "dark" else "light"
71
+ } else {
72
+ theme ?: "light"
73
+ }
74
+ view.updateTheme(resolved)
57
75
  }
58
76
  Prop("categoryBarPosition") { view: EmojiSheetContentView, position: String? ->
59
77
  view.updateCategoryBarPosition(position ?: "top")
@@ -79,6 +97,9 @@ class EmojiSheetModule : Module() {
79
97
  Prop("enableHaptics") { view: EmojiSheetContentView, enable: Boolean? ->
80
98
  view.updateEnableHaptics(enable ?: true)
81
99
  }
100
+ Prop("enableAnimations") { view: EmojiSheetContentView, enable: Boolean? ->
101
+ view.updateEnableAnimations(enable ?: false)
102
+ }
82
103
  Prop("searchPlaceholder") { view: EmojiSheetContentView, text: String? ->
83
104
  if (text != null) view.updateSearchPlaceholder(text)
84
105
  }
@@ -97,7 +118,15 @@ class EmojiSheetModule : Module() {
97
118
 
98
119
  private fun presentSheet(options: Map<String, Any>, promise: Promise) {
99
120
  val activity = appContext.currentActivity ?: return
100
- val isDark = options["theme"] == "dark"
121
+ val themeString = options["theme"] as? String ?: "light"
122
+ val isDark = when (themeString) {
123
+ "dark" -> true
124
+ "system" -> {
125
+ val uiMode = activity.resources.configuration.uiMode and android.content.res.Configuration.UI_MODE_NIGHT_MASK
126
+ uiMode == android.content.res.Configuration.UI_MODE_NIGHT_YES
127
+ }
128
+ else -> false
129
+ }
101
130
  val density = activity.resources.displayMetrics.density
102
131
 
103
132
  // Parse new options
@@ -109,6 +138,7 @@ class EmojiSheetModule : Module() {
109
138
  val showRecents = options["showRecents"] as? Boolean ?: true
110
139
  val enableSkinTones = options["enableSkinTones"] as? Boolean ?: true
111
140
  val enableHaptics = options["enableHaptics"] as? Boolean ?: true
141
+ val enableAnimations = options["enableAnimations"] as? Boolean ?: false
112
142
  val recentLimit = (options["recentLimit"] as? Number)?.toInt() ?: 30
113
143
  val gestureEnabled = options["gestureEnabled"] as? Boolean ?: true
114
144
  val backdropOpacity = (options["backdropOpacity"] as? Number)?.toFloat() ?: if (isDark) 0.4f else 0.22f
@@ -169,6 +199,7 @@ class EmojiSheetModule : Module() {
169
199
  pickerView.showRecents = showRecents
170
200
  pickerView.enableSkinTones = enableSkinTones
171
201
  pickerView.enableHaptics = enableHaptics
202
+ pickerView.enableAnimations = enableAnimations
172
203
  pickerView.recentLimit = recentLimit
173
204
  pickerView.categoryBarPosition = categoryBarPosition
174
205
  pickerView.categoryNames = categoryNames
@@ -80,6 +80,7 @@ class EmojiSheetUIView(context: Context) : LinearLayout(context) {
80
80
  var showRecents: Boolean = true
81
81
  var enableSkinTones: Boolean = true
82
82
  var enableHaptics: Boolean = true
83
+ var enableAnimations: Boolean = false
83
84
  var recentLimit: Int = 30
84
85
  var categoryBarPosition: String = "top"
85
86
  var categoryNames: Map<String, String>? = null
@@ -282,6 +283,7 @@ class EmojiSheetUIView(context: Context) : LinearLayout(context) {
282
283
  gridAdapter.emojiTextSize = emojiSize
283
284
  gridAdapter.enableSkinTones = enableSkinTones
284
285
  gridAdapter.enableHaptics = enableHaptics
286
+ gridAdapter.enableAnimations = enableAnimations
285
287
  gridLayoutManager.spanCount = columns
286
288
 
287
289
  // Show/hide search
@@ -20,6 +20,7 @@ class EmojiGridView: UIView, UICollectionViewDataSource, UICollectionViewDelegat
20
20
  }
21
21
  var enableSkinTones: Bool = true
22
22
  var enableHaptics: Bool = true
23
+ var enableAnimations: Bool = false
23
24
 
24
25
  private lazy var selectionFeedback = UISelectionFeedbackGenerator()
25
26
  private lazy var impactFeedbackMedium = UIImpactFeedbackGenerator(style: .medium)
@@ -238,6 +239,15 @@ class EmojiGridView: UIView, UICollectionViewDataSource, UICollectionViewDelegat
238
239
  if enableHaptics {
239
240
  selectionFeedback.selectionChanged()
240
241
  }
242
+ if enableAnimations, let cell = collectionView.cellForItem(at: indexPath) {
243
+ UIView.animate(withDuration: 0.08, delay: 0, options: [.allowUserInteraction]) {
244
+ cell.transform = CGAffineTransform(scaleX: 0.85, y: 0.85)
245
+ } completion: { _ in
246
+ UIView.animate(withDuration: 0.08) {
247
+ cell.transform = .identity
248
+ }
249
+ }
250
+ }
241
251
  let item = sections[indexPath.section].data[indexPath.item]
242
252
  var emoji = item.emoji
243
253
  if item.toneEnabled, let savedTone = UserDefaults.standard.string(forKey: "EmojiSkinTone_\(item.id)") {
@@ -77,6 +77,10 @@ class EmojiSheetContentView: ExpoView, EmojiSheetUIViewDelegate {
77
77
  pickerView.enableHaptics = enable
78
78
  }
79
79
 
80
+ func updateEnableAnimations(_ enable: Bool) {
81
+ pickerView.enableAnimations = enable
82
+ }
83
+
80
84
  func updateSearchPlaceholder(_ text: String) {
81
85
  pickerView.searchPlaceholder = text
82
86
  }
@@ -1,6 +1,6 @@
1
1
  Pod::Spec.new do |s|
2
2
  s.name = 'EmojiSheetModule'
3
- s.version = '1.3.0'
3
+ s.version = '1.5.0'
4
4
  s.summary = 'Native emoji picker bottom sheet for React Native'
5
5
  s.description = 'A fully native iOS/Android emoji picker presented in a bottom sheet with search, skin tones, and theming support.'
6
6
  s.author = ''
@@ -23,9 +23,27 @@ public class EmojiSheetModule: Module {
23
23
  }
24
24
  .runOnQueue(DispatchQueue.main)
25
25
 
26
+ AsyncFunction("clearRecents") {
27
+ UserDefaults.standard.removeObject(forKey: "EmojiSheet_FrequentlyUsed")
28
+ }
29
+
30
+ AsyncFunction("clearSkinTonePreferences") {
31
+ let defaults = UserDefaults.standard
32
+ let allKeys = defaults.dictionaryRepresentation().keys
33
+ for key in allKeys where key.hasPrefix("EmojiSkinTone_") {
34
+ defaults.removeObject(forKey: key)
35
+ }
36
+ }
37
+
26
38
  View(EmojiSheetContentView.self) {
27
39
  Prop("theme") { (view, theme: String?) in
28
- view.updateTheme(theme ?? "light")
40
+ let resolved: String
41
+ if theme == "system" {
42
+ resolved = UITraitCollection.current.userInterfaceStyle == .dark ? "dark" : "light"
43
+ } else {
44
+ resolved = theme ?? "light"
45
+ }
46
+ view.updateTheme(resolved)
29
47
  }
30
48
  Prop("categoryBarPosition") { (view, position: String?) in
31
49
  view.updateCategoryBarPosition(position ?? "top")
@@ -40,16 +58,19 @@ public class EmojiSheetModule: Module {
40
58
  view.updateRecentLimit(limit ?? 30)
41
59
  }
42
60
  Prop("showSearch") { (view, show: Bool?) in
43
- view.updateShowSearch(show ?? true)
61
+ view.updateShowSearch(show ?? false)
44
62
  }
45
63
  Prop("showRecents") { (view, show: Bool?) in
46
- view.updateShowRecents(show ?? true)
64
+ view.updateShowRecents(show ?? false)
47
65
  }
48
66
  Prop("enableSkinTones") { (view, enable: Bool?) in
49
- view.updateEnableSkinTones(enable ?? true)
67
+ view.updateEnableSkinTones(enable ?? false)
50
68
  }
51
69
  Prop("enableHaptics") { (view, enable: Bool?) in
52
- view.updateEnableHaptics(enable ?? true)
70
+ view.updateEnableHaptics(enable ?? false)
71
+ }
72
+ Prop("enableAnimations") { (view, enable: Bool?) in
73
+ view.updateEnableAnimations(enable ?? false)
53
74
  }
54
75
  Prop("searchPlaceholder") { (view, text: String?) in
55
76
  if let text { view.updateSearchPlaceholder(text) }
@@ -78,18 +99,28 @@ public class EmojiSheetModule: Module {
78
99
  return
79
100
  }
80
101
 
81
- let isDark = (options["theme"] as? String) == "dark"
102
+ let themeString = options["theme"] as? String ?? "light"
103
+ let isDark: Bool
104
+ switch themeString {
105
+ case "dark":
106
+ isDark = true
107
+ case "system":
108
+ isDark = UITraitCollection.current.userInterfaceStyle == .dark
109
+ default:
110
+ isDark = false
111
+ }
82
112
 
83
113
  // Parse new options
84
114
  let snapPoints = (options["snapPoints"] as? [Double]) ?? [0.5, 1.0]
85
115
  let columns = (options["columns"] as? Int) ?? 7
86
116
  let emojiSize = options["emojiSize"] as? Double ?? 32
87
- let showSearch = (options["showSearch"] as? Bool) ?? true
88
- let showRecents = (options["showRecents"] as? Bool) ?? true
89
- let enableSkinTones = (options["enableSkinTones"] as? Bool) ?? true
117
+ let showSearch = (options["showSearch"] as? Bool) ?? false
118
+ let showRecents = (options["showRecents"] as? Bool) ?? false
119
+ let enableSkinTones = (options["enableSkinTones"] as? Bool) ?? false
90
120
  let enableHaptics = (options["enableHaptics"] as? Bool) ?? true
121
+ let enableAnimations = (options["enableAnimations"] as? Bool) ?? false
91
122
  let recentLimit = (options["recentLimit"] as? Int) ?? 30
92
- let gestureEnabled = (options["gestureEnabled"] as? Bool) ?? true
123
+ let gestureEnabled = (options["gestureEnabled"] as? Bool) ?? false
93
124
  let backdropOpacity = options["backdropOpacity"] as? Double ?? (isDark ? 0.4 : 0.22)
94
125
  let categoryBarPosition = (options["categoryBarPosition"] as? String) ?? "top"
95
126
  let categoryNames = options["categoryNames"] as? [String: String]
@@ -153,6 +184,7 @@ public class EmojiSheetModule: Module {
153
184
  pickerView.showRecents = showRecents
154
185
  pickerView.enableSkinTones = enableSkinTones
155
186
  pickerView.enableHaptics = enableHaptics
187
+ pickerView.enableAnimations = enableAnimations
156
188
  pickerView.recentLimit = recentLimit
157
189
  pickerView.categoryBarPosition = categoryBarPosition
158
190
  pickerView.categoryNames = categoryNames
@@ -61,6 +61,9 @@ class EmojiSheetUIView: UIView,
61
61
  var enableHaptics: Bool = true {
62
62
  didSet { gridView.enableHaptics = enableHaptics }
63
63
  }
64
+ var enableAnimations: Bool = false {
65
+ didSet { gridView.enableAnimations = enableAnimations }
66
+ }
64
67
  var recentLimit: Int = 30
65
68
  var categoryBarPosition: String = "top" {
66
69
  didSet { if categoryBarPosition != oldValue { configureLayout() } }
@@ -49,6 +49,7 @@ function flattenOptions(options) {
49
49
  if (options.showRecents != null) flat.showRecents = options.showRecents;
50
50
  if (options.enableSkinTones != null) flat.enableSkinTones = options.enableSkinTones;
51
51
  if (options.enableHaptics != null) flat.enableHaptics = options.enableHaptics;
52
+ if (options.enableAnimations != null) flat.enableAnimations = options.enableAnimations;
52
53
  if (options.gestureEnabled != null) flat.gestureEnabled = options.gestureEnabled;
53
54
  if (options.backdropOpacity != null) flat.backdropOpacity = options.backdropOpacity;
54
55
  if (options.excludeEmojis) flat.excludeEmojis = options.excludeEmojis;
@@ -61,6 +62,12 @@ var _default = exports.default = {
61
62
  },
62
63
  dismiss() {
63
64
  return NativeEmojiSheet.dismiss();
65
+ },
66
+ clearRecents() {
67
+ return NativeEmojiSheet.clearRecents();
68
+ },
69
+ clearSkinTonePreferences() {
70
+ return NativeEmojiSheet.clearSkinTonePreferences();
64
71
  }
65
72
  };
66
73
  //# sourceMappingURL=EmojiSheetModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_expo","require","flattenOptions","options","flat","theme","backgroundColor","searchBarBackgroundColor","textColor","textSecondaryColor","accentColor","dividerColor","searchTextColor","placeholderTextColor","selectionColor","categoryIconColor","categoryActiveIconColor","categoryActiveBackgroundColor","handleColor","categoryBarBackgroundColor","translations","searchPlaceholder","noResultsText","categoryNames","snapPoints","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","gestureEnabled","backdropOpacity","excludeEmojis","NativeEmojiSheet","requireNativeModule","_default","exports","default","present","dismiss"],"sourceRoot":"../../src","sources":["EmojiSheetModule.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_expo","require","flattenOptions","options","flat","theme","backgroundColor","searchBarBackgroundColor","textColor","textSecondaryColor","accentColor","dividerColor","searchTextColor","placeholderTextColor","selectionColor","categoryIconColor","categoryActiveIconColor","categoryActiveBackgroundColor","handleColor","categoryBarBackgroundColor","translations","searchPlaceholder","noResultsText","categoryNames","snapPoints","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","enableAnimations","gestureEnabled","backdropOpacity","excludeEmojis","NativeEmojiSheet","requireNativeModule","_default","exports","default","present","dismiss","clearRecents","clearSkinTonePreferences"],"sourceRoot":"../../src","sources":["EmojiSheetModule.ts"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@ function EmojiSheetView({
19
19
  showRecents,
20
20
  enableSkinTones,
21
21
  enableHaptics,
22
+ enableAnimations,
22
23
  excludeEmojis,
23
24
  ...rest
24
25
  }) {
@@ -39,6 +40,7 @@ function EmojiSheetView({
39
40
  showRecents: showRecents,
40
41
  enableSkinTones: enableSkinTones,
41
42
  enableHaptics: enableHaptics,
43
+ enableAnimations: enableAnimations,
42
44
  excludeEmojis: excludeEmojis,
43
45
  searchPlaceholder: translations?.searchPlaceholder,
44
46
  noResultsText: translations?.noResultsText,
@@ -1 +1 @@
1
- {"version":3,"names":["_expo","require","_jsxRuntime","NativeView","requireNativeView","EmojiSheetView","onEmojiSelected","theme","translations","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","excludeEmojis","rest","resolvedTheme","jsx","searchPlaceholder","noResultsText","categoryNames","nativeEvent","emoji"],"sourceRoot":"../../src","sources":["EmojiSheetView.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAyC,IAAAC,WAAA,GAAAD,OAAA;AAOzC,MAAME,UAA0D,GAC9D,IAAAC,uBAAiB,EAAC,YAAY,CAAC;AAElB,SAASC,cAAcA,CAAC;EACrCC,eAAe;EACfC,KAAK;EACLC,YAAY;EACZC,mBAAmB;EACnBC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,eAAe;EACfC,aAAa;EACbC,aAAa;EACb,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAMC,aAAa,GAAG,OAAOZ,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAGA,KAAK;;EAElE;EACA;EACA;;EAEA,oBACE,IAAAL,WAAA,CAAAkB,GAAA,EAACjB,UAAU;IAAA,GACLe,IAAI;IACRX,KAAK,EAAEY,aAAc;IACrBV,mBAAmB,EAAEA,mBAAoB;IACzCC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA,aAAc;IAC7BI,iBAAiB,EAAEb,YAAY,EAAEa,iBAAkB;IACnDC,aAAa,EAAEd,YAAY,EAAEc,aAAc;IAC3CC,aAAa,EAAEf,YAAY,EAAEe,aAAc;IAC3CjB,eAAe,EAAEA,CAAC;MAAEkB;IAAY,CAAC,KAAK;MACpClB,eAAe,CAACkB,WAAW,CAACC,KAAK,CAAC;IACpC;EAAE,CACH,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["_expo","require","_jsxRuntime","NativeView","requireNativeView","EmojiSheetView","onEmojiSelected","theme","translations","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","enableAnimations","excludeEmojis","rest","resolvedTheme","jsx","searchPlaceholder","noResultsText","categoryNames","nativeEvent","emoji"],"sourceRoot":"../../src","sources":["EmojiSheetView.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAyC,IAAAC,WAAA,GAAAD,OAAA;AAOzC,MAAME,UAA0D,GAC9D,IAAAC,uBAAiB,EAAC,YAAY,CAAC;AAElB,SAASC,cAAcA,CAAC;EACrCC,eAAe;EACfC,KAAK;EACLC,YAAY;EACZC,mBAAmB;EACnBC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,eAAe;EACfC,aAAa;EACbC,gBAAgB;EAChBC,aAAa;EACb,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAMC,aAAa,GAAG,OAAOb,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAGA,KAAK;;EAElE;EACA;EACA;;EAEA,oBACE,IAAAL,WAAA,CAAAmB,GAAA,EAAClB,UAAU;IAAA,GACLgB,IAAI;IACRZ,KAAK,EAAEa,aAAc;IACrBX,mBAAmB,EAAEA,mBAAoB;IACzCC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnCC,aAAa,EAAEA,aAAc;IAC7BI,iBAAiB,EAAEd,YAAY,EAAEc,iBAAkB;IACnDC,aAAa,EAAEf,YAAY,EAAEe,aAAc;IAC3CC,aAAa,EAAEhB,YAAY,EAAEgB,aAAc;IAC3ClB,eAAe,EAAEA,CAAC;MAAEmB;IAAY,CAAC,KAAK;MACpCnB,eAAe,CAACmB,WAAW,CAACC,KAAK,CAAC;IACpC;EAAE,CACH,CAAC;AAEN","ignoreList":[]}
@@ -45,6 +45,7 @@ function flattenOptions(options) {
45
45
  if (options.showRecents != null) flat.showRecents = options.showRecents;
46
46
  if (options.enableSkinTones != null) flat.enableSkinTones = options.enableSkinTones;
47
47
  if (options.enableHaptics != null) flat.enableHaptics = options.enableHaptics;
48
+ if (options.enableAnimations != null) flat.enableAnimations = options.enableAnimations;
48
49
  if (options.gestureEnabled != null) flat.gestureEnabled = options.gestureEnabled;
49
50
  if (options.backdropOpacity != null) flat.backdropOpacity = options.backdropOpacity;
50
51
  if (options.excludeEmojis) flat.excludeEmojis = options.excludeEmojis;
@@ -57,6 +58,12 @@ export default {
57
58
  },
58
59
  dismiss() {
59
60
  return NativeEmojiSheet.dismiss();
61
+ },
62
+ clearRecents() {
63
+ return NativeEmojiSheet.clearRecents();
64
+ },
65
+ clearSkinTonePreferences() {
66
+ return NativeEmojiSheet.clearSkinTonePreferences();
60
67
  }
61
68
  };
62
69
  //# sourceMappingURL=EmojiSheetModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModule","requireNativeModule","flattenOptions","options","flat","theme","backgroundColor","searchBarBackgroundColor","textColor","textSecondaryColor","accentColor","dividerColor","searchTextColor","placeholderTextColor","selectionColor","categoryIconColor","categoryActiveIconColor","categoryActiveBackgroundColor","handleColor","categoryBarBackgroundColor","translations","searchPlaceholder","noResultsText","categoryNames","snapPoints","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","gestureEnabled","backdropOpacity","excludeEmojis","NativeEmojiSheet","present","dismiss"],"sourceRoot":"../../src","sources":["EmojiSheetModule.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModule","requireNativeModule","flattenOptions","options","flat","theme","backgroundColor","searchBarBackgroundColor","textColor","textSecondaryColor","accentColor","dividerColor","searchTextColor","placeholderTextColor","selectionColor","categoryIconColor","categoryActiveIconColor","categoryActiveBackgroundColor","handleColor","categoryBarBackgroundColor","translations","searchPlaceholder","noResultsText","categoryNames","snapPoints","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","enableAnimations","gestureEnabled","backdropOpacity","excludeEmojis","NativeEmojiSheet","present","dismiss","clearRecents","clearSkinTonePreferences"],"sourceRoot":"../../src","sources":["EmojiSheetModule.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,mBAAmB,QAAQ,MAAM;AAKxD,SAASC,cAAcA,CAACC,OAAiC,EAAiB;EACxE,MAAMC,IAAmB,GAAG,CAAC,CAAC;;EAE9B;EACA,IAAID,OAAO,CAACE,KAAK,EAAE;IACjB,IAAI,OAAOF,OAAO,CAACE,KAAK,KAAK,QAAQ,EAAE;MACrCD,IAAI,CAACC,KAAK,GAAGF,OAAO,CAACE,KAAK;IAC5B,CAAC,MAAM;MACL,MAAMA,KAAK,GAAGF,OAAO,CAACE,KAAwB;MAC9CD,IAAI,CAACC,KAAK,GAAG,QAAQ;MACrBD,IAAI,CAACE,eAAe,GAAGD,KAAK,CAACC,eAAe;MAC5CF,IAAI,CAACG,wBAAwB,GAAGF,KAAK,CAACE,wBAAwB;MAC9DH,IAAI,CAACI,SAAS,GAAGH,KAAK,CAACG,SAAS;MAChCJ,IAAI,CAACK,kBAAkB,GAAGJ,KAAK,CAACI,kBAAkB;MAClDL,IAAI,CAACM,WAAW,GAAGL,KAAK,CAACK,WAAW;MACpCN,IAAI,CAACO,YAAY,GAAGN,KAAK,CAACM,YAAY;MACtC,IAAIN,KAAK,CAACO,eAAe,EAAER,IAAI,CAACQ,eAAe,GAAGP,KAAK,CAACO,eAAe;MACvE,IAAIP,KAAK,CAACQ,oBAAoB,EAAET,IAAI,CAACS,oBAAoB,GAAGR,KAAK,CAACQ,oBAAoB;MACtF,IAAIR,KAAK,CAACS,cAAc,EAAEV,IAAI,CAACU,cAAc,GAAGT,KAAK,CAACS,cAAc;MACpE,IAAIT,KAAK,CAACU,iBAAiB,EAAEX,IAAI,CAACW,iBAAiB,GAAGV,KAAK,CAACU,iBAAiB;MAC7E,IAAIV,KAAK,CAACW,uBAAuB,EAAEZ,IAAI,CAACY,uBAAuB,GAAGX,KAAK,CAACW,uBAAuB;MAC/F,IAAIX,KAAK,CAACY,6BAA6B,EAAEb,IAAI,CAACa,6BAA6B,GAAGZ,KAAK,CAACY,6BAA6B;MACjH,IAAIZ,KAAK,CAACa,WAAW,EAAEd,IAAI,CAACc,WAAW,GAAGb,KAAK,CAACa,WAAW;MAC3D,IAAIb,KAAK,CAACc,0BAA0B,EAAEf,IAAI,CAACe,0BAA0B,GAAGd,KAAK,CAACc,0BAA0B;IAC1G;EACF;;EAEA;EACA,IAAIhB,OAAO,CAACiB,YAAY,EAAE;IACxB,IAAIjB,OAAO,CAACiB,YAAY,CAACC,iBAAiB,EAAEjB,IAAI,CAACiB,iBAAiB,GAAGlB,OAAO,CAACiB,YAAY,CAACC,iBAAiB;IAC3G,IAAIlB,OAAO,CAACiB,YAAY,CAACE,aAAa,EAAElB,IAAI,CAACkB,aAAa,GAAGnB,OAAO,CAACiB,YAAY,CAACE,aAAa;IAC/F,IAAInB,OAAO,CAACiB,YAAY,CAACG,aAAa,EAAEnB,IAAI,CAACmB,aAAa,GAAGpB,OAAO,CAACiB,YAAY,CAACG,aAAa;EACjG;;EAEA;EACA,IAAIpB,OAAO,CAACqB,UAAU,EAAEpB,IAAI,CAACoB,UAAU,GAAGrB,OAAO,CAACqB,UAAU;EAC5D,IAAIrB,OAAO,CAACsB,mBAAmB,EAAErB,IAAI,CAACqB,mBAAmB,GAAGtB,OAAO,CAACsB,mBAAmB;EACvF,IAAItB,OAAO,CAACuB,OAAO,IAAI,IAAI,EAAEtB,IAAI,CAACsB,OAAO,GAAGvB,OAAO,CAACuB,OAAO;EAC3D,IAAIvB,OAAO,CAACwB,SAAS,IAAI,IAAI,EAAEvB,IAAI,CAACuB,SAAS,GAAGxB,OAAO,CAACwB,SAAS;EACjE,IAAIxB,OAAO,CAACyB,WAAW,IAAI,IAAI,EAAExB,IAAI,CAACwB,WAAW,GAAGzB,OAAO,CAACyB,WAAW;EACvE,IAAIzB,OAAO,CAAC0B,UAAU,IAAI,IAAI,EAAEzB,IAAI,CAACyB,UAAU,GAAG1B,OAAO,CAAC0B,UAAU;EACpE,IAAI1B,OAAO,CAAC2B,WAAW,IAAI,IAAI,EAAE1B,IAAI,CAAC0B,WAAW,GAAG3B,OAAO,CAAC2B,WAAW;EACvE,IAAI3B,OAAO,CAAC4B,eAAe,IAAI,IAAI,EAAE3B,IAAI,CAAC2B,eAAe,GAAG5B,OAAO,CAAC4B,eAAe;EACnF,IAAI5B,OAAO,CAAC6B,aAAa,IAAI,IAAI,EAAE5B,IAAI,CAAC4B,aAAa,GAAG7B,OAAO,CAAC6B,aAAa;EAC7E,IAAI7B,OAAO,CAAC8B,gBAAgB,IAAI,IAAI,EAAE7B,IAAI,CAAC6B,gBAAgB,GAAG9B,OAAO,CAAC8B,gBAAgB;EACtF,IAAI9B,OAAO,CAAC+B,cAAc,IAAI,IAAI,EAAE9B,IAAI,CAAC8B,cAAc,GAAG/B,OAAO,CAAC+B,cAAc;EAChF,IAAI/B,OAAO,CAACgC,eAAe,IAAI,IAAI,EAAE/B,IAAI,CAAC+B,eAAe,GAAGhC,OAAO,CAACgC,eAAe;EACnF,IAAIhC,OAAO,CAACiC,aAAa,EAAEhC,IAAI,CAACgC,aAAa,GAAGjC,OAAO,CAACiC,aAAa;EAErE,OAAOhC,IAAI;AACb;AASA,MAAMiC,gBAAgB,GAAGpC,mBAAmB,CAAuB,YAAY,CAAC;AAIhF,eAAe;EACbqC,OAAOA,CAACnC,OAAiC,GAAG,CAAC,CAAC,EAA6B;IACzE,OAAOkC,gBAAgB,CAACC,OAAO,CAACpC,cAAc,CAACC,OAAO,CAAC,CAAC;EAC1D,CAAC;EACDoC,OAAOA,CAAA,EAAkB;IACvB,OAAOF,gBAAgB,CAACE,OAAO,CAAC,CAAC;EACnC,CAAC;EACDC,YAAYA,CAAA,EAAkB;IAC5B,OAAOH,gBAAgB,CAACG,YAAY,CAAC,CAAC;EACxC,CAAC;EACDC,wBAAwBA,CAAA,EAAkB;IACxC,OAAOJ,gBAAgB,CAACI,wBAAwB,CAAC,CAAC;EACpD;AACF,CAAC","ignoreList":[]}
@@ -15,6 +15,7 @@ export default function EmojiSheetView({
15
15
  showRecents,
16
16
  enableSkinTones,
17
17
  enableHaptics,
18
+ enableAnimations,
18
19
  excludeEmojis,
19
20
  ...rest
20
21
  }) {
@@ -35,6 +36,7 @@ export default function EmojiSheetView({
35
36
  showRecents: showRecents,
36
37
  enableSkinTones: enableSkinTones,
37
38
  enableHaptics: enableHaptics,
39
+ enableAnimations: enableAnimations,
38
40
  excludeEmojis: excludeEmojis,
39
41
  searchPlaceholder: translations?.searchPlaceholder,
40
42
  noResultsText: translations?.noResultsText,
@@ -1 +1 @@
1
- {"version":3,"names":["requireNativeView","jsx","_jsx","NativeView","EmojiSheetView","onEmojiSelected","theme","translations","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","excludeEmojis","rest","resolvedTheme","searchPlaceholder","noResultsText","categoryNames","nativeEvent","emoji"],"sourceRoot":"../../src","sources":["EmojiSheetView.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzC,MAAMC,UAA0D,GAC9DH,iBAAiB,CAAC,YAAY,CAAC;AAEjC,eAAe,SAASI,cAAcA,CAAC;EACrCC,eAAe;EACfC,KAAK;EACLC,YAAY;EACZC,mBAAmB;EACnBC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,eAAe;EACfC,aAAa;EACbC,aAAa;EACb,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAMC,aAAa,GAAG,OAAOZ,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAGA,KAAK;;EAElE;EACA;EACA;;EAEA,oBACEJ,IAAA,CAACC,UAAU;IAAA,GACLc,IAAI;IACRX,KAAK,EAAEY,aAAc;IACrBV,mBAAmB,EAAEA,mBAAoB;IACzCC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA,aAAc;IAC7BG,iBAAiB,EAAEZ,YAAY,EAAEY,iBAAkB;IACnDC,aAAa,EAAEb,YAAY,EAAEa,aAAc;IAC3CC,aAAa,EAAEd,YAAY,EAAEc,aAAc;IAC3ChB,eAAe,EAAEA,CAAC;MAAEiB;IAAY,CAAC,KAAK;MACpCjB,eAAe,CAACiB,WAAW,CAACC,KAAK,CAAC;IACpC;EAAE,CACH,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["requireNativeView","jsx","_jsx","NativeView","EmojiSheetView","onEmojiSelected","theme","translations","categoryBarPosition","columns","emojiSize","recentLimit","showSearch","showRecents","enableSkinTones","enableHaptics","enableAnimations","excludeEmojis","rest","resolvedTheme","searchPlaceholder","noResultsText","categoryNames","nativeEvent","emoji"],"sourceRoot":"../../src","sources":["EmojiSheetView.tsx"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,MAAM;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOzC,MAAMC,UAA0D,GAC9DH,iBAAiB,CAAC,YAAY,CAAC;AAEjC,eAAe,SAASI,cAAcA,CAAC;EACrCC,eAAe;EACfC,KAAK;EACLC,YAAY;EACZC,mBAAmB;EACnBC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,eAAe;EACfC,aAAa;EACbC,gBAAgB;EAChBC,aAAa;EACb,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAMC,aAAa,GAAG,OAAOb,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAGA,KAAK;;EAElE;EACA;EACA;;EAEA,oBACEJ,IAAA,CAACC,UAAU;IAAA,GACLe,IAAI;IACRZ,KAAK,EAAEa,aAAc;IACrBX,mBAAmB,EAAEA,mBAAoB;IACzCC,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,SAAU;IACrBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnCC,aAAa,EAAEA,aAAc;IAC7BG,iBAAiB,EAAEb,YAAY,EAAEa,iBAAkB;IACnDC,aAAa,EAAEd,YAAY,EAAEc,aAAc;IAC3CC,aAAa,EAAEf,YAAY,EAAEe,aAAc;IAC3CjB,eAAe,EAAEA,CAAC;MAAEkB;IAAY,CAAC,KAAK;MACpClB,eAAe,CAACkB,WAAW,CAACC,KAAK,CAAC;IACpC;EAAE,CACH,CAAC;AAEN","ignoreList":[]}
@@ -3,6 +3,8 @@ export type { EmojiSheetResult };
3
3
  declare const _default: {
4
4
  present(options?: EmojiSheetPresentOptions): Promise<EmojiSheetResult>;
5
5
  dismiss(): Promise<void>;
6
+ clearRecents(): Promise<void>;
7
+ clearSkinTonePreferences(): Promise<void>;
6
8
  };
7
9
  export default _default;
8
10
  //# sourceMappingURL=EmojiSheetModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiSheetModule.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetModule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAmB,MAAM,0BAA0B,CAAC;AA8D5G,YAAY,EAAE,gBAAgB,EAAE,CAAC;;sBAGd,wBAAwB,GAAQ,OAAO,CAAC,gBAAgB,CAAC;eAG/D,OAAO,CAAC,IAAI,CAAC;;AAJ1B,wBAOE"}
1
+ {"version":3,"file":"EmojiSheetModule.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetModule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAmB,MAAM,0BAA0B,CAAC;AAiE5G,YAAY,EAAE,gBAAgB,EAAE,CAAC;;sBAGd,wBAAwB,GAAQ,OAAO,CAAC,gBAAgB,CAAC;eAG/D,OAAO,CAAC,IAAI,CAAC;oBAGR,OAAO,CAAC,IAAI,CAAC;gCAGD,OAAO,CAAC,IAAI,CAAC;;AAV3C,wBAaE"}
@@ -22,7 +22,7 @@ export type EmojiSheetTranslations = {
22
22
  categoryNames?: Partial<Record<EmojiCategory, string>>;
23
23
  };
24
24
  export type EmojiSheetPresentOptions = {
25
- theme?: EmojiSheetTheme | 'dark' | 'light';
25
+ theme?: EmojiSheetTheme | 'dark' | 'light' | 'system';
26
26
  translations?: EmojiSheetTranslations;
27
27
  snapPoints?: [number, number];
28
28
  categoryBarPosition?: 'top' | 'bottom';
@@ -33,6 +33,7 @@ export type EmojiSheetPresentOptions = {
33
33
  showRecents?: boolean;
34
34
  enableSkinTones?: boolean;
35
35
  enableHaptics?: boolean;
36
+ enableAnimations?: boolean;
36
37
  gestureEnabled?: boolean;
37
38
  backdropOpacity?: number;
38
39
  excludeEmojis?: string[];
@@ -51,7 +52,7 @@ export type EmojiSelectionListener = (event: {
51
52
  }) => void;
52
53
  export type EmojiSheetViewProps = ViewProps & {
53
54
  onEmojiSelected: (emoji: string) => void;
54
- theme?: EmojiSheetTheme | 'dark' | 'light';
55
+ theme?: EmojiSheetTheme | 'dark' | 'light' | 'system';
55
56
  translations?: EmojiSheetTranslations;
56
57
  categoryBarPosition?: 'top' | 'bottom';
57
58
  columns?: number;
@@ -61,6 +62,7 @@ export type EmojiSheetViewProps = ViewProps & {
61
62
  showRecents?: boolean;
62
63
  enableSkinTones?: boolean;
63
64
  enableHaptics?: boolean;
65
+ enableAnimations?: boolean;
64
66
  excludeEmojis?: string[];
65
67
  };
66
68
  export type EmojiSheetNativeViewProps = ViewProps & {
@@ -74,6 +76,7 @@ export type EmojiSheetNativeViewProps = ViewProps & {
74
76
  showRecents?: boolean;
75
77
  enableSkinTones?: boolean;
76
78
  enableHaptics?: boolean;
79
+ enableAnimations?: boolean;
77
80
  searchPlaceholder?: string;
78
81
  noResultsText?: string;
79
82
  categoryNames?: Partial<Record<EmojiCategory, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiSheetModule.types.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetModule.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmojiSheetModule.types.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetModule.types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { EmojiSheetViewProps } from './EmojiSheetModule.types';
2
- export default function EmojiSheetView({ onEmojiSelected, theme, translations, categoryBarPosition, columns, emojiSize, recentLimit, showSearch, showRecents, enableSkinTones, enableHaptics, excludeEmojis, ...rest }: EmojiSheetViewProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function EmojiSheetView({ onEmojiSelected, theme, translations, categoryBarPosition, columns, emojiSize, recentLimit, showSearch, showRecents, enableSkinTones, enableHaptics, enableAnimations, excludeEmojis, ...rest }: EmojiSheetViewProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=EmojiSheetView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiSheetView.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,eAAe,EACf,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,aAAa,EACb,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA4BrB"}
1
+ {"version":3,"file":"EmojiSheetView.d.ts","sourceRoot":"","sources":["../../src/EmojiSheetView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,eAAe,EACf,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,GAAG,IAAI,EACR,EAAE,mBAAmB,2CA6BrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-native-sheet-emojis",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "A fully native emoji picker bottom sheet for React Native. Built with Swift and Kotlin for maximum performance. Features search with multilingual keywords, skin tones, frequently used tracking, theming, and configurable layout.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -47,6 +47,7 @@ function flattenOptions(options: EmojiSheetPresentOptions): NativeOptions {
47
47
  if (options.showRecents != null) flat.showRecents = options.showRecents;
48
48
  if (options.enableSkinTones != null) flat.enableSkinTones = options.enableSkinTones;
49
49
  if (options.enableHaptics != null) flat.enableHaptics = options.enableHaptics;
50
+ if (options.enableAnimations != null) flat.enableAnimations = options.enableAnimations;
50
51
  if (options.gestureEnabled != null) flat.gestureEnabled = options.gestureEnabled;
51
52
  if (options.backdropOpacity != null) flat.backdropOpacity = options.backdropOpacity;
52
53
  if (options.excludeEmojis) flat.excludeEmojis = options.excludeEmojis;
@@ -57,6 +58,8 @@ function flattenOptions(options: EmojiSheetPresentOptions): NativeOptions {
57
58
  declare class EmojiSheetModuleType extends NativeModule {
58
59
  present(options: NativeOptions): Promise<EmojiSheetResult>;
59
60
  dismiss(): Promise<void>;
61
+ clearRecents(): Promise<void>;
62
+ clearSkinTonePreferences(): Promise<void>;
60
63
  }
61
64
 
62
65
  const NativeEmojiSheet = requireNativeModule<EmojiSheetModuleType>('EmojiSheet');
@@ -70,4 +73,10 @@ export default {
70
73
  dismiss(): Promise<void> {
71
74
  return NativeEmojiSheet.dismiss();
72
75
  },
76
+ clearRecents(): Promise<void> {
77
+ return NativeEmojiSheet.clearRecents();
78
+ },
79
+ clearSkinTonePreferences(): Promise<void> {
80
+ return NativeEmojiSheet.clearSkinTonePreferences();
81
+ },
73
82
  };
@@ -36,7 +36,7 @@ export type EmojiSheetTranslations = {
36
36
  };
37
37
 
38
38
  export type EmojiSheetPresentOptions = {
39
- theme?: EmojiSheetTheme | 'dark' | 'light';
39
+ theme?: EmojiSheetTheme | 'dark' | 'light' | 'system';
40
40
  translations?: EmojiSheetTranslations;
41
41
  snapPoints?: [number, number];
42
42
  categoryBarPosition?: 'top' | 'bottom';
@@ -47,6 +47,7 @@ export type EmojiSheetPresentOptions = {
47
47
  showRecents?: boolean;
48
48
  enableSkinTones?: boolean;
49
49
  enableHaptics?: boolean;
50
+ enableAnimations?: boolean;
50
51
  gestureEnabled?: boolean;
51
52
  backdropOpacity?: number;
52
53
  excludeEmojis?: string[];
@@ -60,7 +61,7 @@ export type EmojiSelectionListener = (event: { nativeEvent: { emoji: string } })
60
61
 
61
62
  export type EmojiSheetViewProps = ViewProps & {
62
63
  onEmojiSelected: (emoji: string) => void;
63
- theme?: EmojiSheetTheme | 'dark' | 'light';
64
+ theme?: EmojiSheetTheme | 'dark' | 'light' | 'system';
64
65
  translations?: EmojiSheetTranslations;
65
66
  categoryBarPosition?: 'top' | 'bottom';
66
67
  columns?: number;
@@ -70,6 +71,7 @@ export type EmojiSheetViewProps = ViewProps & {
70
71
  showRecents?: boolean;
71
72
  enableSkinTones?: boolean;
72
73
  enableHaptics?: boolean;
74
+ enableAnimations?: boolean;
73
75
  excludeEmojis?: string[];
74
76
  };
75
77
 
@@ -84,6 +86,7 @@ export type EmojiSheetNativeViewProps = ViewProps & {
84
86
  showRecents?: boolean;
85
87
  enableSkinTones?: boolean;
86
88
  enableHaptics?: boolean;
89
+ enableAnimations?: boolean;
87
90
  searchPlaceholder?: string;
88
91
  noResultsText?: string;
89
92
  categoryNames?: Partial<Record<EmojiCategory, string>>;
@@ -20,6 +20,7 @@ export default function EmojiSheetView({
20
20
  showRecents,
21
21
  enableSkinTones,
22
22
  enableHaptics,
23
+ enableAnimations,
23
24
  excludeEmojis,
24
25
  ...rest
25
26
  }: EmojiSheetViewProps) {
@@ -41,6 +42,7 @@ export default function EmojiSheetView({
41
42
  showRecents={showRecents}
42
43
  enableSkinTones={enableSkinTones}
43
44
  enableHaptics={enableHaptics}
45
+ enableAnimations={enableAnimations}
44
46
  excludeEmojis={excludeEmojis}
45
47
  searchPlaceholder={translations?.searchPlaceholder}
46
48
  noResultsText={translations?.noResultsText}