react-native-fxview 1.0.0 → 1.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/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.FXCategoryController = exports.FXViewController = exports.FXViewManager = exports.FXView = void 0;
21
+ // 主入口文件
22
+ var FXView_1 = require("./FXView");
23
+ Object.defineProperty(exports, "FXView", { enumerable: true, get: function () { return __importDefault(FXView_1).default; } });
24
+ var FXViewManager_1 = require("./FXViewManager");
25
+ Object.defineProperty(exports, "FXViewManager", { enumerable: true, get: function () { return FXViewManager_1.FXViewManager; } });
26
+ var FXViewController_1 = require("./FXViewController");
27
+ Object.defineProperty(exports, "FXViewController", { enumerable: true, get: function () { return FXViewController_1.FXViewController; } });
28
+ var FXCategoryController_1 = require("./FXCategoryController");
29
+ Object.defineProperty(exports, "FXCategoryController", { enumerable: true, get: function () { return FXCategoryController_1.FXCategoryController; } });
30
+ __exportStar(require("./types"), exports);
package/index.ts ADDED
@@ -0,0 +1,6 @@
1
+ // 主入口文件
2
+ export { default as FXView } from "./FXView";
3
+ export { FXViewManager } from "./FXViewManager";
4
+ export { FXViewController } from "./FXViewController";
5
+ export { FXCategoryController } from "./FXCategoryController";
6
+ export * from "./types";
package/package.json CHANGED
@@ -1,11 +1,52 @@
1
1
  {
2
2
  "name": "react-native-fxview",
3
- "version": "1.0.0",
4
- "description": "dynamic view ",
5
- "main": "index.js",
3
+ "version": "1.0.2",
4
+ "description": "A dynamic view component for React Native that allows runtime UI updates and component management",
5
+ "main": "index.ts",
6
+ "types": "index.d.ts",
7
+ "files": [
8
+ "*.js",
9
+ "*.ts",
10
+ "*.tsx",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
6
14
  "scripts": {
15
+ "build": "tsc",
16
+ "prepublishOnly": "npm run build",
7
17
  "test": "echo \"Error: no test specified\" && exit 1"
8
18
  },
9
- "author": "",
10
- "license": "ISC"
11
- }
19
+ "keywords": [
20
+ "react-native",
21
+ "dynamic-ui",
22
+ "view-component",
23
+ "runtime-updates",
24
+ "component-manager",
25
+ "mobile-ui"
26
+ ],
27
+ "author": "Your Name <your.email@example.com>",
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/yourusername/react-native-fxview.git"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/yourusername/react-native-fxview/issues"
35
+ },
36
+ "homepage": "https://github.com/yourusername/react-native-fxview#readme",
37
+ "peerDependencies": {
38
+ "react": ">=16.8.0",
39
+ "react-native": ">=0.60.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/react": "^18.0.0",
43
+ "@types/react-native": "^0.72.0",
44
+ "typescript": "^5.0.0"
45
+ },
46
+ "engines": {
47
+ "node": ">=14.0.0"
48
+ },
49
+ "publishConfig": {
50
+ "registry": "https://registry.npmjs.org/"
51
+ }
52
+ }
package/types.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ import type React from "react";
2
+ /**
3
+ * 组件控制器接口
4
+ * 用于控制动态组件的显示、隐藏、更新等操作
5
+ */
6
+ export interface FXComponentController {
7
+ /** 显示组件 */
8
+ show: () => void;
9
+ /** 隐藏组件 */
10
+ hide: () => void;
11
+ /** 移除组件 */
12
+ remove: () => void;
13
+ /** 更新组件内容 */
14
+ update: (component: React.ReactNode) => void;
15
+ /** 获取所属的 FXView ID */
16
+ getFxViewId: () => string;
17
+ /** 获取所属的分类 ID */
18
+ getCategoryId: () => string;
19
+ /** 获取组件 ID */
20
+ getComponentId: () => string;
21
+ /** 获取组件实例 */
22
+ getComponent: () => React.ReactNode;
23
+ /** 判断组件是否可见 */
24
+ isVisible: () => boolean;
25
+ /** 判断组件是否存在 */
26
+ exists: () => boolean;
27
+ }
28
+ /**
29
+ * 组件项配置接口
30
+ */
31
+ export interface FXComponentItem {
32
+ componentId: string;
33
+ component?: React.ReactNode;
34
+ visible?: boolean;
35
+ }
36
+ export interface FXLifecycleCallbacks {
37
+ didMount: (fxViewId: string) => void;
38
+ willUnmount: (fxViewId: string) => void;
39
+ }
package/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/types.ts CHANGED
@@ -6,7 +6,7 @@ import type React from "react";
6
6
  * 组件控制器接口
7
7
  * 用于控制动态组件的显示、隐藏、更新等操作
8
8
  */
9
- export interface ComponentController {
9
+ export interface FXComponentController {
10
10
  /** 显示组件 */
11
11
  show: () => void;
12
12
  /** 隐藏组件 */
@@ -32,8 +32,13 @@ export interface ComponentController {
32
32
  /**
33
33
  * 组件项配置接口
34
34
  */
35
- export interface ComponentItem {
35
+ export interface FXComponentItem {
36
36
  componentId: string; // 组件唯一标识(必填)
37
37
  component?: React.ReactNode; // 组件内容
38
38
  visible?: boolean; // 是否可见,默认为 true
39
39
  }
40
+
41
+ export interface FXLifecycleCallbacks {
42
+ didMount: (fxViewId: string) => void;
43
+ willUnmount: (fxViewId: string) => void;
44
+ }