best-lowcode-runtime 0.1.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.
Files changed (52) hide show
  1. package/README.md +59 -0
  2. package/dist/dev.d.ts +2 -0
  3. package/dist/dev.d.ts.map +1 -0
  4. package/dist/dev.js +269 -0
  5. package/dist/dev.js.map +7 -0
  6. package/dist/index.css +16 -0
  7. package/dist/index.css.map +7 -0
  8. package/dist/index.d.ts +9 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +1130 -0
  11. package/dist/index.js.map +7 -0
  12. package/dist/lowcode/BestCrudPage.d.ts +16 -0
  13. package/dist/lowcode/BestCrudPage.d.ts.map +1 -0
  14. package/dist/lowcode/dev.d.ts +9 -0
  15. package/dist/lowcode/dev.d.ts.map +1 -0
  16. package/dist/lowcode/index.d.ts +8 -0
  17. package/dist/lowcode/index.d.ts.map +1 -0
  18. package/dist/lowcode/list.d.ts +14 -0
  19. package/dist/lowcode/list.d.ts.map +1 -0
  20. package/dist/lowcode/runtime.d.ts +21 -0
  21. package/dist/lowcode/runtime.d.ts.map +1 -0
  22. package/dist/lowcode/schema.d.ts +101 -0
  23. package/dist/lowcode/schema.d.ts.map +1 -0
  24. package/dist/lowcode/validate.d.ts +14 -0
  25. package/dist/lowcode/validate.d.ts.map +1 -0
  26. package/dist/runtime/BestProvider.d.ts +46 -0
  27. package/dist/runtime/BestProvider.d.ts.map +1 -0
  28. package/dist/runtime/index.d.ts +4 -0
  29. package/dist/runtime/index.d.ts.map +1 -0
  30. package/dist/ui/BestBatchInput.d.ts +11 -0
  31. package/dist/ui/BestBatchInput.d.ts.map +1 -0
  32. package/dist/ui/BestDetail.d.ts +8 -0
  33. package/dist/ui/BestDetail.d.ts.map +1 -0
  34. package/dist/ui/BestFilePreview.d.ts +11 -0
  35. package/dist/ui/BestFilePreview.d.ts.map +1 -0
  36. package/dist/ui/BestForm.d.ts +16 -0
  37. package/dist/ui/BestForm.d.ts.map +1 -0
  38. package/dist/ui/BestLightTable.d.ts +13 -0
  39. package/dist/ui/BestLightTable.d.ts.map +1 -0
  40. package/dist/ui/BestOverlay.d.ts +11 -0
  41. package/dist/ui/BestOverlay.d.ts.map +1 -0
  42. package/dist/ui/BestSearch.d.ts +14 -0
  43. package/dist/ui/BestSearch.d.ts.map +1 -0
  44. package/dist/ui/BestStates.d.ts +10 -0
  45. package/dist/ui/BestStates.d.ts.map +1 -0
  46. package/dist/ui/BestTable.d.ts +11 -0
  47. package/dist/ui/BestTable.d.ts.map +1 -0
  48. package/dist/ui/index.d.ts +18 -0
  49. package/dist/ui/index.d.ts.map +1 -0
  50. package/dist/ui/types.d.ts +47 -0
  51. package/dist/ui/types.d.ts.map +1 -0
  52. package/package.json +65 -0
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { BestFieldDefinition } from './types';
3
+ export type BestSearchProps = {
4
+ fields: BestFieldDefinition[];
5
+ value?: Record<string, unknown>;
6
+ loading?: boolean;
7
+ submitText?: string;
8
+ extra?: ReactNode;
9
+ onChange?: (value: Record<string, unknown>) => void;
10
+ onSearch: (value: Record<string, unknown>) => void;
11
+ onReset?: () => void;
12
+ };
13
+ export declare function BestSearch({ fields, value, loading, submitText, extra, onChange, onSearch, onReset }: BestSearchProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=BestSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BestSearch.d.ts","sourceRoot":"","sources":["../../src/ui/BestSearch.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACnD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAiDD,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAiB,EACjB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACR,EAAE,eAAe,2CA8CjB"}
@@ -0,0 +1,10 @@
1
+ export declare function BestLoading({ description }: {
2
+ description?: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ export declare function BestEmpty({ description }: {
5
+ description?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function BestError({ description }: {
8
+ description?: string;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=BestStates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BestStates.d.ts","sourceRoot":"","sources":["../../src/ui/BestStates.tsx"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,EAAE,WAAmB,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,2CAM5E;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAoB,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,2CAE3E;AAED,wBAAgB,SAAS,CAAC,EAAE,WAAoB,EAAE,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,2CAE3E"}
@@ -0,0 +1,11 @@
1
+ import { type ParamsType, type ProTableProps, type RequestData } from '@ant-design/pro-components';
2
+ import type { TableProps } from 'antd';
3
+ import type { ReactNode } from 'react';
4
+ export type BestTableColumn<T extends Record<string, unknown>> = NonNullable<ProTableProps<T, ParamsType>['columns']>[number];
5
+ export type BestTableProps<DataSource extends Record<string, unknown>, Params extends ParamsType = ParamsType, ValueType = 'text'> = Omit<ProTableProps<DataSource, Params, ValueType>, 'columns'> & {
6
+ columns?: ProTableProps<DataSource, Params, ValueType>['columns'] | TableProps<DataSource>['columns'];
7
+ emptyText?: ReactNode;
8
+ };
9
+ export declare function BestTable<DataSource extends Record<string, unknown>, Params extends ParamsType = ParamsType, ValueType = 'text'>({ columns, cardProps, className, search, emptyText, ...props }: BestTableProps<DataSource, Params, ValueType>): import("react/jsx-runtime").JSX.Element;
10
+ export type { RequestData };
11
+ //# sourceMappingURL=BestTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BestTable.d.ts","sourceRoot":"","sources":["../../src/ui/BestTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,WAAW,CAC1E,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,CACxC,CAAC,MAAM,CAAC,CAAA;AAET,MAAM,MAAM,cAAc,CACxB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,GAAG,MAAM,IAChB,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG;IAClE,OAAO,CAAC,EACJ,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,GACvD,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAA;IACrC,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAeD,wBAAgB,SAAS,CACvB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,SAAS,GAAG,MAAM,EAClB,EACA,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,SAAkB,EAClB,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,2CAsB/C;AAED,YAAY,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,18 @@
1
+ export type { BestBatchInputProps, BestBatchInputRef } from './BestBatchInput';
2
+ export { BestBatchInput } from './BestBatchInput';
3
+ export type { BestDetailProps } from './BestDetail';
4
+ export { BestDetail } from './BestDetail';
5
+ export type { BestFileItem, BestFilePreviewProps } from './BestFilePreview';
6
+ export { BestFilePreview } from './BestFilePreview';
7
+ export type { BestFormProps } from './BestForm';
8
+ export { BestForm } from './BestForm';
9
+ export type { BestLightTableColumn, BestLightTableProps } from './BestLightTable';
10
+ export { BestLightTable } from './BestLightTable';
11
+ export { BestDrawer, BestModal } from './BestOverlay';
12
+ export type { BestSearchProps } from './BestSearch';
13
+ export { BestSearch } from './BestSearch';
14
+ export { BestEmpty, BestError, BestLoading } from './BestStates';
15
+ export type { BestTableColumn, BestTableProps, RequestData } from './BestTable';
16
+ export { BestTable } from './BestTable';
17
+ export type { BestDetailField, BestFieldComponent, BestFieldDefinition, BestFieldRenderContext, BestOption } from './types';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAChE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACX,MAAM,SAAS,CAAA"}
@@ -0,0 +1,47 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { Condition, FormMode } from '../lowcode/schema';
3
+ export type BestFieldComponent = 'input' | 'number' | 'select' | 'date' | 'dateRange' | 'textarea' | 'slot' | 'repeatable';
4
+ export type BestOption = {
5
+ label: ReactNode;
6
+ value: string | number;
7
+ disabled?: boolean;
8
+ };
9
+ export type BestFieldRenderContext = {
10
+ field: string;
11
+ values: Record<string, unknown>;
12
+ value?: unknown;
13
+ mode: FormMode;
14
+ disabled?: boolean;
15
+ setValue: (field: string, value: unknown) => void;
16
+ };
17
+ export type BestFieldDefinition = {
18
+ field: string;
19
+ label: string;
20
+ component: BestFieldComponent;
21
+ placeholder?: string;
22
+ options?: BestOption[];
23
+ required?: boolean;
24
+ disabled?: boolean;
25
+ hidden?: boolean;
26
+ maxDate?: 'today';
27
+ span?: number;
28
+ rules?: Array<{
29
+ message?: string;
30
+ required?: boolean;
31
+ }>;
32
+ render?: (context: BestFieldRenderContext) => ReactNode;
33
+ visibleWhen?: Condition;
34
+ disabledWhen?: Condition;
35
+ clearWhenHidden?: boolean;
36
+ itemFields?: Omit<BestFieldDefinition, 'itemFields'>[];
37
+ minItems?: number;
38
+ maxItems?: number;
39
+ };
40
+ export type BestDetailField = {
41
+ field: string;
42
+ label: string;
43
+ span?: number;
44
+ valueEnum?: Record<string, ReactNode>;
45
+ render?: (value: unknown, record: Record<string, unknown>) => ReactNode;
46
+ };
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,WAAW,GACX,UAAU,GACV,MAAM,GACN,YAAY,CAAA;AAEhB,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,kBAAkB,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,SAAS,CAAA;IACvD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,UAAU,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE,CAAA;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAA;CACxE,CAAA"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "best-lowcode-runtime",
3
+ "version": "0.1.0",
4
+ "description": "BEST React low-code runtime, CRUD page renderer, and UI components.",
5
+ "keywords": [
6
+ "best",
7
+ "low-code",
8
+ "react",
9
+ "crud",
10
+ "schema-driven"
11
+ ],
12
+ "license": "UNLICENSED",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+ssh://git@git.bestfulfill.tech/frontend/operate-public-platform-react.git",
16
+ "directory": "packages/best-lowcode-react"
17
+ },
18
+ "homepage": "https://git.bestfulfill.tech/frontend/operate-public-platform-react",
19
+ "bugs": {
20
+ "url": "https://git.bestfulfill.tech/frontend/operate-public-platform-react/issues"
21
+ },
22
+ "type": "module",
23
+ "files": [
24
+ "dist",
25
+ "README.md"
26
+ ],
27
+ "types": "./dist/index.d.ts",
28
+ "sideEffects": [
29
+ "./dist/index.css"
30
+ ],
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/index.js"
35
+ },
36
+ "./dev": {
37
+ "types": "./dist/dev.d.ts",
38
+ "import": "./dist/dev.js"
39
+ },
40
+ "./style.css": "./dist/index.css"
41
+ },
42
+ "scripts": {
43
+ "build": "node scripts/clean.mjs && tsc -p tsconfig.build.json && node scripts/bundle.mjs",
44
+ "check": "tsc -p tsconfig.json --noEmit",
45
+ "prepack": "pnpm run build",
46
+ "test": "vitest run"
47
+ },
48
+ "peerDependencies": {
49
+ "@ant-design/pro-components": "^3.1.5-0",
50
+ "antd": "^6.2.1",
51
+ "dayjs": "^1.11.19",
52
+ "react": "^19.2.4",
53
+ "react-dom": "^19.2.4"
54
+ },
55
+ "devDependencies": {
56
+ "@testing-library/react": "^16.3.0",
57
+ "@testing-library/user-event": "^14.6.1",
58
+ "esbuild": "^0.28.2",
59
+ "jsdom": "^26.1.0"
60
+ },
61
+ "publishConfig": {
62
+ "access": "public",
63
+ "registry": "https://registry.npmjs.org/"
64
+ }
65
+ }