@lark-apaas/miaoda-inspector 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (37) hide show
  1. package/dist/es/Inspector/Inspector.mjs +4 -22
  2. package/dist/es/Inspector/Overlay.mjs +58 -32
  3. package/dist/es/Inspector/utils/inspect.mjs +80 -1
  4. package/dist/es/MiaodaInspector/MiaodaInspector.mjs +332 -173
  5. package/dist/es/config/ui-config.mjs +138 -136
  6. package/dist/es/index.mjs +2 -0
  7. package/dist/es/types/feature.mjs +0 -0
  8. package/dist/es/types/index.mjs +4 -0
  9. package/dist/es/utils/config-mapper.mjs +1 -3
  10. package/dist/es/utils/element-guards.mjs +36 -0
  11. package/dist/es/utils/index.mjs +1 -6
  12. package/dist/es/utils/style-calculator.mjs +17 -60
  13. package/dist/lib/Inspector/Inspector.js +4 -23
  14. package/dist/lib/Inspector/Overlay.js +57 -28
  15. package/dist/lib/Inspector/utils/inspect.js +90 -1
  16. package/dist/lib/MiaodaInspector/MiaodaInspector.js +337 -183
  17. package/dist/lib/config/ui-config.js +138 -136
  18. package/dist/lib/index.js +2 -0
  19. package/dist/lib/types/feature.js +16 -0
  20. package/dist/lib/types/index.js +3 -0
  21. package/dist/lib/utils/config-mapper.js +1 -3
  22. package/dist/lib/utils/element-guards.js +55 -0
  23. package/dist/lib/utils/style-calculator.js +17 -60
  24. package/dist/types/Inspector/Inspector.d.ts +8 -1
  25. package/dist/types/Inspector/Overlay.d.ts +9 -2
  26. package/dist/types/Inspector/utils/index.d.ts +1 -1
  27. package/dist/types/Inspector/utils/inspect.d.ts +8 -1
  28. package/dist/types/config/ui-config.d.ts +26 -3
  29. package/dist/types/global.d.d.ts +6 -0
  30. package/dist/types/index.d.ts +2 -1
  31. package/dist/types/types/feature.d.ts +6 -0
  32. package/dist/types/types/iframe-events.d.ts +44 -2
  33. package/dist/types/types/index.d.ts +2 -1
  34. package/dist/types/utils/element-guards.d.ts +7 -0
  35. package/dist/types/utils/index.d.ts +1 -0
  36. package/dist/types/utils/origin.d.ts +1 -0
  37. package/package.json +13 -12
@@ -12,6 +12,12 @@ declare module 'global' {
12
12
  MIAODA_APP_ID?: string;
13
13
  MIAODA_BUILTIN_TTT?: string;
14
14
  token?: string;
15
+
16
+ __MIAODA_DEVTOOLS_GLOBAL_HOOK__: {
17
+ setProps: (elementId: string, props: Record<string, unknown>) => void;
18
+ setIconProps: (elementId: string, propName: string, newIconName?: string) => void;
19
+ unmount: (elementId: string) => void;
20
+ };
15
21
  }
16
22
  }
17
23
  }
@@ -1,5 +1,6 @@
1
1
  export { MiaodaInspector } from './MiaodaInspector/MiaodaInspector.js';
2
2
  export { ClearSelectedMessage, EditClassNameMessage, EditStyleMessage, EditTextMessage, IncomingMessage, InitConfigMessage, InspectorInfo, PageMountedMessage, SelectInspectorElementMessage, TextUpdateMessage } from './types/iframe-events.js';
3
+ export { ComponentConfig, InspectorUIConfig, UIComponentConfig, defaultUIConfig } from './config/ui-config.js';
3
4
  export { isOutgoingMessage } from './utils/origin.js';
4
- export { InspectorUIConfig } from './config/ui-config.js';
5
5
  import 'react';
6
+ import './types/feature.js';
@@ -0,0 +1,6 @@
1
+ type Feature = {
2
+ selectParent?: boolean;
3
+ reverseSelect?: boolean;
4
+ };
5
+
6
+ export type { Feature };
@@ -1,3 +1,4 @@
1
+ import { Feature } from './feature.js';
1
2
  import { InspectorUIConfig } from '../config/ui-config.js';
2
3
 
3
4
  /**
@@ -13,7 +14,36 @@ interface EditClassNameMessage extends IframeMessage<{
13
14
  }> {
14
15
  type: 'EditClassName';
15
16
  }
16
- type IncomingMessage = InitConfigMessage | ClearSelectedMessage | EditTextMessage | EditStyleMessage | EditClassNameMessage;
17
+ interface EditPropsMessage extends IframeMessage<{
18
+ elementId: string;
19
+ props: Record<string, unknown>;
20
+ }> {
21
+ type: 'EditProps';
22
+ }
23
+ interface EditIconPropsMessage extends IframeMessage<{
24
+ elementId: string;
25
+ prop: string;
26
+ value?: string;
27
+ }> {
28
+ type: 'EditIconProps';
29
+ }
30
+ interface ReverseSelectMessage extends IframeMessage<{
31
+ elementId: string;
32
+ }> {
33
+ type: 'ReverseSelect';
34
+ }
35
+ interface SelectParentMessage extends IframeMessage<{
36
+ elementId: string;
37
+ }> {
38
+ type: 'SelectParent';
39
+ }
40
+ interface EditAttributesMessage extends IframeMessage<{
41
+ elementId: string;
42
+ attributes: Record<string, string | null | undefined>;
43
+ }> {
44
+ type: 'EditAttributes';
45
+ }
46
+ type IncomingMessage = InitConfigMessage | ClearSelectedMessage | EditTextMessage | EditStyleMessage | EditClassNameMessage | EditPropsMessage | EditIconPropsMessage | ReverseSelectMessage | SelectParentMessage | EditAttributesMessage;
17
47
  interface InitConfigMessage extends IframeMessage<{
18
48
  inspectorActive?: boolean;
19
49
  userToken?: string;
@@ -41,6 +71,7 @@ interface EditStyleMessage extends IframeMessage<{
41
71
  }
42
72
  interface PageMountedMessage extends IframeMessage<{
43
73
  version?: string;
74
+ feature?: Feature;
44
75
  }> {
45
76
  type: 'PageMounted';
46
77
  }
@@ -141,6 +172,17 @@ interface InspectorInfo {
141
172
  tagEnd: number;
142
173
  classNameLiteral: boolean;
143
174
  };
175
+ importSource?: string;
176
+ /**
177
+ * react component props (only available
178
+ * for antd components)
179
+ */
180
+ componentProps?: Record<string, unknown & {
181
+ __miaoda_icon__?: {
182
+ source: 'lucide-react';
183
+ name: string;
184
+ };
185
+ }>;
144
186
  }
145
187
  interface SelectInspectorElementMessage extends IframeMessage<InspectorInfo> {
146
188
  type: 'SelectInspectorElement';
@@ -155,4 +197,4 @@ declare global {
155
197
  }
156
198
  }
157
199
 
158
- export type { ClearSelectedMessage, EditClassNameMessage, EditStyleMessage, EditTextMessage, ElementResizeMessage, IframeMessage, IncomingMessage, InitConfigMessage, InspectorInfo, InspectorUIConfigMessage, OutgoingMessage, PageMountedMessage, PageScrollMessage, SelectInspectorElementMessage, TextUpdateMessage };
200
+ export type { ClearSelectedMessage, EditAttributesMessage, EditClassNameMessage, EditIconPropsMessage, EditPropsMessage, EditStyleMessage, EditTextMessage, ElementResizeMessage, IframeMessage, IncomingMessage, InitConfigMessage, InspectorInfo, InspectorUIConfigMessage, OutgoingMessage, PageMountedMessage, PageScrollMessage, ReverseSelectMessage, SelectInspectorElementMessage, SelectParentMessage, TextUpdateMessage };
@@ -1,2 +1,3 @@
1
- export { ClearSelectedMessage, EditClassNameMessage, EditStyleMessage, EditTextMessage, IncomingMessage, InitConfigMessage, InspectorInfo, OutgoingMessage, PageMountedMessage, SelectInspectorElementMessage, TextUpdateMessage } from './iframe-events.js';
1
+ export { ClearSelectedMessage, EditAttributesMessage, EditClassNameMessage, EditStyleMessage, EditTextMessage, IncomingMessage, InitConfigMessage, InspectorInfo, OutgoingMessage, PageMountedMessage, SelectInspectorElementMessage, TextUpdateMessage } from './iframe-events.js';
2
+ export { Feature } from './feature.js';
2
3
  import '../config/ui-config.js';
@@ -0,0 +1,7 @@
1
+ declare function getCompiledComponentName(element: HTMLElement, fallback?: string): string | undefined;
2
+ declare function getImportSource(element: HTMLElement): string | null;
3
+ declare function hasNonEmptyText(element: HTMLElement): boolean;
4
+ declare function isNativeElementName(componentName?: string): boolean;
5
+ declare function isAntdText(element: HTMLElement, componentName?: string): boolean;
6
+
7
+ export { getCompiledComponentName, getImportSource, hasNonEmptyText, isAntdText, isNativeElementName };
@@ -2,6 +2,7 @@ export { getPreviewParentOrigin, isIncomingMessage, isOutgoingMessage, postMessa
2
2
  export { cx } from './css.js';
3
3
  export { calculateBackgroundColorInfo, calculateBorderColorInfo, calculateBorderRadiusInfo, calculateBorderWidthInfo, calculateColorInfo, calculateFontSizeInfo, calculateFontWeightInfo, calculateMarginInfo, calculatePaddingInfo, calculateTextAlignInfo } from './style-calculator.js';
4
4
  import '../types/iframe-events.js';
5
+ import '../types/feature.js';
5
6
  import '../config/ui-config.js';
6
7
  import 'clsx';
7
8
  import './config-mapper.js';
@@ -1,4 +1,5 @@
1
1
  import { OutgoingMessage, IncomingMessage } from '../types/iframe-events.js';
2
+ import '../types/feature.js';
2
3
  import '../config/ui-config.js';
3
4
 
4
5
  declare function getPreviewParentOrigin(): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/miaoda-inspector",
3
- "version": "0.1.0-alpha.5",
3
+ "version": "0.1.0-alpha.7",
4
4
  "description": "Inspector for Lark Apaas",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -15,6 +15,16 @@
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
18
+ "scripts": {
19
+ "build": "tsup --tsconfig tsconfig.build.json",
20
+ "check-type": "rush check-type",
21
+ "lint": "eslint . --quiet",
22
+ "start": "rush storybook",
23
+ "test": "vitest",
24
+ "test:cov": "vitest run --coverage",
25
+ "test:update": "vitest run -u",
26
+ "prepublishOnly": "npm run build"
27
+ },
18
28
  "dependencies": {
19
29
  "clsx": "~2.0.0",
20
30
  "hotkeys-js": "^3.8.1",
@@ -23,11 +33,11 @@
23
33
  "tailwind-merge": "~2.0.0"
24
34
  },
25
35
  "devDependencies": {
26
- "@types/react-reconciler": ">=0.26.6",
27
36
  "@testing-library/react": "^12",
28
37
  "@testing-library/react-hooks": "^8",
29
38
  "@types/node": "^18.17.18",
30
39
  "@types/react": "^17",
40
+ "@types/react-reconciler": ">=0.26.6",
31
41
  "eslint": "^8",
32
42
  "react": "^18",
33
43
  "typescript": "^4",
@@ -35,14 +45,5 @@
35
45
  },
36
46
  "peerDependencies": {
37
47
  "react": ">=16.8.0"
38
- },
39
- "scripts": {
40
- "build": "tsup --tsconfig tsconfig.build.json",
41
- "check-type": "rush check-type",
42
- "lint": "eslint . --quiet",
43
- "start": "rush storybook",
44
- "test": "vitest",
45
- "test:cov": "vitest run --coverage",
46
- "test:update": "vitest run -u"
47
48
  }
48
- }
49
+ }