@oiij/emoji-picker 0.0.1 → 0.0.2

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
@@ -1,31 +1,12 @@
1
- # library-starter
1
+ # Use EmojiPicker
2
2
 
3
- Features:
3
+ [![NPM version](https://img.shields.io/npm/v/@oiij/emoji-picker)](https://www.npmjs.com/package/@oiij/emoji-picker)
4
+ [![MIT-license](https://img.shields.io/npm/l/@oiij/emoji-picker)](https://github.com/Eiog/@oiij/emoji-picker/blob/main/LICENSE)
4
5
 
5
- - Bundle with [tsup](https://github.com/egoist/tsup)
6
- - Test with [vitest](https://vitest.dev)
7
-
8
- # Usage
9
-
10
- ### 安装
6
+ ## Usage
11
7
 
12
8
  ```bash
13
- pnpm add @oiij/v-charts
9
+ pnpm add @oiij/emoji-picker
14
10
  ```
15
11
 
16
- ### 使用
17
-
18
- ```vue
19
- <script setup lang="ts">
20
- import { useEmojiPicker } from '@oiij/emoji-picker'
21
- const { domRef } = useEmojiPicker(option)
22
- </script>
23
-
24
- <template>
25
- <div ref="domRef" style="width: 100%; height: 100%;" />
26
- </template>
27
- ```
28
-
29
- ## License
30
-
31
- MIT
12
+ [在线文档](https://oiij-use.vercel.app/examples/emoji-picker/started)
package/dist/index.cjs CHANGED
@@ -1,105 +1,91 @@
1
- "use strict";
1
+ //#region rolldown:runtime
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
8
  var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+
23
+ //#endregion
24
+ const __emoji_mart_data = __toESM(require("@emoji-mart/data"));
25
+ const emoji_mart = __toESM(require("emoji-mart"));
26
+ const vue = __toESM(require("vue"));
29
27
 
30
- // src/index.ts
31
- var index_exports = {};
32
- __export(index_exports, {
33
- useEmojiPicker: () => useEmojiPicker
34
- });
35
- module.exports = __toCommonJS(index_exports);
36
- var import_data = __toESM(require("@emoji-mart/data"), 1);
37
- var import_emoji_mart = require("emoji-mart");
38
- var import_vue = require("vue");
28
+ //#region src/index.ts
39
29
  function useEmojiPicker(darkMode, language, options) {
40
- const _options = {
41
- data: import_data.default,
42
- emojiButtonRadius: "6px",
43
- emojiButtonColors: [
44
- "rgba(155,223,88,.7)",
45
- "rgba(149,211,254,.7)",
46
- "rgba(247,233,34,.7)",
47
- "rgba(238,166,252,.7)",
48
- "rgba(255,213,143,.7)",
49
- "rgba(211,209,255,.7)"
50
- ],
51
- theme: darkMode?.value ? "dark" : "light",
52
- locale: language?.value,
53
- ...options
54
- };
55
- const domRef = (0, import_vue.ref)();
56
- const emojiPicker = (0, import_vue.shallowRef)();
57
- let onRender = null;
58
- function render() {
59
- if (domRef.value || !emojiPicker.value) {
60
- emojiPicker.value = new import_emoji_mart.Picker({
61
- parent: domRef.value,
62
- ..._options
63
- });
64
- if (typeof onRender === "function") {
65
- onRender(emojiPicker.value);
66
- }
67
- }
68
- }
69
- function destroy() {
70
- if (!domRef.value)
71
- return;
72
- domRef.value.innerHTML = "";
73
- emojiPicker.value = void 0;
74
- }
75
- (0, import_vue.watch)(domRef, () => {
76
- render();
77
- });
78
- (0, import_vue.watch)(() => darkMode?.value, (v) => {
79
- destroy();
80
- _options.theme = v ? "dark" : "light";
81
- render();
82
- });
83
- (0, import_vue.watch)(() => language?.value, (v) => {
84
- destroy();
85
- _options.locale = v ?? "zh";
86
- render();
87
- });
88
- (0, import_vue.onMounted)(() => {
89
- render();
90
- });
91
- (0, import_vue.onUnmounted)(() => {
92
- destroy();
93
- });
94
- return {
95
- domRef,
96
- emojiPicker,
97
- onRender: (fn) => {
98
- onRender = fn;
99
- }
100
- };
30
+ const _options = {
31
+ data: __emoji_mart_data.default,
32
+ emojiButtonRadius: "6px",
33
+ emojiButtonColors: [
34
+ "rgba(155,223,88,.7)",
35
+ "rgba(149,211,254,.7)",
36
+ "rgba(247,233,34,.7)",
37
+ "rgba(238,166,252,.7)",
38
+ "rgba(255,213,143,.7)",
39
+ "rgba(211,209,255,.7)"
40
+ ],
41
+ theme: darkMode?.value ? "dark" : "light",
42
+ locale: language?.value,
43
+ ...options
44
+ };
45
+ const domRef = (0, vue.ref)();
46
+ const emojiPicker = (0, vue.shallowRef)(null);
47
+ let onRender = null;
48
+ function render() {
49
+ if (domRef.value && !emojiPicker.value) {
50
+ emojiPicker.value = new emoji_mart.Picker({
51
+ parent: domRef.value,
52
+ ..._options
53
+ });
54
+ if (typeof onRender === "function") onRender(emojiPicker.value);
55
+ }
56
+ }
57
+ function destroy() {
58
+ if (!domRef.value) return;
59
+ domRef.value.innerHTML = "";
60
+ emojiPicker.value = null;
61
+ }
62
+ (0, vue.watch)(domRef, () => {
63
+ render();
64
+ });
65
+ (0, vue.watch)(() => darkMode?.value, (v) => {
66
+ destroy();
67
+ _options.theme = v ? "dark" : "light";
68
+ render();
69
+ });
70
+ (0, vue.watch)(() => language?.value, (v) => {
71
+ destroy();
72
+ _options.locale = v ?? "zh";
73
+ render();
74
+ });
75
+ (0, vue.onMounted)(() => {
76
+ render();
77
+ });
78
+ (0, vue.onUnmounted)(() => {
79
+ destroy();
80
+ });
81
+ return {
82
+ domRef,
83
+ emojiPicker,
84
+ onRender: (fn) => {
85
+ onRender = fn;
86
+ }
87
+ };
101
88
  }
102
- // Annotate the CommonJS export names for ESM import in node:
103
- 0 && (module.exports = {
104
- useEmojiPicker
105
- });
89
+
90
+ //#endregion
91
+ exports.useEmojiPicker = useEmojiPicker;
package/dist/index.d.cts CHANGED
@@ -1,53 +1,55 @@
1
- import { Ref, ShallowRef, ComputedRef } from 'vue';
2
- import { Picker } from 'emoji-mart';
1
+ import * as vue0 from "vue";
2
+ import { ComputedRef } from "vue";
3
+ import { Picker } from "emoji-mart";
3
4
 
5
+ //#region src/index.d.ts
4
6
  interface EmojiResult {
5
- id: string;
6
- name: string;
7
- native: string;
8
- unified: string;
9
- keywords: string[];
10
- shortcodes: string;
7
+ id: string;
8
+ name: string;
9
+ native: string;
10
+ unified: string;
11
+ keywords: string[];
12
+ shortcodes: string;
11
13
  }
12
14
  interface EmojiPickerOptions {
13
- parent?: HTMLElement;
14
- data?: object;
15
- i18n?: object;
16
- categories?: ('frequent' | 'people' | 'nature' | 'food' | 'activity' | 'places' | 'objects' | 'symbols' | 'flags')[];
17
- custom?: [];
18
- onEmojiSelect?: (emoji: EmojiResult) => void;
19
- onClickOutside?: () => void;
20
- onAddCustomEmoji?: (emoji: EmojiResult) => void;
21
- autoFocus?: boolean;
22
- categoryIcons?: object;
23
- dynamicWidth?: boolean;
24
- emojiButtonColors?: string[];
25
- emojiButtonRadius?: string;
26
- emojiButtonSize?: number;
27
- emojiSize?: number;
28
- emojiVersion?: 1 | 2 | 3 | 4 | 5 | 11 | 12 | 12.1 | 13 | 13.1 | 14 | 15;
29
- exceptEmojis?: [];
30
- icons?: 'aut' | 'outline' | 'solid';
31
- locale?: 'en' | 'ar' | 'be' | 'cs' | 'de' | 'es' | 'fa' | 'fi' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'nl' | 'pl' | 'pt' | 'ru' | 'sa' | 'tr' | 'uk' | 'vi' | 'zh';
32
- maxFrequentRows?: number;
33
- navPosition?: 'top' | 'bottom' | 'none';
34
- noCountryFlags?: boolean;
35
- noResultsEmoji?: string;
36
- perLine?: number;
37
- previewEmoji?: 'point_up' | 'point_down';
38
- previewPosition?: 'top' | 'bottom' | 'none';
39
- searchPosition?: 'sticky' | 'static' | 'none';
40
- set?: 'native' | 'apple' | 'facebook' | 'google' | 'twitter';
41
- skin?: 1 | 2 | 3 | 4 | 5 | 6;
42
- skinTonePosition?: 'preview' | 'search' | 'none';
43
- theme?: 'auto' | 'light' | 'dark';
44
- getSpritesheetURL?: string;
15
+ parent?: HTMLElement;
16
+ data?: object;
17
+ i18n?: object;
18
+ categories?: ('frequent' | 'people' | 'nature' | 'food' | 'activity' | 'places' | 'objects' | 'symbols' | 'flags')[];
19
+ custom?: [];
20
+ onEmojiSelect?: (emoji: EmojiResult) => void;
21
+ onClickOutside?: () => void;
22
+ onAddCustomEmoji?: (emoji: EmojiResult) => void;
23
+ autoFocus?: boolean;
24
+ categoryIcons?: object;
25
+ dynamicWidth?: boolean;
26
+ emojiButtonColors?: string[];
27
+ emojiButtonRadius?: string;
28
+ emojiButtonSize?: number;
29
+ emojiSize?: number;
30
+ emojiVersion?: 1 | 2 | 3 | 4 | 5 | 11 | 12 | 12.1 | 13 | 13.1 | 14 | 15;
31
+ exceptEmojis?: [];
32
+ icons?: 'aut' | 'outline' | 'solid';
33
+ locale?: 'en' | 'ar' | 'be' | 'cs' | 'de' | 'es' | 'fa' | 'fi' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'nl' | 'pl' | 'pt' | 'ru' | 'sa' | 'tr' | 'uk' | 'vi' | 'zh';
34
+ maxFrequentRows?: number;
35
+ navPosition?: 'top' | 'bottom' | 'none';
36
+ noCountryFlags?: boolean;
37
+ noResultsEmoji?: string;
38
+ perLine?: number;
39
+ previewEmoji?: 'point_up' | 'point_down';
40
+ previewPosition?: 'top' | 'bottom' | 'none';
41
+ searchPosition?: 'sticky' | 'static' | 'none';
42
+ set?: 'native' | 'apple' | 'facebook' | 'google' | 'twitter';
43
+ skin?: 1 | 2 | 3 | 4 | 5 | 6;
44
+ skinTonePosition?: 'preview' | 'search' | 'none';
45
+ theme?: 'auto' | 'light' | 'dark';
46
+ getSpritesheetURL?: string;
45
47
  }
46
- interface EmojiPickerReturns {
47
- domRef: Ref<HTMLElement | undefined>;
48
- emojiPicker: ShallowRef<Picker | undefined>;
49
- onRender: (fn: (editor: Picker) => void) => void;
50
- }
51
- declare function useEmojiPicker(darkMode?: ComputedRef<boolean>, language?: ComputedRef<'zh' | 'en'>, options?: EmojiPickerOptions): EmojiPickerReturns;
52
-
53
- export { type EmojiPickerOptions, type EmojiPickerReturns, type EmojiResult, useEmojiPicker };
48
+ declare function useEmojiPicker(darkMode?: ComputedRef<boolean>, language?: ComputedRef<'zh' | 'en'>, options?: EmojiPickerOptions): {
49
+ domRef: vue0.Ref<HTMLElement | undefined, HTMLElement | undefined>;
50
+ emojiPicker: vue0.ShallowRef<Picker | null, Picker | null>;
51
+ onRender: (fn: (editor: Picker) => void) => void;
52
+ };
53
+ type EmojiPickerReturns = ReturnType<typeof useEmojiPicker>;
54
+ //#endregion
55
+ export { EmojiPickerOptions, EmojiPickerReturns, EmojiResult, useEmojiPicker };
package/dist/index.d.ts CHANGED
@@ -1,53 +1,55 @@
1
- import { Ref, ShallowRef, ComputedRef } from 'vue';
2
- import { Picker } from 'emoji-mart';
1
+ import { Picker } from "emoji-mart";
2
+ import * as vue0 from "vue";
3
+ import { ComputedRef } from "vue";
3
4
 
5
+ //#region src/index.d.ts
4
6
  interface EmojiResult {
5
- id: string;
6
- name: string;
7
- native: string;
8
- unified: string;
9
- keywords: string[];
10
- shortcodes: string;
7
+ id: string;
8
+ name: string;
9
+ native: string;
10
+ unified: string;
11
+ keywords: string[];
12
+ shortcodes: string;
11
13
  }
12
14
  interface EmojiPickerOptions {
13
- parent?: HTMLElement;
14
- data?: object;
15
- i18n?: object;
16
- categories?: ('frequent' | 'people' | 'nature' | 'food' | 'activity' | 'places' | 'objects' | 'symbols' | 'flags')[];
17
- custom?: [];
18
- onEmojiSelect?: (emoji: EmojiResult) => void;
19
- onClickOutside?: () => void;
20
- onAddCustomEmoji?: (emoji: EmojiResult) => void;
21
- autoFocus?: boolean;
22
- categoryIcons?: object;
23
- dynamicWidth?: boolean;
24
- emojiButtonColors?: string[];
25
- emojiButtonRadius?: string;
26
- emojiButtonSize?: number;
27
- emojiSize?: number;
28
- emojiVersion?: 1 | 2 | 3 | 4 | 5 | 11 | 12 | 12.1 | 13 | 13.1 | 14 | 15;
29
- exceptEmojis?: [];
30
- icons?: 'aut' | 'outline' | 'solid';
31
- locale?: 'en' | 'ar' | 'be' | 'cs' | 'de' | 'es' | 'fa' | 'fi' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'nl' | 'pl' | 'pt' | 'ru' | 'sa' | 'tr' | 'uk' | 'vi' | 'zh';
32
- maxFrequentRows?: number;
33
- navPosition?: 'top' | 'bottom' | 'none';
34
- noCountryFlags?: boolean;
35
- noResultsEmoji?: string;
36
- perLine?: number;
37
- previewEmoji?: 'point_up' | 'point_down';
38
- previewPosition?: 'top' | 'bottom' | 'none';
39
- searchPosition?: 'sticky' | 'static' | 'none';
40
- set?: 'native' | 'apple' | 'facebook' | 'google' | 'twitter';
41
- skin?: 1 | 2 | 3 | 4 | 5 | 6;
42
- skinTonePosition?: 'preview' | 'search' | 'none';
43
- theme?: 'auto' | 'light' | 'dark';
44
- getSpritesheetURL?: string;
15
+ parent?: HTMLElement;
16
+ data?: object;
17
+ i18n?: object;
18
+ categories?: ('frequent' | 'people' | 'nature' | 'food' | 'activity' | 'places' | 'objects' | 'symbols' | 'flags')[];
19
+ custom?: [];
20
+ onEmojiSelect?: (emoji: EmojiResult) => void;
21
+ onClickOutside?: () => void;
22
+ onAddCustomEmoji?: (emoji: EmojiResult) => void;
23
+ autoFocus?: boolean;
24
+ categoryIcons?: object;
25
+ dynamicWidth?: boolean;
26
+ emojiButtonColors?: string[];
27
+ emojiButtonRadius?: string;
28
+ emojiButtonSize?: number;
29
+ emojiSize?: number;
30
+ emojiVersion?: 1 | 2 | 3 | 4 | 5 | 11 | 12 | 12.1 | 13 | 13.1 | 14 | 15;
31
+ exceptEmojis?: [];
32
+ icons?: 'aut' | 'outline' | 'solid';
33
+ locale?: 'en' | 'ar' | 'be' | 'cs' | 'de' | 'es' | 'fa' | 'fi' | 'fr' | 'hi' | 'it' | 'ja' | 'ko' | 'nl' | 'pl' | 'pt' | 'ru' | 'sa' | 'tr' | 'uk' | 'vi' | 'zh';
34
+ maxFrequentRows?: number;
35
+ navPosition?: 'top' | 'bottom' | 'none';
36
+ noCountryFlags?: boolean;
37
+ noResultsEmoji?: string;
38
+ perLine?: number;
39
+ previewEmoji?: 'point_up' | 'point_down';
40
+ previewPosition?: 'top' | 'bottom' | 'none';
41
+ searchPosition?: 'sticky' | 'static' | 'none';
42
+ set?: 'native' | 'apple' | 'facebook' | 'google' | 'twitter';
43
+ skin?: 1 | 2 | 3 | 4 | 5 | 6;
44
+ skinTonePosition?: 'preview' | 'search' | 'none';
45
+ theme?: 'auto' | 'light' | 'dark';
46
+ getSpritesheetURL?: string;
45
47
  }
46
- interface EmojiPickerReturns {
47
- domRef: Ref<HTMLElement | undefined>;
48
- emojiPicker: ShallowRef<Picker | undefined>;
49
- onRender: (fn: (editor: Picker) => void) => void;
50
- }
51
- declare function useEmojiPicker(darkMode?: ComputedRef<boolean>, language?: ComputedRef<'zh' | 'en'>, options?: EmojiPickerOptions): EmojiPickerReturns;
52
-
53
- export { type EmojiPickerOptions, type EmojiPickerReturns, type EmojiResult, useEmojiPicker };
48
+ declare function useEmojiPicker(darkMode?: ComputedRef<boolean>, language?: ComputedRef<'zh' | 'en'>, options?: EmojiPickerOptions): {
49
+ domRef: vue0.Ref<HTMLElement | undefined, HTMLElement | undefined>;
50
+ emojiPicker: vue0.ShallowRef<Picker | null, Picker | null>;
51
+ onRender: (fn: (editor: Picker) => void) => void;
52
+ };
53
+ type EmojiPickerReturns = ReturnType<typeof useEmojiPicker>;
54
+ //#endregion
55
+ export { EmojiPickerOptions, EmojiPickerReturns, EmojiResult, useEmojiPicker };
package/dist/index.js CHANGED
@@ -1,70 +1,68 @@
1
- // src/index.ts
2
1
  import data from "@emoji-mart/data";
3
2
  import { Picker } from "emoji-mart";
4
3
  import { onMounted, onUnmounted, ref, shallowRef, watch } from "vue";
4
+
5
+ //#region src/index.ts
5
6
  function useEmojiPicker(darkMode, language, options) {
6
- const _options = {
7
- data,
8
- emojiButtonRadius: "6px",
9
- emojiButtonColors: [
10
- "rgba(155,223,88,.7)",
11
- "rgba(149,211,254,.7)",
12
- "rgba(247,233,34,.7)",
13
- "rgba(238,166,252,.7)",
14
- "rgba(255,213,143,.7)",
15
- "rgba(211,209,255,.7)"
16
- ],
17
- theme: darkMode?.value ? "dark" : "light",
18
- locale: language?.value,
19
- ...options
20
- };
21
- const domRef = ref();
22
- const emojiPicker = shallowRef();
23
- let onRender = null;
24
- function render() {
25
- if (domRef.value || !emojiPicker.value) {
26
- emojiPicker.value = new Picker({
27
- parent: domRef.value,
28
- ..._options
29
- });
30
- if (typeof onRender === "function") {
31
- onRender(emojiPicker.value);
32
- }
33
- }
34
- }
35
- function destroy() {
36
- if (!domRef.value)
37
- return;
38
- domRef.value.innerHTML = "";
39
- emojiPicker.value = void 0;
40
- }
41
- watch(domRef, () => {
42
- render();
43
- });
44
- watch(() => darkMode?.value, (v) => {
45
- destroy();
46
- _options.theme = v ? "dark" : "light";
47
- render();
48
- });
49
- watch(() => language?.value, (v) => {
50
- destroy();
51
- _options.locale = v ?? "zh";
52
- render();
53
- });
54
- onMounted(() => {
55
- render();
56
- });
57
- onUnmounted(() => {
58
- destroy();
59
- });
60
- return {
61
- domRef,
62
- emojiPicker,
63
- onRender: (fn) => {
64
- onRender = fn;
65
- }
66
- };
7
+ const _options = {
8
+ data,
9
+ emojiButtonRadius: "6px",
10
+ emojiButtonColors: [
11
+ "rgba(155,223,88,.7)",
12
+ "rgba(149,211,254,.7)",
13
+ "rgba(247,233,34,.7)",
14
+ "rgba(238,166,252,.7)",
15
+ "rgba(255,213,143,.7)",
16
+ "rgba(211,209,255,.7)"
17
+ ],
18
+ theme: darkMode?.value ? "dark" : "light",
19
+ locale: language?.value,
20
+ ...options
21
+ };
22
+ const domRef = ref();
23
+ const emojiPicker = shallowRef(null);
24
+ let onRender = null;
25
+ function render() {
26
+ if (domRef.value && !emojiPicker.value) {
27
+ emojiPicker.value = new Picker({
28
+ parent: domRef.value,
29
+ ..._options
30
+ });
31
+ if (typeof onRender === "function") onRender(emojiPicker.value);
32
+ }
33
+ }
34
+ function destroy() {
35
+ if (!domRef.value) return;
36
+ domRef.value.innerHTML = "";
37
+ emojiPicker.value = null;
38
+ }
39
+ watch(domRef, () => {
40
+ render();
41
+ });
42
+ watch(() => darkMode?.value, (v) => {
43
+ destroy();
44
+ _options.theme = v ? "dark" : "light";
45
+ render();
46
+ });
47
+ watch(() => language?.value, (v) => {
48
+ destroy();
49
+ _options.locale = v ?? "zh";
50
+ render();
51
+ });
52
+ onMounted(() => {
53
+ render();
54
+ });
55
+ onUnmounted(() => {
56
+ destroy();
57
+ });
58
+ return {
59
+ domRef,
60
+ emojiPicker,
61
+ onRender: (fn) => {
62
+ onRender = fn;
63
+ }
64
+ };
67
65
  }
68
- export {
69
- useEmojiPicker
70
- };
66
+
67
+ //#endregion
68
+ export { useEmojiPicker };
package/package.json CHANGED
@@ -1,92 +1,54 @@
1
- {
2
- "name": "@oiij/emoji-picker",
3
- "type": "module",
4
- "version": "0.0.1",
5
- "description": "A starter template for TypeScript projects",
6
- "author": "oiij",
7
- "license": "MIT",
8
- "homepage": "https://github.com/oiij/emoji-picker",
9
- "repository": {
10
- "type": "git",
11
- "url": "git@github.com:oiij/emoji-picker.git"
12
- },
13
- "bugs": "https://github.com/oiij/emoji-picker/issues",
14
- "keywords": [
15
- "emoji-picker"
16
- ],
17
- "sideEffects": false,
18
- "exports": {
19
- ".": {
20
- "types": "./dist/index.d.ts",
21
- "import": "./dist/index.js",
22
- "require": "./dist/index.cjs"
23
- }
24
- },
25
- "main": "./dist/index.js",
26
- "module": "./dist/index.js",
27
- "types": "./dist/index.d.ts",
28
- "files": [
29
- "LICENSE",
30
- "README.md",
31
- "dist",
32
- "package.json"
33
- ],
34
- "scripts": {
35
- "dev": "tsup --watch",
36
- "build": "tsc --noEmit && tsup",
37
- "lint": "eslint .",
38
- "lint:fix": "eslint . --fix",
39
- "prepublishOnly": "pnpm build",
40
- "release": "bumpp && npm publish",
41
- "awe": "pnpx are-we-esm",
42
- "nmi": "pnpx node-modules-inspector",
43
- "start": "esno src/index.ts",
44
- "test": "vitest",
45
- "update:deps": "taze -w && pnpm i",
46
- "type:check": "tsc --noEmit",
47
- "cz": "czg",
48
- "commit": "git pull && git add -A && pnpm cz && git push",
49
- "link": "pnpm link --global",
50
- "preinstall": "npx only-allow pnpm"
51
- },
52
- "peerDependencies": {
53
- "@emoji-mart/data": "^1.2.1",
54
- "@vueuse/core": "^13.1.0",
55
- "emoji-mart": "^5.6.0",
56
- "vue": "^3.5.13"
57
- },
58
- "devDependencies": {
59
- "@antfu/eslint-config": "^4.12.0",
60
- "@emoji-mart/data": "^1.2.1",
61
- "@oiij/tsconfig": "^0.0.1",
62
- "@types/node": "^22.14.1",
63
- "@vitest/ui": "^3.1.2",
64
- "@vueuse/core": "^13.1.0",
65
- "bumpp": "^10.1.0",
66
- "commitlint": "^19.8.0",
67
- "cz-git": "^1.11.1",
68
- "czg": "^1.11.1",
69
- "emoji-mart": "^5.6.0",
70
- "eslint": "^9.25.1",
71
- "eslint-plugin-format": "^1.0.1",
72
- "esno": "^4.8.0",
73
- "lint-staged": "^15.5.1",
74
- "simple-git-hooks": "^2.12.1",
75
- "taze": "^19.0.4",
76
- "tsup": "^8.4.0",
77
- "typescript": "^5.8.3",
78
- "vitest": "^3.1.2",
79
- "vue": "^3.5.13"
80
- },
81
- "simple-git-hooks": {
82
- "pre-commit": "pnpm lint-staged && pnpm type:check"
83
- },
84
- "lint-staged": {
85
- "*.{js,jsx,ts,tsx}": [
86
- "pnpm lint:fix"
87
- ]
88
- },
89
- "publishConfig": {
90
- "access": "public"
91
- }
92
- }
1
+ {
2
+ "name": "@oiij/emoji-picker",
3
+ "type": "module",
4
+ "version": "0.0.2",
5
+ "description": "A Vue Composable for emoji-picker",
6
+ "author": "oiij",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/oiij/use",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git@github.com:oiij/use.git"
12
+ },
13
+ "bugs": "https://github.com/oiij/use/issues",
14
+ "keywords": [
15
+ "@oiij/use"
16
+ ],
17
+ "sideEffects": false,
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js",
22
+ "require": "./dist/index.cjs"
23
+ }
24
+ },
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "files": [
29
+ "LICENSE",
30
+ "README.md",
31
+ "dist",
32
+ "package.json"
33
+ ],
34
+ "peerDependencies": {
35
+ "@emoji-mart/data": "^1.2.1",
36
+ "@vueuse/core": "^13.1.0",
37
+ "emoji-mart": "^5.6.0",
38
+ "vue": "^3.5.13"
39
+ },
40
+ "devDependencies": {
41
+ "@emoji-mart/data": "^1.2.1",
42
+ "@vueuse/core": "^13.3.0",
43
+ "emoji-mart": "^5.6.0",
44
+ "vue": "^3.5.16"
45
+ },
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "scripts": {
50
+ "dev": "tsdown --watch",
51
+ "build": "tsc --noEmit && tsdown",
52
+ "bumpp": "bumpp --no-push"
53
+ }
54
+ }