@lark-apaas/coding-template-nestjs-react-fullstack 0.1.65 → 0.1.67

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": "@lark-apaas/coding-template-nestjs-react-fullstack",
3
- "version": "0.1.65",
3
+ "version": "0.1.67",
4
4
  "description": "NestJS + React fullstack template for miaoda coding",
5
5
  "type": "module",
6
6
  "files": [
@@ -2,7 +2,10 @@
2
2
 
3
3
  import React from 'react';
4
4
 
5
- import { normalizeUser, isValidUserId } from '@client/src/components/business-ui/utils/user';
5
+ import {
6
+ normalizeUser,
7
+ isValidUserId,
8
+ } from '@client/src/components/business-ui/utils/user';
6
9
  import type { UserInput } from '@client/src/components/business-ui/types/user';
7
10
  import { UserWithAvatar } from '@client/src/components/business-ui/user-display/user-with-avatar';
8
11
  import { UserProfile } from '@client/src/components/business-ui/user-profile/user-profile';
@@ -47,6 +50,7 @@ export const UserDisplay: React.FC<IUserDisplayProps> = ({
47
50
  className,
48
51
  style,
49
52
  showLabel = true,
53
+ showUserProfile = true,
50
54
  }) => {
51
55
  // 统一规范化为 User[],兼容所有格式
52
56
  const normalizedUsers = React.useMemo(() => {
@@ -85,28 +89,38 @@ export const UserDisplay: React.FC<IUserDisplayProps> = ({
85
89
 
86
90
  return (
87
91
  <div className={cn('flex flex-wrap gap-1', className)} style={style}>
88
- {normalizedUsers.map((user) => (
89
- <Popover key={user.user_id}>
90
- <PopoverTrigger asChild>
91
- <div>
92
- <UserWithAvatar
93
- data={user}
94
- size={size}
95
- showLabel={showLabel}
96
- className="cursor-pointer hover:bg-[rgba(31,35,41,0.15)] active:bg-[rgba(31,35,41,0.2)]"
97
- />
92
+ {normalizedUsers.map((user) => {
93
+ if (!showUserProfile) {
94
+ return (
95
+ <div key={user.user_id}>
96
+ <UserWithAvatar data={user} size={size} showLabel={showLabel} />
98
97
  </div>
99
- </PopoverTrigger>
100
- <PopoverContent
101
- align="start"
102
- sideOffset={8}
103
- onOpenAutoFocus={handleProfileOpenAutoFocus}
104
- className="w-[320px] border-0 border-border/50 bg-card p-0 shadow-[0px_8px_24px_8px_rgba(31,35,41,0.04),0px_6px_12px_rgba(31,35,41,0.04),0px_4px_8px_-8px_rgba(31,35,41,0.06)]"
105
- >
106
- <UserProfile value={user} />
107
- </PopoverContent>
108
- </Popover>
109
- ))}
98
+ );
99
+ }
100
+
101
+ return (
102
+ <Popover key={user.user_id}>
103
+ <PopoverTrigger asChild>
104
+ <div>
105
+ <UserWithAvatar
106
+ data={user}
107
+ size={size}
108
+ showLabel={showLabel}
109
+ className="cursor-pointer hover:bg-[rgba(31,35,41,0.15)] active:bg-[rgba(31,35,41,0.2)]"
110
+ />
111
+ </div>
112
+ </PopoverTrigger>
113
+ <PopoverContent
114
+ align="start"
115
+ sideOffset={8}
116
+ onOpenAutoFocus={handleProfileOpenAutoFocus}
117
+ className="w-[320px] border-0 border-border/50 bg-card p-0 shadow-[0px_8px_24px_8px_rgba(31,35,41,0.04),0px_6px_12px_rgba(31,35,41,0.04),0px_4px_8px_-8px_rgba(31,35,41,0.06)]"
118
+ >
119
+ <UserProfile value={user} />
120
+ </PopoverContent>
121
+ </Popover>
122
+ );
123
+ })}
110
124
  </div>
111
125
  );
112
126
  };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * 飞书 h5-js-sdk 全局样式降层。
3
+ *
4
+ * 问题:SDK 加载时用 style-loader 往 <head> 插入约 200 段 CSS,其中混着几条
5
+ * 不带类名的全局重置,例如 `body{color;background-color;font-family}`、
6
+ * `input,button,select,optgroup,textarea{color:inherit}`。这些规则不在任何
7
+ * cascade layer 里,按层叠规则会压过应用放在 `@layer base` / `@layer utilities`
8
+ * 里的全部样式(与选择器权重无关)。表现为:打开过一次名片后,
9
+ * `bg-primary text-primary-foreground` 的按钮变成蓝底黑字,body 的字体、
10
+ * 颜色、背景也被改掉,直到刷新页面都不会恢复。
11
+ *
12
+ * 做法:只把「所有选择器都不含类名 / id」的规则挪进 `@layer base.lark-sdk`,
13
+ * 让应用自己的 base 层和工具类都能覆盖它们;带类名的名片内部样式原样保留,
14
+ * 名片外观不受影响。
15
+ *
16
+ * ⚠️ 依据 h5-js-sdk 1.2.21 的实现(加载时同步注入)。升级 SDK 后需要重新确认
17
+ * 新版是否还有其他全局规则、注入时机是否变化。
18
+ */
19
+
20
+ const SDK_STYLE_LAYER = 'base.lark-sdk';
21
+
22
+ /** 选择器列表里没有任何一项带类名或 id,即作用于整页的元素级规则 */
23
+ function isElementLevelSelector(selectorText: string): boolean {
24
+ return selectorText.split(',').every((selector) => !/[.#]/.test(selector));
25
+ }
26
+
27
+ /** 把一个 <style> 里的元素级全局规则挪进低优先级的 cascade layer */
28
+ export function demoteGlobalStyleRules(style: HTMLStyleElement): void {
29
+ // emotion 运行时样式都是哈希类名,Vite 开发态样式属于应用自身,都不处理
30
+ if (
31
+ style.hasAttribute('data-emotion') ||
32
+ style.hasAttribute('data-vite-dev-id')
33
+ ) {
34
+ return;
35
+ }
36
+
37
+ const sheet = style.sheet;
38
+ if (!sheet) return;
39
+
40
+ const moved: string[] = [];
41
+ for (let i = sheet.cssRules.length - 1; i >= 0; i -= 1) {
42
+ const rule = sheet.cssRules[i];
43
+ if (
44
+ rule instanceof CSSStyleRule &&
45
+ isElementLevelSelector(rule.selectorText)
46
+ ) {
47
+ moved.unshift(rule.cssText);
48
+ sheet.deleteRule(i);
49
+ }
50
+ }
51
+
52
+ if (moved.length > 0) {
53
+ sheet.insertRule(`@layer ${SDK_STYLE_LAYER} {\n${moved.join('\n')}\n}`, 0);
54
+ }
55
+ }
@@ -7,6 +7,30 @@ export interface UseExternalScriptOptions {
7
7
  attributes?: Record<string, string>;
8
8
  nonce?: string;
9
9
  onloadCallback?: () => void;
10
+ /**
11
+ * 脚本加载期间(插入 → onload / onerror)每个新插入 <head> 的 <style>
12
+ * 都会回调一次,用于处理脚本自带的全局样式。
13
+ */
14
+ onStyleInjected?: (style: HTMLStyleElement) => void;
15
+ }
16
+
17
+ /** 监听 <head> 新增的 <style>,返回的函数会先处理完积压的记录再停止监听 */
18
+ function watchHeadStyles(
19
+ onStyle: (style: HTMLStyleElement) => void,
20
+ ): () => void {
21
+ const handle = (records: MutationRecord[]) => {
22
+ records.forEach((record) => {
23
+ record.addedNodes.forEach((node) => {
24
+ if (node instanceof HTMLStyleElement) onStyle(node);
25
+ });
26
+ });
27
+ };
28
+ const observer = new MutationObserver(handle);
29
+ observer.observe(document.head, { childList: true });
30
+ return () => {
31
+ handle(observer.takeRecords());
32
+ observer.disconnect();
33
+ };
10
34
  }
11
35
 
12
36
  /**
@@ -49,7 +73,13 @@ export function useExternalScript(
49
73
  script.setAttribute(k, v);
50
74
  });
51
75
 
76
+ // 组件提前卸载时脚本仍会继续加载并注入样式,所以只在 onload / onerror 停止监听
77
+ const stopWatchingStyles = options.onStyleInjected
78
+ ? watchHeadStyles(options.onStyleInjected)
79
+ : undefined;
80
+
52
81
  script.onload = () => {
82
+ stopWatchingStyles?.();
53
83
  if (!cancelled) setStatus('ready');
54
84
  if (options.onloadCallback) {
55
85
  options.onloadCallback();
@@ -57,6 +87,7 @@ export function useExternalScript(
57
87
  };
58
88
 
59
89
  script.onerror = () => {
90
+ stopWatchingStyles?.();
60
91
  if (!cancelled) setStatus('error');
61
92
  };
62
93
 
@@ -26,6 +26,7 @@ import {
26
26
  takeSpare,
27
27
  waitForCardReady,
28
28
  } from '@client/src/components/business-ui/user-profile/lark-card-pool';
29
+ import { demoteGlobalStyleRules } from '@client/src/components/business-ui/user-profile/lark-sdk-styles';
29
30
  import { getEnv } from '@lark-apaas/client-toolkit/utils/getEnv';
30
31
  import { useExternalScript } from '@client/src/components/business-ui/user-profile/user-external-script';
31
32
  import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
@@ -369,7 +370,10 @@ function LarkProfileCard(props: { readonly larkCardParam: LarkCardParam }) {
369
370
  const startedRef = useRef(-1);
370
371
 
371
372
  const scriptOptions = useMemo(
372
- () => ({ onloadCallback: registerLarkAuthHandler }),
373
+ () => ({
374
+ onloadCallback: registerLarkAuthHandler,
375
+ onStyleInjected: demoteGlobalStyleRules,
376
+ }),
373
377
  [],
374
378
  );
375
379
  const scriptStatus = useExternalScript(LARK_SDK_URL, scriptOptions);
@@ -32,8 +32,8 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@hookform/resolvers": "^5.2.2",
35
- "@lark-apaas/client-toolkit": "^1.2.82",
36
- "@lark-apaas/coding-preset-vite-react": "^1.0.31",
35
+ "@lark-apaas/client-toolkit": "^1.2.83",
36
+ "@lark-apaas/coding-preset-vite-react": "^1.0.32",
37
37
  "@lark-apaas/fullstack-presets": "^1.1.26",
38
38
  "@nestjs/cli": "^10.4.9",
39
39
  "@radix-ui/react-accordion": "^1.2.12",
@@ -499,14 +499,14 @@
499
499
  }
500
500
  },
501
501
  "node_modules/@babel/generator": {
502
- "version": "7.29.8",
503
- "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.8.tgz",
504
- "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==",
502
+ "version": "7.29.13",
503
+ "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.13.tgz",
504
+ "integrity": "sha512-T5FRo+RzVHvGjWOuF1Ljc44b+NXAOazodHkGUHp4I3zCkQ4/sNVJm56h1S278LMR0bY5xBhztGziSbli8zObIw==",
505
505
  "dev": true,
506
506
  "license": "MIT",
507
507
  "dependencies": {
508
- "@babel/parser": "^7.29.8",
509
- "@babel/types": "^7.29.8",
508
+ "@babel/parser": "^7.29.13",
509
+ "@babel/types": "^7.29.11",
510
510
  "@jridgewell/gen-mapping": "^0.3.12",
511
511
  "@jridgewell/trace-mapping": "^0.3.28",
512
512
  "jsesc": "^3.0.2"
@@ -526,9 +526,9 @@
526
526
  }
527
527
  },
528
528
  "node_modules/@babel/helper-string-parser": {
529
- "version": "7.29.7",
530
- "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
531
- "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
529
+ "version": "7.29.13",
530
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.13.tgz",
531
+ "integrity": "sha512-fWegr+WsEsiMVW4KUNdIIzzMTZSzNiqhy0//6+2MRi2d5NFNsL/AYwBQW8eBnRbTBVRnDVzjaJEUqKaCWjMMdQ==",
532
532
  "dev": true,
533
533
  "license": "MIT",
534
534
  "engines": {
@@ -546,13 +546,13 @@
546
546
  }
547
547
  },
548
548
  "node_modules/@babel/parser": {
549
- "version": "7.29.8",
550
- "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.8.tgz",
551
- "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
549
+ "version": "7.29.13",
550
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.13.tgz",
551
+ "integrity": "sha512-fJM50YYjlTiBhgdkGmC1tBpv+FMAyo4annf2X6Aks+0yRlaiVkYW/3f07xAfVVkYIoZ9fFZp+mEThUFnuybhkQ==",
552
552
  "dev": true,
553
553
  "license": "MIT",
554
554
  "dependencies": {
555
- "@babel/types": "^7.29.8"
555
+ "@babel/types": "^7.29.11"
556
556
  },
557
557
  "bin": {
558
558
  "parser": "bin/babel-parser.js"
@@ -587,18 +587,18 @@
587
587
  }
588
588
  },
589
589
  "node_modules/@babel/traverse": {
590
- "version": "7.29.8",
591
- "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.8.tgz",
592
- "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==",
590
+ "version": "7.29.13",
591
+ "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.13.tgz",
592
+ "integrity": "sha512-0ve0xMlFA73dgY1oyJRY6RoW+/bncdcOQqg6jjYcVfXBK90OdLXjm9R6lmRetdZVrPjXkKIoMVBqYFPjcAlZ4Q==",
593
593
  "dev": true,
594
594
  "license": "MIT",
595
595
  "dependencies": {
596
596
  "@babel/code-frame": "^7.29.7",
597
- "@babel/generator": "^7.29.8",
597
+ "@babel/generator": "^7.29.13",
598
598
  "@babel/helper-globals": "^7.29.7",
599
- "@babel/parser": "^7.29.8",
599
+ "@babel/parser": "^7.29.13",
600
600
  "@babel/template": "^7.29.7",
601
- "@babel/types": "^7.29.8",
601
+ "@babel/types": "^7.29.11",
602
602
  "debug": "^4.3.1"
603
603
  },
604
604
  "engines": {
@@ -606,13 +606,13 @@
606
606
  }
607
607
  },
608
608
  "node_modules/@babel/types": {
609
- "version": "7.29.8",
610
- "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.8.tgz",
611
- "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
609
+ "version": "7.29.11",
610
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.11.tgz",
611
+ "integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==",
612
612
  "dev": true,
613
613
  "license": "MIT",
614
614
  "dependencies": {
615
- "@babel/helper-string-parser": "^7.29.7",
615
+ "@babel/helper-string-parser": "^7.29.11",
616
616
  "@babel/helper-validator-identifier": "^7.29.7"
617
617
  },
618
618
  "engines": {
@@ -1510,9 +1510,9 @@
1510
1510
  }
1511
1511
  },
1512
1512
  "node_modules/@lark-apaas/client-capability": {
1513
- "version": "0.1.7",
1514
- "resolved": "https://registry.npmmirror.com/@lark-apaas/client-capability/-/client-capability-0.1.7.tgz",
1515
- "integrity": "sha512-b1SGOa6HkzaBkFdDqkwMWXedKI+wu9QZ+sOYsnOB5Ibk2nz10wHqIVRclZfwHBe0/RkzMgDswTrwV2avNhhfzA==",
1513
+ "version": "0.1.8",
1514
+ "resolved": "https://registry.npmmirror.com/@lark-apaas/client-capability/-/client-capability-0.1.8.tgz",
1515
+ "integrity": "sha512-uJSPGvkLZwvmN7csL4ojS8503sgIVZ0G+t2Fwtqc2Hh2aCBkVN5KgAXFrKsxiA/rYUBQGDwc1ujqJDSaFwbx1Q==",
1516
1516
  "dev": true,
1517
1517
  "license": "MIT",
1518
1518
  "dependencies": {
@@ -1520,16 +1520,16 @@
1520
1520
  }
1521
1521
  },
1522
1522
  "node_modules/@lark-apaas/client-toolkit": {
1523
- "version": "1.2.82",
1524
- "resolved": "https://registry.npmmirror.com/@lark-apaas/client-toolkit/-/client-toolkit-1.2.82.tgz",
1525
- "integrity": "sha512-Ti3fArkBk0zBbnJdnGrxpYx4rW7AEzBySUY/iAJ9J5SlO5QS3hszX4BXdRzzX3pZncfgSDM0MqJSQ+ET5YJTyA==",
1523
+ "version": "1.2.83",
1524
+ "resolved": "https://registry.npmmirror.com/@lark-apaas/client-toolkit/-/client-toolkit-1.2.83.tgz",
1525
+ "integrity": "sha512-8QTXHyWmriv72ybLoDv/eGilOJrmci0bMdPvBEgXfiVdkC/NYP1TsEgSyE/+Z5/7Xv/uyBKe1fFJhv0/A0ReFA==",
1526
1526
  "dev": true,
1527
1527
  "dependencies": {
1528
1528
  "@ant-design/colors": "^7.2.1",
1529
1529
  "@ant-design/cssinjs": "^1.24.0",
1530
1530
  "@lark-apaas/aily-web-sdk": "^0.0.12",
1531
1531
  "@lark-apaas/auth-sdk": "^0.1.5",
1532
- "@lark-apaas/client-capability": "^0.1.7",
1532
+ "@lark-apaas/client-capability": "^0.1.8",
1533
1533
  "@lark-apaas/dataloom": "^0.1.6",
1534
1534
  "@lark-apaas/internal-slardar": "^0.0.3",
1535
1535
  "@lark-apaas/miaoda-inspector": "^1.0.25",
@@ -1575,16 +1575,16 @@
1575
1575
  "license": "MIT"
1576
1576
  },
1577
1577
  "node_modules/@lark-apaas/coding-preset-vite-react": {
1578
- "version": "1.0.31",
1579
- "resolved": "https://registry.npmmirror.com/@lark-apaas/coding-preset-vite-react/-/coding-preset-vite-react-1.0.31.tgz",
1580
- "integrity": "sha512-fKOgxgYuoW5hUecLJppM+Ua2KqoTpfnQQeeXp/EngiSRbJJ6gWGHK7F8g4Nsf0mRB8dlMumwALJ5fpnoWULstA==",
1578
+ "version": "1.0.32",
1579
+ "resolved": "https://registry.npmmirror.com/@lark-apaas/coding-preset-vite-react/-/coding-preset-vite-react-1.0.32.tgz",
1580
+ "integrity": "sha512-FuCCWezot5MmowQOdTY8xy8P/lFQNPfpO92XDZFrpYdlZVTsqjohWB2YF/Gbowlw5/OP7/8UX0DqZpeIMRh/wA==",
1581
1581
  "dev": true,
1582
1582
  "license": "MIT",
1583
1583
  "dependencies": {
1584
1584
  "@babel/parser": "^7.28.0",
1585
1585
  "@babel/traverse": "^7.28.0",
1586
1586
  "@babel/types": "^7.28.0",
1587
- "@lark-apaas/vite-inspector-plugin": "^1.0.4",
1587
+ "@lark-apaas/vite-inspector-plugin": "^1.0.5",
1588
1588
  "@tailwindcss/vite": "^4.3.0",
1589
1589
  "@vitejs/plugin-react": "^6.0.0",
1590
1590
  "clsx": "^2.1.1",
@@ -2000,15 +2000,14 @@
2000
2000
  }
2001
2001
  },
2002
2002
  "node_modules/@lark-apaas/vite-inspector-plugin": {
2003
- "version": "1.0.4",
2004
- "resolved": "https://registry.npmmirror.com/@lark-apaas/vite-inspector-plugin/-/vite-inspector-plugin-1.0.4.tgz",
2005
- "integrity": "sha512-c2ZN3tPzH8m/0vDKvmmcACGssaqTAJzROpV5gTy9340Ol1wvR6T8U6fYb57Kp7W0i2z3IWuIl7y7DvdSlSGzbg==",
2003
+ "version": "1.0.5",
2004
+ "resolved": "https://registry.npmmirror.com/@lark-apaas/vite-inspector-plugin/-/vite-inspector-plugin-1.0.5.tgz",
2005
+ "integrity": "sha512-lGYQXnUyGBdCMVSw3acG9g22OyrYo5i7h68Zzk/Xk/vxys2Sr8fEAUfLq1E2/uTIV8i3jJ71c2hGv4fdnhvTOQ==",
2006
2006
  "dev": true,
2007
2007
  "license": "MIT",
2008
2008
  "dependencies": {
2009
- "@babel/parser": "^7.28.0",
2010
- "@babel/traverse": "^7.28.0",
2011
- "magic-string": "^0.30.17"
2009
+ "magic-string": "^0.30.17",
2010
+ "oxc-parser": "^0.158.0"
2012
2011
  },
2013
2012
  "peerDependencies": {
2014
2013
  "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
@@ -3680,6 +3679,312 @@
3680
3679
  "node": ">=14"
3681
3680
  }
3682
3681
  },
3682
+ "node_modules/@oxc-parser/binding-android-arm-eabi": {
3683
+ "version": "0.158.0",
3684
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.158.0.tgz",
3685
+ "integrity": "sha512-eZ4sHtg/u9mzPaRPWXZ7MmJ3tSFYPDCoDrnAJEXBOIQfdAy0TnzlaJx7nq0HZwE8DkYLQg6GqGZlcjaJrnijKg==",
3686
+ "cpu": [
3687
+ "arm"
3688
+ ],
3689
+ "dev": true,
3690
+ "license": "MIT",
3691
+ "optional": true,
3692
+ "os": [
3693
+ "android"
3694
+ ],
3695
+ "engines": {
3696
+ "node": "^20.19.0 || >=22.12.0"
3697
+ }
3698
+ },
3699
+ "node_modules/@oxc-parser/binding-android-arm64": {
3700
+ "version": "0.158.0",
3701
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.158.0.tgz",
3702
+ "integrity": "sha512-Jqfn2GRXFkEukYBke/d1Hc9a3gB/qA3YRZ1u0D6HecjoOc3d9QvB7YFWyaLDWc139pfH+fIMIeOQ2SNOe1mnvQ==",
3703
+ "cpu": [
3704
+ "arm64"
3705
+ ],
3706
+ "dev": true,
3707
+ "license": "MIT",
3708
+ "optional": true,
3709
+ "os": [
3710
+ "android"
3711
+ ],
3712
+ "engines": {
3713
+ "node": "^20.19.0 || >=22.12.0"
3714
+ }
3715
+ },
3716
+ "node_modules/@oxc-parser/binding-darwin-arm64": {
3717
+ "version": "0.158.0",
3718
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.158.0.tgz",
3719
+ "integrity": "sha512-C3/Sl4HE0DE5r64UWBljMTua5aFh14/Urc6o45gK7J8HWjEttJJP26M0bK2eSWcas2zpJZrJlcvwyIxR7YqSZA==",
3720
+ "cpu": [
3721
+ "arm64"
3722
+ ],
3723
+ "dev": true,
3724
+ "license": "MIT",
3725
+ "optional": true,
3726
+ "os": [
3727
+ "darwin"
3728
+ ],
3729
+ "engines": {
3730
+ "node": "^20.19.0 || >=22.12.0"
3731
+ }
3732
+ },
3733
+ "node_modules/@oxc-parser/binding-darwin-x64": {
3734
+ "version": "0.158.0",
3735
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.158.0.tgz",
3736
+ "integrity": "sha512-IlU6PMqlk2pbqiidJ1dU5moOeVtzQf4x1n8fXixupLUixA6Sdd3a5WHclvGEZhJom4SjSan0EIpPQkXl9TnjeA==",
3737
+ "cpu": [
3738
+ "x64"
3739
+ ],
3740
+ "dev": true,
3741
+ "license": "MIT",
3742
+ "optional": true,
3743
+ "os": [
3744
+ "darwin"
3745
+ ],
3746
+ "engines": {
3747
+ "node": "^20.19.0 || >=22.12.0"
3748
+ }
3749
+ },
3750
+ "node_modules/@oxc-parser/binding-freebsd-x64": {
3751
+ "version": "0.158.0",
3752
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.158.0.tgz",
3753
+ "integrity": "sha512-0uQD/66qKMzcz99yudx7yPWdPziXXl4S4bMxyOwXFPQ6F53Vr2DYM8Tfl9gd/32R2FXlAIqK9g8aNfwJEa0/Kg==",
3754
+ "cpu": [
3755
+ "x64"
3756
+ ],
3757
+ "dev": true,
3758
+ "license": "MIT",
3759
+ "optional": true,
3760
+ "os": [
3761
+ "freebsd"
3762
+ ],
3763
+ "engines": {
3764
+ "node": "^20.19.0 || >=22.12.0"
3765
+ }
3766
+ },
3767
+ "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
3768
+ "version": "0.158.0",
3769
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.158.0.tgz",
3770
+ "integrity": "sha512-B5ZAgT/cwKVtGa14Z3PEgim8hBTAK//uX/QpwdO2ZKGMqLFDq8myV3jDU1FAGJ0aPZ24SC8X362kKrpFOYmbHg==",
3771
+ "cpu": [
3772
+ "arm"
3773
+ ],
3774
+ "dev": true,
3775
+ "license": "MIT",
3776
+ "optional": true,
3777
+ "os": [
3778
+ "linux"
3779
+ ],
3780
+ "engines": {
3781
+ "node": "^20.19.0 || >=22.12.0"
3782
+ }
3783
+ },
3784
+ "node_modules/@oxc-parser/binding-linux-arm64-gnu": {
3785
+ "version": "0.158.0",
3786
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.158.0.tgz",
3787
+ "integrity": "sha512-QHKIX2SW3pnUFfhAKU8P9t36QlkGGfxgodwoKkp+pQNZmA/PF3DbkA8OgUHoeCIE0aFL1t9Sse+2wr6+zohdRA==",
3788
+ "cpu": [
3789
+ "arm64"
3790
+ ],
3791
+ "dev": true,
3792
+ "license": "MIT",
3793
+ "optional": true,
3794
+ "os": [
3795
+ "linux"
3796
+ ],
3797
+ "engines": {
3798
+ "node": "^20.19.0 || >=22.12.0"
3799
+ }
3800
+ },
3801
+ "node_modules/@oxc-parser/binding-linux-arm64-musl": {
3802
+ "version": "0.158.0",
3803
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.158.0.tgz",
3804
+ "integrity": "sha512-Z57mkQZMjUHh0KxxjmZLNUpqJUT5lPYYpihAOudh4PnQC79Kq7Ujy8KJsmsbla3rU0xV4aCpUKDCfVx0wnYn+Q==",
3805
+ "cpu": [
3806
+ "arm64"
3807
+ ],
3808
+ "dev": true,
3809
+ "license": "MIT",
3810
+ "optional": true,
3811
+ "os": [
3812
+ "linux"
3813
+ ],
3814
+ "engines": {
3815
+ "node": "^20.19.0 || >=22.12.0"
3816
+ }
3817
+ },
3818
+ "node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
3819
+ "version": "0.158.0",
3820
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.158.0.tgz",
3821
+ "integrity": "sha512-jl6537qMp3Tb2D0J1oYzU/xzvYOM7ZDBf4Dhg8WvgkV+wgept/r2rX30PdWTE5gNo6QdHkOTz7le+9yldU1VwQ==",
3822
+ "cpu": [
3823
+ "ppc64"
3824
+ ],
3825
+ "dev": true,
3826
+ "license": "MIT",
3827
+ "optional": true,
3828
+ "os": [
3829
+ "linux"
3830
+ ],
3831
+ "engines": {
3832
+ "node": "^20.19.0 || >=22.12.0"
3833
+ }
3834
+ },
3835
+ "node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
3836
+ "version": "0.158.0",
3837
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.158.0.tgz",
3838
+ "integrity": "sha512-BFwDkCZ2K6VuSfBlKLItXkTYMN/8SAcFpZgBohU6qjlq4HrRKBqOXW/J0ViwZ4BHZuNFxgrhUXcM3hcalZnQaA==",
3839
+ "cpu": [
3840
+ "riscv64"
3841
+ ],
3842
+ "dev": true,
3843
+ "license": "MIT",
3844
+ "optional": true,
3845
+ "os": [
3846
+ "linux"
3847
+ ],
3848
+ "engines": {
3849
+ "node": "^20.19.0 || >=22.12.0"
3850
+ }
3851
+ },
3852
+ "node_modules/@oxc-parser/binding-linux-riscv64-musl": {
3853
+ "version": "0.158.0",
3854
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.158.0.tgz",
3855
+ "integrity": "sha512-3YcZPBhpDhD9BUWQct+70To5wJhY36pvn+gA04ArMCdREd76EIXB14IgYsDsRqIgOXSXT1okMpHA6UEamM/QQg==",
3856
+ "cpu": [
3857
+ "riscv64"
3858
+ ],
3859
+ "dev": true,
3860
+ "license": "MIT",
3861
+ "optional": true,
3862
+ "os": [
3863
+ "linux"
3864
+ ],
3865
+ "engines": {
3866
+ "node": "^20.19.0 || >=22.12.0"
3867
+ }
3868
+ },
3869
+ "node_modules/@oxc-parser/binding-linux-s390x-gnu": {
3870
+ "version": "0.158.0",
3871
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.158.0.tgz",
3872
+ "integrity": "sha512-C+HBtM/aauGsp1sRuKHnB6yqrFCfGzGgS/3b/Alwz+bGIgOCm6DiNnFEnA14MOQ1YA63ikjpmTN7LPb505pkCQ==",
3873
+ "cpu": [
3874
+ "s390x"
3875
+ ],
3876
+ "dev": true,
3877
+ "license": "MIT",
3878
+ "optional": true,
3879
+ "os": [
3880
+ "linux"
3881
+ ],
3882
+ "engines": {
3883
+ "node": "^20.19.0 || >=22.12.0"
3884
+ }
3885
+ },
3886
+ "node_modules/@oxc-parser/binding-linux-x64-gnu": {
3887
+ "version": "0.158.0",
3888
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.158.0.tgz",
3889
+ "integrity": "sha512-COR5cFRE6DqmxZGE9QCJG1X7uUYxNdSYkMR7J9igRLnZqZ8ki6kJIa5S4czYHeIjdNyYn4vo1CsK3rQsK5sjrA==",
3890
+ "cpu": [
3891
+ "x64"
3892
+ ],
3893
+ "dev": true,
3894
+ "license": "MIT",
3895
+ "optional": true,
3896
+ "os": [
3897
+ "linux"
3898
+ ],
3899
+ "engines": {
3900
+ "node": "^20.19.0 || >=22.12.0"
3901
+ }
3902
+ },
3903
+ "node_modules/@oxc-parser/binding-linux-x64-musl": {
3904
+ "version": "0.158.0",
3905
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.158.0.tgz",
3906
+ "integrity": "sha512-lF8YZdySxTjYnHfitZpbFWpyyxDchZj+TIyvDnzH3AGZlUvyrsu7BeORPdf05cLFwiyb+RPqAae4EJ7uu5xAhg==",
3907
+ "cpu": [
3908
+ "x64"
3909
+ ],
3910
+ "dev": true,
3911
+ "license": "MIT",
3912
+ "optional": true,
3913
+ "os": [
3914
+ "linux"
3915
+ ],
3916
+ "engines": {
3917
+ "node": "^20.19.0 || >=22.12.0"
3918
+ }
3919
+ },
3920
+ "node_modules/@oxc-parser/binding-openharmony-arm64": {
3921
+ "version": "0.158.0",
3922
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.158.0.tgz",
3923
+ "integrity": "sha512-m2HMKQgNNatcwOeCDCewrW5gvmHE61WFKl2J4KHiCGNpJb6ZI8n3T/JzwxFkt8kY3E27fJwvHM6t3WIEgtPiAA==",
3924
+ "cpu": [
3925
+ "arm64"
3926
+ ],
3927
+ "dev": true,
3928
+ "license": "MIT",
3929
+ "optional": true,
3930
+ "os": [
3931
+ "openharmony"
3932
+ ],
3933
+ "engines": {
3934
+ "node": "^20.19.0 || >=22.12.0"
3935
+ }
3936
+ },
3937
+ "node_modules/@oxc-parser/binding-win32-arm64-msvc": {
3938
+ "version": "0.158.0",
3939
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.158.0.tgz",
3940
+ "integrity": "sha512-Kksc5jIB7cE9vgoePyIQ8sRkXA4kAfO5oDEI6X+JJMGGTRnvtGafQniLXAHur9XU+5hUgMOGoZcyA8L+JvBu6g==",
3941
+ "cpu": [
3942
+ "arm64"
3943
+ ],
3944
+ "dev": true,
3945
+ "license": "MIT",
3946
+ "optional": true,
3947
+ "os": [
3948
+ "win32"
3949
+ ],
3950
+ "engines": {
3951
+ "node": "^20.19.0 || >=22.12.0"
3952
+ }
3953
+ },
3954
+ "node_modules/@oxc-parser/binding-win32-ia32-msvc": {
3955
+ "version": "0.158.0",
3956
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.158.0.tgz",
3957
+ "integrity": "sha512-HhxU9z7t6gqSh7UslTwD/wha5U2uD44Ss7GKtrBSJfG061iDrJ1Qk63N0Dzh3clax9pjJgYFnMpQRt72Q1bP8w==",
3958
+ "cpu": [
3959
+ "ia32"
3960
+ ],
3961
+ "dev": true,
3962
+ "license": "MIT",
3963
+ "optional": true,
3964
+ "os": [
3965
+ "win32"
3966
+ ],
3967
+ "engines": {
3968
+ "node": "^20.19.0 || >=22.12.0"
3969
+ }
3970
+ },
3971
+ "node_modules/@oxc-parser/binding-win32-x64-msvc": {
3972
+ "version": "0.158.0",
3973
+ "resolved": "https://registry.npmmirror.com/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.158.0.tgz",
3974
+ "integrity": "sha512-/SLN0ot62iL6XhmsWyLdU+37vjVCgDP96sOqeCPIFov63odr4DPv9vgq+lIkZMBMOxpWsSMcwDfpERsRAyCl8A==",
3975
+ "cpu": [
3976
+ "x64"
3977
+ ],
3978
+ "dev": true,
3979
+ "license": "MIT",
3980
+ "optional": true,
3981
+ "os": [
3982
+ "win32"
3983
+ ],
3984
+ "engines": {
3985
+ "node": "^20.19.0 || >=22.12.0"
3986
+ }
3987
+ },
3683
3988
  "node_modules/@oxc-project/types": {
3684
3989
  "version": "0.148.0",
3685
3990
  "resolved": "https://registry.npmmirror.com/@oxc-project/types/-/types-0.148.0.tgz",
@@ -17015,6 +17320,53 @@
17015
17320
  "url": "https://github.com/sponsors/ljharb"
17016
17321
  }
17017
17322
  },
17323
+ "node_modules/oxc-parser": {
17324
+ "version": "0.158.0",
17325
+ "resolved": "https://registry.npmmirror.com/oxc-parser/-/oxc-parser-0.158.0.tgz",
17326
+ "integrity": "sha512-BKmaZZXp667kLC8Od/ivIkbw6yaxTSqw8ViI1Tvl21E6r+6NLdwDmo43LpL2Ebt/PDMu1d4tcdBucMSor+cL1g==",
17327
+ "dev": true,
17328
+ "license": "MIT",
17329
+ "dependencies": {
17330
+ "@oxc-project/types": "^0.158.0"
17331
+ },
17332
+ "engines": {
17333
+ "node": "^20.19.0 || >=22.12.0"
17334
+ },
17335
+ "funding": {
17336
+ "url": "https://github.com/sponsors/oxc-project"
17337
+ },
17338
+ "optionalDependencies": {
17339
+ "@oxc-parser/binding-android-arm-eabi": "0.158.0",
17340
+ "@oxc-parser/binding-android-arm64": "0.158.0",
17341
+ "@oxc-parser/binding-darwin-arm64": "0.158.0",
17342
+ "@oxc-parser/binding-darwin-x64": "0.158.0",
17343
+ "@oxc-parser/binding-freebsd-x64": "0.158.0",
17344
+ "@oxc-parser/binding-linux-arm-gnueabihf": "0.158.0",
17345
+ "@oxc-parser/binding-linux-arm-musleabihf": "0.158.0",
17346
+ "@oxc-parser/binding-linux-arm64-gnu": "0.158.0",
17347
+ "@oxc-parser/binding-linux-arm64-musl": "0.158.0",
17348
+ "@oxc-parser/binding-linux-ppc64-gnu": "0.158.0",
17349
+ "@oxc-parser/binding-linux-riscv64-gnu": "0.158.0",
17350
+ "@oxc-parser/binding-linux-riscv64-musl": "0.158.0",
17351
+ "@oxc-parser/binding-linux-s390x-gnu": "0.158.0",
17352
+ "@oxc-parser/binding-linux-x64-gnu": "0.158.0",
17353
+ "@oxc-parser/binding-linux-x64-musl": "0.158.0",
17354
+ "@oxc-parser/binding-openharmony-arm64": "0.158.0",
17355
+ "@oxc-parser/binding-win32-arm64-msvc": "0.158.0",
17356
+ "@oxc-parser/binding-win32-ia32-msvc": "0.158.0",
17357
+ "@oxc-parser/binding-win32-x64-msvc": "0.158.0"
17358
+ }
17359
+ },
17360
+ "node_modules/oxc-parser/node_modules/@oxc-project/types": {
17361
+ "version": "0.158.0",
17362
+ "resolved": "https://registry.npmmirror.com/@oxc-project/types/-/types-0.158.0.tgz",
17363
+ "integrity": "sha512-xZ66qA4WmLbTLlxH3mqMd8f9UKbaOzOT0ATwFf4DH/14pMgpUrtqtjyYzOQmgfl2a0iRAAMbQ9G1th/67jRzGw==",
17364
+ "dev": true,
17365
+ "license": "MIT",
17366
+ "funding": {
17367
+ "url": "https://github.com/sponsors/oxc-project"
17368
+ }
17369
+ },
17018
17370
  "node_modules/p-cancelable": {
17019
17371
  "version": "3.0.0",
17020
17372
  "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-3.0.0.tgz",
@@ -52,8 +52,8 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@hookform/resolvers": "^5.2.2",
55
- "@lark-apaas/client-toolkit": "^1.2.82",
56
- "@lark-apaas/coding-preset-vite-react": "^1.0.31",
55
+ "@lark-apaas/client-toolkit": "^1.2.83",
56
+ "@lark-apaas/coding-preset-vite-react": "^1.0.32",
57
57
  "@lark-apaas/fullstack-presets": "^1.1.26",
58
58
  "@nestjs/cli": "^10.4.9",
59
59
  "@radix-ui/react-accordion": "^1.2.12",