@rxdrag/website-lib 0.0.13 → 0.0.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rxdrag/website-lib",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.ts"
@@ -24,17 +24,17 @@
24
24
  "eslint": "^7.32.0",
25
25
  "gsap": "^3.12.7",
26
26
  "typescript": "^5",
27
+ "@rxdrag/entify-hooks": "0.2.43",
28
+ "@rxdrag/slate-preview": "1.2.56",
27
29
  "@rxdrag/eslint-config-custom": "0.2.12",
28
- "@rxdrag/entify-hooks": "0.2.42",
29
- "@rxdrag/slate-preview": "1.2.55",
30
30
  "@rxdrag/tsconfig": "0.2.0"
31
31
  },
32
32
  "dependencies": {
33
33
  "clsx": "^2.1.0",
34
34
  "react": "^18.2.0",
35
35
  "react-dom": "^18.2.0",
36
- "@rxdrag/rxcms-models": "0.3.48",
37
- "@rxdrag/website-lib-core": "0.0.11"
36
+ "@rxdrag/rxcms-models": "0.3.49",
37
+ "@rxdrag/website-lib-core": "0.0.13"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "astro": "^4.0.0 || ^5.0.0"
@@ -8,7 +8,7 @@ import Motion from "./Motion.astro";
8
8
  interface Props extends ModalTriggerProps {}
9
9
 
10
10
  const { callToAction, ...rest } = Astro.props;
11
- const dataAttrs = getModalTriggerDataAttrs(Astro.props.openableKey);
11
+ const dataAttrs = getModalTriggerDataAttrs(Astro.props.openableKey, callToAction);
12
12
  ---
13
13
 
14
14
  <Motion {...dataAttrs} {...rest}>
@@ -22,13 +22,26 @@ const nodes = mdxToSlate(value);
22
22
  <div class={className} style={style}>
23
23
  {
24
24
  nodes?.map((node, index) => {
25
- return (
26
- <ElementPreview node={node} previews={previews}>
27
- {node.children?.map((child) => {
28
- return <LeafPreviewView node={child as TSlateLeaf} />;
29
- })}
30
- </ElementPreview>
31
- );
25
+ // 递归处理节点的函数
26
+ const renderNode = (node: any) => {
27
+ // 纯文本节点
28
+ if (typeof node.text !== 'undefined') {
29
+ return <LeafPreviewView node={node as TSlateLeaf} />;
30
+ }
31
+
32
+ // 有子节点的元素
33
+ if (node.children && node.children.length > 0) {
34
+ return (
35
+ <ElementPreview node={node} previews={previews}>
36
+ {node.children.map((child: any) => renderNode(child))}
37
+ </ElementPreview>
38
+ );
39
+ }
40
+
41
+ return null;
42
+ };
43
+
44
+ return renderNode(node);
32
45
  })
33
46
  }
34
47
  </div>