@react-native-ohos/react-native-haptic-feedback 2.3.4-rc.1

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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.OpenSource +11 -0
  3. package/README.md +13 -0
  4. package/RNReactNativeHapticFeedback.podspec +29 -0
  5. package/harmony/haptic_feedback/BuildProfile.ets +17 -0
  6. package/harmony/haptic_feedback/build-profile.json5 +28 -0
  7. package/harmony/haptic_feedback/hvigorfile.ts +6 -0
  8. package/harmony/haptic_feedback/index.ets +25 -0
  9. package/harmony/haptic_feedback/obfuscation-rules.txt +18 -0
  10. package/harmony/haptic_feedback/oh-package.json5 +12 -0
  11. package/harmony/haptic_feedback/src/main/cpp/CMakeLists.txt +7 -0
  12. package/harmony/haptic_feedback/src/main/cpp/RNHapticFeedback.cpp +21 -0
  13. package/harmony/haptic_feedback/src/main/cpp/RNHapticFeedback.h +21 -0
  14. package/harmony/haptic_feedback/src/main/cpp/RNHapticFeedbackPackage.h +37 -0
  15. package/harmony/haptic_feedback/src/main/ets/Logger.ts +46 -0
  16. package/harmony/haptic_feedback/src/main/ets/RNHapticFeedbackPackage.ts +29 -0
  17. package/harmony/haptic_feedback/src/main/ets/RNHapticFeedbackTurboModule.ts +151 -0
  18. package/harmony/haptic_feedback/src/main/ets/generated/components/ts.ts +8 -0
  19. package/harmony/haptic_feedback/src/main/ets/generated/index.ets +8 -0
  20. package/harmony/haptic_feedback/src/main/ets/generated/ts.ts +9 -0
  21. package/harmony/haptic_feedback/src/main/ets/generated/turboModules/RNHapticFeedback.ts +16 -0
  22. package/harmony/haptic_feedback/src/main/ets/generated/turboModules/ts.ts +8 -0
  23. package/harmony/haptic_feedback/src/main/module.json5 +12 -0
  24. package/harmony/haptic_feedback/src/main/resources/base/element/color.json +8 -0
  25. package/harmony/haptic_feedback/src/main/resources/base/element/string.json +16 -0
  26. package/harmony/haptic_feedback/src/main/resources/base/media/background.png +0 -0
  27. package/harmony/haptic_feedback/src/main/resources/base/media/foreground.png +0 -0
  28. package/harmony/haptic_feedback/src/main/resources/base/media/layered_image.json +7 -0
  29. package/harmony/haptic_feedback/src/main/resources/base/media/startIcon.png +0 -0
  30. package/harmony/haptic_feedback/src/main/resources/base/profile/main_pages.json +5 -0
  31. package/harmony/haptic_feedback/src/main/resources/en_US/element/string.json +16 -0
  32. package/harmony/haptic_feedback/src/main/resources/rawfile/effectClick.json +28 -0
  33. package/harmony/haptic_feedback/src/main/resources/rawfile/effectDoubleClick.json +38 -0
  34. package/harmony/haptic_feedback/src/main/resources/rawfile/effectHeavyClick.json +28 -0
  35. package/harmony/haptic_feedback/src/main/resources/rawfile/effectTick.json +28 -0
  36. package/harmony/haptic_feedback/src/main/resources/rawfile/impactHeavy.json +28 -0
  37. package/harmony/haptic_feedback/src/main/resources/rawfile/impactLight.json +28 -0
  38. package/harmony/haptic_feedback/src/main/resources/rawfile/impactMedium.json +28 -0
  39. package/harmony/haptic_feedback/src/main/resources/rawfile/notificationError.json +58 -0
  40. package/harmony/haptic_feedback/src/main/resources/rawfile/notificationSuccess.json +38 -0
  41. package/harmony/haptic_feedback/src/main/resources/rawfile/notificationWarning.json +38 -0
  42. package/harmony/haptic_feedback/src/main/resources/rawfile/rigid.json +28 -0
  43. package/harmony/haptic_feedback/src/main/resources/rawfile/selection.json +28 -0
  44. package/harmony/haptic_feedback/src/main/resources/rawfile/soft.json +28 -0
  45. package/harmony/haptic_feedback/src/main/resources/zh_CN/element/string.json +16 -0
  46. package/harmony/haptic_feedback/ts.ts +26 -0
  47. package/harmony/haptic_feedback.har +0 -0
  48. package/lib/commonjs/codegenSpec/NativeHapticFeedback.js +9 -0
  49. package/lib/commonjs/codegenSpec/NativeHapticFeedback.js.map +1 -0
  50. package/lib/commonjs/index.js +49 -0
  51. package/lib/commonjs/index.js.map +1 -0
  52. package/lib/commonjs/package.json +1 -0
  53. package/lib/commonjs/types.js +32 -0
  54. package/lib/commonjs/types.js.map +1 -0
  55. package/lib/module/codegenSpec/NativeHapticFeedback.js +5 -0
  56. package/lib/module/codegenSpec/NativeHapticFeedback.js.map +1 -0
  57. package/lib/module/index.js +30 -0
  58. package/lib/module/index.js.map +1 -0
  59. package/lib/module/package.json +1 -0
  60. package/lib/module/types.js +28 -0
  61. package/lib/module/types.js.map +1 -0
  62. package/lib/typescript/codegenSpec/NativeHapticFeedback.d.ts +10 -0
  63. package/lib/typescript/codegenSpec/NativeHapticFeedback.d.ts.map +1 -0
  64. package/lib/typescript/index.d.ts +9 -0
  65. package/lib/typescript/index.d.ts.map +1 -0
  66. package/lib/typescript/types.d.ts +29 -0
  67. package/lib/typescript/types.d.ts.map +1 -0
  68. package/package.json +117 -0
  69. package/src/codegenSpec/NativeHapticFeedback.ts +14 -0
  70. package/src/index.ts +31 -0
  71. package/src/types.ts +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HapticFeedbackTypes"],"sourceRoot":"..\\..\\src","sources":["types.ts"],"mappings":";;AAAA,WAAYA,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { TurboModule } from "react-native";
2
+ export interface Spec extends TurboModule {
3
+ trigger(type: string, options?: {
4
+ enableVibrateFallback?: boolean;
5
+ ignoreAndroidSystemSettings?: boolean;
6
+ }): void;
7
+ }
8
+ declare const _default: Spec | null;
9
+ export default _default;
10
+ //# sourceMappingURL=NativeHapticFeedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeHapticFeedback.d.ts","sourceRoot":"","sources":["../../../src/codegenSpec/NativeHapticFeedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;KACvC,GACA,IAAI,CAAC;CACT;wBAC4E,IAAI,GAAG,IAAI;AAAxF,wBAAyF"}
@@ -0,0 +1,9 @@
1
+ import { HapticFeedbackTypes } from "./types";
2
+ import type { HapticOptions } from "./types";
3
+ declare const RNHapticFeedback: {
4
+ trigger(type?: keyof typeof HapticFeedbackTypes | HapticFeedbackTypes, options?: HapticOptions): void;
5
+ };
6
+ export * from "./types";
7
+ export declare const trigger: (type?: keyof typeof HapticFeedbackTypes | HapticFeedbackTypes, options?: HapticOptions) => void;
8
+ export default RNHapticFeedback;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAO7C,QAAA,MAAM,gBAAgB;mBAGd,MAAM,OAAO,mBAAmB,GAChC,mBAAmB,YACd,aAAa;CAYzB,CAAA;AAED,cAAc,SAAS,CAAC;AACxB,eAAO,MAAQ,OAAO,UAjBd,MAAM,OAAO,mBAAmB,GAChC,mBAAmB,YACd,aAAa,SAeiB,CAAC;AAC5C,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare enum HapticFeedbackTypes {
2
+ selection = "selection",
3
+ impactLight = "impactLight",
4
+ impactMedium = "impactMedium",
5
+ impactHeavy = "impactHeavy",
6
+ rigid = "rigid",
7
+ soft = "soft",
8
+ notificationSuccess = "notificationSuccess",
9
+ notificationWarning = "notificationWarning",
10
+ notificationError = "notificationError",
11
+ clockTick = "clockTick",
12
+ contextClick = "contextClick",
13
+ keyboardPress = "keyboardPress",
14
+ keyboardRelease = "keyboardRelease",
15
+ keyboardTap = "keyboardTap",
16
+ longPress = "longPress",
17
+ textHandleMove = "textHandleMove",
18
+ virtualKey = "virtualKey",
19
+ virtualKeyRelease = "virtualKeyRelease",
20
+ effectClick = "effectClick",
21
+ effectDoubleClick = "effectDoubleClick",
22
+ effectHeavyClick = "effectHeavyClick",
23
+ effectTick = "effectTick"
24
+ }
25
+ export interface HapticOptions {
26
+ enableVibrateFallback?: boolean;
27
+ ignoreAndroidSystemSettings?: boolean;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC"}
package/package.json ADDED
@@ -0,0 +1,117 @@
1
+ {
2
+ "name": "@react-native-ohos/react-native-haptic-feedback",
3
+ "version": "2.3.4-rc.1",
4
+ "description": "Basic haptic feedback for iOS and android",
5
+ "license": "MIT",
6
+ "source": "src/index.ts",
7
+ "main": "./lib/commonjs/index.js",
8
+ "react-native": "src/index.ts",
9
+ "module": "./lib/module/index.js",
10
+ "types": "lib/typescript/index.d.ts",
11
+ "scripts": {
12
+ "typecheck": "tsc --noEmit --project tsconfig.test.json",
13
+ "test": "jest",
14
+ "build": "bob build",
15
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
16
+ "bob": "bob build",
17
+ "prepare": "npm run bob"
18
+ },
19
+ "keywords": [
20
+ "react-native",
21
+ "haptic",
22
+ "haptic-feedback",
23
+ "android",
24
+ "ios",
25
+ "native",
26
+ "feedback",
27
+ "harmony"
28
+ ],
29
+ "files": [
30
+ "src",
31
+ "lib",
32
+ "android",
33
+ "ios",
34
+ "cpp",
35
+ "harmony",
36
+ "*.podspec",
37
+ "!ios/build",
38
+ "!android/build",
39
+ "!android/gradle",
40
+ "!android/gradlew",
41
+ "!android/gradlew.bat",
42
+ "!android/local.properties",
43
+ "!**/__tests__",
44
+ "!**/__fixtures__",
45
+ "!**/__mocks__",
46
+ "!**/.*"
47
+ ],
48
+ "author": "Michael Kuczera",
49
+ "peerDependencies": {
50
+ "react-native": ">=0.60.0"
51
+ },
52
+ "publishConfig": {
53
+ "registry": "https://registry.npmjs.org/"
54
+ },
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "https://github.com/react-native-oh-library/react-native-haptic-feedback.git"
58
+ },
59
+ "homepage": "https://github.com/mkuczera/react-native-haptic-feedback",
60
+ "readme": "https://github.com/mkuczera/react-native-haptic-feedback#readme",
61
+ "bugs": {
62
+ "url": "https://github.com/mkuczera/react-native-haptic-feedback/issues"
63
+ },
64
+ "codegenConfig": {
65
+ "name": "RNHapticFeedbackSpec",
66
+ "type": "modules",
67
+ "jsSrcsDir": "./src/codegenSpec",
68
+ "android": {
69
+ "javaPackageName": "com.mkuczera"
70
+ }
71
+ },
72
+ "devDependencies": {
73
+ "@babel/core": "^7.25.2",
74
+ "@babel/preset-env": "^7.25.3",
75
+ "@babel/preset-react": "^7.24.7",
76
+ "@babel/runtime": "^7.21.0",
77
+ "@eslint/js": "^9.8.0",
78
+ "@react-native/eslint-config": "^0.74.86",
79
+ "@types/jest": "^29.5.12",
80
+ "@types/node": "^22.1.0",
81
+ "@types/react": "^18.0.28",
82
+ "@types/react-native": "^0.71.3",
83
+ "babel-jest": "^29.7.0",
84
+ "eslint": "9.x",
85
+ "eslint-config-prettier": "^9.1.0",
86
+ "eslint-plugin-prettier": "^5.2.1",
87
+ "globals": "^15.9.0",
88
+ "jest": "^29.7.0",
89
+ "prettier": "^2.8.5",
90
+ "react-native": "^0.77.1",
91
+ "react-native-builder-bob": "^0.29.0",
92
+ "ts-jest": "^29.2.4",
93
+ "tslib": "^2.6.3",
94
+ "turbo": "^2.0.11",
95
+ "typescript": "^5.5.4",
96
+ "typescript-eslint": "^8.0.0"
97
+ },
98
+ "packageManager": "yarn@3.6.4",
99
+ "resolutions": {
100
+ "@types/react": "^18.2.44"
101
+ },
102
+ "dependencies": {
103
+ "react-native-haptic-feedback": "^2.3.3"
104
+ },
105
+ "react-native-builder-bob": {
106
+ "source": "src",
107
+ "output": "lib",
108
+ "targets": [
109
+ "commonjs",
110
+ "module",
111
+ "typescript"
112
+ ]
113
+ },
114
+ "harmony": {
115
+ "alias": "react-native-haptic-feedback"
116
+ }
117
+ }
@@ -0,0 +1,14 @@
1
+ import type { TurboModule } from "react-native";
2
+ import { TurboModuleRegistry } from "react-native";
3
+
4
+ export interface Spec extends TurboModule {
5
+ // your module methods go here, for example:
6
+ trigger(
7
+ type: string,
8
+ options?: {
9
+ enableVibrateFallback?: boolean;
10
+ ignoreAndroidSystemSettings?: boolean;
11
+ },
12
+ ): void;
13
+ }
14
+ export default TurboModuleRegistry.getEnforcing<Spec>("RNHapticFeedback") as Spec | null;
package/src/index.ts ADDED
@@ -0,0 +1,31 @@
1
+ import NativeHapticFeedback from './codegenSpec/NativeHapticFeedback';
2
+ import { HapticFeedbackTypes } from "./types";
3
+ import type { HapticOptions } from "./types";
4
+
5
+ const defaultOptions = {
6
+ enableVibrateFallback: false,
7
+ ignoreAndroidSystemSettings: false,
8
+ };
9
+
10
+ const RNHapticFeedback = {
11
+ trigger(
12
+ type:
13
+ | keyof typeof HapticFeedbackTypes
14
+ | HapticFeedbackTypes = HapticFeedbackTypes.selection,
15
+ options: HapticOptions = {},
16
+ ) {
17
+ try {
18
+ if (NativeHapticFeedback) {
19
+ NativeHapticFeedback.trigger(type, { ...defaultOptions, ...options });
20
+ } else {
21
+ console.warn("RNReactNativeHapticFeedback is null");
22
+ }
23
+ } catch {
24
+ console.warn("RNReactNativeHapticFeedback is not available");
25
+ }
26
+ }
27
+ }
28
+
29
+ export * from "./types";
30
+ export const { trigger } = RNHapticFeedback;
31
+ export default RNHapticFeedback;
package/src/types.ts ADDED
@@ -0,0 +1,29 @@
1
+ export enum HapticFeedbackTypes {
2
+ selection = "selection",
3
+ impactLight = "impactLight",
4
+ impactMedium = "impactMedium",
5
+ impactHeavy = "impactHeavy",
6
+ rigid = "rigid",
7
+ soft = "soft",
8
+ notificationSuccess = "notificationSuccess",
9
+ notificationWarning = "notificationWarning",
10
+ notificationError = "notificationError",
11
+ clockTick = "clockTick",
12
+ contextClick = "contextClick",
13
+ keyboardPress = "keyboardPress",
14
+ keyboardRelease = "keyboardRelease",
15
+ keyboardTap = "keyboardTap",
16
+ longPress = "longPress",
17
+ textHandleMove = "textHandleMove",
18
+ virtualKey = "virtualKey",
19
+ virtualKeyRelease = "virtualKeyRelease",
20
+ effectClick = "effectClick",
21
+ effectDoubleClick = "effectDoubleClick",
22
+ effectHeavyClick = "effectHeavyClick",
23
+ effectTick = "effectTick",
24
+ }
25
+
26
+ export interface HapticOptions {
27
+ enableVibrateFallback?: boolean;
28
+ ignoreAndroidSystemSettings?: boolean;
29
+ }