@skopon-cool/form-sdk 0.2.0 → 0.2.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/README.md +96 -9
- package/dist/adapter/a2uiAdapter.d.ts +1 -0
- package/dist/adapter/a2uiAdapter.d.ts.map +1 -1
- package/dist/adapter/formSchema.d.ts +2 -1
- package/dist/adapter/formSchema.d.ts.map +1 -1
- package/dist/catalog/a2uiCustomCatalog.d.ts.map +1 -1
- package/dist/catalog/skoponCaseSelect.d.ts.map +1 -1
- package/dist/catalog/skoponResumeSelect.d.ts.map +1 -1
- package/dist/catalog/useSkoponBoundField.d.ts +2 -0
- package/dist/catalog/useSkoponBoundField.d.ts.map +1 -1
- package/dist/client/apiEnvelope.d.ts +7 -0
- package/dist/client/apiEnvelope.d.ts.map +1 -0
- package/dist/client/authStorage.d.ts +19 -0
- package/dist/client/authStorage.d.ts.map +1 -0
- package/dist/client/caseSearchClient.d.ts +11 -0
- package/dist/client/caseSearchClient.d.ts.map +1 -0
- package/dist/client/formClient.d.ts +2 -2
- package/dist/client/formClient.d.ts.map +1 -1
- package/dist/client/resumeSearchClient.d.ts +9 -0
- package/dist/client/resumeSearchClient.d.ts.map +1 -0
- package/dist/client/skoponSdkClients.d.ts +22 -0
- package/dist/client/skoponSdkClients.d.ts.map +1 -0
- package/dist/components/AskUserFormCard.d.ts.map +1 -1
- package/dist/components/SkoponFormRenderer.d.ts +2 -0
- package/dist/components/SkoponFormRenderer.d.ts.map +1 -1
- package/dist/form-sdk.css +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1097 -826
- package/dist/submit/validateFormSubmit.d.ts +10 -0
- package/dist/submit/validateFormSubmit.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/adapter/a2uiAdapter.ts +3 -4
- package/src/adapter/formSchema.test.ts +29 -1
- package/src/adapter/formSchema.ts +12 -3
- package/src/adapter/resolveSurface.ts +3 -3
- package/src/catalog/a2uiCustomCatalog.tsx +49 -3
- package/src/catalog/skoponCaseSelect.tsx +2 -1
- package/src/catalog/skoponResumeSelect.tsx +1 -0
- package/src/catalog/skoponSelectLoading.test.tsx +182 -0
- package/src/catalog/textFieldPreview.test.tsx +31 -0
- package/src/catalog/useSkoponBoundField.test.ts +14 -1
- package/src/catalog/useSkoponBoundField.ts +14 -0
- package/src/client/apiEnvelope.ts +21 -0
- package/src/client/authStorage.test.ts +61 -0
- package/src/client/authStorage.ts +70 -0
- package/src/client/caseSearchClient.ts +107 -0
- package/src/client/formClient.test.ts +25 -0
- package/src/client/formClient.ts +7 -25
- package/src/client/resumeSearchClient.test.ts +87 -0
- package/src/client/resumeSearchClient.ts +108 -0
- package/src/client/skoponSdkClients.ts +51 -0
- package/src/components/AskUserFormCard.tsx +7 -0
- package/src/components/SkoponFormRenderer.tsx +18 -6
- package/src/index.ts +21 -0
- package/src/styles/index.css +3 -3
- package/src/submit/submit.test.ts +40 -0
- package/src/submit/validateFormSubmit.ts +111 -0
- package/dist/catalog/textFieldPreview.test.d.ts +0 -2
- package/dist/catalog/textFieldPreview.test.d.ts.map +0 -1
- package/dist/components/SkoponA2uiStreamRenderer.test.d.ts +0 -2
- package/dist/components/SkoponA2uiStreamRenderer.test.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -37,11 +37,13 @@ npm install @skopon-cool/form-sdk react react-dom antd @a2ui/react @a2ui/web_cor
|
|
|
37
37
|
|
|
38
38
|
### Peer dependencies 说明
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
| `
|
|
44
|
-
|
|
|
40
|
+
|
|
41
|
+
| 包 | 说明 |
|
|
42
|
+
| -------------------------------- | -------------------------------------------------- |
|
|
43
|
+
| `react` / `react-dom` | 须与宿主共用同一实例,不可由 SDK 内嵌 |
|
|
44
|
+
| `antd` / `@ant-design/icons` | 表单控件与图标;SDK 内置 Skopon 主题,也可由宿主全局 ConfigProvider 覆盖 |
|
|
45
|
+
| `@a2ui/react` / `@a2ui/web_core` | A2UI 渲染栈(SDK 内部使用,宿主无需写 A2UI 代码) |
|
|
46
|
+
|
|
45
47
|
|
|
46
48
|
## 样式与主题(0.2.0+ 开箱即用)
|
|
47
49
|
|
|
@@ -90,14 +92,93 @@ import { SkoponA2uiStreamRenderer } from '@skopon-cool/form-sdk'
|
|
|
90
92
|
|
|
91
93
|
`payload` 须为 **blocksJson**(`{ title?, description?, blocks[] }`),与表单编辑器 Blocks Json 同形。前端按 `form_unique_id` 拉取表单后与 `payload.blocks` **按 name 交集**渲染卡片;payload 中表单外的块不在卡片展示,但提交 curl 时会合并进 body 并以注释标注为额外字段。
|
|
92
94
|
|
|
95
|
+
### 鉴权与 Token 缓存
|
|
96
|
+
|
|
97
|
+
SDK 请求(表单详情、简历搜索、案例列表)默认从**宿主登录时写入的浏览器缓存**读取 token,无需每次手写 `getHeaders`。
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
| 项 | 默认值 |
|
|
101
|
+
| --- | ------------------------------- |
|
|
102
|
+
| 存储 | `sessionStorage` |
|
|
103
|
+
| 键名 | `auth_user` |
|
|
104
|
+
| 字段 | JSON 内的 `token` |
|
|
105
|
+
| 请求头 | `Authorization: Bearer <token>` |
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
与 skopon-admin 登录约定一致:登录接口返回 `extObj.token` 后写入 `sessionStorage.setItem('auth_user', JSON.stringify({ username, displayName, token }))`。
|
|
109
|
+
|
|
110
|
+
若宿主使用不同缓存键或字段名,创建 client 时传入 `authStorage`:
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
createSkoponSdkClients({
|
|
114
|
+
: '/api/v1',
|
|
115
|
+
authStorage: { storageKey: 'my_session', tokenField: 'accessToken' },
|
|
116
|
+
})
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
显式 `getHeaders` 仍优先于 `authStorage`(用于自定义鉴权逻辑)。
|
|
120
|
+
|
|
121
|
+
### Ask User 完整集成(推荐)
|
|
122
|
+
|
|
93
123
|
```tsx
|
|
94
|
-
import { AskUserFormCard,
|
|
124
|
+
import { AskUserFormCard, createSkoponSdkClients } from '@skopon-cool/form-sdk'
|
|
95
125
|
|
|
96
|
-
const
|
|
126
|
+
const { fetchDetail, resumeSearch, caseSearch } = createSkoponSdkClients({
|
|
97
127
|
baseUrl: '/api/v1',
|
|
98
|
-
getHeaders: () => ({ Authorization: 'Bearer …' }),
|
|
99
128
|
})
|
|
100
129
|
|
|
130
|
+
<AskUserFormCard
|
|
131
|
+
payload={message.payload}
|
|
132
|
+
formUniqueId={message.form_unique_id}
|
|
133
|
+
callbackUrl={message.callback_url}
|
|
134
|
+
fetchFormDetail={fetchDetail}
|
|
135
|
+
resumeSearch={resumeSearch}
|
|
136
|
+
caseSearch={caseSearch}
|
|
137
|
+
submitMode="curl"
|
|
138
|
+
/>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
- `resumeSearch`:简历多选(`resume_multiselect`)**必需**,否则显示「未配置简历搜索服务」
|
|
142
|
+
- `caseSearch`:案例多选(`case_multiselect`)**必需**,否则显示「未配置案例搜索服务」
|
|
143
|
+
- 简历搜索:`GET /api/v1/univ/resume/search`(需 `univ:resume:search` 权限)
|
|
144
|
+
- 案例列表:`GET /api/v1/univ/case/list`
|
|
145
|
+
|
|
146
|
+
### 单独使用各 client
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
import {
|
|
150
|
+
createFormClient,
|
|
151
|
+
createResumeSearchClient,
|
|
152
|
+
createCaseSearchClient,
|
|
153
|
+
resolveSkoponAuthHeaders,
|
|
154
|
+
} from '@skopon-cool/form-sdk'
|
|
155
|
+
|
|
156
|
+
const headers = resolveSkoponAuthHeaders()
|
|
157
|
+
|
|
158
|
+
const client = createFormClient({ baseUrl: '/api/v1' })
|
|
159
|
+
const resumeSearch = createResumeSearchClient({ baseUrl: '/api/v1' })
|
|
160
|
+
const caseSearch = createCaseSearchClient({ baseUrl: '/api/v1' })
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### SkoponFormRenderer 直接使用
|
|
164
|
+
|
|
165
|
+
渲染含简历/案例块的 surface 时同样需注入:
|
|
166
|
+
|
|
167
|
+
```tsx
|
|
168
|
+
<SkoponFormRenderer
|
|
169
|
+
doc={surface}
|
|
170
|
+
resumeSearch={resumeSearch}
|
|
171
|
+
caseSearch={caseSearch}
|
|
172
|
+
/>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 旧版最小示例(仅表单详情,无简历/案例块时)
|
|
176
|
+
|
|
177
|
+
```tsx
|
|
178
|
+
import { AskUserFormCard, createFormClient } from '@skopon-cool/form-sdk'
|
|
179
|
+
|
|
180
|
+
const client = createFormClient({ baseUrl: '/api/v1' })
|
|
181
|
+
|
|
101
182
|
<AskUserFormCard
|
|
102
183
|
payload={message.payload}
|
|
103
184
|
formUniqueId={message.form_unique_id}
|
|
@@ -107,11 +188,15 @@ const client = createFormClient({
|
|
|
107
188
|
/>
|
|
108
189
|
```
|
|
109
190
|
|
|
191
|
+
未传 `resumeSearch` / `caseSearch` 时,对应组件会提示未配置搜索服务。
|
|
192
|
+
|
|
110
193
|
## 提交
|
|
111
194
|
|
|
112
195
|
- `submitMode: 'curl'`(默认):复制 curl 到剪贴板(卡片填值 + 额外字段,extra 段含 `// 额外字段(未在卡片展示)` 注释)
|
|
113
196
|
- `submitMode: 'post'`:`submitFormJson(callbackUrl, { ...cardValues, ...extraValues })` POST 合法 JSON
|
|
114
197
|
|
|
198
|
+
**文件块说明**:`file` 类型字段在 SDK 内仅将**文件名**写入表单值并随提交发出,不包含文件二进制或 URL。若业务需要真实文件上传,请在宿主侧接入上传 API,或将文件块改为其他采集方式。
|
|
199
|
+
|
|
115
200
|
独立工具:
|
|
116
201
|
|
|
117
202
|
```ts
|
|
@@ -126,15 +211,17 @@ import { createFormClient } from '@skopon-cool/form-sdk'
|
|
|
126
211
|
const client = createFormClient({
|
|
127
212
|
baseUrl: '/api/v1',
|
|
128
213
|
detailPath: '/dev/form/detail',
|
|
129
|
-
getHeaders: async () => ({ Authorization: '…' }),
|
|
130
214
|
})
|
|
131
215
|
|
|
132
216
|
const detail = await client.fetchDetail({ formUniqueId: 'formuid-xxx' })
|
|
133
217
|
```
|
|
134
218
|
|
|
219
|
+
未传 `getHeaders` 时自动从 `sessionStorage['auth_user'].token` 读取 Bearer token。
|
|
220
|
+
|
|
135
221
|
## 发布
|
|
136
222
|
|
|
137
223
|
```bash
|
|
138
224
|
cd sdk/front/form && npm publish --access public
|
|
139
225
|
cd sdk/front/form-bundle && npm publish --access public
|
|
140
226
|
```
|
|
227
|
+
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { A2uiSurfaceDoc, FormSchema } from '../types/index';
|
|
2
|
+
export declare const EMAIL_REGEXP = "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$";
|
|
2
3
|
export interface BlocksToA2uiOptions {
|
|
3
4
|
styleId?: string | null;
|
|
4
5
|
/** 是否写入 title/description 为 Text 组件;预览区由 FormTitleField 展示时可设为 false */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2uiAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/a2uiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAKd,UAAU,EACX,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"a2uiAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/a2uiAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAKd,UAAU,EACX,MAAM,gBAAgB,CAAA;AAqBvB,eAAO,MAAM,YAAY,mCAAmC,CAAA;AAsP5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,uCAAuC;AACvC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOlF;AAED,qCAAqC;AACrC,wBAAgB,YAAY,CAC1B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,EAChE,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CAiChB;AA0KD,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CA+B/E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAgB3B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { FormBlock, FormBlockType, FormSchema } from '../types/index';
|
|
1
|
+
import type { FormBlock, FormBlockType, FormJsonSchema, FormSchema } from '../types/index';
|
|
2
|
+
export declare function normalizeJsonSchema(raw: unknown): FormJsonSchema;
|
|
2
3
|
export declare function coerceToggleValue(raw: unknown): boolean;
|
|
3
4
|
export declare function syncFormDefinition(definition: FormSchema): FormSchema;
|
|
4
5
|
export declare function normalizeFormDefinition(raw: FormSchema | undefined): FormSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formSchema.d.ts","sourceRoot":"","sources":["../../src/adapter/formSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAoC,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"formSchema.d.ts","sourceRoot":"","sources":["../../src/adapter/formSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAoC,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAe5H,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAKhE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAiJD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAOrE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAW/E;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CA2D/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2uiCustomCatalog.d.ts","sourceRoot":"","sources":["../../src/catalog/a2uiCustomCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAyB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"a2uiCustomCatalog.d.ts","sourceRoot":"","sources":["../../src/catalog/a2uiCustomCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAyB,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,kBAAkB,CAAA;AAoCzB;;;GAGG;AACH,eAAO,MAAM,iBAAiB,qBAAqB,CAAA;AAuqBnD,kDAAkD;AAClD,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAqB1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skoponCaseSelect.d.ts","sourceRoot":"","sources":["../../src/catalog/skoponCaseSelect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skoponCaseSelect.d.ts","sourceRoot":"","sources":["../../src/catalog/skoponCaseSelect.tsx"],"names":[],"mappings":"AAgQA,eAAO,MAAM,oBAAoB,yDAGhC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skoponResumeSelect.d.ts","sourceRoot":"","sources":["../../src/catalog/skoponResumeSelect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skoponResumeSelect.d.ts","sourceRoot":"","sources":["../../src/catalog/skoponResumeSelect.tsx"],"names":[],"mappings":"AAqTA,eAAO,MAAM,sBAAsB,yDAGlC,CAAA"}
|
|
@@ -9,6 +9,8 @@ export declare function useSkoponBoundField(context: ComponentContext, field?: s
|
|
|
9
9
|
};
|
|
10
10
|
export declare function asOptionalString(value: unknown): string | undefined;
|
|
11
11
|
export declare function asStringArray(value: unknown): string[];
|
|
12
|
+
/** 单选/多选模式切换时规范化 stored value;无需变更时返回 null。 */
|
|
13
|
+
export declare function normalizeSelectStoredValue(value: unknown, isMultiple: boolean): unknown | null;
|
|
12
14
|
export declare function readOptionalSelectCount(value: unknown): number | undefined;
|
|
13
15
|
export declare function toggleStringArraySelection(selectedIds: string[], itemId: string, minCount: number | undefined, maxCount: number | undefined): string[] | null;
|
|
14
16
|
export declare function isCardSelectionDisabled(selectedIds: string[], itemId: string, interactive: boolean, minCount: number | undefined, maxCount: number | undefined): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkoponBoundField.d.ts","sourceRoot":"","sources":["../../src/catalog/useSkoponBoundField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAY3D,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAU,GAAG,OAAO,CAMvF;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAU;;qBAsBnE,OAAO;;EAQjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAItD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAK1E;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,EAAE,GAAG,IAAI,CASjB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAMT;AAED,6CAA6C;AAC7C,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,EAAE,GAAG,IAAI,CAGjB"}
|
|
1
|
+
{"version":3,"file":"useSkoponBoundField.d.ts","sourceRoot":"","sources":["../../src/catalog/useSkoponBoundField.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAY3D,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAU,GAAG,OAAO,CAMvF;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAU;;qBAsBnE,OAAO;;EAQjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAInE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAItD;AAED,+CAA+C;AAC/C,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAW9F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAK1E;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,EAAE,GAAG,IAAI,CASjB;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAMT;AAED,6CAA6C;AAC7C,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,EAAE,GAAG,IAAI,CAGjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiEnvelope.d.ts","sourceRoot":"","sources":["../../src/client/apiEnvelope.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAcrE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface SkoponAuthStorageOptions {
|
|
2
|
+
/** 默认 sessionStorage(与 skopon-admin / HiAUTH 约定一致) */
|
|
3
|
+
storage?: 'sessionStorage' | 'localStorage';
|
|
4
|
+
/** 默认 auth_user */
|
|
5
|
+
storageKey?: string;
|
|
6
|
+
/** JSON 内 token 字段名,默认 token */
|
|
7
|
+
tokenField?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEFAULT_AUTH_STORAGE_KEY = "auth_user";
|
|
10
|
+
export declare const DEFAULT_AUTH_TOKEN_FIELD = "token";
|
|
11
|
+
/** 从宿主登录缓存读取 Bearer token,返回 Authorization 头(无 token 时返回空对象)。 */
|
|
12
|
+
export declare function resolveSkoponAuthHeaders(options?: SkoponAuthStorageOptions): Record<string, string>;
|
|
13
|
+
export interface ClientHeadersOptions {
|
|
14
|
+
getHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
15
|
+
authStorage?: SkoponAuthStorageOptions;
|
|
16
|
+
}
|
|
17
|
+
/** 显式 getHeaders 优先;否则从本地登录缓存读取。 */
|
|
18
|
+
export declare function resolveClientHeaders(options?: ClientHeadersOptions): Promise<Record<string, string>>;
|
|
19
|
+
//# sourceMappingURL=authStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authStorage.d.ts","sourceRoot":"","sources":["../../src/client/authStorage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,OAAO,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAAA;IAC3C,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,wBAAwB,UAAU,CAAA;AA4B/C,iEAAiE;AACjE,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3E,WAAW,CAAC,EAAE,wBAAwB,CAAA;CACvC;AAED,oCAAoC;AACpC,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAKjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CaseSearchFn } from '../catalog/caseSearchContext';
|
|
2
|
+
import { type ClientHeadersOptions } from './authStorage';
|
|
3
|
+
export interface CaseSearchClientOptions extends ClientHeadersOptions {
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
listPath?: string;
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
/** 默认 1(已发布) */
|
|
8
|
+
published?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function createCaseSearchClient(options?: CaseSearchClientOptions): CaseSearchFn;
|
|
11
|
+
//# sourceMappingURL=caseSearchClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caseSearchClient.d.ts","sourceRoot":"","sources":["../../src/client/caseSearchClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAA;AAEhF,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAiED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,YAAY,CAyBd"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FormDetailResult } from '../types/index';
|
|
2
|
+
import { type ClientHeadersOptions } from './authStorage';
|
|
2
3
|
export interface FormDetailDto {
|
|
3
4
|
form_id: number;
|
|
4
5
|
form_unique_id: string;
|
|
@@ -6,11 +7,10 @@ export interface FormDetailDto {
|
|
|
6
7
|
disabled: number;
|
|
7
8
|
form_definition: Record<string, unknown>;
|
|
8
9
|
}
|
|
9
|
-
export interface FormClientOptions {
|
|
10
|
+
export interface FormClientOptions extends ClientHeadersOptions {
|
|
10
11
|
baseUrl?: string;
|
|
11
12
|
detailPath?: string;
|
|
12
13
|
fetch?: typeof fetch;
|
|
13
|
-
getHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
14
14
|
}
|
|
15
15
|
export interface FormClient {
|
|
16
16
|
fetchDetail: (ref: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formClient.d.ts","sourceRoot":"","sources":["../../src/client/formClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAA;AAGlE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"formClient.d.ts","sourceRoot":"","sources":["../../src/client/formClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAA;AAGlE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,CAAC,GAAG,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC5F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU,CAmC5E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ResumeSearchFn } from '../catalog/resumeSearchContext';
|
|
2
|
+
import { type ClientHeadersOptions } from './authStorage';
|
|
3
|
+
export interface ResumeSearchClientOptions extends ClientHeadersOptions {
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
searchPath?: string;
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
}
|
|
8
|
+
export declare function createResumeSearchClient(options?: ResumeSearchClientOptions): ResumeSearchFn;
|
|
9
|
+
//# sourceMappingURL=resumeSearchClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resumeSearchClient.d.ts","sourceRoot":"","sources":["../../src/client/resumeSearchClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,gCAAgC,CAAA;AAEtF,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAyED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,yBAA8B,GACtC,cAAc,CAoBhB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type CaseSearchClientOptions } from './caseSearchClient';
|
|
2
|
+
import { type FormClient, type FormClientOptions } from './formClient';
|
|
3
|
+
import { type ResumeSearchClientOptions } from './resumeSearchClient';
|
|
4
|
+
import type { CaseSearchFn } from '../catalog/caseSearchContext';
|
|
5
|
+
import type { ResumeSearchFn } from '../catalog/resumeSearchContext';
|
|
6
|
+
import type { SkoponAuthStorageOptions } from './authStorage';
|
|
7
|
+
export interface SkoponSdkClientsOptions {
|
|
8
|
+
baseUrl?: string;
|
|
9
|
+
fetch?: typeof fetch;
|
|
10
|
+
getHeaders?: () => Record<string, string> | Promise<Record<string, string>>;
|
|
11
|
+
authStorage?: SkoponAuthStorageOptions;
|
|
12
|
+
form?: Pick<FormClientOptions, 'detailPath'>;
|
|
13
|
+
resume?: Pick<ResumeSearchClientOptions, 'searchPath'>;
|
|
14
|
+
case?: Pick<CaseSearchClientOptions, 'listPath' | 'published'>;
|
|
15
|
+
}
|
|
16
|
+
export interface SkoponSdkClients {
|
|
17
|
+
fetchDetail: FormClient['fetchDetail'];
|
|
18
|
+
resumeSearch: ResumeSearchFn;
|
|
19
|
+
caseSearch: CaseSearchFn;
|
|
20
|
+
}
|
|
21
|
+
export declare function createSkoponSdkClients(options?: SkoponSdkClientsOptions): SkoponSdkClients;
|
|
22
|
+
//# sourceMappingURL=skoponSdkClients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skoponSdkClients.d.ts","sourceRoot":"","sources":["../../src/client/skoponSdkClients.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAE7D,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3E,WAAW,CAAC,EAAE,wBAAwB,CAAA;IACtC,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;IACtD,IAAI,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;CAC/D;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IACtC,YAAY,EAAE,cAAc,CAAA;IAC5B,UAAU,EAAE,YAAY,CAAA;CACzB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAyBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskUserFormCard.d.ts","sourceRoot":"","sources":["../../src/components/AskUserFormCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"AskUserFormCard.d.ts","sourceRoot":"","sources":["../../src/components/AskUserFormCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAa9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAkBpE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gCAAgC;IAChC,eAAe,EAAE,CAAC,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC7E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/D,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAmB,EACnB,eAAe,EACf,QAAQ,EACR,YAAmB,EACnB,UAAiB,GAClB,EAAE,oBAAoB,+BAyMtB"}
|
|
@@ -16,6 +16,8 @@ export interface SkoponFormRendererProps {
|
|
|
16
16
|
resumeSearch?: ResumeSearchFn | null;
|
|
17
17
|
/** 案例单选组件:注入搜索函数 */
|
|
18
18
|
caseSearch?: CaseSearchFn | null;
|
|
19
|
+
/** 外层已包裹 SkoponFormProvider 时可设为 false,避免重复 ConfigProvider */
|
|
20
|
+
wrapProvider?: boolean;
|
|
19
21
|
}
|
|
20
22
|
declare const SkoponFormRenderer: import("react").ForwardRefExoticComponent<SkoponFormRendererProps & import("react").RefAttributes<SkoponFormRendererRef>>;
|
|
21
23
|
export default SkoponFormRenderer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkoponFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponFormRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAKd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAKpD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG1F,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"SkoponFormRenderer.d.ts","sourceRoot":"","sources":["../../src/components/SkoponFormRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAKd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAKpD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG1F,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IACpC,oBAAoB;IACpB,UAAU,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAChC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,QAAA,MAAM,kBAAkB,2HAiGvB,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
package/dist/form-sdk.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root,.light,.light-theme{--gray-1: #fcfcfc;--gray-2: #f9f9f9;--gray-3: #f0f0f0;--gray-4: #e8e8e8;--gray-5: #e0e0e0;--gray-6: #d9d9d9;--gray-7: #cecece;--gray-8: #bbbbbb;--gray-9: #8d8d8d;--gray-10: #838383;--gray-11: #646464;--gray-12: #202020}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--gray-1: color(display-p3 .988 .988 .988);--gray-2: color(display-p3 .975 .975 .975);--gray-3: color(display-p3 .939 .939 .939);--gray-4: color(display-p3 .908 .908 .908);--gray-5: color(display-p3 .88 .88 .88);--gray-6: color(display-p3 .849 .849 .849);--gray-7: color(display-p3 .807 .807 .807);--gray-8: color(display-p3 .732 .732 .732);--gray-9: color(display-p3 .553 .553 .553);--gray-10: color(display-p3 .512 .512 .512);--gray-11: color(display-p3 .392 .392 .392);--gray-12: color(display-p3 .125 .125 .125)}}}:root,.light,.light-theme{--jade-1: #fbfefd;--jade-2: #f4fbf7;--jade-3: #e6f7ed;--jade-4: #d6f1e3;--jade-5: #c3e9d7;--jade-6: #acdec8;--jade-7: #8bceb6;--jade-8: #56ba9f;--jade-9: #29a383;--jade-10: #26997b;--jade-11: #208368;--jade-12: #1d3b31}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--jade-1: color(display-p3 .986 .996 .992);--jade-2: color(display-p3 .962 .983 .969);--jade-3: color(display-p3 .912 .965 .932);--jade-4: color(display-p3 .858 .941 .893);--jade-5: color(display-p3 .795 .909 .847);--jade-6: color(display-p3 .715 .864 .791);--jade-7: color(display-p3 .603 .802 .718);--jade-8: color(display-p3 .44 .72 .629);--jade-9: color(display-p3 .319 .63 .521);--jade-10: color(display-p3 .299 .592 .488);--jade-11: color(display-p3 .15 .5 .37);--jade-12: color(display-p3 .142 .229 .194)}}}:root,.light,.light-theme{--green-1: #fbfefc;--green-2: #f4fbf6;--green-3: #e6f6eb;--green-4: #d6f1df;--green-5: #c4e8d1;--green-6: #adddc0;--green-7: #8eceaa;--green-8: #5bb98b;--green-9: #30a46c;--green-10: #2b9a66;--green-11: #218358;--green-12: #193b2d}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--green-1: color(display-p3 .986 .996 .989);--green-2: color(display-p3 .963 .983 .967);--green-3: color(display-p3 .913 .964 .925);--green-4: color(display-p3 .859 .94 .879);--green-5: color(display-p3 .796 .907 .826);--green-6: color(display-p3 .718 .863 .761);--green-7: color(display-p3 .61 .801 .675);--green-8: color(display-p3 .451 .715 .559);--green-9: color(display-p3 .332 .634 .442);--green-10: color(display-p3 .308 .595 .417);--green-11: color(display-p3 .19 .5 .32);--green-12: color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--red-1: #fffcfc;--red-2: #fff7f7;--red-3: #feebec;--red-4: #ffdbdc;--red-5: #ffcdce;--red-6: #fdbdbe;--red-7: #f4a9aa;--red-8: #eb8e90;--red-9: #e5484d;--red-10: #dc3e42;--red-11: #ce2c31;--red-12: #641723}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--red-1: color(display-p3 .998 .989 .988);--red-2: color(display-p3 .995 .971 .971);--red-3: color(display-p3 .985 .925 .925);--red-4: color(display-p3 .999 .866 .866);--red-5: color(display-p3 .984 .812 .811);--red-6: color(display-p3 .955 .751 .749);--red-7: color(display-p3 .915 .675 .672);--red-8: color(display-p3 .872 .575 .572);--red-9: color(display-p3 .83 .329 .324);--red-10: color(display-p3 .798 .294 .285);--red-11: color(display-p3 .744 .234 .222);--red-12: color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--amber-1: #fefdfb;--amber-2: #fefbe9;--amber-3: #fff7c2;--amber-4: #ffee9c;--amber-5: #fbe577;--amber-6: #f3d673;--amber-7: #e9c162;--amber-8: #e2a336;--amber-9: #ffc53d;--amber-10: #ffba18;--amber-11: #ab6400;--amber-12: #4f3422}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--amber-1: color(display-p3 .995 .992 .985);--amber-2: color(display-p3 .994 .986 .921);--amber-3: color(display-p3 .994 .969 .782);--amber-4: color(display-p3 .989 .937 .65);--amber-5: color(display-p3 .97 .902 .527);--amber-6: color(display-p3 .936 .844 .506);--amber-7: color(display-p3 .89 .762 .443);--amber-8: color(display-p3 .85 .65 .3);--amber-9: color(display-p3 1 .77 .26);--amber-10: color(display-p3 .959 .741 .274);--amber-11: color(display-p3 .64 .4 0);--amber-12: color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--brand-1: var(--jade-1);--brand-2: var(--jade-2);--brand-3: var(--jade-3);--brand-4: var(--jade-4);--brand-5: var(--jade-5);--brand-6: var(--jade-6);--brand-7: var(--jade-7);--brand-8: var(--jade-8);--brand-9: var(--jade-9);--brand-10: var(--jade-10);--brand-11: var(--jade-11);--brand-12: var(--jade-12);--neutral-1: var(--gray-1);--neutral-2: var(--gray-2);--neutral-3: var(--gray-3);--neutral-4: var(--gray-4);--neutral-5: var(--gray-5);--neutral-6: var(--gray-6);--neutral-7: var(--gray-7);--neutral-8: var(--gray-8);--neutral-9: var(--gray-9);--neutral-10: var(--gray-10);--neutral-11: var(--gray-11);--neutral-12: var(--gray-12);--success-9: var(--green-9);--success-11: var(--green-11);--danger-9: var(--red-9);--danger-11: var(--red-11);--danger-3: var(--red-3);--warning-9: var(--amber-9);--warning-11: var(--amber-11);--color-primary: var(--brand-11);--color-primary-hover: var(--brand-10);--color-primary-active: var(--brand-12);--color-primary-solid: var(--brand-11);--color-primary-subtle: var(--brand-3);--color-primary-muted: var(--brand-4);--color-on-primary: #ffffff;--color-bg: var(--neutral-1);--color-bg-subtle: var(--neutral-2);--color-bg-muted: var(--neutral-3);--color-surface: #ffffff;--color-surface-raised: var(--neutral-2);--color-border: var(--neutral-6);--color-border-subtle: var(--neutral-4);--color-border-strong: var(--neutral-8);--color-text: var(--neutral-12);--color-text-secondary: var(--neutral-11);--color-text-muted: var(--neutral-9);--color-text-placeholder: var(--neutral-9);--color-text-disabled: var(--neutral-8);--color-success: var(--success-9);--color-success-text: var(--success-11);--color-danger: var(--danger-9);--color-danger-text: var(--danger-11);--color-danger-subtle: var(--danger-3);--color-warning: var(--warning-9);--color-warning-text: var(--warning-11);--color-warning-solid: var(--amber-9);--color-warning-solid-hover: var(--amber-10);--color-on-warning: var(--neutral-12);--color-focus-ring: color-mix(in srgb, var(--brand-11) 35%, transparent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-page-x: var(--space-5);--space-page-y: var(--space-5);--space-section: var(--space-5);--space-card: var(--space-4);--space-form-item: var(--space-5);--space-inline: var(--space-2);--space-stack-sm: var(--space-3);--space-stack-md: var(--space-4);--space-stack-lg: var(--space-5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 9999px;--radius-button: var(--radius-pill);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 2px var(--color-focus-ring);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--line-height-tight: 1.25;--line-height-base: 1.5715;--line-height-relaxed: 1.6;--button-height-sm: 28px;--button-height-md: 36px;--button-height-lg: 40px;--button-padding-x-sm: 12px;--button-padding-x-md: 16px;--button-padding-x-lg: 20px;--button-font-size-sm: 13px;--button-font-size-md: 14px;--button-font-size-lg: 16px;--button-icon-sm: 14px;--button-icon-md: 16px;--button-icon-lg: 18px;--button-font-weight: var(--font-weight-semibold);--button-icon-stroke-width: 2.5px;--layout-sider-width: 60px;--layout-sider-width-expanded: 158px;--layout-sider-capsule-radius: calc(var(--layout-sider-width) / 2);--layout-sider-inset: var(--space-3);--layout-sider-rail-width: calc(var(--layout-sider-width) + 2 * var(--layout-sider-inset));--layout-sider-rail-width-expanded: calc( var(--layout-sider-width-expanded) + 2 * var(--layout-sider-inset) );--layout-header-height: 56px;--layout-bottom-nav-height: 56px;--layout-sider-mobile-inset: var(--layout-sider-inset);--layout-sider-mobile-padding-y: var(--layout-sider-padding-y);--layout-sider-mobile-padding-x: var(--layout-sider-padding-y);--layout-sider-mobile-clearance: calc( var(--layout-sider-nav-size) + 2 * var(--layout-sider-mobile-padding-y) + var(--layout-sider-mobile-inset) + env(safe-area-inset-bottom, 0px) );--layout-content-gap: var(--space-section);--layout-kpi-min-height: 96px;--layout-chart-min-height: 320px;--layout-sider-logo-size: 36px;--layout-sider-padding-y: var(--space-3);--layout-sider-padding-x: 0;--layout-sider-gap: var(--space-2);--layout-sider-logo-gap: var(--space-4);--layout-sider-nav-size: 36px;--layout-sider-icon-label-gap: 10px;--layout-sider-nav-icon-opacity-idle: .69;--color-nav-bg: var(--color-primary-solid);--color-nav-icon: var(--color-on-primary);--color-nav-logo-bg: #ffffff;--color-nav-logo-icon: var(--color-primary);--duration-fast: .15s;--duration-normal: .2s;--ease-default: cubic-bezier(.4, 0, .2, 1)}@media(max-width:768px){:root{--space-page-x: var(--space-4);--space-page-y: var(--space-4);--space-section: var(--space-4);--space-card: var(--space-3);--layout-sider-mobile-inset: var(--space-5);--layout-sider-mobile-padding-y: var(--space-3);--layout-sider-mobile-padding-x: var(--space-3);--layout-sider-mobile-clearance: calc( var(--layout-sider-nav-size) + 2 * var(--layout-sider-mobile-padding-y) + var(--layout-sider-mobile-inset) + env(safe-area-inset-bottom, 0px) );--layout-flow-artifact-fab-bottom: calc( var(--layout-sider-mobile-clearance) + var(--space-5) );--layout-flow-artifact-panel-bottom: calc( var(--layout-flow-artifact-fab-bottom) + 48px + var(--space-3) )}}.a2ui-surface.a2ui-container{--a2ui-color-border: var(--color-border);--a2ui-color-border-hover: var(--color-border-strong);--a2ui-color-input: var(--color-surface);--a2ui-color-on-input: var(--color-text);--a2ui-color-on-background: var(--color-text);--a2ui-color-on-surface: var(--color-text);--a2ui-color-primary: var(--color-primary);--a2ui-color-primary-hover: var(--color-primary-hover);--a2ui-color-on-primary: var(--color-on-primary);--a2ui-color-surface: var(--color-surface);--a2ui-color-secondary-hover: var(--color-bg-subtle);--a2ui-border-radius: var(--radius-md);--a2ui-border-width: 1px;--a2ui-column-gap: var(--space-form-item);--a2ui-row-gap: var(--space-3);--a2ui-spacing-xs: var(--space-1);--a2ui-spacing-s: var(--space-2);--a2ui-spacing-m: var(--space-3);--a2ui-spacing-l: var(--space-4);--a2ui-font-size-xs: var(--font-size-xs);--a2ui-font-size-s: var(--font-size-sm);--a2ui-font-size-m: var(--font-size-base);--a2ui-font-size-l: var(--font-size-lg);--a2ui-font-size-xl: var(--font-size-xl);--a2ui-font-size-2xl: var(--font-size-2xl);--a2ui-line-height-headings: var(--line-height-tight);--a2ui-line-height-body: var(--line-height-base);width:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base)}.a2ui-surface.a2ui-container h1,.a2ui-surface.a2ui-container h2,.a2ui-surface.a2ui-container h3,.a2ui-surface.a2ui-container h4,.a2ui-surface.a2ui-container h5{margin:0 0 var(--space-4);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.a2ui-surface.a2ui-container h1{font-size:var(--font-size-2xl)}.a2ui-surface.a2ui-container h2{font-size:var(--font-size-xl)}.a2ui-surface.a2ui-container h3{font-size:var(--font-size-lg)}.a2ui-surface.a2ui-container h4{font-size:var(--font-size-base)}.a2ui-surface.a2ui-container p{margin:0 0 var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.a2ui-surface.a2ui-container label:not(:has(input)):has(+input:is([type=text],[type=number],[type=email],[type=tel],[type=url],[type=password],[type=date],[type=time],[type=datetime-local])),.a2ui-surface.a2ui-container label:not(:has(input)):has(+textarea){display:block;margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container strong{display:block;margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container div:has(>input[type=checkbox]:first-child+label){display:flex;align-items:center;gap:var(--space-2)}.a2ui-surface.a2ui-container input[type=checkbox]:not(label input)+label,.a2ui-surface.a2ui-container input[type=radio]:not(label input)+label{display:inline;margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);cursor:pointer}.a2ui-surface.a2ui-container div:has(>label>input[type=checkbox]),.a2ui-surface.a2ui-container div:has(>label>input[type=radio]){display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%}.a2ui-surface.a2ui-container label:has(>input[type=checkbox]),.a2ui-surface.a2ui-container label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:var(--space-2);margin:0;width:auto;max-width:100%;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);cursor:pointer}.a2ui-surface.a2ui-container label:has(>input[type=checkbox])>span,.a2ui-surface.a2ui-container label:has(>input[type=radio])>span{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container input[type=text],.a2ui-surface.a2ui-container input[type=number],.a2ui-surface.a2ui-container input[type=email],.a2ui-surface.a2ui-container input[type=tel],.a2ui-surface.a2ui-container input[type=url],.a2ui-surface.a2ui-container input[type=password],.a2ui-surface.a2ui-container input[type=date],.a2ui-surface.a2ui-container input[type=time],.a2ui-surface.a2ui-container input[type=datetime-local],.a2ui-surface.a2ui-container textarea{display:block;width:100%;min-height:var(--button-height-md);box-sizing:border-box;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.a2ui-surface.a2ui-container textarea{min-height:calc(var(--button-height-md) * 2);padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical}.a2ui-surface.a2ui-container input[type=text]:hover,.a2ui-surface.a2ui-container input[type=number]:hover,.a2ui-surface.a2ui-container input[type=email]:hover,.a2ui-surface.a2ui-container input[type=tel]:hover,.a2ui-surface.a2ui-container input[type=url]:hover,.a2ui-surface.a2ui-container input[type=password]:hover,.a2ui-surface.a2ui-container input[type=date]:hover,.a2ui-surface.a2ui-container input[type=time]:hover,.a2ui-surface.a2ui-container input[type=datetime-local]:hover,.a2ui-surface.a2ui-container textarea:hover{border-color:var(--color-border-strong)}.a2ui-surface.a2ui-container input[type=text]:focus,.a2ui-surface.a2ui-container input[type=number]:focus,.a2ui-surface.a2ui-container input[type=email]:focus,.a2ui-surface.a2ui-container input[type=tel]:focus,.a2ui-surface.a2ui-container input[type=url]:focus,.a2ui-surface.a2ui-container input[type=password]:focus,.a2ui-surface.a2ui-container input[type=date]:focus,.a2ui-surface.a2ui-container input[type=time]:focus,.a2ui-surface.a2ui-container input[type=datetime-local]:focus,.a2ui-surface.a2ui-container textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input),.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input){width:16px;height:16px;min-height:0;min-width:16px;margin:0;padding:0;flex-shrink:0;border:none;border-radius:var(--radius-sm);background:transparent;box-shadow:none;accent-color:var(--color-primary);cursor:pointer;vertical-align:middle}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input):not(label input),.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):not(label input){border:1px solid var(--color-border);background:var(--color-surface)}.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):not(label input){border-radius:50%}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input):focus,.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):focus{outline:none;box-shadow:var(--shadow-focus)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card){min-height:var(--button-height-md);padding:0 var(--button-padding-x-md);font-family:var(--font-sans);font-size:var(--button-font-size-md);font-weight:var(--button-font-weight);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card):hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card):disabled{cursor:not-allowed;opacity:.45}.a2ui-surface.a2ui-container button.chip,.a2ui-surface.a2ui-container button.chip.selected,.a2ui-surface.a2ui-container button.selected{min-height:var(--button-height-sm);padding:0 var(--button-padding-x-sm);font-size:var(--button-font-size-sm)}.a2ui-surface.a2ui-container button.chip.selected,.a2ui-surface.a2ui-container button.selected{color:var(--color-on-primary);background-color:var(--color-primary-solid);border-color:var(--color-primary-solid)}.a2ui-surface.a2ui-container button.chip.selected:hover,.a2ui-surface.a2ui-container button.selected:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.a2ui-surface.a2ui-container span[style*="color: red"],.a2ui-surface.a2ui-container span[style*="color:red"]{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);color:var(--color-danger-text)!important}.a2ui-surface.a2ui-container img:not(.form-media-item){max-width:100%;height:auto;border-radius:var(--radius-md)}.a2ui-surface.a2ui-container .form-block-preview{width:100%}.a2ui-surface.a2ui-container .form-block-preview+.form-block-preview,.a2ui-surface.a2ui-container .form-block-preview-label+.form-block-preview-control,.a2ui-surface.a2ui-container .form-block-preview-label+.form-media-preview,.a2ui-surface.a2ui-container .form-block-preview-label+.form-media-list,.a2ui-surface.a2ui-container .form-block-preview-label+.form-file-upload-preview{margin-top:var(--space-2)}.a2ui-surface.a2ui-container .form-block-preview .ant-upload-drag{border-radius:var(--radius-md)}.a2ui-surface.a2ui-container .form-block-preview-control.ant-picker{width:100%}.a2ui-surface.a2ui-container .form-block-preview-control.ant-switch{margin-top:var(--space-1)}.form-block-preview{padding:var(--space-1) 0 var(--space-2)}.form-block-preview-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text)}.form-block-preview-control{margin-top:var(--space-1)}.form-block-preview-help{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-media-preview{max-width:100%;border-radius:var(--radius-md);overflow:hidden}.form-media-list{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2);max-width:100%}.form-media-item{display:block;flex-shrink:0;object-fit:cover;border-radius:var(--radius-md)}.form-media-list.form-media-size-huge .form-media-item{width:480px;height:480px}.form-media-list.form-media-size-huge .form-media-item.form-media-item--audio{width:480px;height:48px}.form-media-list.form-media-size-large .form-media-item{width:320px;height:320px}.form-media-list.form-media-size-large .form-media-item.form-media-item--audio{width:320px;height:48px}.form-media-list.form-media-size-medium .form-media-item{width:160px;height:160px}.form-media-list.form-media-size-medium .form-media-item.form-media-item--audio{width:160px;height:48px}.form-media-list.form-media-size-small .form-media-item{width:80px;height:80px}.form-media-list.form-media-size-small .form-media-item.form-media-item--audio{width:80px;height:48px}.form-media-list.form-media-size-icon .form-media-item{width:48px;height:48px}.form-media-preview--empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.form-file-upload-preview{margin-top:var(--space-1)}.form-file-upload-preview .ant-upload-drag{border-color:var(--color-border);background:var(--color-bg-subtle)}.form-file-upload-preview-icon{margin:0 0 var(--space-2);color:var(--color-primary)}.form-file-upload-preview-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ask-user-form-card{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ask-user-form-card-status,.ask-user-form-actions{display:flex;justify-content:flex-end}.ask-user-curl-card{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle, rgba(0, 0, 0, .03))}.ask-user-curl-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ask-user-curl-card-header-title{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.ask-user-curl-unpublished-tag{margin:0;flex-shrink:0;color:var(--color-warning, #d48806);background:#d488061f;border-color:transparent}.ask-user-curl-incomplete-tag{margin:0;flex-shrink:0;color:var(--color-primary);background:var(--color-primary-subtle);border-color:transparent}.skopon-form-curl-json,.flow-artifact-generate-chat-json{margin:0;padding:var(--space-2);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.skopon-resume-select-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-3, 12px);margin-top:var(--space-2, 8px);overflow-x:auto;padding-bottom:var(--space-1, 4px);-webkit-overflow-scrolling:touch}.skopon-resume-select-card{display:flex;flex:0 0 auto;box-sizing:border-box;padding:12px;border:1px solid var(--color-border, #d9d9d9);border-radius:4px;background:var(--color-surface, #fff);text-align:left;cursor:pointer;min-height:unset;font-weight:inherit;line-height:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.a2ui-surface.a2ui-container button.skopon-resume-select-card{border-radius:4px;min-height:unset;padding:12px;font-weight:inherit}.skopon-resume-select-card--profile{flex-direction:column;align-items:center;width:200px;min-width:200px;max-width:200px;height:320px;min-height:320px;max-height:320px;padding:10px;overflow:hidden}.a2ui-surface.a2ui-container button.skopon-resume-select-card--profile{padding:10px;min-height:320px}.skopon-resume-select-card:not(.skopon-resume-select-card--profile){flex-direction:row;align-items:flex-start;gap:12px;width:220px;min-width:220px}.skopon-resume-select-card:hover:not(:disabled){border-color:var(--color-primary, #1677ff)}.skopon-resume-select-card--selected{border-color:var(--color-primary, #1677ff);background:color-mix(in srgb,var(--color-primary, #1677ff) 8%,transparent)}.skopon-resume-select-card:disabled{cursor:not-allowed;opacity:.72}.skopon-resume-select-card-avatar{flex-shrink:0}.skopon-resume-select-card--profile .skopon-resume-select-card-avatar{margin-bottom:6px}.skopon-resume-select-card-name{font-weight:600;font-size:14px;line-height:1.3;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, rgba(0, 0, 0, .88))}.skopon-resume-select-card--profile>.skopon-resume-select-card-name{flex-shrink:0;width:100%;text-align:center}.skopon-resume-select-card-body{width:100%;min-width:0;text-align:left}.skopon-resume-select-card--profile .skopon-resume-select-card-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.skopon-resume-select-card-field{margin-bottom:4px;flex-shrink:0}.skopon-resume-select-card-field-value{font-size:12px;color:var(--color-text, rgba(0, 0, 0, .88))}.skopon-resume-select-card-tags-empty{font-size:12px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-tags{margin-bottom:4px;flex-shrink:0}.skopon-resume-select-card-tags-label,.skopon-resume-select-card-works-label{display:block;margin-bottom:2px;font-size:11px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-tags-list{display:flex;flex-wrap:wrap;gap:4px}.skopon-resume-select-card-tag{margin:0;font-size:11px;line-height:18px}.skopon-resume-select-card-works{margin-top:4px;flex-shrink:0}.skopon-resume-select-card-works-list{display:flex;flex-direction:column;gap:4px}.skopon-resume-select-card-works-empty{font-size:12px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-work{display:flex;align-items:center;gap:6px;min-width:0}.skopon-resume-select-card-work-cover{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:2px;border:1px solid var(--color-border, #d9d9d9);background:var(--color-bg-subtle, rgba(0, 0, 0, .02));overflow:hidden}.skopon-resume-select-card-work-img{width:100%;height:100%;object-fit:cover}.skopon-resume-select-card-work-placeholder{font-size:16px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-work-title{flex:1;min-width:0;font-size:12px;color:var(--color-text, rgba(0, 0, 0, .88));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skopon-resume-select-actions{margin-top:var(--space-2, 8px)}.skopon-resume-select-empty,.skopon-resume-select-status{padding:12px 0;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}
|
|
1
|
+
:root,.light,.light-theme{--gray-1: #fcfcfc;--gray-2: #f9f9f9;--gray-3: #f0f0f0;--gray-4: #e8e8e8;--gray-5: #e0e0e0;--gray-6: #d9d9d9;--gray-7: #cecece;--gray-8: #bbbbbb;--gray-9: #8d8d8d;--gray-10: #838383;--gray-11: #646464;--gray-12: #202020}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--gray-1: color(display-p3 .988 .988 .988);--gray-2: color(display-p3 .975 .975 .975);--gray-3: color(display-p3 .939 .939 .939);--gray-4: color(display-p3 .908 .908 .908);--gray-5: color(display-p3 .88 .88 .88);--gray-6: color(display-p3 .849 .849 .849);--gray-7: color(display-p3 .807 .807 .807);--gray-8: color(display-p3 .732 .732 .732);--gray-9: color(display-p3 .553 .553 .553);--gray-10: color(display-p3 .512 .512 .512);--gray-11: color(display-p3 .392 .392 .392);--gray-12: color(display-p3 .125 .125 .125)}}}:root,.light,.light-theme{--jade-1: #fbfefd;--jade-2: #f4fbf7;--jade-3: #e6f7ed;--jade-4: #d6f1e3;--jade-5: #c3e9d7;--jade-6: #acdec8;--jade-7: #8bceb6;--jade-8: #56ba9f;--jade-9: #29a383;--jade-10: #26997b;--jade-11: #208368;--jade-12: #1d3b31}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--jade-1: color(display-p3 .986 .996 .992);--jade-2: color(display-p3 .962 .983 .969);--jade-3: color(display-p3 .912 .965 .932);--jade-4: color(display-p3 .858 .941 .893);--jade-5: color(display-p3 .795 .909 .847);--jade-6: color(display-p3 .715 .864 .791);--jade-7: color(display-p3 .603 .802 .718);--jade-8: color(display-p3 .44 .72 .629);--jade-9: color(display-p3 .319 .63 .521);--jade-10: color(display-p3 .299 .592 .488);--jade-11: color(display-p3 .15 .5 .37);--jade-12: color(display-p3 .142 .229 .194)}}}:root,.light,.light-theme{--green-1: #fbfefc;--green-2: #f4fbf6;--green-3: #e6f6eb;--green-4: #d6f1df;--green-5: #c4e8d1;--green-6: #adddc0;--green-7: #8eceaa;--green-8: #5bb98b;--green-9: #30a46c;--green-10: #2b9a66;--green-11: #218358;--green-12: #193b2d}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--green-1: color(display-p3 .986 .996 .989);--green-2: color(display-p3 .963 .983 .967);--green-3: color(display-p3 .913 .964 .925);--green-4: color(display-p3 .859 .94 .879);--green-5: color(display-p3 .796 .907 .826);--green-6: color(display-p3 .718 .863 .761);--green-7: color(display-p3 .61 .801 .675);--green-8: color(display-p3 .451 .715 .559);--green-9: color(display-p3 .332 .634 .442);--green-10: color(display-p3 .308 .595 .417);--green-11: color(display-p3 .19 .5 .32);--green-12: color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--red-1: #fffcfc;--red-2: #fff7f7;--red-3: #feebec;--red-4: #ffdbdc;--red-5: #ffcdce;--red-6: #fdbdbe;--red-7: #f4a9aa;--red-8: #eb8e90;--red-9: #e5484d;--red-10: #dc3e42;--red-11: #ce2c31;--red-12: #641723}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--red-1: color(display-p3 .998 .989 .988);--red-2: color(display-p3 .995 .971 .971);--red-3: color(display-p3 .985 .925 .925);--red-4: color(display-p3 .999 .866 .866);--red-5: color(display-p3 .984 .812 .811);--red-6: color(display-p3 .955 .751 .749);--red-7: color(display-p3 .915 .675 .672);--red-8: color(display-p3 .872 .575 .572);--red-9: color(display-p3 .83 .329 .324);--red-10: color(display-p3 .798 .294 .285);--red-11: color(display-p3 .744 .234 .222);--red-12: color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--amber-1: #fefdfb;--amber-2: #fefbe9;--amber-3: #fff7c2;--amber-4: #ffee9c;--amber-5: #fbe577;--amber-6: #f3d673;--amber-7: #e9c162;--amber-8: #e2a336;--amber-9: #ffc53d;--amber-10: #ffba18;--amber-11: #ab6400;--amber-12: #4f3422}@supports (color: color(display-p3 1 1 1)){@media(color-gamut:p3){:root,.light,.light-theme{--amber-1: color(display-p3 .995 .992 .985);--amber-2: color(display-p3 .994 .986 .921);--amber-3: color(display-p3 .994 .969 .782);--amber-4: color(display-p3 .989 .937 .65);--amber-5: color(display-p3 .97 .902 .527);--amber-6: color(display-p3 .936 .844 .506);--amber-7: color(display-p3 .89 .762 .443);--amber-8: color(display-p3 .85 .65 .3);--amber-9: color(display-p3 1 .77 .26);--amber-10: color(display-p3 .959 .741 .274);--amber-11: color(display-p3 .64 .4 0);--amber-12: color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--brand-1: var(--jade-1);--brand-2: var(--jade-2);--brand-3: var(--jade-3);--brand-4: var(--jade-4);--brand-5: var(--jade-5);--brand-6: var(--jade-6);--brand-7: var(--jade-7);--brand-8: var(--jade-8);--brand-9: var(--jade-9);--brand-10: var(--jade-10);--brand-11: var(--jade-11);--brand-12: var(--jade-12);--neutral-1: var(--gray-1);--neutral-2: var(--gray-2);--neutral-3: var(--gray-3);--neutral-4: var(--gray-4);--neutral-5: var(--gray-5);--neutral-6: var(--gray-6);--neutral-7: var(--gray-7);--neutral-8: var(--gray-8);--neutral-9: var(--gray-9);--neutral-10: var(--gray-10);--neutral-11: var(--gray-11);--neutral-12: var(--gray-12);--success-9: var(--green-9);--success-11: var(--green-11);--danger-9: var(--red-9);--danger-11: var(--red-11);--danger-3: var(--red-3);--warning-9: var(--amber-9);--warning-11: var(--amber-11);--color-primary: var(--brand-11);--color-primary-hover: var(--brand-10);--color-primary-active: var(--brand-12);--color-primary-solid: var(--brand-11);--color-primary-subtle: var(--brand-3);--color-primary-muted: var(--brand-4);--color-on-primary: #ffffff;--color-bg: var(--neutral-1);--color-bg-subtle: var(--neutral-2);--color-bg-muted: var(--neutral-3);--color-surface: #ffffff;--color-surface-raised: var(--neutral-2);--color-border: var(--neutral-6);--color-border-subtle: var(--neutral-4);--color-border-strong: var(--neutral-8);--color-text: var(--neutral-12);--color-text-secondary: var(--neutral-11);--color-text-muted: var(--neutral-9);--color-text-placeholder: var(--neutral-9);--color-text-disabled: var(--neutral-8);--color-success: var(--success-9);--color-success-text: var(--success-11);--color-danger: var(--danger-9);--color-danger-text: var(--danger-11);--color-danger-subtle: var(--danger-3);--color-warning: var(--warning-9);--color-warning-text: var(--warning-11);--color-warning-solid: var(--amber-9);--color-warning-solid-hover: var(--amber-10);--color-on-warning: var(--neutral-12);--color-focus-ring: color-mix(in srgb, var(--brand-11) 35%, transparent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-page-x: var(--space-5);--space-page-y: var(--space-5);--space-section: var(--space-5);--space-card: var(--space-4);--space-form-item: var(--space-5);--space-inline: var(--space-2);--space-stack-sm: var(--space-3);--space-stack-md: var(--space-4);--space-stack-lg: var(--space-5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 9999px;--radius-button: var(--radius-pill);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 2px var(--color-focus-ring);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--line-height-tight: 1.25;--line-height-base: 1.5715;--line-height-relaxed: 1.6;--button-height-sm: 28px;--button-height-md: 36px;--button-height-lg: 40px;--button-padding-x-sm: 12px;--button-padding-x-md: 16px;--button-padding-x-lg: 20px;--button-font-size-sm: 13px;--button-font-size-md: 14px;--button-font-size-lg: 16px;--button-icon-sm: 14px;--button-icon-md: 16px;--button-icon-lg: 18px;--button-font-weight: var(--font-weight-semibold);--button-icon-stroke-width: 2.5px;--layout-sider-width: 60px;--layout-sider-width-expanded: 158px;--layout-sider-capsule-radius: calc(var(--layout-sider-width) / 2);--layout-sider-inset: var(--space-3);--layout-sider-rail-width: calc(var(--layout-sider-width) + 2 * var(--layout-sider-inset));--layout-sider-rail-width-expanded: calc( var(--layout-sider-width-expanded) + 2 * var(--layout-sider-inset) );--layout-header-height: 56px;--layout-bottom-nav-height: 56px;--layout-sider-mobile-inset: var(--layout-sider-inset);--layout-sider-mobile-padding-y: var(--layout-sider-padding-y);--layout-sider-mobile-padding-x: var(--layout-sider-padding-y);--layout-sider-mobile-clearance: calc( var(--layout-sider-nav-size) + 2 * var(--layout-sider-mobile-padding-y) + var(--layout-sider-mobile-inset) + env(safe-area-inset-bottom, 0px) );--layout-content-gap: var(--space-section);--layout-kpi-min-height: 96px;--layout-chart-min-height: 320px;--layout-sider-logo-size: 36px;--layout-sider-padding-y: var(--space-3);--layout-sider-padding-x: 0;--layout-sider-gap: var(--space-2);--layout-sider-logo-gap: var(--space-4);--layout-sider-nav-size: 36px;--layout-sider-icon-label-gap: 10px;--layout-sider-nav-icon-opacity-idle: .69;--color-nav-bg: var(--color-primary-solid);--color-nav-icon: var(--color-on-primary);--color-nav-logo-bg: #ffffff;--color-nav-logo-icon: var(--color-primary);--duration-fast: .15s;--duration-normal: .2s;--ease-default: cubic-bezier(.4, 0, .2, 1)}@media(max-width:768px){:root{--space-page-x: var(--space-4);--space-page-y: var(--space-4);--space-section: var(--space-4);--space-card: var(--space-3);--layout-sider-mobile-inset: var(--space-5);--layout-sider-mobile-padding-y: var(--space-3);--layout-sider-mobile-padding-x: var(--space-3);--layout-sider-mobile-clearance: calc( var(--layout-sider-nav-size) + 2 * var(--layout-sider-mobile-padding-y) + var(--layout-sider-mobile-inset) + env(safe-area-inset-bottom, 0px) );--layout-flow-artifact-fab-bottom: calc( var(--layout-sider-mobile-clearance) + var(--space-5) );--layout-flow-artifact-panel-bottom: calc( var(--layout-flow-artifact-fab-bottom) + 48px + var(--space-3) )}}.a2ui-surface.a2ui-container{--a2ui-color-border: var(--color-border);--a2ui-color-border-hover: var(--color-border-strong);--a2ui-color-input: var(--color-surface);--a2ui-color-on-input: var(--color-text);--a2ui-color-on-background: var(--color-text);--a2ui-color-on-surface: var(--color-text);--a2ui-color-primary: var(--color-primary);--a2ui-color-primary-hover: var(--color-primary-hover);--a2ui-color-on-primary: var(--color-on-primary);--a2ui-color-surface: var(--color-surface);--a2ui-color-secondary-hover: var(--color-bg-subtle);--a2ui-border-radius: var(--radius-md);--a2ui-border-width: 1px;--a2ui-column-gap: var(--space-form-item);--a2ui-row-gap: var(--space-3);--a2ui-spacing-xs: var(--space-1);--a2ui-spacing-s: var(--space-2);--a2ui-spacing-m: var(--space-3);--a2ui-spacing-l: var(--space-4);--a2ui-font-size-xs: var(--font-size-xs);--a2ui-font-size-s: var(--font-size-sm);--a2ui-font-size-m: var(--font-size-base);--a2ui-font-size-l: var(--font-size-lg);--a2ui-font-size-xl: var(--font-size-xl);--a2ui-font-size-2xl: var(--font-size-2xl);--a2ui-line-height-headings: var(--line-height-tight);--a2ui-line-height-body: var(--line-height-base);width:100%;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base)}.a2ui-surface.a2ui-container h1,.a2ui-surface.a2ui-container h2,.a2ui-surface.a2ui-container h3,.a2ui-surface.a2ui-container h4,.a2ui-surface.a2ui-container h5{margin:0 0 var(--space-4);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}.a2ui-surface.a2ui-container h1{font-size:var(--font-size-2xl)}.a2ui-surface.a2ui-container h2{font-size:var(--font-size-xl)}.a2ui-surface.a2ui-container h3{font-size:var(--font-size-lg)}.a2ui-surface.a2ui-container h4{font-size:var(--font-size-base)}.a2ui-surface.a2ui-container p{margin:0 0 var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.a2ui-surface.a2ui-container label:not(:has(input)):has(+input:is([type=text],[type=number],[type=email],[type=tel],[type=url],[type=password],[type=date],[type=time],[type=datetime-local])),.a2ui-surface.a2ui-container label:not(:has(input)):has(+textarea){display:block;margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container strong{display:block;margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container div:has(>input[type=checkbox]:first-child+label){display:flex;align-items:center;gap:var(--space-2)}.a2ui-surface.a2ui-container input[type=checkbox]:not(label input)+label,.a2ui-surface.a2ui-container input[type=radio]:not(label input)+label{display:inline;margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);cursor:pointer}.a2ui-surface.a2ui-container div:has(>label>input[type=checkbox]),.a2ui-surface.a2ui-container div:has(>label>input[type=radio]){display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%}.a2ui-surface.a2ui-container label:has(>input[type=checkbox]),.a2ui-surface.a2ui-container label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:var(--space-2);margin:0;width:auto;max-width:100%;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text);cursor:pointer}.a2ui-surface.a2ui-container label:has(>input[type=checkbox])>span,.a2ui-surface.a2ui-container label:has(>input[type=radio])>span{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text)}.a2ui-surface.a2ui-container input[type=text],.a2ui-surface.a2ui-container input[type=number],.a2ui-surface.a2ui-container input[type=email],.a2ui-surface.a2ui-container input[type=tel],.a2ui-surface.a2ui-container input[type=url],.a2ui-surface.a2ui-container input[type=password],.a2ui-surface.a2ui-container input[type=date],.a2ui-surface.a2ui-container input[type=time],.a2ui-surface.a2ui-container input[type=datetime-local],.a2ui-surface.a2ui-container textarea{display:block;width:100%;min-height:var(--button-height-md);box-sizing:border-box;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.a2ui-surface.a2ui-container textarea{min-height:calc(var(--button-height-md) * 2);padding-top:var(--space-2);padding-bottom:var(--space-2);resize:vertical}.a2ui-surface.a2ui-container input[type=text]:hover,.a2ui-surface.a2ui-container input[type=number]:hover,.a2ui-surface.a2ui-container input[type=email]:hover,.a2ui-surface.a2ui-container input[type=tel]:hover,.a2ui-surface.a2ui-container input[type=url]:hover,.a2ui-surface.a2ui-container input[type=password]:hover,.a2ui-surface.a2ui-container input[type=date]:hover,.a2ui-surface.a2ui-container input[type=time]:hover,.a2ui-surface.a2ui-container input[type=datetime-local]:hover,.a2ui-surface.a2ui-container textarea:hover{border-color:var(--color-border-strong)}.a2ui-surface.a2ui-container input[type=text]:focus,.a2ui-surface.a2ui-container input[type=number]:focus,.a2ui-surface.a2ui-container input[type=email]:focus,.a2ui-surface.a2ui-container input[type=tel]:focus,.a2ui-surface.a2ui-container input[type=url]:focus,.a2ui-surface.a2ui-container input[type=password]:focus,.a2ui-surface.a2ui-container input[type=date]:focus,.a2ui-surface.a2ui-container input[type=time]:focus,.a2ui-surface.a2ui-container input[type=datetime-local]:focus,.a2ui-surface.a2ui-container textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input),.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input){width:16px;height:16px;min-height:0;min-width:16px;margin:0;padding:0;flex-shrink:0;border:none;border-radius:var(--radius-sm);background:transparent;box-shadow:none;accent-color:var(--color-primary);cursor:pointer;vertical-align:middle}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input):not(label input),.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):not(label input){border:1px solid var(--color-border);background:var(--color-surface)}.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):not(label input){border-radius:50%}.a2ui-surface.a2ui-container input[type=checkbox]:not(.ant-checkbox-input):focus,.a2ui-surface.a2ui-container input[type=radio]:not(.ant-radio-input):focus{outline:none;box-shadow:var(--shadow-focus)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card){min-height:var(--button-height-md);padding:0 var(--button-padding-x-md);font-family:var(--font-sans);font-size:var(--button-font-size-md);font-weight:var(--button-font-weight);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card):hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-subtle)}.a2ui-surface.a2ui-container button:not([class*=ant-]):not(.skopon-resume-select-card):disabled{cursor:not-allowed;opacity:.45}.a2ui-surface.a2ui-container button.chip,.a2ui-surface.a2ui-container button.chip.selected,.a2ui-surface.a2ui-container button.selected{min-height:var(--button-height-sm);padding:0 var(--button-padding-x-sm);font-size:var(--button-font-size-sm)}.a2ui-surface.a2ui-container button.chip.selected,.a2ui-surface.a2ui-container button.selected{color:var(--color-on-primary);background-color:var(--color-primary-solid);border-color:var(--color-primary-solid)}.a2ui-surface.a2ui-container button.chip.selected:hover,.a2ui-surface.a2ui-container button.selected:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.a2ui-surface.a2ui-container span[style*="color: red"],.a2ui-surface.a2ui-container span[style*="color:red"]{display:block;margin-top:var(--space-1);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);color:var(--color-danger-text)!important}.a2ui-surface.a2ui-container img:not(.form-media-item){max-width:100%;height:auto;border-radius:var(--radius-md)}.a2ui-surface.a2ui-container .form-block-preview{width:100%}.a2ui-surface.a2ui-container .form-block-preview+.form-block-preview,.a2ui-surface.a2ui-container .form-block-preview-label+.form-block-preview-control,.a2ui-surface.a2ui-container .form-block-preview-label+.form-media-preview,.a2ui-surface.a2ui-container .form-block-preview-label+.form-media-list,.a2ui-surface.a2ui-container .form-block-preview-label+.form-file-upload-preview{margin-top:var(--space-2)}.a2ui-surface.a2ui-container .form-block-preview .ant-upload-drag{border-radius:var(--radius-md)}.a2ui-surface.a2ui-container .form-block-preview-control.ant-picker{width:100%}.a2ui-surface.a2ui-container .form-block-preview-control.ant-switch{margin-top:var(--space-1)}.form-block-preview{padding:var(--space-1) 0 var(--space-2)}.form-block-preview-label{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-text)}.form-block-preview-control{margin-top:var(--space-1)}.form-block-preview-help{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.form-media-preview{max-width:100%;border-radius:var(--radius-md);overflow:hidden}.form-media-list{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2);max-width:100%}.form-media-item{display:block;flex-shrink:0;object-fit:cover;border-radius:var(--radius-md)}.form-media-list.form-media-size-huge .form-media-item{width:480px;height:480px}.form-media-list.form-media-size-huge .form-media-item.form-media-item--audio{width:480px;height:48px}.form-media-list.form-media-size-large .form-media-item{width:320px;height:320px}.form-media-list.form-media-size-large .form-media-item.form-media-item--audio{width:320px;height:48px}.form-media-list.form-media-size-medium .form-media-item{width:160px;height:160px}.form-media-list.form-media-size-medium .form-media-item.form-media-item--audio{width:160px;height:48px}.form-media-list.form-media-size-small .form-media-item{width:80px;height:80px}.form-media-list.form-media-size-small .form-media-item.form-media-item--audio{width:80px;height:48px}.form-media-list.form-media-size-icon .form-media-item{width:48px;height:48px}.form-media-preview--empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.form-file-upload-preview{margin-top:var(--space-1)}.form-file-upload-preview .ant-upload-drag{border-color:var(--color-border);background:var(--color-bg-subtle)}.form-file-upload-preview-icon{margin:0 0 var(--space-2);color:var(--color-primary)}.form-file-upload-preview-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ask-user-form-card{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ask-user-form-card-status,.ask-user-form-actions{display:flex;justify-content:flex-end}.ask-user-curl-card{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle, rgba(0, 0, 0, .03))}.ask-user-curl-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ask-user-curl-card-header-title{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.ask-user-curl-unpublished-tag{margin:0;flex-shrink:0;color:var(--color-warning, #d48806);background:#d488061f;border-color:transparent}.ask-user-curl-incomplete-tag{margin:0;flex-shrink:0;color:var(--color-primary);background:var(--color-primary-subtle);border-color:transparent}.skopon-form-curl-json,.flow-artifact-generate-chat-json{margin:0;padding:var(--space-2);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.skopon-resume-select-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--space-3, 12px);margin-top:var(--space-2, 8px);overflow-x:auto;padding-bottom:var(--space-1, 4px);-webkit-overflow-scrolling:touch}.skopon-resume-select-card{display:flex;flex:0 0 auto;box-sizing:border-box;padding:12px;border:1px solid var(--color-border, #d9d9d9);border-radius:4px;background:var(--color-surface, #fff);text-align:left;cursor:pointer;min-height:unset;font-weight:inherit;line-height:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.a2ui-surface.a2ui-container button.skopon-resume-select-card{border-radius:4px;min-height:unset;padding:12px;font-weight:inherit}.skopon-resume-select-card--profile{flex-direction:column;align-items:center;width:200px;min-width:200px;max-width:200px;height:320px;min-height:320px;max-height:320px;padding:10px;overflow:hidden}.a2ui-surface.a2ui-container button.skopon-resume-select-card--profile{padding:10px;min-height:320px}.skopon-resume-select-card:not(.skopon-resume-select-card--profile){flex-direction:row;align-items:flex-start;gap:12px;width:220px;min-width:220px}.skopon-resume-select-card:hover:not(:disabled){border-color:var(--color-primary, #208368)}.skopon-resume-select-card--selected{border-color:var(--color-primary, #208368);background:color-mix(in srgb,var(--color-primary, #208368) 8%,transparent)}.skopon-resume-select-card:disabled{cursor:not-allowed;opacity:.72}.skopon-resume-select-card-avatar{flex-shrink:0}.skopon-resume-select-card--profile .skopon-resume-select-card-avatar{margin-bottom:6px}.skopon-resume-select-card-name{font-weight:600;font-size:14px;line-height:1.3;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text, rgba(0, 0, 0, .88))}.skopon-resume-select-card--profile>.skopon-resume-select-card-name{flex-shrink:0;width:100%;text-align:center}.skopon-resume-select-card-body{width:100%;min-width:0;text-align:left}.skopon-resume-select-card--profile .skopon-resume-select-card-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.skopon-resume-select-card-field{margin-bottom:4px;flex-shrink:0}.skopon-resume-select-card-field-value{font-size:12px;color:var(--color-text, rgba(0, 0, 0, .88))}.skopon-resume-select-card-tags-empty{font-size:12px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-tags{margin-bottom:4px;flex-shrink:0}.skopon-resume-select-card-tags-label,.skopon-resume-select-card-works-label{display:block;margin-bottom:2px;font-size:11px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-tags-list{display:flex;flex-wrap:wrap;gap:4px}.skopon-resume-select-card-tag{margin:0;font-size:11px;line-height:18px}.skopon-resume-select-card-works{margin-top:4px;flex-shrink:0}.skopon-resume-select-card-works-list{display:flex;flex-direction:column;gap:4px}.skopon-resume-select-card-works-empty{font-size:12px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-work{display:flex;align-items:center;gap:6px;min-width:0}.skopon-resume-select-card-work-cover{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:2px;border:1px solid var(--color-border, #d9d9d9);background:var(--color-bg-subtle, rgba(0, 0, 0, .02));overflow:hidden}.skopon-resume-select-card-work-img{width:100%;height:100%;object-fit:cover}.skopon-resume-select-card-work-placeholder{font-size:16px;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}.skopon-resume-select-card-work-title{flex:1;min-width:0;font-size:12px;color:var(--color-text, rgba(0, 0, 0, .88));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skopon-resume-select-actions{margin-top:var(--space-2, 8px)}.skopon-resume-select-empty,.skopon-resume-select-status{padding:12px 0;color:var(--color-text-secondary, rgba(0, 0, 0, .45))}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export { buildCurlStatement, buildAskUserCurlStatement, buildAskUserCurlBodyJson
|
|
|
8
8
|
export { extractExtraBlockValues, getPayloadInputFieldNames, getPayloadRenderableBlocks, intersectPayloadBlocksWithForm, parsePayloadBlocksJson, payloadHasInputBlocks, type PayloadBlocksDefinition, type PayloadBlocksIntersection, } from './submit/intersectPayloadBlocksWithForm';
|
|
9
9
|
export { copyTextToClipboard, submitFormJson, type SubmitFormJsonOptions, type SubmitFormJsonResult, } from './submit/submitFormJson';
|
|
10
10
|
export { createFormClient, type FormClient, type FormClientOptions } from './client/formClient';
|
|
11
|
+
export { resolveSkoponAuthHeaders, resolveClientHeaders, DEFAULT_AUTH_STORAGE_KEY, DEFAULT_AUTH_TOKEN_FIELD, type SkoponAuthStorageOptions, type ClientHeadersOptions, } from './client/authStorage';
|
|
12
|
+
export { createResumeSearchClient, type ResumeSearchClientOptions, } from './client/resumeSearchClient';
|
|
13
|
+
export { createCaseSearchClient, type CaseSearchClientOptions, } from './client/caseSearchClient';
|
|
14
|
+
export { createSkoponSdkClients, type SkoponSdkClients, type SkoponSdkClientsOptions, } from './client/skoponSdkClients';
|
|
11
15
|
export { default as SkoponFormRenderer } from './components/SkoponFormRenderer';
|
|
12
16
|
export type { SkoponFormRendererProps, SkoponFormRendererRef } from './components/SkoponFormRenderer';
|
|
13
17
|
export type { ResumeSearchFn as SkoponResumeSearchFn } from './catalog/resumeSearchContext';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC/F,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACrG,YAAY,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAC3F,YAAY,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,uCAAuC,CAAA;AAC3F,YAAY,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AAE1F,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAExE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAExE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAE9E,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGvE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAA;AAEpC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,oBAAoB,CAAA"}
|