@digi-frontend/dgate-api-documentation 2.0.2 → 2.0.4
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/dist/index.cjs +5 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["antdTheme","token","Layout","Header: React.FC","token","Flex","Typography","Radio","Tooltip","keys: string[]","token","Typography","EndpointItem: React.FC<EndpointItemProps>","Tag","Text","title: React.ReactNode","Layout","Sidebar: React.FC","Input","Button","Minify","Tree","Flex","token","EmptyImg","Text","token","Tooltip","Title","Flex","Button","LinkIcon","Text","Divider","Card","useStore","Flex","token","Title","ApiCard","Divider","Tooltip","Tag","LockOutlined","Select","InfoCircleOutlined","Button","CopyIcon","Radio","GridIcon","ListIcon","Text","Typography","Tag","EndpointPage: React.FC","useStore","token","requestTabs: RequestTab[]","Table","AntdRegistry","Button","LeftOutlined","Breadcrumb","Title","Select","Tooltip","CopyOutlined","Card","Tabs","MainContent: React.FC","useStore","token","Flex","EmptyImg","Title","Text","groupedPathsByTags: Record<string, EndpointData[]>","currentVersion: string","authType: string","SyntaxHighlighter","json","hljs","useStore","token","tokens","Card","Tooltip","Button","CopyOutlined","Codebox","Select","useStore","token","AntdRegistry","CodeboxSidebar"],"sources":["../src/store/slices/view.ts","../src/store/slices/editor.ts","../src/store/index.ts","../src/hooks/useStyle.ts","../src/view/components/Header/Header.tsx","../src/theme/light.json","../src/view/helper/sidebar.utils.ts","../src/view/helper/sidebar.components.tsx","../src/hooks/useNodeSelection.ts","../src/assets/Minify.svg","../src/assets/NoDataSM.svg","../src/view/components/Sidebar.tsx","../src/assets/grid.svg","../src/assets/list.svg","../src/assets/copy.svg","../src/assets/link.svg","../src/view/components/ApiPage/components/ApiCard.tsx","../src/utils/index.ts","../src/view/components/ApiPage/index.tsx","../src/view/components/EndpointPage/EndpointPage.tsx","../src/assets/NoData.svg","../src/view/components/MainContent.tsx","../src/view/helper/mutate.ts","../src/view/components/EndpointPage/Codebox/Codebox.tsx","../src/view/components/CodeboxSidebar.tsx","../src/view/layout.tsx"],"sourcesContent":["import { OpenAPIFile } from '@/types/OpenApi'\nimport { EndpointData, OverviewData } from '@/view/entities'\nimport { transformOpenApiToDocs } from '@/view/helper/mutate'\nimport { TreeNode } from '@/view/helper'\n\ntype SetFn = (fn: (state: ViewSlice) => void) => void\n\ntype ViewSlice = {\n view: {\n originalData: OpenAPIFile[] | null\n transformedData: ReturnType<typeof transformOpenApiToDocs>[] | null\n builtTreeData: TreeNode[] | null\n selectedNodeKey: string | null\n expandedKeys: string[]\n selectedApi: OverviewData | null\n selectedEndpoint: EndpointData | null\n focusedContent: 'API' | 'ENDPOINT'\n selectedStatusCode: number | null\n setSelectedStatusCode: (code: number | null) => void\n statusCodeOptions: number[]\n // Actions\n setSelectedNodeKey: (key: string | null) => void\n setExpandedKeys: (keys: string[]) => void\n setOriginalData: (data: OpenAPIFile[]) => void\n setSelectedApi: (api: OverviewData | null) => void\n setSelectedEndpoint: (endpoint: EndpointData | null) => void\n setTransformedData: (data: ReturnType<typeof transformOpenApiToDocs>[] | null) => void\n setBuiltTreeData: (data: TreeNode[] | null) => void\n setFocusedContent: (content: 'API' | 'ENDPOINT') => void\n setStatusCodeOptions: (options: number[]) => void\n }\n}\n\nexport const createViewSlice = (set: SetFn) => ({\n view: {\n selectedNodeKey: null,\n expandedKeys: [],\n originalData: null,\n transformedData: null,\n builtTreeData: null,\n selectedApi: undefined,\n selectedEndpoint: undefined,\n focusedContent: undefined,\n selectedStatusCode: null,\n statusCodeOptions: null,\n\n setSelectedNodeKey: (key: string | null) =>\n set((state) => {\n state.view.selectedNodeKey = key\n }),\n\n setExpandedKeys: (keys: string[]) =>\n set((state) => {\n state.view.expandedKeys = keys\n }),\n\n setOriginalData: (data: OpenAPIFile[]) =>\n set((state) => {\n state.view.originalData = data\n }),\n\n setSelectedApi: (api: OverviewData) =>\n set((state) => {\n state.view.selectedApi = api as OverviewData\n }),\n\n setSelectedEndpoint: (endpoint: EndpointData) =>\n set((state) => {\n if (endpoint) {\n const availableStatusCodes = Object.keys(endpoint?.responses)\n state.view.statusCodeOptions = availableStatusCodes.map(Number)\n state.view.selectedStatusCode = availableStatusCodes.at(0)\n ? Number(availableStatusCodes.at(0))\n : null\n }\n state.view.selectedEndpoint = endpoint\n }),\n\n setTransformedData: (data: ReturnType<typeof transformOpenApiToDocs>[] | null) =>\n set((state) => {\n state.view.transformedData = data\n }),\n\n setBuiltTreeData: (data: TreeNode[] | null) =>\n set((state) => {\n state.view.builtTreeData = data\n }),\n\n setFocusedContent: (content: 'API' | 'ENDPOINT') =>\n set((state) => {\n state.view.focusedContent = content\n }),\n\n setSelectedStatusCode: (code: number | null) =>\n set((state) => {\n state.view.selectedStatusCode = code\n }),\n } as unknown as ViewSlice['view'],\n})\n","type SetFn = (fn: (state: EditorSlice) => void) => void\n\ntype EditorSlice = {\n content: string\n isEditing: boolean\n hasUnsavedChanges: boolean\n fontSize: number\n theme: 'vs-light' | 'vs-dark'\n wordWrap: boolean\n lineNumbers: boolean\n cursorPosition: { line: number; column: number }\n}\n\nexport const createEditorSlice = (set: SetFn) => ({\n editor: {\n content: '',\n isEditing: false,\n hasUnsavedChanges: false,\n fontSize: 14,\n theme: 'vs-light' as 'vs-light' | 'vs-dark',\n wordWrap: true,\n lineNumbers: true,\n cursorPosition: { line: 1, column: 1 },\n\n setContent: (content: string) =>\n set((state) => {\n state.content = content\n state.hasUnsavedChanges = true\n }),\n\n setIsEditing: (editing: boolean) =>\n set((state) => {\n state.isEditing = editing\n }),\n\n setFontSize: (size: number) =>\n set((state) => {\n state.fontSize = Math.max(10, Math.min(24, size))\n }),\n\n setEditorTheme: (theme: 'vs-light' | 'vs-dark') =>\n set((state) => {\n state.theme = theme\n }),\n\n toggleWordWrap: () =>\n set((state) => {\n state.wordWrap = !state.wordWrap\n }),\n\n toggleLineNumbers: () =>\n set((state) => {\n state.lineNumbers = !state.lineNumbers\n }),\n\n setCursorPosition: (position: { line: number; column: number }) =>\n set((state) => {\n state.cursorPosition = position\n }),\n\n saveContent: () =>\n set((state) => {\n state.hasUnsavedChanges = false\n }),\n\n resetContent: () =>\n set((state) => {\n state.content = ''\n state.hasUnsavedChanges = false\n state.isEditing = false\n }),\n },\n})\n","import { create } from 'zustand'\nimport { devtools } from 'zustand/middleware'\nimport { immer } from 'zustand/middleware/immer'\nimport { createViewSlice } from './slices/view'\nimport { createEditorSlice } from './slices/editor'\n\ntype SetFn = (fn: (state: unknown) => void) => void\n\nconst createStore = (set: SetFn) => ({\n ...createViewSlice(set as Parameters<typeof createViewSlice>[0]),\n ...createEditorSlice(set as Parameters<typeof createEditorSlice>[0]),\n})\n\nexport const useStore = create<ReturnType<typeof createStore>>()(\n devtools(immer(createStore), {\n name: 'dgate-docs-store',\n })\n)\n\nexport type StoreState = ReturnType<typeof createStore>\nexport default useStore\n","'use client'\n\nimport { theme as antdTheme } from 'antd'\nimport { useStyleRegister } from '@ant-design/cssinjs'\nimport type { CSSObject } from '@ant-design/cssinjs'\n\nexport function useStyle(\n componentName: string,\n stylesFn: (\n token: ReturnType<typeof antdTheme.useToken>['token'],\n scope: (className: string) => string\n ) => Record<string, CSSObject>\n) {\n const { token, theme, hashId } = antdTheme.useToken()\n\n // Used in styles for full specificity:\n // → .css-dev-only-do-not-override-xxx.ComponentName-className\n const scope = (className: string) => `.${hashId}.${componentName}-${className}`\n\n // Used in JSX: className=\"ComponentName-className css-dev-only-do-not-override-xxx\"\n const cx = (...classes: string[]) =>\n classes.map((cls) => `${componentName}-${cls} ${hashId}`).join(' ')\n\n const wrapSSR = useStyleRegister(\n {\n theme,\n token,\n path: [componentName],\n },\n () => stylesFn(token, scope)\n )\n\n return { wrapSSR, cx, scope, token, hashId }\n}\n","'use client'\nimport React from 'react'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { Flex, Typography, Layout, Radio, Tooltip } from 'antd'\n\nconst { Header: AntHeader } = Layout\n\nexport const Header: React.FC = () => {\n const { wrapSSR, cx } = useStyle('Header', (token, scope) => ({\n [scope('header')]: {\n width: '100%',\n height: '4rem',\n padding: '0 !important',\n margin: '0 !important',\n background: 'url(/project-details-title-img.svg) no-repeat top',\n backgroundSize: 'cover',\n backgroundPosition: 'right',\n backgroundPositionX: '20rem',\n },\n [scope('documentation-title-container')]: {\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: token.marginLG,\n },\n [scope('projects-title')]: {\n fontSize: token.fontSizeHeading3,\n lineHeight: token.lineHeightLG,\n fontWeight: 500,\n marginBottom: token.marginXS,\n },\n [scope('description')]: {\n fontSize: token.fontSizeLG,\n fontWeight: '400',\n fontStyle: 'normal',\n lineHeight: token.lineHeightLG,\n color: token.colorText,\n },\n [scope('projects-search-input')]: { width: '28.9375rem' },\n }))\n\n return wrapSSR(\n <AntHeader className={cx('header')}>\n <Flex className={cx('documentation-title-container')}>\n <Flex vertical>\n <Typography.Title className={cx('projects-title')} level={3}>\n Documentation\n </Typography.Title>\n <Typography.Text className={cx('description')}>\n Explore and integrate with ease clear API references, guides, instructions, and\n examples, all in one place.\n </Typography.Text>\n </Flex>\n\n <Radio.Group optionType=\"button\" buttonStyle=\"outline\" defaultValue={'reference'}>\n <Radio.Button value=\"reference\" className={cx('sdb-radio')}>\n API Reference\n </Radio.Button>\n <Tooltip title={'Coming Soon'} placement='bottomRight'>\n <Radio.Button disabled={true} value=\"guide\" className={cx('prd-radio')}>\n Guide\n </Radio.Button>\n </Tooltip>\n </Radio.Group>\n </Flex>\n </AntHeader>\n )\n}\n","{\n \"token\": {\n \"brnadColor.1\": \"#f1f5fd\",\n \"brnadColor.2\": \"#e0e9f9\",\n \"brnadColor.3\": \"#c8d8f5\",\n \"brnadColor.4\": \"#a2bfee\",\n \"brnadColor.5\": \"#769de4\",\n \"brnadColor.6\": \"#4d75d9\",\n \"brnadColor.7\": \"#4261ce\",\n \"brnadColor.8\": \"#384fbd\",\n \"brnadColor.9\": \"#33419a\",\n \"brnadColor.10\": \"#20264b\",\n \"cyan.1\": \"#e6fffb\",\n \"cyan.2\": \"#b5f5ec\",\n \"cyan.3\": \"#87e8de\",\n \"cyan.4\": \"#5cdbd3\",\n \"cyan.5\": \"#36cfc9\",\n \"cyan.6\": \"#13c2c2\",\n \"cyan.7\": \"#08979c\",\n \"cyan.8\": \"#006d75\",\n \"cyan.9\": \"#00474f\",\n \"cyan.10\": \"#002329\",\n \"geekblue.1\": \"#f0f5ff\",\n \"geekblue.2\": \"#d6e4ff\",\n \"geekblue.3\": \"#adc6ff\",\n \"geekblue.4\": \"#85a5ff\",\n \"geekblue.5\": \"#597ef7\",\n \"geekblue.6\": \"#2f54eb\",\n \"geekblue.7\": \"#1d39c4\",\n \"geekblue.8\": \"#10239e\",\n \"geekblue.9\": \"#061178\",\n \"geekblue.10\": \"#030852\",\n \"gold.1\": \"#fffbe6\",\n \"gold.2\": \"#fff1b8\",\n \"gold.3\": \"#ffe58f\",\n \"gold.4\": \"#ffd666\",\n \"gold.5\": \"#ffc53d\",\n \"gold.6\": \"#faad14\",\n \"gold.7\": \"#d48806\",\n \"gold.8\": \"#ad6800\",\n \"gold.9\": \"#874d00\",\n \"gold.10\": \"#613400\",\n \"green.1\": \"#f6ffed\",\n \"green.2\": \"#d9f7be\",\n \"green.3\": \"#b7eb8f\",\n \"green.4\": \"#95de64\",\n \"green.5\": \"#73d13d\",\n \"green.6\": \"#52c41a\",\n \"green.7\": \"#389e0d\",\n \"green.8\": \"#237804\",\n \"green.9\": \"#135200\",\n \"green.10\": \"#092b00\",\n \"lime.1\": \"#fcffe6\",\n \"lime.2\": \"#f4ffb8\",\n \"lime.3\": \"#eaff8f\",\n \"lime.4\": \"#d3f261\",\n \"lime.5\": \"#bae637\",\n \"lime.6\": \"#a0d911\",\n \"lime.7\": \"#7cb305\",\n \"lime.8\": \"#5b8c00\",\n \"lime.9\": \"#3f6600\",\n \"lime.10\": \"#254000\",\n \"magenta.1\": \"#fff0f6\",\n \"magenta.2\": \"#ffd6e7\",\n \"magenta.3\": \"#ffadd2\",\n \"magenta.4\": \"#ff85c0\",\n \"magenta.5\": \"#f759ab\",\n \"magenta.6\": \"#eb2f96\",\n \"magenta.7\": \"#c41d7f\",\n \"magenta.8\": \"#9e1068\",\n \"magenta.9\": \"#780650\",\n \"magenta.10\": \"#520339\",\n \"orange.1\": \"#fff7e6\",\n \"orange.2\": \"#ffe7ba\",\n \"orange.3\": \"#ffd591\",\n \"orange.4\": \"#ffc069\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextSecondary\": \"rgba(0, 0, 0, 0.65)\",\n \"orange.5\": \"#ffa940\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"orange.6\": \"#fa8c16\",\n \"orange.7\": \"#d46b08\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"orange.8\": \"#ad4e00\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"orange.9\": \"#873800\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"orange.10\": \"#612500\",\n \"purple.1\": \"#f9f0ff\",\n \"purple.2\": \"#efdbff\",\n \"purple.3\": \"#d3adf7\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"purple.4\": \"#b37feb\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgContainer\": \"#ffffff\",\n \"purple.5\": \"#9254de\",\n \"colorBgElevated\": \"#ffffff\",\n \"purple.6\": \"#722ed1\",\n \"colorBgLayout\": \"#f5f5f5\",\n \"purple.7\": \"#531dab\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"purple.8\": \"#391085\",\n \"colorBgSpotlight\": \"rgba(0, 0, 0, 0.85)\",\n \"purple.9\": \"#22075e\",\n \"colorBorder\": \"#d9d9d9\",\n \"purple.10\": \"#120338\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"red.1\": \"#fff1f0\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"red.2\": \"#ffccc7\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillQuaternary\": \"rgba(0, 0, 0, 0.02)\",\n \"red.3\": \"#ffa39e\",\n \"red.4\": \"#ff7875\",\n \"colorWhite\": \"#ffffff\",\n \"red.5\": \"#ff4d4f\",\n \"colorBgBase\": \"#ffffff\",\n \"red.6\": \"#f5222d\",\n \"colorTextBase\": \"#000000\",\n \"red.7\": \"#cf1322\",\n \"red.8\": \"#a8071a\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"red.9\": \"#820014\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"red.10\": \"#5c0011\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"volcano.1\": \"#fff2e8\",\n \"colorBorderBg\": \"#ffffff\",\n \"volcano.2\": \"#ffd8bf\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"volcano.3\": \"#ffbb96\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"volcano.4\": \"#ff9c6e\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"volcano.5\": \"#ff7a45\",\n \"volcano.6\": \"#fa541c\",\n \"volcano.7\": \"#d4380d\",\n \"transparent\": \"rgba(0, 0, 0, 0)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"yellow.1\": \"#feffe6\",\n \"volcano.8\": \"#ad2102\",\n \"yellow.2\": \"#ffffb8\",\n \"yellow.3\": \"#fffb8f\",\n \"volcano.9\": \"#871400\",\n \"yellow.4\": \"#fff566\",\n \"volcano.10\": \"#610b00\",\n \"yellow.5\": \"#ffec3d\",\n \"yellow.6\": \"#fadb14\",\n \"yellow.7\": \"#d4b106\",\n \"yellow.8\": \"#ad8b00\",\n \"yellow.9\": \"#876800\",\n \"yellow.10\": \"#614700\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorSuccess\": \"#52c41a\",\n \"colorWarning\": \"#faad14\",\n \"colorInfo\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorErrorTextHover\": \"#ff7875\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorErrorTextActive\": \"#d9363e\",\n \"colorLinkHover\": \"#769de4\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorInfoBgHover\": \"#e0e9f9\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBorderHover\": \"#a2bfee\",\n \"colorInfoHover\": \"#769de4\",\n \"colorInfoActive\": \"#4261ce\",\n \"colorInfoTextHover\": \"#769de4\",\n \"colorInfoText\": \"#4d75d9\",\n \"colorInfoTextActive\": \"#4261ce\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorPrimaryBg\": \"#f1f5fd\",\n \"colorPrimaryBgHover\": \"#e0e9f9\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimaryTextHover\": \"#769de4\",\n \"colorPrimaryText\": \"#4d75d9\",\n \"colorPrimaryTextActive\": \"#4261ce\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorSuccessBgHover\": \"#d9f7be\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBorderHover\": \"#95de64\",\n \"colorSuccessHover\": \"#95de64\",\n \"colorSuccessActive\": \"#389e0d\",\n \"colorSuccessTextHover\": \"#73d13d\",\n \"colorSuccessText\": \"#52c41a\",\n \"colorSuccessTextActive\": \"#389e0d\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarningActive\": \"#d48806\",\n \"colorWarningTextHover\": \"#ffc53d\",\n \"colorWarningText\": \"#faad14\",\n \"colorWarningTextActive\": \"#d48806\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlTmpOutline\": \"rgba(0, 0, 0, 0.02)\",\n \"borderRadius\": 6,\n \"borderRadiusLG\": 8,\n \"borderRadiusSM\": 4,\n \"borderRadiusXS\": 2,\n \"sizeStep\": 4,\n \"sizeUnit\": 4,\n \"controlInteractiveSize\": 16,\n \"size\": 16,\n \"sizeLG\": 24,\n \"sizeMD\": 20,\n \"sizeMS\": 16,\n \"sizeSM\": 12,\n \"sizeXL\": 32,\n \"sizeXS\": 8,\n \"sizeXXL\": 48,\n \"controlHeight\": 32,\n \"sizeXXS\": 4,\n \"controlHeightLG\": 40,\n \"controlHeightSM\": 24,\n \"controlHeightXS\": 16,\n \"lineWidth\": 1,\n \"lineWidthBold\": 2,\n \"lineWidthFocus\": 4,\n \"controlOutlineWidth\": 2,\n \"screenLG\": 992,\n \"screenLGMax\": 1199,\n \"screenLGMin\": 992,\n \"screenMD\": 768,\n \"screenMDMax\": 991,\n \"screenMDMin\": 768,\n \"screenSM\": 576,\n \"screenSMMax\": 767,\n \"screenSMMin\": 576,\n \"screenXL\": 1200,\n \"screenXLMax\": 1599,\n \"screenXLMin\": 1200,\n \"screenXS\": 480,\n \"screenXSMax\": 575,\n \"screenXSMin\": 480,\n \"screenXXL\": 1600,\n \"screenXXLMin\": 1600,\n \"sizePopupArrow\": 16,\n \"margin\": 16,\n \"marginLG\": 24,\n \"marginMD\": 20,\n \"marginSM\": 12,\n \"marginXL\": 32,\n \"marginXS\": 8,\n \"marginXXL\": 48,\n \"marginXXS\": 4,\n \"padding\": 16,\n \"paddingLG\": 24,\n \"paddingMD\": 20,\n \"paddingSM\": 12,\n \"paddingXL\": 32,\n \"paddingXS\": 8,\n \"paddingXXS\": 4,\n \"paddingContentHorizontal\": 16,\n \"paddingContentHorizontalLG\": 24,\n \"paddingContentHorizontalSM\": 16,\n \"paddingContentVertical\": 12,\n \"paddingContentVerticalLG\": 16,\n \"paddingContentVerticalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlPaddingHorizontalSM\": 8,\n \"fontFamily\": \"SF Pro\",\n \"fontFamilyCode\": \"Courier Prime\",\n \"fontSize\": 14,\n \"fontSizeLG\": 16,\n \"fontSizeSM\": 12,\n \"fontSizeXL\": 20,\n \"fontSizeHeading1\": 38,\n \"fontSizeHeading2\": 30,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading4\": 20,\n \"fontSizeHeading5\": 16,\n \"lineHeight\": 1.5714285714285714,\n \"lineHeightHeading1\": 1.2105263157894737,\n \"lineHeightHeading2\": 1.2666666666666666,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeightHeading4\": 1.4,\n \"lineHeightHeading5\": 1.5,\n \"lineHeightLG\": 1.5,\n \"lineHeightSM\": 1.6666666666666667,\n \"fontSizeIcon\": 12,\n \"fontWeightStrong\": 600,\n \"colorFillAlterSolid\": \"#fafafa\",\n \"fontWeightNormal\": 400,\n \"colorFilledHandleBg\": \"#f0f0f0\",\n \"colorBgSolid\": \"#000000\",\n \"colorBgSolidActive\": \"rgba(0, 0, 0, 0.95)\",\n \"colorBgSolidHover\": \"rgba(0, 0, 0, 0.75)\",\n \"solidTextColor\": \"#ffffff\",\n \"pink.1\": \"#fff0f6\",\n \"pink.2\": \"#ffd6e7\",\n \"pink.3\": \"#ffadd2\",\n \"pink.4\": \"#ff85c0\",\n \"pink.5\": \"#f759ab\",\n \"pink.6\": \"#eb2f96\",\n \"pink.7\": \"#c41d7f\",\n \"pink.8\": \"#9e1068\",\n \"pink.9\": \"#780650\",\n \"pink.10\": \"#520339\",\n \"sizeXXXL\": 60,\n \"sizeXXXXL\": 72,\n \"paddingXXL\": 48,\n \"paddingXXXL\": 60,\n \"paddingXXXXL\": 72,\n \"marginXXXL\": 60,\n \"marginXXXXL\": 72\n },\n \"components\": {\n \"Input\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 11,\n \"paddingInline\": 11,\n \"paddingBlockSM\": 0,\n \"paddingBlockLG\": 7,\n \"paddingBlock\": 4,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"addonBg\": \"rgba(0, 0, 0, 0.02)\",\n \"activeBorderColor\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorWarningText\": \"#faad14\",\n \"colorErrorText\": \"#ff4d4f\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\"\n },\n \"Transfer\": {\n \"listWidthLG\": 250,\n \"listWidth\": 180,\n \"listHeight\": 200,\n \"itemPaddingBlock\": 5,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorLinkHover\": \"#769de4\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemHeight\": 32,\n \"headerHeight\": 40,\n \"fontFamily\": \"SF Pro\"\n },\n \"Segmented\": {\n \"segmentedBgColorSelected\": \"#ffffff\",\n \"paddingXXS\": 4,\n \"marginSM\": 12,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgLayout\": \"#f5f5f5\",\n \"colorBgElevated\": \"#ffffff\",\n \"segmentedGroupBg\": \"rgba(0, 0, 0, 0.04)\",\n \"itemSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemSelectedBg\": \"#ffffff\",\n \"itemHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.65)\",\n \"itemActiveBg\": \"rgba(0, 0, 0, 0.15)\",\n \"trackPadding\": 2,\n \"trackBg\": \"#f5f5f5\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Switch\": {\n \"trackPadding\": 2,\n \"trackMinWidthSM\": 28,\n \"trackMinWidth\": 44,\n \"trackHeightSM\": 16,\n \"trackHeight\": 22,\n \"handleSizeSM\": 12,\n \"handleSize\": 18,\n \"marginXXS\": 4,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"colorWhite\": \"#ffffff\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"handleBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"TimePicker\": {\n \"timeColumnWidth\": 56,\n \"timeColumnHeight\": 224,\n \"timeCellHeight\": 28,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarning\": \"#faad14\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"cellHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"cellHeight\": 24,\n \"activeBorderColor\": \"#4d75d9\",\n \"paddingInline\": 11,\n \"paddingInlineLG\": 11,\n \"paddingInlineSM\": 7,\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"cellBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellActiveWithRangeBg\": \"#f1f5fd\",\n \"cellHoverWithRangeBg\": \"#c8dfff\",\n \"cellRangeBorderColor\": \"#7cb3ff\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellWidth\": 36,\n \"multipleItemHeight\": 24,\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeightSM\": 16,\n \"paddingBlock\": 4,\n \"paddingBlockLG\": 7,\n \"paddingBlockSM\": 0,\n \"presetsMaxWidth\": 200,\n \"presetsWidth\": 120,\n \"textHeight\": 40,\n \"withoutTimeCellHeight\": 66,\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\"\n },\n \"Timeline\": {\n \"itemPaddingBottom\": 20,\n \"paddingXXS\": 4,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgContainer\": \"#ffffff\",\n \"tailColor\": \"rgba(0, 0, 0, 0.06)\",\n \"dotBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Tabs\": {\n \"horizontalItemGutter\": 32,\n \"cardGutter\": 2,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemSelectedColor\": \"#4d75d9\",\n \"itemHoverColor\": \"#769de4\",\n \"itemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemActiveColor\": \"#4261ce\",\n \"inkBarColor\": \"#4d75d9\",\n \"cardHeight\": 40,\n \"cardBg\": \"rgba(0, 0, 0, 0.02)\",\n \"titleFontSize\": 14,\n \"titleFontSizeLG\": 16,\n \"titleFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Table\": {\n \"stickyScrollBarBorderRadius\": 100,\n \"headerSplitColor\": \"#f0f0f0\",\n \"headerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"footerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgContainer\": \"#ffffff\",\n \"rowSelectedHoverBg\": \"#e0e9f9\",\n \"headerFilterHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"headerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"headerBorderRadius\": 8,\n \"footerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"filterDropdownMenuBg\": \"#ffffff\",\n \"filterDropdownBg\": \"#ffffff\",\n \"cellPaddingInlineSM\": 8,\n \"cellPaddingInlineMD\": 8,\n \"cellPaddingInline\": 16,\n \"cellPaddingBlockSM\": 8,\n \"cellPaddingBlockMD\": 12,\n \"cellPaddingBlock\": 16,\n \"borderColor\": \"#f0f0f0\",\n \"rowHoverBg\": \"#fafafa\",\n \"headerSortActiveBg\": \"rgba(0, 0, 0, 0.06)\",\n \"bodySortBg\": \"#fafafa\",\n \"headerSortHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"cellFontSize\": 14,\n \"cellFontSizeMD\": 14,\n \"cellFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Steps\": {\n \"dotSize\": 8,\n \"dotCurrentSize\": 10,\n \"descriptionMaxWidth\": 140,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBorderBg\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleLineHeight\": 32,\n \"iconSizeSM\": 24,\n \"iconSize\": 32,\n \"finishIconBorderColor\": \"#1677ff\",\n \"customIconFontSize\": 24,\n \"iconFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Spin\": {\n \"dotSizeSM\": 14,\n \"dotSize\": 20,\n \"contentHeight\": 400,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"dotSizeLG\": 32,\n \"fontFamily\": \"SF Pro\"\n },\n \"Slider\": {\n \"railSize\": 4,\n \"handleSizeHover\": 12,\n \"dotSize\": 8,\n \"controlSize\": 10,\n \"handleSize\": 10,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"trackHoverBg\": \"#a2bfee\",\n \"trackBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"trackBg\": \"#c8d8f5\",\n \"railHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"railBg\": \"rgba(0, 0, 0, 0.04)\",\n \"handleColor\": \"#c8d8f5\",\n \"handleActiveColor\": \"#4d75d9\",\n \"dotBorderColor\": \"#f0f0f0\",\n \"dotActiveBorderColor\": \"#c8d8f5\",\n \"handleColorDisabled\": \"#bfbfbf\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Rate\": {\n \"rateStarSize\": 20,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Radio\": {\n \"radioSize\": 16,\n \"dotSize\": 8,\n \"buttonPaddingInline\": 15,\n \"paddingXS\": 8,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"wrapperMarginInlineEnd\": 8,\n \"dotColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"buttonSolidCheckedHoverBg\": \"#769de4\",\n \"buttonSolidCheckedColor\": \"#ffffff\",\n \"buttonSolidCheckedBg\": \"#4d75d9\",\n \"buttonSolidCheckedActiveBg\": \"#4261ce\",\n \"buttonColor\": \"rgba(0, 0, 0, 0.88)\",\n \"buttonCheckedColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"buttonCheckedBgDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"buttonCheckedBg\": \"#ffffff\",\n \"buttonBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\",\n \"radioBgColor\": \"#4d75d9\",\n \"radioColor\": \"#ffffff\"\n },\n \"Popover\": {\n \"titleMinWidth\": 177,\n \"sizePopupArrow\": 16,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Notification\": {\n \"width\": 384,\n \"paddingMD\": 20,\n \"paddingLG\": 24,\n \"paddingContentHorizontalLG\": 24,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"lineHeightLG\": 1.5,\n \"lineWidthFocus\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Tooltip\": {\n \"paddingSM\": 12,\n \"sizePopupArrow\": 16,\n \"paddingXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadius\": 6,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgSpotlight\": \"rgba(0, 0, 0, 0.85)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Menu\": {\n \"subMenuItemBg\": \"rgba(0, 0, 0, 0.02)\",\n \"darkSubMenuItemBg\": \"#000c17\",\n \"darkItemDisabledColor\": \"rgba(255, 255, 255, 0.25)\",\n \"darkItemColor\": \"rgba(255, 255, 255, 0.65)\",\n \"darkGroupTitleColor\": \"rgba(255, 255, 255, 0.65)\",\n \"darkItemBg\": \"#001529\",\n \"paddingXS\": 8,\n \"paddingXL\": 32,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"borderRadius\": 6,\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"subMenuItemBorderRadius\": 4,\n \"popupBg\": \"#ffffff\",\n \"itemSelectedColor\": \"#4d75d9\",\n \"itemSelectedBg\": \"#f1f5fd\",\n \"itemHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"itemHeight\": 40,\n \"itemDisabledColor\": \"rgba(0, 0, 0, 0.25)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemBorderRadius\": 8,\n \"itemBg\": \"#ffffff\",\n \"iconSize\": 14,\n \"horizontalItemSelectedColor\": \"#4d75d9\",\n \"horizontalItemSelectedBg\": \"rgba(0, 0, 0, 0)\",\n \"horizontalItemHoverColor\": \"#4d75d9\",\n \"horizontalItemHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"groupTitleColor\": \"rgba(0, 0, 0, 0.45)\",\n \"darkItemSelectedColor\": \"#ffffff\",\n \"darkItemSelectedBg\": \"#4d75d9\",\n \"darkItemHoverColor\": \"#ffffff\",\n \"darkItemHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"collapsedIconSize\": 16,\n \"darkPopupBg\": \"#001529\",\n \"activeBarBorderWidth\": 1,\n \"collapsedWidth\": 80,\n \"dropdownWidth\": 160,\n \"itemMarginBlock\": 4,\n \"itemMarginInline\": 4,\n \"iconMarginInlineEnd\": 10,\n \"groupTitleFontSize\": 14,\n \"groupTitleLineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\",\n \"subMenuItemSelectedColor\": \"#4d75d9\"\n },\n \"InputNumber\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 11,\n \"paddingInline\": 11,\n \"paddingBlockSM\": 0,\n \"paddingBlockLG\": 7,\n \"paddingBlock\": 4,\n \"handleWidth\": 22,\n \"controlWidth\": 90,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"handleHoverColor\": \"#4d75d9\",\n \"handleBorderColor\": \"#d9d9d9\",\n \"handleBg\": \"#ffffff\",\n \"handleActiveBg\": \"rgba(0, 0, 0, 0.02)\",\n \"addonBg\": \"rgba(0, 0, 0, 0.02)\",\n \"activeBorderColor\": \"#4d75d9\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"filledHandleBg\": \"#f0f0f0\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorWarningText\": \"#faad14\"\n },\n \"Image\": {\n \"previewOperationSize\": 18,\n \"previewOperationHoverColor\": \"rgba(255, 255, 255, 0.85)\",\n \"previewOperationColorDisabled\": \"rgba(255, 255, 255, 0.25)\",\n \"previewOperationColor\": \"rgba(255, 255, 255, 0.65)\",\n \"paddingXXS\": 4,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"marginXXS\": 4,\n \"marginXL\": 32,\n \"marginSM\": 12,\n \"margin\": 16,\n \"fontSizeIcon\": 12,\n \"controlHeightLG\": 40,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\"\n },\n \"Card\": {\n \"headerHeightSM\": 38,\n \"headerHeight\": 56,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgContainer\": \"#ffffff\",\n \"headerBg\": \"rgba(0, 0, 0, 0)\",\n \"headerFontSize\": 16,\n \"headerFontSizeSM\": 14,\n \"fontHeight\": 22,\n \"fontSizeLG\": 16,\n \"fontFamily\": \"SF Pro\",\n \"bodyPaddingSM\": 12,\n \"headerPaddingSM\": 12,\n \"bodyPadding\": 24,\n \"headerPadding\": 24\n },\n \"Carousel\": {\n \"dotWidth\": 16,\n \"dotHeight\": 3,\n \"dotActiveWidth\": 24,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgContainer\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Cascader\": {\n \"dropdownHeight\": 180,\n \"controlWidth\": 184,\n \"controlItemWidth\": 111,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"optionSelectedBg\": \"#f1f5fd\",\n \"menuPadding\": 4,\n \"optionSelectedFontWeight\": 600,\n \"fontFamily\": \"SF Pro\",\n \"borderRadiusLG\": 8,\n \"optionSelectedColor\": \"rgba(0, 0, 0, 0.88)\"\n },\n \"Calendar\": {\n \"yearControlWidth\": 80,\n \"monthControlWidth\": 70,\n \"controlHeight\": 32,\n \"screenXS\": 480,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemActiveBg\": \"#f1f5fd\",\n \"fullPanelBg\": \"#ffffff\",\n \"fullBg\": \"#ffffff\",\n \"fontHeightSM\": 20,\n \"fontFamily\": \"SF Pro\"\n },\n \"Button\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 15,\n \"paddingInline\": 15,\n \"onlyIconSizeSM\": 14,\n \"onlyIconSizeLG\": 18,\n \"paddingXS\": 8,\n \"paddingContentHorizontal\": 16,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"contentLineHeight\": 1.5714285714285714,\n \"contentFontSizeLG\": 16,\n \"contentFontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"textHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"primaryColor\": \"#ffffff\",\n \"onlyIconSize\": 16,\n \"linkHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"groupBorderColor\": \"#769de4\",\n \"ghostBg\": \"rgba(0, 0, 0, 0)\",\n \"defaultGhostColor\": \"#ffffff\",\n \"defaultGhostBorderColor\": \"#ffffff\",\n \"defaultColor\": \"rgba(0, 0, 0, 0.88)\",\n \"defaultBorderColor\": \"#d9d9d9\",\n \"defaultBg\": \"#ffffff\",\n \"dangerColor\": \"#ffffff\",\n \"borderColorDisabled\": \"#d9d9d9\",\n \"defaultHoverBg\": \"#ffffff\",\n \"defaultHoverColor\": \"#769de4\",\n \"defaultHoverBorderColor\": \"#769de4\",\n \"defaultActiveBg\": \"#ffffff\",\n \"defaultActiveColor\": \"#4261ce\",\n \"defaultActiveBorderColor\": \"#4261ce\",\n \"fontWeight\": 400,\n \"contentFontSizeSM\": 14,\n \"contentLineHeightLG\": 1.5,\n \"contentLineHeightSM\": 1.5714285714285714,\n \"textTextActiveColor\": \"rgba(0, 0, 0, 0.88)\",\n \"textTextHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"textTextColor\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryBg\": \"#f1f5fd\",\n \"colorBgSolid\": \"#000000\",\n \"colorBgSolidActive\": \"rgba(0, 0, 0, 0.95)\",\n \"colorBgSolidHover\": \"rgba(0, 0, 0, 0.75)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"solidTextColor\": \"#ffffff\"\n },\n \"Badge\": {\n \"statusSize\": 6,\n \"indicatorHeight\": 20,\n \"dotSize\": 6,\n \"paddingXS\": 8,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"borderRadiusSM\": 4,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorderBg\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"indicatorHeightSM\": 14,\n \"textFontSize\": 12,\n \"textFontSizeSM\": 12,\n \"fontHeight\": 22,\n \"lineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\"\n },\n \"Form\": {\n \"screenXSMax\": 575,\n \"screenSMMax\": 767,\n \"screenMDMax\": 991,\n \"screenLGMax\": 1199,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"labelRequiredMarkColor\": \"#ff4d4f\",\n \"labelColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemMarginBottom\": 24,\n \"labelColonMarginInlineEnd\": 8,\n \"labelColonMarginInlineStart\": 2,\n \"labelHeight\": 32,\n \"labelFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Avatar\": {\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeXL\": 20,\n \"fontSizeLG\": 16,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBorderBg\": \"#ffffff\",\n \"containerSizeSM\": 24,\n \"containerSizeLG\": 40,\n \"containerSize\": 32,\n \"textFontSize\": 18,\n \"textFontSizeLG\": 24,\n \"textFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Tour\": {\n \"sizePopupArrow\": 16,\n \"paddingXS\": 8,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"closeBtnSize\": 22,\n \"primaryNextBtnHoverBg\": \"#f0f0f0\",\n \"primaryPrevBtnBg\": \"rgba(255, 255, 255, 0.15)\",\n \"fontFamily\": \"SF Pro\",\n \"lineWidthFocus\": 4\n },\n \"QRCode\": {\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorWhite\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Upload\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginXL\": 32,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading2\": 30,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"fontHeight\": 22,\n \"fontHeightSM\": 20,\n \"lineWidthFocus\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Typography\": {\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightHeading5\": 1.5,\n \"lineHeightHeading4\": 1.4,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeightHeading2\": 1.2666666666666666,\n \"lineHeightHeading1\": 1.2105263157894737,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeHeading5\": 16,\n \"fontSizeHeading4\": 20,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading2\": 30,\n \"fontSizeHeading1\": 38,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorError\": \"#ff4d4f\",\n \"fontFamilyCode\": \"Courier Prime\"\n },\n \"TreeSelect\": {\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeightSM\": 24,\n \"borderRadiusSM\": 4,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleHeight\": 24,\n \"nodeSelectedBg\": \"#f1f5fd\",\n \"nodeHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"fontFamily\": \"SF Pro\",\n \"borderRadiusLG\": 8\n },\n \"Tree\": {\n \"paddingSM\": 12,\n \"borderRadiusLG\": 8,\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeightSM\": 24,\n \"borderRadiusSM\": 4,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleHeight\": 24,\n \"nodeSelectedBg\": \"#f1f5fd\",\n \"nodeHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"directoryNodeSelectedColor\": \"#ffffff\",\n \"directoryNodeSelectedBg\": \"#4d75d9\",\n \"fontFamily\": \"SF Pro\",\n \"nodeHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"nodeSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"indentSize\": 24\n },\n \"Tag\": {\n \"paddingXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillQuaternary\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBg\": \"#fff2f0\",\n \"defaultColor\": \"rgba(0, 0, 0, 0.88)\",\n \"defaultBg\": \"rgba(0, 0, 0, 0.02)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Statistic\": {\n \"padding\": 16,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"contentFontSize\": 24,\n \"titleFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Skeleton\": {\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\"\n },\n \"Select\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"singleItemHeightLG\": 40,\n \"selectorBg\": \"#ffffff\",\n \"optionSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"optionSelectedBg\": \"#f1f5fd\",\n \"optionLineHeight\": null,\n \"optionHeight\": 32,\n \"optionActiveBg\": \"rgba(0, 0, 0, 0.04)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeight\": 24,\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"clearBg\": \"#ffffff\",\n \"optionFontSize\": \"SF Pro\",\n \"optionSelectedFontWeight\": 600,\n \"fontFamily\": \"SF Pro\",\n \"showArrowPaddingInlineEnd\": 18,\n \"activeBorderColor\": \"#4d75d9\",\n \"hoverBorderColor\": \"#769de4\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorWarning\": \"#faad14\",\n \"colorError\": \"#ff4d4f\"\n },\n \"Result\": {\n \"paddingXS\": 8,\n \"paddingXL\": 32,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorError\": \"#ff4d4f\",\n \"iconFontSize\": 72,\n \"subtitleFontSize\": 14,\n \"titleFontSize\": 24\n },\n \"Progress\": {\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgContainer\": \"#ffffff\",\n \"remainingColor\": \"rgba(0, 0, 0, 0.06)\",\n \"defaultColor\": \"#4d75d9\",\n \"circleTextColor\": \"rgba(0, 0, 0, 0.88)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Popconfirm\": {\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\"\n },\n \"Pagination\": {\n \"screenSM\": 576,\n \"screenLG\": 992,\n \"paddingXXS\": 4,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemSizeSM\": 24,\n \"itemSize\": 32,\n \"itemLinkBg\": \"#ffffff\",\n \"itemInputBg\": \"#ffffff\",\n \"itemBg\": \"#ffffff\",\n \"itemActiveColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"itemActiveBgDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"itemActiveBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Modal\": {\n \"screenSMMax\": 767,\n \"paddingXS\": 8,\n \"paddingMD\": 20,\n \"paddingLG\": 24,\n \"paddingContentHorizontalLG\": 24,\n \"padding\": 16,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeightHeading5\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSizeHeading5\": 16,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"titleColor\": \"rgba(0, 0, 0, 0.88)\",\n \"headerBg\": \"#ffffff\",\n \"footerBg\": \"rgba(0, 0, 0, 0)\",\n \"contentBg\": \"#ffffff\",\n \"titleFontSize\": 16,\n \"titleLineHeight\": 1.375,\n \"fontHeight\": 22,\n \"fontFamily\": \"SF Pro\"\n },\n \"Message\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"contentBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"List\": {\n \"screenSM\": 576,\n \"screenMD\": 768,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"paddingContentVerticalSM\": 8,\n \"paddingContentVerticalLG\": 16,\n \"paddingContentVertical\": 12,\n \"paddingContentHorizontalLG\": 24,\n \"paddingContentHorizontal\": 16,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXXL\": 48,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"headerBg\": \"rgba(0, 0, 0, 0)\",\n \"footerBg\": \"rgba(0, 0, 0, 0)\",\n \"avatarMarginRight\": 16,\n \"descriptionFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"FloatButton\": {\n \"paddingXXS\": 4,\n \"marginXXL\": 48,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Empty\": {\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"fontSize\": 14,\n \"lineHeight\": 1.5714285714285714\n },\n \"Dropdown\": {\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontal\": 12,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"paddingBlock\": 5,\n \"fontFamily\": \"SF Pro\"\n },\n \"Drawer\": {\n \"paddingXS\": 8,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgElevated\": \"#ffffff\",\n \"lineWidthFocus\": 4\n },\n \"Divider\": {\n \"marginXS\": 8,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"lineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\"\n },\n \"Descriptions\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextSecondary\": \"rgba(0, 0, 0, 0.65)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"titleColor\": \"rgba(0, 0, 0, 0.88)\",\n \"labelBg\": \"rgba(0, 0, 0, 0.02)\",\n \"contentColor\": \"rgba(0, 0, 0, 0.88)\",\n \"fontFamily\": \"SF Pro\",\n \"labelColor\": \"rgba(0, 0, 0, 0.45)\"\n },\n \"DatePicker\": {\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"cellHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"cellHeight\": 24,\n \"activeBorderColor\": \"#4d75d9\",\n \"paddingInline\": 11,\n \"paddingInlineSM\": 7,\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningText\": \"#faad14\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"cellBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellActiveWithRangeBg\": \"#f1f5fd\",\n \"cellHoverWithRangeBg\": \"#c8dfff\",\n \"cellRangeBorderColor\": \"#7cb3ff\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellWidth\": 36,\n \"multipleItemHeight\": 24,\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeightSM\": 16,\n \"paddingBlock\": 4,\n \"paddingBlockLG\": 7,\n \"paddingBlockSM\": 0,\n \"paddingInline 2\": 11,\n \"presetsMaxWidth\": 200,\n \"presetsWidth\": 120,\n \"textHeight\": 40,\n \"timeCellHeight\": 28,\n \"timeColumnHeight\": 224,\n \"timeColumnWidth\": 56,\n \"withoutTimeCellHeight\": 66,\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontHeight\": 22,\n \"fontHeightLG\": 24,\n \"fontFamily\": \"SF Pro\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\"\n },\n \"Collapse\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"headerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"contentBg\": \"#ffffff\",\n \"fontHeight\": 22,\n \"fontHeightLG\": 24,\n \"lineHeightLG\": 1.5,\n \"fontFamily\": \"SF Pro\"\n },\n \"Checkbox\": {\n \"paddingXS\": 8,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlInteractiveSize\": 16,\n \"borderRadiusSM\": 4,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Breadcrumb\": {\n \"paddingXXS\": 4,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"separatorColor\": \"rgba(0, 0, 0, 0.45)\",\n \"linkHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"linkColor\": \"rgba(0, 0, 0, 0.45)\",\n \"lastItemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.45)\",\n \"separatorMargin\": 8,\n \"iconFontSize\": 14,\n \"fontHeight\": 22,\n \"fontFamily\": \"SF Pro\"\n },\n \"Anchor\": {\n \"paddingXXS\": 4,\n \"lineWidthBold\": 2,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"linkPaddingInlineStart\": 16,\n \"linkPaddingBlock\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Alert\": {\n \"paddingMD\": 20,\n \"paddingContentVerticalSM\": 8,\n \"paddingContentHorizontalLG\": 24,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorInfo\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"withDescriptionIconSize\": 24,\n \"fontFamily\": \"SF Pro\"\n },\n \"Space\": {\n \"paddingXS\": 8,\n \"paddingLG\": 24,\n \"padding\": 16\n },\n \"AutoComplete\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"optionActiveBg\": \"rgba(0, 0, 0, 0.04)\",\n \"optionHeight\": 32,\n \"optionFontSize\": 14,\n \"fontFamily\": \"SF Pro\",\n \"fontSize\": 14,\n \"fontSizeIcon\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeSM\": 12\n },\n \"Layout\": {\n \"bodyBg\": \"#f5f5f5\",\n \"footerBg\": \"#f5f5f5\",\n \"headerBg\": \"#001529\",\n \"headerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"lightSiderBg\": \"#ffffff\",\n \"lightTriggerBg\": \"#ffffff\",\n \"lightTriggerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"siderBg\": \"#001529\",\n \"triggerBg\": \"#002140\",\n \"triggerColor\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"headerHeight\": 64,\n \"triggerHeight\": 48,\n \"zeroTriggerHeight\": 40,\n \"zeroTriggerWidth\": 40,\n \"borderRadius\": 6,\n \"fontSize\": 14,\n \"fontSizeXL\": 20\n },\n \"Mentions\": {\n \"fontFamily\": \"SF Pro\",\n \"fontSize\": 14,\n \"lineHeight\": 1.5714285714285714\n },\n \"Splitter\": {\n \"railSize\": 4,\n \"handleSizeHover\": 12,\n \"dotSize\": 8,\n \"controlSize\": 10,\n \"handleSize\": 10,\n \"trackHoverBg\": \"#a2bfee\",\n \"trackBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"trackBg\": \"#c8d8f5\",\n \"railHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"railBg\": \"rgba(0, 0, 0, 0.04)\",\n \"handleColor\": \"#c8d8f5\",\n \"handleColorDisabled\": \"#bfbfbf\",\n \"handleActiveColor\": \"#4d75d9\",\n \"dotBorderColor\": \"#f0f0f0\",\n \"dotActiveBorderColor\": \"#c8d8f5\",\n \"lineWidth\": 1,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"resizeSpinnerSize\": 20,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"fontFamily\": \"SF Pro\",\n \"controlHeightSM\": 24,\n \"borderRadiusXS\": 2,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"fontSizeSM\": 12,\n \"splitBarSize\": 2,\n \"splitTriggerSize\": 6\n }\n }\n}","import { token } from '@/theme/light.json'\nimport { OverviewData, EndpointData } from '../entities'\n\nexport interface ApiNodeData extends OverviewData {}\n\nexport interface EndpointNodeData {\n endpoint: EndpointData\n api: OverviewData\n tagName: string\n parentApiId: string\n tagId: string\n}\n\nexport interface TagNodeData {\n tagName: string\n apiData: OverviewData\n}\n\nexport type NodeData = EndpointNodeData | OverviewData | TagNodeData\n\n// Type definitions\nexport interface TreeNode {\n title: string | React.ReactNode\n key: string\n selectable?: boolean\n isLeaf?: boolean\n method?: string\n children?: TreeNode[]\n data?: NodeData\n}\n\nexport interface EndpointItemProps {\n method: string\n title: string\n cx: (className: string) => string\n}\n\n// Method colors configuration\nexport const methodColors = {\n GET: {\n bg: token.colorPrimaryBgHover,\n color: token.colorPrimary,\n },\n POST: {\n bg: token['green.1'],\n color: token.colorSuccess,\n },\n DELETE: {\n bg: token.colorErrorBg,\n color: token.colorError,\n },\n PUT: {\n bg: token.colorWarningBg,\n color: token.colorWarning,\n },\n PATCH: {\n bg: token['volcano.1'],\n color: token['volcano.5'],\n },\n OPTIONS: {\n bg: token['geekblue.2'],\n color: token['geekblue.6'],\n },\n HEAD: {\n bg: token['purple.1'],\n color: token['purple.5'],\n },\n TRACE: {\n bg: token['cyan.1'],\n color: token['cyan.5'],\n },\n}\n\nexport const buildTreeDataStructure = (data: OverviewData[] | null) => {\n if (!data) return []\n return data.map((api) => {\n return {\n title: api.title,\n key: api.id,\n selectable: true,\n data: api as OverviewData,\n children: Object.entries(api.tags).map(([tag, endpoints]) => {\n // Use deterministic tag ID generation for consistent expansion\n const tagId = `tag-${api.id}-${tag.replace(/\\s+/g, '-').toLowerCase()}`\n return {\n title: tag,\n key: tagId,\n selectable: false,\n data: { tagName: tag, apiData: api } as TagNodeData, // Store tag info and parent API data\n children: endpoints.map((endpoint) => {\n return {\n title: endpoint.summary,\n key: endpoint.id,\n isLeaf: true,\n selectable: true,\n method: endpoint.method,\n data: { endpoint, api, tagName: tag, parentApiId: api.id, tagId } as EndpointNodeData,\n }\n }),\n }\n }),\n }\n })\n}\n\n// Helper function to find a node by key and return its data\nexport const findNodeByKey = (nodes: TreeNode[], targetKey: string): TreeNode | null => {\n for (const node of nodes) {\n if (node.key === targetKey) {\n return node\n }\n if (node.children && node.children.length > 0) {\n const found = findNodeByKey(node.children, targetKey)\n if (found) return found\n }\n }\n return null\n}\n\n// Helper function to check if an API section should be highlighted when its children are selected\nexport const isApiSectionHighlighted = (\n apiKey: string,\n selectedEndpoint: { parentApiId: string } | null\n): boolean => {\n if (!selectedEndpoint) return false\n\n // Highlight the API if the selected endpoint belongs to this API\n return selectedEndpoint.parentApiId === apiKey\n}\n\n// Get all keys for expand/collapse functionality\nexport const getAllTreeKeys = (data: TreeNode[]): string[] => {\n const keys: string[] = []\n const traverse = (nodes: TreeNode[]) => {\n nodes.forEach((node) => {\n keys.push(node.key)\n if (node.children && node.children.length > 0) {\n traverse(node.children)\n }\n })\n }\n traverse(data)\n return keys\n}\n\n// Filter tree data based on search\nexport const filterTreeData = (data: TreeNode[], searchText: string): TreeNode[] => {\n if (!searchText) return data\n\n // Helper function to recursively find original node in the default tree structure\n const findOriginalNode = (nodes: TreeNode[], key: string): TreeNode | null => {\n for (const node of nodes) {\n if (node.key === key) return node\n if (node.children) {\n const found = findOriginalNode(node.children, key)\n if (found) return found\n }\n }\n return null\n }\n\n const filterNode = (node: TreeNode): TreeNode | null => {\n let titleText = ''\n\n // Get the original title text from the default tree structure\n const originalNode = findOriginalNode(data, node.key)\n if (originalNode && typeof originalNode.title === 'string') {\n titleText = originalNode.title\n } else if (typeof node.title === 'string') {\n titleText = node.title\n }\n\n // For endpoints, also search by method + title combination\n let searchableText = titleText\n if (node.isLeaf && node.method) {\n // Include method in searchable text for endpoints\n searchableText = `${node.method} ${titleText}`.toLowerCase()\n } else {\n searchableText = titleText.toLowerCase()\n }\n\n const searchLower = searchText.toLowerCase()\n const matchesSearch = searchableText.includes(searchLower)\n\n if (node.children) {\n const filteredChildren = node.children\n .map((child: TreeNode) => filterNode(child))\n .filter((child): child is TreeNode => child !== null)\n\n if (matchesSearch || filteredChildren.length > 0) {\n return {\n ...node,\n children: filteredChildren,\n }\n }\n } else if (matchesSearch) {\n return node\n }\n\n return null\n }\n\n return data.map((node) => filterNode(node)).filter((node): node is TreeNode => node !== null)\n}\n\n// Helper function to get parent key for search expansion\nexport const getParentKey = (key: string, tree: TreeNode[]): string | null => {\n for (let i = 0; i < tree.length; i++) {\n const node = tree[i]\n if (node.children) {\n if (node.children.some((item: TreeNode) => item.key === key)) {\n return node.key\n }\n const parent = getParentKey(key, node.children)\n if (parent) {\n return parent\n }\n }\n }\n return null\n}\n\n// Sidebar style configuration\nexport const getSidebarStyles = (token: any, scope: (name: string) => string) => ({\n [scope('sider')]: {\n backgroundColor: token.colorBgContainer,\n maxWidth: '17.5rem',\n overflowY: 'auto' as const,\n overflowX: 'clip' as const,\n borderRadius: token.borderRadius,\n },\n [scope('content')]: {\n padding: token.padding,\n },\n [scope('controls')]: {\n display: 'flex',\n gap: token.marginXS,\n marginBottom: token.marginSM,\n },\n [scope('search-input')]: {\n flex: 1,\n },\n [scope('tree')]: {\n backgroundColor: 'transparent',\n '& .ant-tree-node-content-wrapper': {\n overflow: 'hidden',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n },\n '& .ant-tree-title': {\n width: '100%',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n marginBlock: 'auto',\n },\n '& .ant-tree-treenode': {\n width: '100%',\n padding: 0,\n },\n '& .ant-tree-node-content-wrapper:hover': {\n backgroundColor: token.colorFillTertiary,\n },\n },\n [scope('endpoint-item')]: {\n display: 'flex',\n alignItems: 'center',\n gap: token.marginXS,\n width: '100%',\n maxWidth: '100%',\n minWidth: '100%',\n },\n [scope('method-tag')]: {\n minWidth: '3.75rem',\n textAlign: 'center' as const,\n border: 'none',\n },\n [scope('endpoint-text')]: {\n flex: 1,\n maxWidth: '100%',\n },\n [scope('tag-title')]: {\n color: token.colorText,\n maxWidth: '100%',\n display: 'block',\n },\n [scope('api-title')]: {\n color: token.colorText,\n maxWidth: '100%',\n display: 'block',\n padding: 0,\n margin: 0,\n '&.highlighted': {\n color: token.colorPrimary,\n },\n },\n [scope('create-text')]: {\n color: token.colorTextSecondary,\n },\n})\n","import React from 'react'\nimport { Typography, Tag } from 'antd'\nimport { methodColors, TreeNode, EndpointItemProps, isApiSectionHighlighted } from './sidebar.utils'\n\nconst { Text } = Typography\n\n// Endpoint item component\nexport const EndpointItem: React.FC<EndpointItemProps> = ({ method, title, cx }) => {\n const methodStyle = methodColors[method as keyof typeof methodColors]\n\n return (\n <div className={cx('endpoint-item')}>\n <Tag\n className={cx('method-tag')}\n style={{\n backgroundColor: methodStyle?.bg,\n color: methodStyle?.color,\n border: 'none',\n }}\n >\n {method}\n </Tag>\n <Text className={cx('endpoint-text')} ellipsis={{ tooltip: title }} style={{ flex: 1 }}>\n {title}\n </Text>\n </div>\n )\n}\n\n// Convert tree data to renderable format\nexport const convertToRenderableTreeData = (\n treeDataStructure: TreeNode[],\n selectedEndpoint: { parentApiId: string } | null,\n cx: (className: string) => string\n): TreeNode[] => {\n const renderNode = (node: TreeNode): TreeNode => {\n let title: React.ReactNode\n\n if (node.isLeaf && node.method) {\n // Render endpoint item\n title = (\n <EndpointItem\n method={node.method}\n title={typeof node.title === 'string' ? node.title : ''}\n cx={cx}\n />\n )\n } else if (\n node.data &&\n 'id' in node.data &&\n 'tags' in node.data &&\n !('endpoint' in node.data) &&\n !('tagName' in node.data)\n ) {\n // Render API title - check if node data is OverviewData (API data)\n const isHighlighted = isApiSectionHighlighted(node.key, selectedEndpoint)\n title = (\n <Text\n className={cx('api-title') + (isHighlighted ? ' highlighted' : '')}\n ellipsis={{ tooltip: typeof node.title === 'string' ? node.title : '' }}\n >\n {node.title}\n </Text>\n )\n } else {\n // Render tag title\n title = (\n <Text\n className={cx('tag-title')}\n ellipsis={{ tooltip: typeof node.title === 'string' ? node.title : '' }}\n >\n {node.title}\n </Text>\n )\n }\n\n return {\n ...node,\n title,\n children: node.children ? node.children.map(renderNode) : undefined,\n }\n }\n\n return treeDataStructure.map(renderNode)\n}\n","import { useStore } from '@/store'\nimport { NodeData, EndpointNodeData, TagNodeData, TreeNode, findNodeByKey } from '@/view/helper'\nimport { OverviewData } from '@/view/entities'\n\nexport interface SelectionResult {\n type: 'endpoint' | 'api' | 'tag'\n endpoint?: EndpointNodeData['endpoint']\n api?: OverviewData\n tag?: string\n}\n\nexport const useNodeSelection = () => {\n const {\n setSelectedNodeKey,\n setFocusedContent,\n setSelectedApi,\n setSelectedEndpoint,\n setExpandedKeys,\n expandedKeys,\n builtTreeData,\n } = useStore(({ view }) => view)\n\n const handleNodeSelection = (\n nodeData: NodeData | undefined,\n nodeKey: string\n ): SelectionResult | null => {\n if (!nodeData) return null\n if (nodeKey.startsWith('endpoint-')) {\n const endpointNodeData = nodeData as EndpointNodeData\n\n // Set the endpoint data and its parent API separately\n setSelectedEndpoint({\n ...endpointNodeData.endpoint,\n tagName: endpointNodeData.tagName,\n parentApiId: endpointNodeData.parentApiId,\n })\n setSelectedApi(endpointNodeData.api)\n setFocusedContent('ENDPOINT')\n // TODO: auto expand\n const toExpand = [\n endpointNodeData.parentApiId,\n endpointNodeData.tagId,\n endpointNodeData.api.id,\n ]\n const expanded = [...expandedKeys]\n toExpand.forEach((key) => {\n if (key && expanded.indexOf(key) < 0) {\n expanded.push(key)\n }\n })\n setExpandedKeys(expanded)\n\n return {\n type: 'endpoint' as const,\n endpoint: endpointNodeData.endpoint,\n api: endpointNodeData.api,\n tag: endpointNodeData.tagName,\n }\n } else if (nodeKey.startsWith('api-') || nodeKey === 'custom-auth') {\n // Handle API selection\n const apiData = nodeData as OverviewData\n setSelectedApi(apiData)\n // Clear endpoint selection when selecting API directly\n setSelectedEndpoint(null)\n setFocusedContent('API')\n\n return {\n type: 'api' as const,\n api: apiData,\n }\n } else {\n // Handle tag selection (tags are not selectable in the current setup, but keeping for completeness)\n const tagData = nodeData as TagNodeData\n\n return {\n type: 'tag' as const,\n tag: tagData.tagName,\n api: tagData.apiData,\n }\n }\n }\n\n // Select a node by its key from the tree structure\n const selectNodeByKey = (nodeKey: string): SelectionResult | null => {\n const selectedNode = findNodeByKey(builtTreeData as TreeNode[], nodeKey)\n if (selectedNode) {\n const result = handleNodeSelection(selectedNode.data, nodeKey)\n setSelectedNodeKey(nodeKey)\n return result\n }\n\n return null\n }\n\n // Expand a specific node by adding it to expanded keys\n const expandNode = (nodeKey: string) => {\n if (!expandedKeys.includes(nodeKey)) {\n setExpandedKeys([...expandedKeys, nodeKey])\n }\n }\n\n // Select the first API from the tree data and expand it\n const selectFirstApi = (treeData: TreeNode[]): SelectionResult | null => {\n if (!treeData || treeData.length === 0) return null\n\n // Find the first API node (should be at the top level)\n const firstApiNode = treeData.find(\n (node) =>\n node.data &&\n 'id' in node.data &&\n 'tags' in node.data &&\n !('endpoint' in node.data) &&\n !('tagName' in node.data)\n )\n\n if (firstApiNode) {\n // Collect all keys to expand at once\n const keysToExpand = [firstApiNode.key]\n\n // Also expand all tag nodes under the first API\n if (firstApiNode.children) {\n firstApiNode.children.forEach((tagNode) => {\n keysToExpand.push(tagNode.key)\n })\n }\n\n // Expand all keys at once to avoid state update batching issues\n setExpandedKeys([\n ...expandedKeys,\n ...keysToExpand.filter((key) => !expandedKeys.includes(key)),\n ])\n\n // Select the first API node\n return selectNodeByKey(firstApiNode.key)\n }\n\n return null\n }\n\n // Clear all selections\n const clearSelection = () => {\n setSelectedNodeKey(null)\n setSelectedApi(null)\n setSelectedEndpoint(null)\n }\n\n return {\n handleNodeSelection,\n selectNodeByKey,\n selectFirstApi,\n clearSelection,\n expandNode,\n }\n}\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 11.334L8 9.33398L10 11.334\" stroke=\"currentcolor\" />\n<path d=\"M6 4.66602L8 6.66602L10 4.66602\" stroke=\"currentcolor\" />\n</svg>\n","<svg width=\"166\" height=\"132\" viewBox=\"0 0 166 132\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M97.2145 48.3771C86.9578 48.4382 76.542 47.9621 66.7994 45.2642C57.0568 42.5663 48.4402 37.4757 40.607 31.5306C35.4786 27.6608 30.8154 24.5845 24.1571 25.0483C17.647 25.3896 11.42 27.8123 6.39768 31.9579C-2.07203 39.3557 -0.786882 53.0282 2.59121 62.6478C7.68283 77.1383 23.178 87.1974 36.3354 93.7528C51.5491 101.334 68.2559 105.741 85.0118 108.268C99.6991 110.49 118.56 112.113 131.277 102.542C142.966 93.7651 146.172 73.6957 143.308 60.1453C142.611 56.143 140.475 52.5317 137.299 49.9885C129.086 44.0068 116.847 47.9987 107.618 48.2062C104.252 48.2795 100.715 48.3649 97.2145 48.3771Z\" fill=\"#F1F5FD\"/>\n<path d=\"M47.2041 1V6.24928\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M44.5723 3.625H49.8352\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M147.054 105.631V110.88\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M144.422 108.256H149.685\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M7.43775 82.963C8.1002 82.963 8.63721 82.4274 8.63721 81.7667C8.63721 81.1059 8.1002 80.5703 7.43775 80.5703C6.7753 80.5703 6.23828 81.1059 6.23828 81.7667C6.23828 82.4274 6.7753 82.963 7.43775 82.963Z\" fill=\"#E0E9F9\"/>\n<path d=\"M109.564 6.42004C110.226 6.42004 110.763 5.88442 110.763 5.22369C110.763 4.56297 110.226 4.02734 109.564 4.02734C108.901 4.02734 108.364 4.56297 108.364 5.22369C108.364 5.88442 108.901 6.42004 109.564 6.42004Z\" fill=\"#E0E9F9\"/>\n<path d=\"M76.3212 132C101.129 132 121.24 130.754 121.24 129.217C121.24 127.68 101.129 126.434 76.3212 126.434C51.5132 126.434 31.4023 127.68 31.4023 129.217C31.4023 130.754 51.5132 132 76.3212 132Z\" fill=\"#F1F5FD\"/>\n<path d=\"M41.7205 15.2578H106.957C108.58 15.2578 110.136 15.9009 111.284 17.0456C112.432 18.1903 113.077 19.7428 113.077 21.3616V98.7702C113.077 100.389 112.432 101.942 111.284 103.086C110.136 104.231 108.58 104.874 106.957 104.874H33.3609C31.7379 104.874 30.1813 104.231 29.0336 103.086C27.886 101.942 27.2412 100.389 27.2412 98.7702V29.8459L41.7205 15.2578Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M112.783 52.9805H45.5146V105.62H112.783V52.9805Z\" fill=\"#F1F5FD\"/>\n<path d=\"M27.2412 29.8459H39.1012C39.797 29.8427 40.4632 29.5647 40.9541 29.0729C41.4449 28.581 41.7205 27.9153 41.7205 27.2213V15.2578L27.2412 29.8459Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M112.453 36.1699H45.9192C43.3302 36.1699 41.2314 38.2632 41.2314 40.8454V55.0429C41.2314 57.6251 43.3302 59.7184 45.9192 59.7184H112.453C115.042 59.7184 117.141 57.6251 117.141 55.0429V40.8454C117.141 38.2632 115.042 36.1699 112.453 36.1699Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 52.0531C56.4141 52.0531 58.2443 50.2276 58.2443 47.9758C58.2443 45.7239 56.4141 43.8984 54.1563 43.8984C51.8986 43.8984 50.0684 45.7239 50.0684 47.9758C50.0684 50.2276 51.8986 52.0531 54.1563 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 52.0531C69.2647 52.0531 71.0949 50.2276 71.0949 47.9758C71.0949 45.7239 69.2647 43.8984 67.0069 43.8984C64.7492 43.8984 62.9189 45.7239 62.9189 47.9758C62.9189 50.2276 64.7492 52.0531 67.0069 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 52.0531C82.1045 52.0531 83.9347 50.2276 83.9347 47.9758C83.9347 45.7239 82.1045 43.8984 79.8468 43.8984C77.589 43.8984 75.7588 45.7239 75.7588 47.9758C75.7588 50.2276 77.589 52.0531 79.8468 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M112.453 62.2695H45.9192C43.3302 62.2695 41.2314 64.3628 41.2314 66.9451V81.1425C41.2314 83.7247 43.3302 85.818 45.9192 85.818H112.453C115.042 85.818 117.141 83.7247 117.141 81.1425V66.9451C117.141 64.3628 115.042 62.2695 112.453 62.2695Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 78.1645C56.4141 78.1645 58.2443 76.339 58.2443 74.0871C58.2443 71.8353 56.4141 70.0098 54.1563 70.0098C51.8986 70.0098 50.0684 71.8353 50.0684 74.0871C50.0684 76.339 51.8986 78.1645 54.1563 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 78.1645C69.2647 78.1645 71.0949 76.339 71.0949 74.0871C71.0949 71.8353 69.2647 70.0098 67.0069 70.0098C64.7492 70.0098 62.9189 71.8353 62.9189 74.0871C62.9189 76.339 64.7492 78.1645 67.0069 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 78.1645C82.1045 78.1645 83.9347 76.339 83.9347 74.0871C83.9347 71.8353 82.1045 70.0098 79.8468 70.0098C77.589 70.0098 75.7588 71.8353 75.7588 74.0871C75.7588 76.339 77.589 78.1645 79.8468 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M112.453 88.3828H45.9192C43.3302 88.3828 41.2314 90.4761 41.2314 93.0583V107.256C41.2314 109.838 43.3302 111.931 45.9192 111.931H112.453C115.042 111.931 117.141 109.838 117.141 107.256V93.0583C117.141 90.4761 115.042 88.3828 112.453 88.3828Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 104.264C56.4141 104.264 58.2443 102.439 58.2443 100.187C58.2443 97.9349 56.4141 96.1094 54.1563 96.1094C51.8986 96.1094 50.0684 97.9349 50.0684 100.187C50.0684 102.439 51.8986 104.264 54.1563 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 104.264C69.2647 104.264 71.0949 102.439 71.0949 100.187C71.0949 97.9349 69.2647 96.1094 67.0069 96.1094C64.7492 96.1094 62.9189 97.9349 62.9189 100.187C62.9189 102.439 64.7492 104.264 67.0069 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 104.264C82.1045 104.264 83.9347 102.439 83.9347 100.187C83.9347 97.9349 82.1045 96.1094 79.8468 96.1094C77.589 96.1094 75.7588 97.9349 75.7588 100.187C75.7588 102.439 77.589 104.264 79.8468 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M118.609 66.2124C132.622 66.2124 143.981 54.8824 143.981 40.906C143.981 26.9297 132.622 15.5996 118.609 15.5996C104.596 15.5996 93.2363 26.9297 93.2363 40.906C93.2363 54.8824 104.596 66.2124 118.609 66.2124Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M118.903 55.8852C127.035 55.8852 133.627 49.3102 133.627 41.1994C133.627 33.0887 127.035 26.5137 118.903 26.5137C110.771 26.5137 104.179 33.0887 104.179 41.1994C104.179 49.3102 110.771 55.8852 118.903 55.8852Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M111.067 33.3711C111.375 34.0091 126.739 49.0138 126.739 49.0138L111.067 33.3711Z\" fill=\"white\"/>\n<path d=\"M111.067 33.3711C111.375 34.0091 126.739 49.0138 126.739 49.0138\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M126.739 33.3711C126.419 34.0091 111.067 49.0138 111.067 49.0138L126.739 33.3711Z\" fill=\"white\"/>\n<path d=\"M126.739 33.3711C126.419 34.0091 111.067 49.0138 111.067 49.0138\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","'use client'\nimport React, { useState, useMemo } from 'react'\nimport { Layout, Input, Tree, Button, Flex } from 'antd'\nimport { useStyle } from '@/hooks/useStyle'\nimport { useNodeSelection } from '@/hooks/useNodeSelection'\nimport { useStore } from '@/store'\nimport Minify from '@/assets/Minify.svg'\nimport {\n getAllTreeKeys,\n filterTreeData,\n getSidebarStyles,\n convertToRenderableTreeData,\n} from '../helper'\nimport EmptyImg from '@/assets/NoDataSM.svg'\nimport Text from 'antd/es/typography/Text'\n\nconst { Sider } = Layout\n\nexport const Sidebar: React.FC = () => {\n const expandedKeys = useStore((state) => state.view.expandedKeys)\n const {\n selectedNodeKey,\n selectedEndpoint,\n builtTreeData,\n setExpandedKeys,\n setSelectedNodeKey,\n transformedData,\n } = useStore(({ view }) => view)\n\n const { selectNodeByKey, clearSelection } = useNodeSelection()\n\n // Local state for search and expand/collapse\n const [searchValue, setSearchValue] = useState('')\n const [autoExpandParent, setAutoExpandParent] = useState(true)\n\n const { wrapSSR, cx, token } = useStyle('Sidebar', getSidebarStyles)\n\n // Handle search with expansion logic\n const handleSearch = (value: string) => {\n if (value && builtTreeData) {\n // Get all keys that should be expanded when searching\n const allKeys = getAllTreeKeys(builtTreeData)\n setExpandedKeys(allKeys)\n setSearchValue(value)\n setAutoExpandParent(true)\n } else {\n setSearchValue(value)\n setAutoExpandParent(false)\n }\n }\n\n // Convert tree data to renderable format\n const renderTreeData = useMemo(() => {\n if (!builtTreeData) return []\n return convertToRenderableTreeData(builtTreeData, selectedEndpoint, cx)\n }, [builtTreeData, selectedEndpoint, cx])\n\n // Memoize filtered tree data\n const filteredTreeData = useMemo(() => {\n if (!searchValue) return renderTreeData\n if (!builtTreeData) return []\n\n // Filter using original tree structure, then convert to renderable format\n const filteredOriginal = filterTreeData(builtTreeData, searchValue)\n return convertToRenderableTreeData(filteredOriginal, selectedEndpoint, cx)\n }, [builtTreeData, searchValue, selectedEndpoint, cx])\n\n // Handle collapse all\n const collapseAll = () => {\n setExpandedKeys([])\n }\n\n const onTreeNodeSelect = (selectedKeys: React.Key[]) => {\n const stringKeys = selectedKeys.map((key) => String(key))\n\n if (stringKeys.length === 0) {\n clearSelection()\n return\n }\n\n if (!builtTreeData) return\n\n const selectedKey = stringKeys[0]\n selectNodeByKey(selectedKey)\n setSelectedNodeKey(selectedKey)\n }\n\n return wrapSSR(\n <Sider width={280} className={cx('sider')}>\n <div className={cx('content')}>\n <div className={cx('controls')}>\n <Input\n placeholder=\"Search by APIs or Endpoints\"\n value={searchValue}\n onChange={(e) => handleSearch(e.target.value)}\n allowClear\n className={cx('search-input')}\n />\n\n <Button onClick={collapseAll} title=\"Collapse All\" icon={<Minify />} />\n </div>\n {transformedData?.length ? (\n <Tree\n showLine={{ showLeafIcon: false }}\n showIcon={false}\n expandedKeys={expandedKeys}\n autoExpandParent={autoExpandParent}\n selectedKeys={[selectedNodeKey || '']}\n onSelect={(selectedKeys) => {\n // Don't allow to deselect a node\n if (!selectedKeys?.length) return\n onTreeNodeSelect(selectedKeys)\n setSelectedNodeKey(selectedKeys[0] as string)\n }}\n onExpand={(expandedKeysValue) => {\n setExpandedKeys(expandedKeysValue as string[])\n setAutoExpandParent(false)\n }}\n treeData={filteredTreeData}\n className={cx('tree')}\n />\n ) : (\n <Flex\n justify=\"center\"\n align=\"center\"\n gap={token.marginSM}\n vertical\n style={{ marginTop: token.paddingXL }}\n >\n <EmptyImg\n width={'10.375rem'}\n height={'8.1875rem'}\n style={{ backgroundSize: 'cover' }}\n />\n <Text\n style={{\n textAlign:'center',\n fontFamily: token.fontFamily,\n fontWeight: 400,\n fontSize: token.fontSizeLG,\n color: 'rgba(0,0,0,0.45)',\n }}\n >\n No API\n <br />\n Documentation Found\n </Text>\n </Flex>\n )}\n </div>\n </Sider>\n )\n}\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<mask id=\"path-1-inside-1_7584_26563\" fill=\"white\">\n<path d=\"M3.33333 2.5C2.87281 2.5 2.5 2.87281 2.5 3.33333V6.66667C2.5 7.1272 2.87281 7.5 3.33333 7.5H5.33333C5.79386 7.5 6.16667 7.1272 6.16667 6.66667V3.33333C6.16667 2.87281 5.79386 2.5 5.33333 2.5H3.33333ZM1.5 3.33333C1.5 2.32053 2.32053 1.5 3.33333 1.5H5.33333C6.34614 1.5 7.16667 2.32053 7.16667 3.33333V6.66667C7.16667 7.67947 6.34614 8.5 5.33333 8.5H3.33333C2.32053 8.5 1.5 7.67947 1.5 6.66667V3.33333ZM9.83333 3.33333C9.83333 2.87281 10.2061 2.5 10.6667 2.5H12.6667C13.1272 2.5 13.5 2.87281 13.5 3.33333V4.66667C13.5 5.12719 13.1272 5.5 12.6667 5.5H10.6667C10.2061 5.5 9.83333 5.12719 9.83333 4.66667V3.33333ZM10.6667 1.5C9.65387 1.5 8.83333 2.32053 8.83333 3.33333V4.66667C8.83333 5.67947 9.65387 6.5 10.6667 6.5H12.6667C13.6795 6.5 14.5 5.67947 14.5 4.66667V3.33333C14.5 2.32053 13.6795 1.5 12.6667 1.5H10.6667ZM9.83333 9.33333C9.83333 8.8728 10.2061 8.5 10.6667 8.5H12.6667C13.1272 8.5 13.5 8.8728 13.5 9.33333V12.6667C13.5 13.1272 13.1272 13.5 12.6667 13.5H10.6667C10.2061 13.5 9.83333 13.1272 9.83333 12.6667V9.33333ZM10.6667 7.5C9.65387 7.5 8.83333 8.32053 8.83333 9.33333V12.6667C8.83333 13.6795 9.65387 14.5 10.6667 14.5H12.6667C13.6795 14.5 14.5 13.6795 14.5 12.6667V9.33333C14.5 8.32053 13.6795 7.5 12.6667 7.5H10.6667ZM2.5 11.3333C2.5 10.8728 2.87281 10.5 3.33333 10.5H5.33333C5.79386 10.5 6.16667 10.8728 6.16667 11.3333V12.6667C6.16667 13.1272 5.79386 13.5 5.33333 13.5H3.33333C2.87281 13.5 2.5 13.1272 2.5 12.6667V11.3333ZM3.33333 9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333V12.6667C1.5 13.6795 2.32053 14.5 3.33333 14.5H5.33333C6.34614 14.5 7.16667 13.6795 7.16667 12.6667V11.3333C7.16667 10.3205 6.34614 9.5 5.33333 9.5H3.33333Z\"/>\n</mask>\n<path d=\"M3.33333 2.5C2.87281 2.5 2.5 2.87281 2.5 3.33333V6.66667C2.5 7.1272 2.87281 7.5 3.33333 7.5H5.33333C5.79386 7.5 6.16667 7.1272 6.16667 6.66667V3.33333C6.16667 2.87281 5.79386 2.5 5.33333 2.5H3.33333ZM1.5 3.33333C1.5 2.32053 2.32053 1.5 3.33333 1.5H5.33333C6.34614 1.5 7.16667 2.32053 7.16667 3.33333V6.66667C7.16667 7.67947 6.34614 8.5 5.33333 8.5H3.33333C2.32053 8.5 1.5 7.67947 1.5 6.66667V3.33333ZM9.83333 3.33333C9.83333 2.87281 10.2061 2.5 10.6667 2.5H12.6667C13.1272 2.5 13.5 2.87281 13.5 3.33333V4.66667C13.5 5.12719 13.1272 5.5 12.6667 5.5H10.6667C10.2061 5.5 9.83333 5.12719 9.83333 4.66667V3.33333ZM10.6667 1.5C9.65387 1.5 8.83333 2.32053 8.83333 3.33333V4.66667C8.83333 5.67947 9.65387 6.5 10.6667 6.5H12.6667C13.6795 6.5 14.5 5.67947 14.5 4.66667V3.33333C14.5 2.32053 13.6795 1.5 12.6667 1.5H10.6667ZM9.83333 9.33333C9.83333 8.8728 10.2061 8.5 10.6667 8.5H12.6667C13.1272 8.5 13.5 8.8728 13.5 9.33333V12.6667C13.5 13.1272 13.1272 13.5 12.6667 13.5H10.6667C10.2061 13.5 9.83333 13.1272 9.83333 12.6667V9.33333ZM10.6667 7.5C9.65387 7.5 8.83333 8.32053 8.83333 9.33333V12.6667C8.83333 13.6795 9.65387 14.5 10.6667 14.5H12.6667C13.6795 14.5 14.5 13.6795 14.5 12.6667V9.33333C14.5 8.32053 13.6795 7.5 12.6667 7.5H10.6667ZM2.5 11.3333C2.5 10.8728 2.87281 10.5 3.33333 10.5H5.33333C5.79386 10.5 6.16667 10.8728 6.16667 11.3333V12.6667C6.16667 13.1272 5.79386 13.5 5.33333 13.5H3.33333C2.87281 13.5 2.5 13.1272 2.5 12.6667V11.3333ZM3.33333 9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333V12.6667C1.5 13.6795 2.32053 14.5 3.33333 14.5H5.33333C6.34614 14.5 7.16667 13.6795 7.16667 12.6667V11.3333C7.16667 10.3205 6.34614 9.5 5.33333 9.5H3.33333Z\" fill=\"#D9D9D9\"/>\n<path d=\"M3.33333 2.5V1.5C2.32052 1.5 1.5 2.32052 1.5 3.33333H2.5H3.5C3.5 3.42509 3.42509 3.5 3.33333 3.5V2.5ZM2.5 3.33333H1.5V6.66667H2.5H3.5V3.33333H2.5ZM2.5 6.66667H1.5C1.5 7.67949 2.32053 8.5 3.33333 8.5V7.5V6.5C3.42509 6.5 3.5 6.57491 3.5 6.66667H2.5ZM3.33333 7.5V8.5H5.33333V7.5V6.5H3.33333V7.5ZM5.33333 7.5V8.5C6.34614 8.5 7.16667 7.67949 7.16667 6.66667H6.16667H5.16667C5.16667 6.57491 5.24158 6.5 5.33333 6.5V7.5ZM6.16667 6.66667H7.16667V3.33333H6.16667H5.16667V6.66667H6.16667ZM6.16667 3.33333H7.16667C7.16667 2.32052 6.34614 1.5 5.33333 1.5V2.5V3.5C5.24158 3.5 5.16667 3.42509 5.16667 3.33333H6.16667ZM5.33333 2.5V1.5H3.33333V2.5V3.5H5.33333V2.5ZM1.5 3.33333H2.5C2.5 2.87281 2.87281 2.5 3.33333 2.5V1.5V0.5C1.76824 0.5 0.5 1.76824 0.5 3.33333H1.5ZM3.33333 1.5V2.5H5.33333V1.5V0.5H3.33333V1.5ZM5.33333 1.5V2.5C5.79386 2.5 6.16667 2.87281 6.16667 3.33333H7.16667H8.16667C8.16667 1.76824 6.89843 0.5 5.33333 0.5V1.5ZM7.16667 3.33333H6.16667V6.66667H7.16667H8.16667V3.33333H7.16667ZM7.16667 6.66667H6.16667C6.16667 7.12718 5.79385 7.5 5.33333 7.5V8.5V9.5C6.89843 9.5 8.16667 8.23175 8.16667 6.66667H7.16667ZM5.33333 8.5V7.5H3.33333V8.5V9.5H5.33333V8.5ZM3.33333 8.5V7.5C2.87281 7.5 2.5 7.12718 2.5 6.66667H1.5H0.5C0.5 8.23175 1.76824 9.5 3.33333 9.5V8.5ZM1.5 6.66667H2.5V3.33333H1.5H0.5V6.66667H1.5ZM9.83333 3.33333H10.8333C10.8333 3.42509 10.7584 3.5 10.6667 3.5V2.5V1.5C9.65384 1.5 8.83333 2.32053 8.83333 3.33333H9.83333ZM10.6667 2.5V3.5H12.6667V2.5V1.5H10.6667V2.5ZM12.6667 2.5V3.5C12.5749 3.5 12.5 3.42509 12.5 3.33333H13.5H14.5C14.5 2.32053 13.6795 1.5 12.6667 1.5V2.5ZM13.5 3.33333H12.5V4.66667H13.5H14.5V3.33333H13.5ZM13.5 4.66667H12.5C12.5 4.57491 12.5749 4.5 12.6667 4.5V5.5V6.5C13.6795 6.5 14.5 5.67947 14.5 4.66667H13.5ZM12.6667 5.5V4.5H10.6667V5.5V6.5H12.6667V5.5ZM10.6667 5.5V4.5C10.7584 4.5 10.8333 4.57491 10.8333 4.66667H9.83333H8.83333C8.83333 5.67947 9.65384 6.5 10.6667 6.5V5.5ZM9.83333 4.66667H10.8333V3.33333H9.83333H8.83333V4.66667H9.83333ZM10.6667 1.5V0.5C9.10158 0.5 7.83333 1.76824 7.83333 3.33333H8.83333H9.83333C9.83333 2.87281 10.2061 2.5 10.6667 2.5V1.5ZM8.83333 3.33333H7.83333V4.66667H8.83333H9.83333V3.33333H8.83333ZM8.83333 4.66667H7.83333C7.83333 6.23176 9.10158 7.5 10.6667 7.5V6.5V5.5C10.2061 5.5 9.83333 5.12719 9.83333 4.66667H8.83333ZM10.6667 6.5V7.5H12.6667V6.5V5.5H10.6667V6.5ZM12.6667 6.5V7.5C14.2317 7.5 15.5 6.23176 15.5 4.66667H14.5H13.5C13.5 5.12719 13.1272 5.5 12.6667 5.5V6.5ZM14.5 4.66667H15.5V3.33333H14.5H13.5V4.66667H14.5ZM14.5 3.33333H15.5C15.5 1.76824 14.2317 0.5 12.6667 0.5V1.5V2.5C13.1272 2.5 13.5 2.87281 13.5 3.33333H14.5ZM12.6667 1.5V0.5H10.6667V1.5V2.5H12.6667V1.5ZM9.83333 9.33333H10.8333C10.8333 9.42509 10.7584 9.5 10.6667 9.5V8.5V7.5C9.65385 7.5 8.83333 8.32052 8.83333 9.33333H9.83333ZM10.6667 8.5V9.5H12.6667V8.5V7.5H10.6667V8.5ZM12.6667 8.5V9.5C12.5749 9.5 12.5 9.42509 12.5 9.33333H13.5H14.5C14.5 8.32052 13.6795 7.5 12.6667 7.5V8.5ZM13.5 9.33333H12.5V12.6667H13.5H14.5V9.33333H13.5ZM13.5 12.6667H12.5C12.5 12.5749 12.5749 12.5 12.6667 12.5V13.5V14.5C13.6795 14.5 14.5 13.6795 14.5 12.6667H13.5ZM12.6667 13.5V12.5H10.6667V13.5V14.5H12.6667V13.5ZM10.6667 13.5V12.5C10.7584 12.5 10.8333 12.5749 10.8333 12.6667H9.83333H8.83333C8.83333 13.6795 9.65385 14.5 10.6667 14.5V13.5ZM9.83333 12.6667H10.8333V9.33333H9.83333H8.83333V12.6667H9.83333ZM10.6667 7.5V6.5C9.10158 6.5 7.83333 7.76825 7.83333 9.33333H8.83333H9.83333C9.83333 8.87282 10.2062 8.5 10.6667 8.5V7.5ZM8.83333 9.33333H7.83333V12.6667H8.83333H9.83333V9.33333H8.83333ZM8.83333 12.6667H7.83333C7.83333 14.2318 9.10158 15.5 10.6667 15.5V14.5V13.5C10.2062 13.5 9.83333 13.1272 9.83333 12.6667H8.83333ZM10.6667 14.5V15.5H12.6667V14.5V13.5H10.6667V14.5ZM12.6667 14.5V15.5C14.2318 15.5 15.5 14.2318 15.5 12.6667H14.5H13.5C13.5 13.1272 13.1272 13.5 12.6667 13.5V14.5ZM14.5 12.6667H15.5V9.33333H14.5H13.5V12.6667H14.5ZM14.5 9.33333H15.5C15.5 7.76825 14.2318 6.5 12.6667 6.5V7.5V8.5C13.1272 8.5 13.5 8.87282 13.5 9.33333H14.5ZM12.6667 7.5V6.5H10.6667V7.5V8.5H12.6667V7.5ZM2.5 11.3333H3.5C3.5 11.4251 3.42509 11.5 3.33333 11.5V10.5V9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333H2.5ZM3.33333 10.5V11.5H5.33333V10.5V9.5H3.33333V10.5ZM5.33333 10.5V11.5C5.24158 11.5 5.16667 11.4251 5.16667 11.3333H6.16667H7.16667C7.16667 10.3205 6.34614 9.5 5.33333 9.5V10.5ZM6.16667 11.3333H5.16667V12.6667H6.16667H7.16667V11.3333H6.16667ZM6.16667 12.6667H5.16667C5.16667 12.5749 5.24158 12.5 5.33333 12.5V13.5V14.5C6.34614 14.5 7.16667 13.6795 7.16667 12.6667H6.16667ZM5.33333 13.5V12.5H3.33333V13.5V14.5H5.33333V13.5ZM3.33333 13.5V12.5C3.42509 12.5 3.5 12.5749 3.5 12.6667H2.5H1.5C1.5 13.6795 2.32053 14.5 3.33333 14.5V13.5ZM2.5 12.6667H3.5V11.3333H2.5H1.5V12.6667H2.5ZM3.33333 9.5V8.5C1.76824 8.5 0.5 9.76825 0.5 11.3333H1.5H2.5C2.5 10.8728 2.87281 10.5 3.33333 10.5V9.5ZM1.5 11.3333H0.5V12.6667H1.5H2.5V11.3333H1.5ZM1.5 12.6667H0.5C0.5 14.2317 1.76824 15.5 3.33333 15.5V14.5V13.5C2.87281 13.5 2.5 13.1272 2.5 12.6667H1.5ZM3.33333 14.5V15.5H5.33333V14.5V13.5H3.33333V14.5ZM5.33333 14.5V15.5C6.89843 15.5 8.16667 14.2317 8.16667 12.6667H7.16667H6.16667C6.16667 13.1272 5.79385 13.5 5.33333 13.5V14.5ZM7.16667 12.6667H8.16667V11.3333H7.16667H6.16667V12.6667H7.16667ZM7.16667 11.3333H8.16667C8.16667 9.76825 6.89843 8.5 5.33333 8.5V9.5V10.5C5.79385 10.5 6.16667 10.8728 6.16667 11.3333H7.16667ZM5.33333 9.5V8.5H3.33333V9.5V10.5H5.33333V9.5Z\" fill=\"#769DE4\" mask=\"url(#path-1-inside-1_7584_26563)\"/>\n</svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13.2673 9H2.73398C1.73398 9 1.33398 9.42667 1.33398 10.4867V13.18C1.33398 14.24 1.73398 14.6667 2.73398 14.6667H13.2673C14.2673 14.6667 14.6673 14.24 14.6673 13.18V10.4867C14.6673 9.42667 14.2673 9 13.2673 9Z\" stroke=\"black\" stroke-opacity=\"0.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M13.2673 1.33398H2.73398C1.73398 1.33398 1.33398 1.76065 1.33398 2.82065V5.51398C1.33398 6.57398 1.73398 7.00065 2.73398 7.00065H13.2673C14.2673 7.00065 14.6673 6.57398 14.6673 5.51398V2.82065C14.6673 1.76065 14.2673 1.33398 13.2673 1.33398Z\" stroke=\"black\" stroke-opacity=\"0.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.39967 15.1673H4.59967C1.99301 15.1673 0.833008 14.0073 0.833008 11.4007V8.60065C0.833008 5.99398 1.99301 4.83398 4.59967 4.83398H7.39967C10.0063 4.83398 11.1663 5.99398 11.1663 8.60065V11.4007C11.1663 14.0073 10.0063 15.1673 7.39967 15.1673ZM4.59967 5.83398C2.53301 5.83398 1.83301 6.53398 1.83301 8.60065V11.4007C1.83301 13.4673 2.53301 14.1673 4.59967 14.1673H7.39967C9.46634 14.1673 10.1663 13.4673 10.1663 11.4007V8.60065C10.1663 6.53398 9.46634 5.83398 7.39967 5.83398H4.59967Z\" fill=\"black\" fill-opacity=\"0.45\"/>\n<path d=\"M11.3997 11.1673H10.6663C10.393 11.1673 10.1663 10.9407 10.1663 10.6673V8.60065C10.1663 6.53398 9.46634 5.83398 7.39967 5.83398H5.33301C5.05967 5.83398 4.83301 5.60732 4.83301 5.33398V4.60065C4.83301 1.99398 5.99301 0.833984 8.59967 0.833984H11.3997C14.0063 0.833984 15.1663 1.99398 15.1663 4.60065V7.40065C15.1663 10.0073 14.0063 11.1673 11.3997 11.1673ZM11.1663 10.1673H11.3997C13.4663 10.1673 14.1663 9.46732 14.1663 7.40065V4.60065C14.1663 2.53398 13.4663 1.83398 11.3997 1.83398H8.59967C6.53301 1.83398 5.83301 2.53398 5.83301 4.60065V4.83398H7.39967C10.0063 4.83398 11.1663 5.99398 11.1663 8.60065V10.1673Z\" fill=\"black\" fill-opacity=\"0.45\"/>\n</svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.875 9.25C2.085 9.25 0.625 7.79 0.625 6C0.625 4.21 2.085 2.75 3.875 2.75C4.08 2.75 4.25 2.92 4.25 3.125C4.25 3.33 4.08 3.5 3.875 3.5C2.495 3.5 1.375 4.62 1.375 6C1.375 7.38 2.495 8.5 3.875 8.5C5.255 8.5 6.375 7.38 6.375 6C6.375 5.795 6.545 5.625 6.75 5.625C6.955 5.625 7.125 5.795 7.125 6C7.125 7.79 5.665 9.25 3.875 9.25Z\" fill=\"#4D75D9\"/>\n<path d=\"M8 9.375C7.795 9.375 7.625 9.205 7.625 9C7.625 8.795 7.795 8.625 8 8.625C9.445 8.625 10.625 7.445 10.625 6C10.625 4.555 9.445 3.375 8 3.375C6.555 3.375 5.375 4.555 5.375 6C5.375 6.205 5.205 6.375 5 6.375C4.795 6.375 4.625 6.205 4.625 6C4.625 4.14 6.14 2.625 8 2.625C9.86 2.625 11.375 4.14 11.375 6C11.375 7.86 9.86 9.375 8 9.375Z\" fill=\"#4D75D9\"/>\n</svg>\n","import { useStyle } from '@/hooks/useStyle'\nimport { EndpointData } from '@/view/entities'\nimport { methodColors } from '@/view/helper'\nimport { Button, Card, Divider, Flex, Tooltip } from 'antd'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\nimport LinkIcon from '@/assets/link.svg'\nimport { useNodeSelection } from '@/hooks/useNodeSelection'\n\ninterface IAPICard {\n viewStyle: 'grid' | 'list'\n api: EndpointData\n}\n\nconst ApiCard = ({ api, viewStyle }: IAPICard) => {\n const { wrapSSR, cx, token } = useStyle('DocumentationApiCard', (token, scope) => ({\n [scope('method-chip')]: {\n minWidth: '5.375rem',\n width: 'fit-content',\n paddingLeft: token.marginXS,\n paddingRight: token.marginXS,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: token.borderRadius,\n },\n [scope('list-container')]: { paddingTop: token.marginXS, paddingBottom: token.marginXS },\n [scope('chip-title')]: {\n alignSelf: 'center',\n textAlign: 'center',\n padding: 0,\n margin: 0,\n lineHeight: '1.375rem',\n fontSize: token.fontSize,\n },\n [scope('list-see-details')]: {\n width: '6.5625rem',\n height: '2rem',\n borderRadius: token.borderRadius,\n border: `${token.lineWidth}rem solid ${token.Button?.defaultBorderColor}`,\n paddingRight: token.Button?.paddingInline,\n paddingLeft: token.Button?.paddingInline,\n },\n [scope('list-content')]: {\n display: 'flex',\n paddingTop: token.paddingXXS,\n paddingBottom: token.paddingXXS,\n paddingRight: token.paddingXS,\n paddingLeft: token.paddingXS,\n alignItems: 'center',\n gap: token.marginXS,\n alignSelf: 'stretch',\n flexDirection: 'row',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.colorBorderSecondary}`,\n minWidth: '6.25rem',\n maxWidth: 'fit-content',\n },\n [scope('list-title')]: {\n color: token.colorTextHeading,\n fontSize: token.fontSizeHeading3,\n fontWeight: token.fontWeightStrong,\n lineHeight: token.lineHeightHeading3,\n paddingBottom: 0,\n marginBottom: 0,\n fontFamily: 'SF Pro',\n '&:hover': {\n color: `${token.colorPrimary} !important`,\n textDecoration: 'underline',\n },\n },\n [scope('path-name')]: {\n color: token.colorText,\n fontSize: token.fontSizeSM,\n fontWeight: 400,\n fontFamily: token.fontFamily,\n },\n [scope('grid-card')]: {\n width: '17.5rem',\n height: '100%',\n borderRadius: token.borderRadiusLG,\n },\n [scope('grid-title')]: {\n color: token.colorTextHeading,\n fontSize: token.fontSizeHeading3,\n fontWeight: token.fontWeightStrong,\n lineHeight: token.lineHeightHeading3,\n paddingBottom: 0,\n marginBottom: 0,\n fontFamily: token.fontFamily,\n },\n [scope('grid-content')]: {\n display: 'flex',\n paddingTop: token.paddingXXS,\n paddingBottom: token.paddingXXS,\n paddingRight: token.paddingXS,\n paddingLeft: token.paddingXS,\n alignItems: 'center',\n gap: token.marginXS,\n alignSelf: 'stretch',\n flexDirection: 'row',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.colorBorderSecondary}`,\n },\n [scope('grid-path-name')]: {\n color: token.colorText,\n fontSize: token.fontSizeSM,\n fontWeight: 400,\n fontFamily: token.fontFamily,\n },\n [scope('grid-see-details')]: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: '0.4375rem',\n paddingRight: '0.4375rem',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.Button?.defaultBorderColor}`,\n background: token.Button?.defaultBg,\n boxShadow: `0 2px 0 0 rgba(0, 0, 0, 0.02)`,\n width: '100%',\n height: '1.5rem',\n },\n }))\n\n const { selectNodeByKey } = useNodeSelection()\n\n const handleOpenEndPointView = () => {\n selectNodeByKey(api.id)\n }\n\n const TooltippedText = ({ text }: { text: string }) => {\n const limitation = viewStyle == 'grid' ? 15 : 36\n if (text.length < limitation) {\n return text\n }\n\n return (\n <Tooltip title={text} placement=\"bottomLeft\">\n {text.substring(0, limitation)}...\n </Tooltip>\n )\n }\n\n const MethodChip = ({ method }: { method: string }) => {\n const { bg, color }: { bg: string; color: string } =\n methodColors[method.toUpperCase() as keyof typeof methodColors]\n return (\n <div className={cx('method-chip')} style={{ color, backgroundColor: bg }}>\n <Title color={color} className={cx('chip-title')} level={5}>\n {method}\n </Title>\n </div>\n )\n }\n\n if (viewStyle == 'list') {\n return wrapSSR(\n <Flex vertical>\n <Flex justify=\"space-between\" align=\"center\" className={cx('list-container')}>\n <Flex gap={token.marginSM}>\n <MethodChip method={api.method} />\n <Title className={cx('list-title')} level={4}>\n <TooltippedText text={api?.summary || 'Endpoint Name'} />\n </Title>\n </Flex>\n <Button color={'default'} className={cx('list-see-details')} onClick={handleOpenEndPointView}>\n See Details\n </Button>\n </Flex>\n <div className={cx('list-content')}>\n <LinkIcon />\n <Text className={cx('path-name')}>{api?.path}</Text>\n </div>\n <Divider style={{ marginTop: '0.75rem', marginBottom: '0.25rem' }} />\n </Flex>\n )\n }\n\n return wrapSSR(\n <Card className={cx('grid-card')}>\n <Flex vertical gap={token.marginSM}>\n <MethodChip method={api?.method} />\n <Title className={cx('grid-title')} level={4}>\n <TooltippedText text={api?.summary || 'Endpoint Name'} />\n </Title>\n <div className={cx('grid-content')}>\n <LinkIcon />\n <Text className={cx('grid-path-name')}>{api?.path}</Text>\n </div>\n <Button className={cx('grid-see-details')} onClick={handleOpenEndPointView}>\n See Details\n </Button>\n </Flex>\n </Card>\n )\n}\n\nexport default ApiCard\n","export const handleStatusColor = (code: number): string => {\n if (code >= 200 && code < 300) {\n return 'green' // 2xx codes\n } else if (code >= 400 && code < 500) {\n return 'red' // 4xx codes\n } else if (code >= 500 && code < 600) {\n return 'red' // 5xx codes\n } else if (code >= 100 && code < 200) {\n return 'blue' // 1xx codes (Informational)\n } else if (code >= 300 && code < 400) {\n return 'orange' // 3xx codes (Redirection)\n } else {\n return 'gray' // Default or invalid status codes\n }\n}\n\nexport const copyToClipboard = async (text: string) => {\n try {\n await navigator.clipboard.writeText(text)\n return;\n } catch (err) {\n return err\n }\n}\n","'use client'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { Button, Divider, Flex, Radio, RadioChangeEvent, Select, Tag, Tooltip } from 'antd'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\nimport { InfoCircleOutlined, LockOutlined } from '@ant-design/icons'\nimport GridIcon from '@/assets/grid.svg'\nimport ListIcon from '@/assets/list.svg'\nimport CopyIcon from '@/assets/copy.svg'\nimport useStore from '@/store'\nimport { EndpointData, OverviewData } from '@/view/entities'\nimport ApiCard from './components/ApiCard'\nimport { useEffect, useState } from 'react'\nimport { copyToClipboard } from '@/utils'\n\nexport const APIPage = () => {\n const [selectedUrl, setSelectedUrl] = useState<string>('')\n const [copying, setCopying] = useState(false)\n const {\n view: { selectedApi, transformedData, setSelectedApi, setFocusedContent, setSelectedNodeKey },\n } = useStore()\n const [viewStyle, setViewStyle] = useState<'grid' | 'list'>('grid')\n const { wrapSSR, cx, token } = useStyle('DocumentationApiPage', () => ({}))\n\n const currentVersion = selectedApi?.relatedVersions?.find(\n (v) => v.apiId === selectedApi?.currentVersion\n )\n\n const handleVersionChanged = (value: string) => {\n console.log('new value ', value)\n const apiByVersion = transformedData?.find((item) => item.currentVersion === value)\n if (apiByVersion) {\n setSelectedApi(apiByVersion)\n setFocusedContent('API')\n setSelectedNodeKey(apiByVersion.id)\n }\n }\n\n useEffect(() => {\n if (selectedApi?.servers && !selectedUrl) {\n setSelectedUrl(selectedApi?.servers?.[0].url)\n }\n }, [selectedApi?.servers])\n\n const handleCopyUrl = async () => {\n setCopying(true)\n await copyToClipboard(selectedUrl)\n setTimeout(() => {\n setCopying(false)\n }, 700)\n }\n\n const APIsRenderer = ({\n apis,\n withTitle,\n tagName,\n haveUnderLine,\n }: {\n apis: OverviewData['tags']['default']\n withTitle?: boolean\n tagName?: string\n haveUnderLine?: boolean\n }) => {\n return (\n <Flex\n gap={viewStyle == 'grid' ? token.marginXS : 0}\n style={{ marginBottom: 0, paddingBottom: 0 }}\n vertical\n >\n {withTitle && (\n <Title style={{ marginBottom: 0 }} level={4}>\n {tagName}\n </Title>\n )}\n <Flex wrap={'wrap'} gap={viewStyle == 'grid' ? '1.5rem' : 0} vertical={viewStyle == 'list'}>\n {apis.map((item) => (\n <ApiCard api={item} viewStyle={viewStyle} />\n ))}\n </Flex>\n {haveUnderLine && (\n <Divider style={{ marginTop: token.marginSM, marginBottom: token.marginSM }} />\n )}\n </Flex>\n )\n }\n\n return wrapSSR(\n <Flex vertical gap={token.margin}>\n <Title className={cx('container')} level={4}>\n {selectedApi?.title}\n </Title>\n <Flex>\n {selectedApi?.authType && (\n <Tooltip title=\"Authenticator Type\" placement=\"bottomLeft\">\n <Tag\n style={{\n minWidth: '3.9375rem',\n width: 'max-content',\n height: '2rem',\n background: '#fff',\n borderRadius: token.borderRadiusSM,\n paddingTop: '0.0625rem',\n paddingBottom: '0.0625rem',\n paddingRight: token.paddingContentHorizontalSM,\n paddingLeft: token.paddingContentHorizontalSM,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n icon={<LockOutlined />}\n >\n {selectedApi?.authType?.replace(/_/g, ' ')}\n </Tag>\n </Tooltip>\n )}\n {selectedApi?.authType && <Divider style={{ height: '2rem' }} type=\"vertical\" />}\n <Select\n size=\"middle\"\n prefix={\n <Tooltip title={'API Version'} placement=\"bottom\">\n <InfoCircleOutlined />\n </Tooltip>\n }\n value={currentVersion?.apiId}\n onChange={handleVersionChanged}\n style={{\n minWidth: '6.1875rem',\n width: 'max-content',\n display: 'flex',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n paddingLeft: '0.5rem',\n paddingRight: '0.5rem',\n }}\n placeholder=\"Version\"\n options={selectedApi?.relatedVersions?.map((item) => ({\n label: item.version,\n value: item.apiId,\n }))}\n showSearch={false}\n />\n <Divider\n style={{\n height: '2rem',\n }}\n type=\"vertical\"\n />\n <Select\n size=\"middle\"\n prefix={\n <Tooltip title={'URL'} placement=\"bottom\">\n <InfoCircleOutlined />\n </Tooltip>\n }\n value={selectedApi?.servers?.[0]?.url}\n onChange={setSelectedUrl}\n style={{\n width: '24.75rem',\n display: 'flex',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n paddingLeft: '0.5rem',\n }}\n placeholder=\"API URLs\"\n options={selectedApi?.servers?.map((server) => ({\n label: server?.url,\n value: server?.url,\n }))}\n showSearch={false}\n />\n <Button\n color={copying ? 'green' : 'default'}\n variant={copying ? 'filled' : 'outlined'}\n icon={<CopyIcon />}\n iconPosition=\"end\"\n style={{ marginLeft: '0.69rem' }}\n onClick={handleCopyUrl}\n >\n {!copying ? 'Copy' : 'Copied'}\n </Button>\n\n <Radio.Group\n style={{ marginLeft: 'auto', display: 'flex' }}\n optionType=\"button\"\n buttonStyle=\"outline\"\n defaultValue={viewStyle}\n onChange={(e: RadioChangeEvent) => {\n setViewStyle(e.target.value)\n }}\n >\n <Radio.Button value=\"grid\" style={{ display: 'flex', alignItems: 'center' }}>\n <GridIcon />\n </Radio.Button>\n <Radio.Button value=\"list\" style={{ display: 'flex', alignItems: 'center' }}>\n <ListIcon />\n </Radio.Button>\n </Radio.Group>\n </Flex>\n {selectedApi?.description && (\n <Text\n style={{\n fontFamily: token.fontFamily,\n fontWeight: 400,\n fontSize: token.fontSizeLG,\n color: `rgba(0,0,0, 0.45)`,\n }}\n >\n {selectedApi?.description}\n </Text>\n )}\n {Object.keys((selectedApi?.tags || {}) as Object)\n .sort((a, b) => {\n if (a.toLowerCase() === 'default') return 1 // put 'default' last\n if (b.toLowerCase() === 'default') return -1\n return 0\n })\n .map((key, index) => {\n if (\n key.toLowerCase() == 'default' &&\n Object.keys(selectedApi?.tags as Object).length <= 1\n ) {\n // return without title\n return <APIsRenderer apis={selectedApi?.tags[key] as EndpointData[]} tagName={key} withTitle={false} />\n }\n return (\n <APIsRenderer\n apis={selectedApi?.tags[key] as EndpointData[]}\n tagName={key}\n withTitle={true}\n haveUnderLine={index < Object.keys((selectedApi?.tags || {}) as Object).length - 1}\n />\n )\n })}\n </Flex>\n )\n}\n","'use client'\nimport React, { useState } from 'react'\nimport { Typography, Table, Tag, Card, Select, Breadcrumb, Button, Tabs, Tooltip } from 'antd'\nimport { AntdRegistry } from '@ant-design/nextjs-registry'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { LeftOutlined } from '@ant-design/icons'\nimport useStore from '@/store'\nimport { methodColors } from '@/view/helper'\nimport CopyOutlined from '@/assets/copy.svg'\nimport { handleStatusColor } from '@/utils'\n\nconst { Title, Paragraph } = Typography\n\n// Table column definitions\nconst requestColumns = [\n { title: 'Parameter', dataIndex: 'param', key: 'param' },\n { title: 'Description', dataIndex: 'desc', key: 'desc' },\n { title: 'Enum', dataIndex: 'enum', key: 'enum' },\n]\n\nconst responseColumns = [...requestColumns]\n\n// Helper to build table rows from OpenAPI params\nconst buildRequestData = (params: any[]) =>\n params.map((p, index) => ({\n key: index,\n param: (\n <span>\n {p.name}\n {p.schema?.type && (\n <span\n style={{ color: 'rgba(0,0,0,0.45)', marginLeft: '0.25rem', marginRight: '0.25rem' }}\n >\n {p.schema.type}\n </span>\n )}\n {p.required ? (\n <span style={{ color: 'red' }}>*</span>\n ) : (\n <span style={{ color: '#52C41A' }}>Optional</span>\n )}\n </span>\n ),\n desc: p.description || '-',\n enum: p.schema?.enum ? p.schema.enum.map((e: string) => <Tag key={e}>{e}</Tag>) : '--',\n }))\n\n// Build response rows from headers\nconst buildHeaderData = (headers: any) => {\n if (!headers) return []\n return Object.entries(headers).map(([name, header]: any, idx) => ({\n key: idx,\n param: (\n <span>\n {name}\n {header.schema?.type && (\n <span\n style={{ color: 'rgba(0,0,0,0.45)', marginLeft: '0.25rem', marginRight: '0.25rem' }}\n >\n {header.schema.type}\n </span>\n )}\n {header.required ? (\n <span style={{ color: 'red' }}>*</span>\n ) : (\n <span style={{ color: '#52C41A' }}>Optional</span>\n )}\n </span>\n ),\n desc: header.description || '-',\n enum: header.schema?.enum\n ? header.schema.enum.map((e: string) => <Tag key={e}>{e}</Tag>)\n : '--',\n }))\n}\n\nexport const EndpointPage: React.FC = () => {\n const {\n selectedEndpoint,\n selectedApi,\n selectedStatusCode,\n setSelectedNodeKey,\n setFocusedContent,\n } = useStore(({ view }) => view)\n const [endpointTooltip, setEndpointTooltip] = useState('Copy endpoint')\n const [selectedServer, setSelectedServer] = useState(0)\n\n const { cx } = useStyle('EndpointPage', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginLG,\n height: '100%',\n },\n [scope('content')]: {\n width: '100%',\n height: '100%',\n },\n [scope('code')]: {\n background: 'unset',\n borderRadius: token.borderRadius,\n padding: token.paddingSM,\n fontFamily: 'monospace',\n whiteSpace: 'pre-wrap',\n },\n [scope('breadcrumb')]: {\n display: 'flex',\n gap: token.marginLG,\n alignItems: 'center',\n marginBottom: token.marginLG,\n },\n }))\n\n const methodStyle = methodColors[selectedEndpoint?.method as keyof typeof methodColors]\n const headerParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'header') || []\n )\n const pathParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'path') || []\n )\n const queryParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'query') || []\n )\n type RequestTab = { key: string; label: string; children: any }\n\n const requestTabs: RequestTab[] = [\n headerParams.length > 0\n ? {\n key: 'header',\n label: 'Header',\n children: (\n <Table\n columns={requestColumns}\n dataSource={headerParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n pathParams.length > 0\n ? {\n key: 'path',\n label: 'Path',\n children: (\n <Table\n columns={requestColumns}\n dataSource={pathParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n queryParams.length > 0\n ? {\n key: 'query',\n label: 'Query',\n children: (\n <Table\n columns={requestColumns}\n dataSource={queryParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n ].filter((t): t is RequestTab => t !== null)\n\n const responseObj = selectedEndpoint?.responses?.[selectedStatusCode || 200]\n const responseHeaders = responseObj?.headers\n\n const responseHeaderData = buildHeaderData(responseHeaders)\n\n const serverOptions =\n selectedApi?.servers?.map((server: any, index: number) => ({\n value: index,\n label: `${server.url}${selectedEndpoint?.path || ''}`,\n })) || []\n\n const getFullEndpointUrl = () => {\n if (!selectedApi?.servers || !selectedApi.servers[selectedServer]) return ''\n\n const server = selectedApi.servers[selectedServer]\n return `${server.url}${selectedEndpoint?.path || ''}`\n }\n\n return (\n <AntdRegistry>\n <div className={cx('container')}>\n {/* Main Content */}\n <div className={cx('content')}>\n {/* Header */}\n <div className={cx('breadcrumb')}>\n <Button\n color=\"default\"\n variant=\"outlined\"\n icon={<LeftOutlined />}\n onClick={(e) => {\n e.preventDefault()\n setSelectedNodeKey(selectedApi?.id as string)\n setFocusedContent('API')\n }}\n ></Button>\n\n <Breadcrumb\n items={[\n {\n href: '',\n title: <span>{selectedApi?.title || 'API Name'}</span>,\n onClick: (e) => {\n e.preventDefault()\n setSelectedNodeKey(selectedApi?.id as string)\n setFocusedContent('API')\n },\n },\n {\n title: (\n <p\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n color: 'rgba(0,0,0,0.45)',\n gap: '0.25rem',\n }}\n >\n <span>{selectedEndpoint?.tagName || 'default'}</span>\n </p>\n ),\n },\n {\n title: <span>{selectedEndpoint?.summary || 'Endpoint Name'}</span>,\n },\n ]}\n />\n </div>\n <Title level={3}>{selectedEndpoint?.summary}</Title>\n <Paragraph>\n <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n <Select\n value={selectedServer}\n style={{ width: '100%' }}\n onChange={(value) => setSelectedServer(value)}\n prefix={\n <Tag\n style={{\n backgroundColor: methodStyle?.bg,\n color: methodStyle?.color,\n border: 'none',\n }}\n >\n {selectedEndpoint?.method}\n </Tag>\n }\n options={serverOptions}\n />\n <Tooltip title={endpointTooltip}>\n <Button\n color=\"default\"\n variant=\"outlined\"\n onClick={() => {\n const fullUrl = getFullEndpointUrl()\n if (fullUrl) {\n navigator.clipboard.writeText(fullUrl)\n setEndpointTooltip('Copied!')\n setTimeout(() => setEndpointTooltip('Copy endpoint'), 1500)\n }\n }}\n icon={<CopyOutlined />}\n />\n </Tooltip>\n </div>\n </Paragraph>\n <Paragraph style={{ color: 'rgba(0,0,0,0.45)', marginBottom: '1.5rem' }}>\n {selectedEndpoint?.description}\n </Paragraph>\n\n {/* Request Section */}\n {requestTabs.length > 0 && (\n <Card title=\"Request\" style={{ marginBottom: '1.5rem' }}>\n <Tabs defaultActiveKey={requestTabs[0].key} items={requestTabs} />\n </Card>\n )}\n\n {/* Response Section */}\n {responseHeaderData.length > 0 && (\n <Card\n title=\"Response\"\n extra={\n <Tag>\n <span\n style={{\n background: handleStatusColor(selectedStatusCode as number),\n borderRadius: '50%',\n display: 'inline-block',\n width: '0.5rem',\n height: '0.5rem',\n marginRight: '0.5rem',\n }}\n ></span>\n <span>{selectedStatusCode}</span>\n </Tag>\n }\n >\n {responseHeaderData.length > 0 && (\n <Table\n columns={responseColumns}\n dataSource={responseHeaderData}\n pagination={false}\n bordered\n size=\"small\"\n />\n )}\n </Card>\n )}\n </div>\n </div>\n </AntdRegistry>\n )\n}\n","<svg width=\"298\" height=\"237\" viewBox=\"0 0 298 237\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M174.518 86.3532C156.105 86.4631 137.407 85.6054 119.917 80.7451C102.427 75.8848 86.959 66.714 72.8969 56.0037C63.6906 49.0321 55.3192 43.4901 43.3664 44.3258C31.6796 44.9406 20.5009 49.3051 11.485 56.7734C-3.71966 70.1008 -1.4126 94.7323 4.65169 112.062C13.7921 138.167 41.6087 156.289 65.2286 168.099C92.5399 181.756 122.532 189.695 152.611 194.248C178.978 198.25 212.837 201.175 235.666 183.933C256.649 168.121 262.406 131.965 257.264 107.554C256.013 100.344 252.177 93.8378 246.476 89.2562C231.733 78.4799 209.761 85.6714 193.194 86.0453C187.152 86.1772 180.802 86.3312 174.518 86.3532Z\" fill=\"#F1F5FD\"/>\n<path d=\"M84.7393 1V10.4567\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M80.0156 5.72852H89.4636\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M263.987 189.496V198.953\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M259.264 194.225H268.712\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M13.3525 148.656C14.5417 148.656 15.5057 147.691 15.5057 146.501C15.5057 145.311 14.5417 144.346 13.3525 144.346C12.1633 144.346 11.1992 145.311 11.1992 146.501C11.1992 147.691 12.1633 148.656 13.3525 148.656Z\" fill=\"#E0E9F9\"/>\n<path d=\"M196.687 10.7636C197.877 10.7636 198.841 9.79869 198.841 8.60838C198.841 7.41807 197.877 6.45312 196.687 6.45312C195.498 6.45312 194.534 7.41807 194.534 8.60838C194.534 9.79869 195.498 10.7636 196.687 10.7636Z\" fill=\"#E0E9F9\"/>\n<path d=\"M137.011 236.999C181.546 236.999 217.649 234.754 217.649 231.985C217.649 229.216 181.546 226.971 137.011 226.971C92.4766 226.971 56.374 229.216 56.374 231.985C56.374 234.754 92.4766 236.999 137.011 236.999Z\" fill=\"#F1F5FD\"/>\n<path d=\"M74.8962 26.6875H192.007C194.921 26.6875 197.715 27.846 199.776 29.9082C201.836 31.9704 202.993 34.7673 202.993 37.6837V177.137C202.993 180.054 201.836 182.851 199.776 184.913C197.715 186.975 194.921 188.133 192.007 188.133H59.8893C56.9757 188.133 54.1813 186.975 52.1211 184.913C50.0608 182.851 48.9033 180.054 48.9033 177.137V52.9684L74.8962 26.6875Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M202.465 94.6445H81.707V189.476H202.465V94.6445Z\" fill=\"#F1F5FD\"/>\n<path d=\"M48.9033 52.9684H70.1942C71.4433 52.9626 72.6392 52.4618 73.5204 51.5757C74.4016 50.6896 74.8963 49.4902 74.8962 48.24V26.6875L48.9033 52.9684Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M201.873 64.3594H82.4329C77.7852 64.3594 74.0176 68.1305 74.0176 72.7824V98.3596C74.0176 103.011 77.7852 106.783 82.4329 106.783H201.873C206.521 106.783 210.288 103.011 210.288 98.3596V72.7824C210.288 68.1305 206.521 64.3594 201.873 64.3594Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 92.9721C101.273 92.9721 104.558 89.6835 104.558 85.6267C104.558 81.5699 101.273 78.2812 97.2195 78.2812C93.1665 78.2812 89.8809 81.5699 89.8809 85.6267C89.8809 89.6835 93.1665 92.9721 97.2195 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 92.9721C124.344 92.9721 127.629 89.6835 127.629 85.6267C127.629 81.5699 124.344 78.2812 120.291 78.2812C116.238 78.2812 112.952 81.5699 112.952 85.6267C112.952 89.6835 116.238 92.9721 120.291 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 92.9721C147.392 92.9721 150.677 89.6835 150.677 85.6267C150.677 81.5699 147.392 78.2812 143.339 78.2812C139.286 78.2812 136 81.5699 136 85.6267C136 89.6835 139.286 92.9721 143.339 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M201.873 111.379H82.4329C77.7852 111.379 74.0176 115.15 74.0176 119.802V145.379C74.0176 150.031 77.7852 153.802 82.4329 153.802H201.873C206.521 153.802 210.288 150.031 210.288 145.379V119.802C210.288 115.15 206.521 111.379 201.873 111.379Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 140.013C101.273 140.013 104.558 136.724 104.558 132.668C104.558 128.611 101.273 125.322 97.2195 125.322C93.1665 125.322 89.8809 128.611 89.8809 132.668C89.8809 136.724 93.1665 140.013 97.2195 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 140.013C124.344 140.013 127.629 136.724 127.629 132.668C127.629 128.611 124.344 125.322 120.291 125.322C116.238 125.322 112.952 128.611 112.952 132.668C112.952 136.724 116.238 140.013 120.291 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 140.013C147.392 140.013 150.677 136.724 150.677 132.668C150.677 128.611 147.392 125.322 143.339 125.322C139.286 125.322 136 128.611 136 132.668C136 136.724 139.286 140.013 143.339 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M201.873 158.422H82.4329C77.7852 158.422 74.0176 162.193 74.0176 166.845V192.422C74.0176 197.074 77.7852 200.845 82.4329 200.845H201.873C206.521 200.845 210.288 197.074 210.288 192.422V166.845C210.288 162.193 206.521 158.422 201.873 158.422Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 187.033C101.273 187.033 104.558 183.744 104.558 179.687C104.558 175.63 101.273 172.342 97.2195 172.342C93.1665 172.342 89.8809 175.63 89.8809 179.687C89.8809 183.744 93.1665 187.033 97.2195 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 187.033C124.344 187.033 127.629 183.744 127.629 179.687C127.629 175.63 124.344 172.342 120.291 172.342C116.238 172.342 112.952 175.63 112.952 179.687C112.952 183.744 116.238 187.033 120.291 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 187.033C147.392 187.033 150.677 183.744 150.677 179.687C150.677 175.63 147.392 172.342 143.339 172.342C139.286 172.342 136 175.63 136 179.687C136 183.744 139.286 187.033 143.339 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M212.924 118.483C238.08 118.483 258.472 98.0716 258.472 72.8929C258.472 47.7141 238.08 27.3027 212.924 27.3027C187.769 27.3027 167.376 47.7141 167.376 72.8929C167.376 98.0716 187.769 118.483 212.924 118.483Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M213.451 99.8784C228.049 99.8784 239.883 88.0333 239.883 73.4216C239.883 58.8099 228.049 46.9648 213.451 46.9648C198.853 46.9648 187.019 58.8099 187.019 73.4216C187.019 88.0333 198.853 99.8784 213.451 99.8784Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M199.385 59.3203C199.937 60.4696 227.517 87.5011 227.517 87.5011L199.385 59.3203Z\" fill=\"white\"/>\n<path d=\"M199.385 59.3203C199.937 60.4696 227.517 87.5011 227.517 87.5011\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M227.517 59.3203C226.943 60.4696 199.385 87.5011 199.385 87.5011L227.517 59.3203Z\" fill=\"white\"/>\n<path d=\"M227.517 59.3203C226.943 60.4696 199.385 87.5011 199.385 87.5011\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","'use client'\nimport React from 'react'\nimport { useStyle } from '../../hooks/useStyle'\nimport { APIPage } from './ApiPage'\nimport { EndpointPage } from './EndpointPage/EndpointPage'\nimport useStore from '@/store'\nimport { Flex } from 'antd'\nimport EmptyImg from '@/assets/NoData.svg'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\n\nexport const MainContent: React.FC = () => {\n const { focusedContent, transformedData } = useStore(({ view }) => view)\n const { wrapSSR, cx } = useStyle('MainContent', (token, scope) => ({\n [scope('container')]: {\n backgroundColor: token.colorBgContainer,\n height: '100%',\n width: '100%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRadius: token.borderRadius,\n padding: token.paddingXL,\n },\n [scope('centered')]: {\n display: 'flex',\n justifyContent: 'center',\n },\n [scope('no-space')]: {\n margin: 0,\n padding: 0,\n },\n [scope('title')]: {\n fontFamily: token.fontFamily,\n fontWeight: 600,\n fontSize: token.fontSizeHeading4,\n color: 'rgba(0, 0, 0, 0.88)',\n },\n [scope('text')]: {\n color: 'rgba(0, 0, 0, 0.88)',\n fontFamily: token.fontFamily,\n },\n }))\n\n return wrapSSR(\n <div className={cx('container', !transformedData?.length ? 'centered' : '')}>\n {!transformedData?.length ? (\n <Flex justify=\"center\" align=\"center\" gap={'1.5rem'} vertical flex={1}>\n <EmptyImg width={'18.625rem'} height={'14.75rem'} />\n <Flex justify=\"center\" align=\"center\" gap={'0.5rem'} vertical>\n <Title className={cx('no-space', 'title')} level={4}>\n No API Documentation Found\n </Title>\n <Text className={cx('no-space', 'text')}>\n No API Documentation has been added yet. Contact admin for support\n </Text>\n </Flex>\n </Flex>\n ) : focusedContent === 'ENDPOINT' ? (\n <EndpointPage />\n ) : (\n <APIPage />\n )}\n </div>\n )\n}\n","import { HTTPMethod, OpenAPIFile } from '@/types/OpenApi'\nimport { OverviewData, EndpointData } from '../entities'\nimport { nanoid } from 'nanoid'\n\nexport const transformOpenApiToDocs = (api: OpenAPIFile): OverviewData => {\n const groupedPathsByTags: Record<string, EndpointData[]> = { default: [] }\n const validTags = new Set(api?.tags?.map(({ name }) => name) || [])\n const contextPath = Object.keys(api.paths)[0]\n const relatedVersions =\n 'x-related-versions' in api\n ? Object.entries(api['x-related-versions']).map(([apiId, version]) => ({ apiId, version }))\n : []\n const currentVersion: string =\n 'x-current-version' in api ? (api['x-current-version'] as string) : ''\n const authType: string = 'x-auth-type' in api ? (api['x-auth-type'] as string) : ''\n\n for (const [path, methods] of Object.entries(api.paths)) {\n for (const [method, methodData] of Object.entries(methods)) {\n const entry = { ...methodData, method: method?.toUpperCase() as HTTPMethod, path }\n const resourceTags = methodData.tags ?? []\n\n const matchedTags = resourceTags.filter((tag) => validTags.has(tag))\n\n if (matchedTags.length > 0) {\n matchedTags.forEach((tag) => {\n if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []\n groupedPathsByTags[tag].push({ ...entry, id: `endpoint-${nanoid(8)}` } as EndpointData)\n })\n } else {\n groupedPathsByTags.default.push({ ...entry, id: `endpoint-${nanoid(8)}` } as EndpointData)\n }\n }\n }\n\n return {\n ...api.info,\n id: `api-${nanoid(8)}`, // api prefix is used to identify what state should be changes (API | Endpoint)\n contextPath,\n tags: groupedPathsByTags,\n servers: api.servers,\n relatedVersions,\n currentVersion,\n authType,\n }\n}\n","import { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport './style.css'\n\nSyntaxHighlighter.registerLanguage('json', json)\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className=\"codebox\">\n <div className=\"codebox_header\">\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className=\"codebox_header_themeToggle codebox_header_themeToggle_light\"\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className=\"codebox_header_themeToggle codebox_header_themeToggle_dark\"\n title=\"Dark theme\"\n ></div>\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n minHeight: '3rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0.75rem 1.5rem',\n backgroundColor: theme === 'DARK' ? '#20264B' : '#20264B',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n","import useStore from '@/store'\nimport { handleStatusColor } from '@/utils'\nimport { CopyOutlined } from '@ant-design/icons'\nimport { Button, Card, Select, Tooltip } from 'antd'\nimport { useMemo, useState } from 'react'\nimport Codebox from './EndpointPage/Codebox/Codebox'\nimport { useStyle } from '@/hooks/useStyle'\nimport { token as tokens } from '@/theme/light.json'\n\nfunction CodeboxSidebar() {\n const { selectedEndpoint, selectedStatusCode, statusCodeOptions, setSelectedStatusCode } =\n useStore(({ view }) => view)\n const httpStatusOptions = useMemo(\n () =>\n statusCodeOptions.map((code) => ({\n value: code,\n label: <span>{code}</span>,\n })),\n [statusCodeOptions]\n )\n const [requestTooltip, setRequestTooltip] = useState('Copy Request')\n\n const { cx } = useStyle('CodeboxSidebar', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginMD,\n background: token.colorBgContainer,\n borderRadius: token.borderRadiusLG,\n padding: token.paddingLG,\n overflow: 'hidden',\n height: '100%',\n width: '23.625rem',\n minWidth: '23.625rem',\n '.ant-card-body': { padding: 0 },\n '.ant-card-head-title': { color: 'white' },\n '.ant-card-head': { borderBottom: '2px solid #33419A' },\n },\n\n [scope('rightCard')]: {\n flex: '0 1 auto',\n maxHeight: '50%',\n overflowY: 'auto',\n backgroundColor: '#20264B',\n },\n\n [scope('rightCardFlex')]: {\n overflowY: 'auto',\n backgroundColor: '#20264B',\n },\n\n [scope('customSelect')]: {\n '.ant-select-selector': {\n backgroundColor: `${tokens['brnadColor.9']} `,\n borderColor: `${tokens['brnadColor.9']}`,\n borderRadius: '6px',\n color: 'white',\n },\n '.ant-select-selection-item': {\n color: 'white',\n },\n '.ant-select-selection-placeholder': {\n color: 'rgba(255, 255, 255, 0.65)',\n },\n '.ant-select-arrow': {\n color: 'white',\n },\n '&:hover .ant-select-selector': {\n borderColor: `${tokens['brnadColor.7']}`,\n color: 'white',\n },\n '&:focus .ant-select-selector, &.ant-select-focused .ant-select-selector': {\n borderColor: `${tokens['brnadColor.7']}`,\n color: 'white',\n },\n },\n }))\n return (\n <div className={cx('container')}>\n {/* Request codebox */}\n {selectedEndpoint?.requestBody && (\n <Card\n title=\"Request\"\n variant=\"borderless\"\n className={cx('rightCard')}\n extra={\n <Tooltip title={requestTooltip}>\n <Button\n color=\"default\"\n variant=\"link\"\n onClick={() => {\n if (selectedEndpoint?.requestBody) {\n navigator.clipboard.writeText(\n JSON.stringify(selectedEndpoint.requestBody, null, 2)\n )\n setRequestTooltip('Copied!')\n setTimeout(() => setRequestTooltip('Copy Request'), 1500)\n }\n }}\n icon={<CopyOutlined style={{ color: 'white' }} />}\n />\n </Tooltip>\n }\n style={{ padding: 0, border: 'none' }}\n >\n <Codebox code={JSON.stringify(selectedEndpoint?.requestBody, null, 2) || ''} />\n </Card>\n )}\n {/* Response codebox */}\n {selectedEndpoint?.responses && (\n <Card\n title=\"Response\"\n variant=\"borderless\"\n className={cx('rightCardFlex')}\n extra={\n <Select\n defaultActiveFirstOption={true}\n defaultValue={200}\n className={cx('customSelect')}\n style={{\n width: '100%',\n }}\n value={selectedStatusCode}\n onChange={setSelectedStatusCode}\n prefix={\n <span\n style={{\n background: handleStatusColor(selectedStatusCode as number),\n borderRadius: '50%',\n display: 'inline-block',\n width: '0.5rem',\n height: '0.5rem',\n marginRight: '0.5rem',\n }}\n ></span>\n }\n options={httpStatusOptions}\n />\n }\n >\n <Codebox\n code={\n JSON.stringify(selectedEndpoint?.responses[selectedStatusCode as number], null, 2) ||\n ''\n }\n />\n </Card>\n )}\n </div>\n )\n}\n\nexport default CodeboxSidebar\n","'use client'\nimport { Header, Sidebar, MainContent } from './components'\nimport { AntdRegistry } from '@ant-design/nextjs-registry'\nimport { useStyle } from '../hooks/useStyle'\nimport { useNodeSelection } from '../hooks/useNodeSelection'\nimport { OpenAPIFile } from '@/types/OpenApi'\nimport { useEffect, useRef } from 'react'\nimport useStore from '@/store'\nimport { transformOpenApiToDocs } from './helper/mutate'\nimport { buildTreeDataStructure } from './helper'\nimport CodeboxSidebar from './components/CodeboxSidebar'\n\nexport const DocumentationLayout = ({ data }: { data: OpenAPIFile[] }) => {\n const {\n focusedContent,\n selectedNodeKey,\n selectedApi,\n builtTreeData,\n setOriginalData,\n setTransformedData,\n setBuiltTreeData,\n } = useStore(({ view }) => view)\n const { selectFirstApi } = useNodeSelection()\n const hasInitializedRef = useRef(false)\n\n useEffect(() => {\n // Initialize original data\n setOriginalData(data)\n // Transform data to documentation format\n const transformedData = data\n .map(transformOpenApiToDocs)\n .sort((a, b) => a.title.localeCompare(b.title))\n setTransformedData(transformedData)\n\n // Build tree data structure\n const builtTree = buildTreeDataStructure(transformedData)\n setBuiltTreeData(builtTree)\n\n // Reset initialization flag when new data arrives\n hasInitializedRef.current = false\n }, [data, setOriginalData, setTransformedData, setBuiltTreeData])\n\n // Auto-select the first API when tree data is available\n useEffect(() => {\n if (\n builtTreeData &&\n builtTreeData.length > 0 &&\n !selectedNodeKey &&\n !selectedApi &&\n !hasInitializedRef.current\n ) {\n selectFirstApi(builtTreeData)\n hasInitializedRef.current = true\n }\n }, [builtTreeData, selectedNodeKey, selectedApi, selectFirstApi])\n\n const { cx } = useStyle('DocumentationLayout', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginLG,\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n },\n [scope('layout')]: {\n display: 'flex',\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n gap: token.marginLG,\n width: '100%',\n },\n }))\n return (\n <AntdRegistry>\n <div className={cx('container')}>\n <Header />\n <div className={cx('layout')}>\n <Sidebar />\n <MainContent />\n {focusedContent === 'ENDPOINT' && <CodeboxSidebar />}\n </div>\n </div>\n </AntdRegistry>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["antdTheme","token","Layout","Header: React.FC","token","Flex","Typography","Radio","Tooltip","keys: string[]","token","Typography","EndpointItem: React.FC<EndpointItemProps>","Tag","Text","title: React.ReactNode","Layout","Sidebar: React.FC","Input","Button","Minify","Tree","Flex","token","EmptyImg","Text","token","Tooltip","Title","Flex","Button","LinkIcon","Text","Divider","Card","useStore","Flex","token","Title","ApiCard","Divider","Tooltip","Tag","LockOutlined","Select","InfoCircleOutlined","Button","CopyIcon","Radio","GridIcon","ListIcon","Text","Typography","Tag","EndpointPage: React.FC","useStore","token","requestTabs: RequestTab[]","Table","AntdRegistry","Button","LeftOutlined","Breadcrumb","Title","Select","Tooltip","CopyOutlined","Card","Tabs","MainContent: React.FC","useStore","token","Flex","EmptyImg","Title","Text","groupedPathsByTags: Record<string, EndpointData[]>","currentVersion: string","authType: string","SyntaxHighlighter","json","hljs","useStore","token","tokens","Card","Tooltip","Button","CopyOutlined","Codebox","Select","useStore","token","AntdRegistry","CodeboxSidebar"],"sources":["../src/store/slices/view.ts","../src/store/slices/editor.ts","../src/store/index.ts","../src/hooks/useStyle.ts","../src/view/components/Header/Header.tsx","../src/theme/light.json","../src/view/helper/sidebar.utils.ts","../src/view/helper/sidebar.components.tsx","../src/hooks/useNodeSelection.ts","../src/assets/Minify.svg","../src/assets/NoDataSM.svg","../src/view/components/Sidebar.tsx","../src/assets/grid.svg","../src/assets/list.svg","../src/assets/copy.svg","../src/assets/link.svg","../src/view/components/ApiPage/components/ApiCard.tsx","../src/utils/index.ts","../src/view/components/ApiPage/index.tsx","../src/view/components/EndpointPage/EndpointPage.tsx","../src/assets/NoData.svg","../src/view/components/MainContent.tsx","../src/view/helper/mutate.ts","../src/view/components/EndpointPage/Codebox/Codebox.tsx","../src/view/components/CodeboxSidebar.tsx","../src/view/layout.tsx"],"sourcesContent":["import { OpenAPIFile } from '@/types/OpenApi'\nimport { EndpointData, OverviewData } from '@/view/entities'\nimport { transformOpenApiToDocs } from '@/view/helper/mutate'\nimport { TreeNode } from '@/view/helper'\n\ntype SetFn = (fn: (state: ViewSlice) => void) => void\n\ntype ViewSlice = {\n view: {\n originalData: OpenAPIFile[] | null\n transformedData: ReturnType<typeof transformOpenApiToDocs>[] | null\n builtTreeData: TreeNode[] | null\n selectedNodeKey: string | null\n expandedKeys: string[]\n selectedApi: OverviewData | null\n selectedEndpoint: EndpointData | null\n focusedContent: 'API' | 'ENDPOINT'\n selectedStatusCode: number | null\n setSelectedStatusCode: (code: number | null) => void\n statusCodeOptions: number[]\n // Actions\n setSelectedNodeKey: (key: string | null) => void\n setExpandedKeys: (keys: string[]) => void\n setOriginalData: (data: OpenAPIFile[]) => void\n setSelectedApi: (api: OverviewData | null) => void\n setSelectedEndpoint: (endpoint: EndpointData | null) => void\n setTransformedData: (data: ReturnType<typeof transformOpenApiToDocs>[] | null) => void\n setBuiltTreeData: (data: TreeNode[] | null) => void\n setFocusedContent: (content: 'API' | 'ENDPOINT') => void\n setStatusCodeOptions: (options: number[]) => void\n }\n}\n\nexport const createViewSlice = (set: SetFn) => ({\n view: {\n selectedNodeKey: null,\n expandedKeys: [],\n originalData: null,\n transformedData: null,\n builtTreeData: null,\n selectedApi: undefined,\n selectedEndpoint: undefined,\n focusedContent: undefined,\n selectedStatusCode: null,\n statusCodeOptions: null,\n\n setSelectedNodeKey: (key: string | null) =>\n set((state) => {\n state.view.selectedNodeKey = key\n }),\n\n setExpandedKeys: (keys: string[]) =>\n set((state) => {\n state.view.expandedKeys = keys\n }),\n\n setOriginalData: (data: OpenAPIFile[]) =>\n set((state) => {\n state.view.originalData = data\n }),\n\n setSelectedApi: (api: OverviewData) =>\n set((state) => {\n state.view.selectedApi = api as OverviewData\n }),\n\n setSelectedEndpoint: (endpoint: EndpointData) =>\n set((state) => {\n if (endpoint) {\n const availableStatusCodes = Object.keys(endpoint?.responses)\n state.view.statusCodeOptions = availableStatusCodes.map(Number)\n state.view.selectedStatusCode = availableStatusCodes.at(0)\n ? Number(availableStatusCodes.at(0))\n : null\n }\n state.view.selectedEndpoint = endpoint\n }),\n\n setTransformedData: (data: ReturnType<typeof transformOpenApiToDocs>[] | null) =>\n set((state) => {\n state.view.transformedData = data\n }),\n\n setBuiltTreeData: (data: TreeNode[] | null) =>\n set((state) => {\n state.view.builtTreeData = data\n }),\n\n setFocusedContent: (content: 'API' | 'ENDPOINT') =>\n set((state) => {\n state.view.focusedContent = content\n }),\n\n setSelectedStatusCode: (code: number | null) =>\n set((state) => {\n state.view.selectedStatusCode = code\n }),\n } as unknown as ViewSlice['view'],\n})\n","type SetFn = (fn: (state: EditorSlice) => void) => void\n\ntype EditorSlice = {\n content: string\n isEditing: boolean\n hasUnsavedChanges: boolean\n fontSize: number\n theme: 'vs-light' | 'vs-dark'\n wordWrap: boolean\n lineNumbers: boolean\n cursorPosition: { line: number; column: number }\n}\n\nexport const createEditorSlice = (set: SetFn) => ({\n editor: {\n content: '',\n isEditing: false,\n hasUnsavedChanges: false,\n fontSize: 14,\n theme: 'vs-light' as 'vs-light' | 'vs-dark',\n wordWrap: true,\n lineNumbers: true,\n cursorPosition: { line: 1, column: 1 },\n\n setContent: (content: string) =>\n set((state) => {\n state.content = content\n state.hasUnsavedChanges = true\n }),\n\n setIsEditing: (editing: boolean) =>\n set((state) => {\n state.isEditing = editing\n }),\n\n setFontSize: (size: number) =>\n set((state) => {\n state.fontSize = Math.max(10, Math.min(24, size))\n }),\n\n setEditorTheme: (theme: 'vs-light' | 'vs-dark') =>\n set((state) => {\n state.theme = theme\n }),\n\n toggleWordWrap: () =>\n set((state) => {\n state.wordWrap = !state.wordWrap\n }),\n\n toggleLineNumbers: () =>\n set((state) => {\n state.lineNumbers = !state.lineNumbers\n }),\n\n setCursorPosition: (position: { line: number; column: number }) =>\n set((state) => {\n state.cursorPosition = position\n }),\n\n saveContent: () =>\n set((state) => {\n state.hasUnsavedChanges = false\n }),\n\n resetContent: () =>\n set((state) => {\n state.content = ''\n state.hasUnsavedChanges = false\n state.isEditing = false\n }),\n },\n})\n","import { create } from 'zustand'\nimport { devtools } from 'zustand/middleware'\nimport { immer } from 'zustand/middleware/immer'\nimport { createViewSlice } from './slices/view'\nimport { createEditorSlice } from './slices/editor'\n\ntype SetFn = (fn: (state: unknown) => void) => void\n\nconst createStore = (set: SetFn) => ({\n ...createViewSlice(set as Parameters<typeof createViewSlice>[0]),\n ...createEditorSlice(set as Parameters<typeof createEditorSlice>[0]),\n})\n\nexport const useStore = create<ReturnType<typeof createStore>>()(\n devtools(immer(createStore), {\n name: 'dgate-docs-store',\n })\n)\n\nexport type StoreState = ReturnType<typeof createStore>\nexport default useStore\n","'use client'\n\nimport { theme as antdTheme } from 'antd'\nimport { useStyleRegister } from '@ant-design/cssinjs'\nimport type { CSSObject } from '@ant-design/cssinjs'\n\nexport function useStyle(\n componentName: string,\n stylesFn: (\n token: ReturnType<typeof antdTheme.useToken>['token'],\n scope: (className: string) => string\n ) => Record<string, CSSObject>\n) {\n const { token, theme, hashId } = antdTheme.useToken()\n\n // Used in styles for full specificity:\n // → .css-dev-only-do-not-override-xxx.ComponentName-className\n const scope = (className: string) => `.${hashId}.${componentName}-${className}`\n\n // Used in JSX: className=\"ComponentName-className css-dev-only-do-not-override-xxx\"\n const cx = (...classes: string[]) =>\n classes.map((cls) => `${componentName}-${cls} ${hashId}`).join(' ')\n\n const wrapSSR = useStyleRegister(\n {\n theme,\n token,\n path: [componentName],\n },\n () => stylesFn(token, scope)\n )\n\n return { wrapSSR, cx, scope, token, hashId }\n}\n","'use client'\nimport React from 'react'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { Flex, Typography, Layout, Radio, Tooltip } from 'antd'\n\nconst { Header: AntHeader } = Layout\n\nexport const Header: React.FC = () => {\n const { wrapSSR, cx } = useStyle('Header', (token, scope) => ({\n [scope('header')]: {\n width: '100%',\n height: '4rem',\n padding: '0 !important',\n margin: '0 !important',\n background: 'url(/project-details-title-img.svg) no-repeat top',\n backgroundSize: 'cover',\n backgroundPosition: 'right',\n backgroundPositionX: '20rem',\n },\n [scope('documentation-title-container')]: {\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: token.marginLG,\n },\n [scope('projects-title')]: {\n fontSize: token.fontSizeHeading3,\n lineHeight: token.lineHeightLG,\n fontWeight: 500,\n marginBottom: token.marginXS,\n },\n [scope('description')]: {\n fontSize: token.fontSizeLG,\n fontWeight: '400',\n fontStyle: 'normal',\n lineHeight: token.lineHeightLG,\n color: token.colorText,\n },\n [scope('projects-search-input')]: { width: '28.9375rem' },\n }))\n\n return wrapSSR(\n <AntHeader className={cx('header')}>\n <Flex className={cx('documentation-title-container')}>\n <Flex vertical>\n <Typography.Title className={cx('projects-title')} level={3}>\n Documentation\n </Typography.Title>\n <Typography.Text className={cx('description')}>\n Explore and integrate with ease clear API references, guides, instructions, and\n examples, all in one place.\n </Typography.Text>\n </Flex>\n\n <Radio.Group optionType=\"button\" buttonStyle=\"outline\" defaultValue={'reference'}>\n <Radio.Button value=\"reference\" className={cx('sdb-radio')}>\n API Reference\n </Radio.Button>\n <Tooltip title={'Coming Soon'} placement='bottomRight'>\n <Radio.Button disabled={true} value=\"guide\" className={cx('prd-radio')}>\n Guide\n </Radio.Button>\n </Tooltip>\n </Radio.Group>\n </Flex>\n </AntHeader>\n )\n}\n","{\n \"token\": {\n \"brnadColor.1\": \"#f1f5fd\",\n \"brnadColor.2\": \"#e0e9f9\",\n \"brnadColor.3\": \"#c8d8f5\",\n \"brnadColor.4\": \"#a2bfee\",\n \"brnadColor.5\": \"#769de4\",\n \"brnadColor.6\": \"#4d75d9\",\n \"brnadColor.7\": \"#4261ce\",\n \"brnadColor.8\": \"#384fbd\",\n \"brnadColor.9\": \"#33419a\",\n \"brnadColor.10\": \"#20264b\",\n \"cyan.1\": \"#e6fffb\",\n \"cyan.2\": \"#b5f5ec\",\n \"cyan.3\": \"#87e8de\",\n \"cyan.4\": \"#5cdbd3\",\n \"cyan.5\": \"#36cfc9\",\n \"cyan.6\": \"#13c2c2\",\n \"cyan.7\": \"#08979c\",\n \"cyan.8\": \"#006d75\",\n \"cyan.9\": \"#00474f\",\n \"cyan.10\": \"#002329\",\n \"geekblue.1\": \"#f0f5ff\",\n \"geekblue.2\": \"#d6e4ff\",\n \"geekblue.3\": \"#adc6ff\",\n \"geekblue.4\": \"#85a5ff\",\n \"geekblue.5\": \"#597ef7\",\n \"geekblue.6\": \"#2f54eb\",\n \"geekblue.7\": \"#1d39c4\",\n \"geekblue.8\": \"#10239e\",\n \"geekblue.9\": \"#061178\",\n \"geekblue.10\": \"#030852\",\n \"gold.1\": \"#fffbe6\",\n \"gold.2\": \"#fff1b8\",\n \"gold.3\": \"#ffe58f\",\n \"gold.4\": \"#ffd666\",\n \"gold.5\": \"#ffc53d\",\n \"gold.6\": \"#faad14\",\n \"gold.7\": \"#d48806\",\n \"gold.8\": \"#ad6800\",\n \"gold.9\": \"#874d00\",\n \"gold.10\": \"#613400\",\n \"green.1\": \"#f6ffed\",\n \"green.2\": \"#d9f7be\",\n \"green.3\": \"#b7eb8f\",\n \"green.4\": \"#95de64\",\n \"green.5\": \"#73d13d\",\n \"green.6\": \"#52c41a\",\n \"green.7\": \"#389e0d\",\n \"green.8\": \"#237804\",\n \"green.9\": \"#135200\",\n \"green.10\": \"#092b00\",\n \"lime.1\": \"#fcffe6\",\n \"lime.2\": \"#f4ffb8\",\n \"lime.3\": \"#eaff8f\",\n \"lime.4\": \"#d3f261\",\n \"lime.5\": \"#bae637\",\n \"lime.6\": \"#a0d911\",\n \"lime.7\": \"#7cb305\",\n \"lime.8\": \"#5b8c00\",\n \"lime.9\": \"#3f6600\",\n \"lime.10\": \"#254000\",\n \"magenta.1\": \"#fff0f6\",\n \"magenta.2\": \"#ffd6e7\",\n \"magenta.3\": \"#ffadd2\",\n \"magenta.4\": \"#ff85c0\",\n \"magenta.5\": \"#f759ab\",\n \"magenta.6\": \"#eb2f96\",\n \"magenta.7\": \"#c41d7f\",\n \"magenta.8\": \"#9e1068\",\n \"magenta.9\": \"#780650\",\n \"magenta.10\": \"#520339\",\n \"orange.1\": \"#fff7e6\",\n \"orange.2\": \"#ffe7ba\",\n \"orange.3\": \"#ffd591\",\n \"orange.4\": \"#ffc069\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextSecondary\": \"rgba(0, 0, 0, 0.65)\",\n \"orange.5\": \"#ffa940\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"orange.6\": \"#fa8c16\",\n \"orange.7\": \"#d46b08\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"orange.8\": \"#ad4e00\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"orange.9\": \"#873800\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"orange.10\": \"#612500\",\n \"purple.1\": \"#f9f0ff\",\n \"purple.2\": \"#efdbff\",\n \"purple.3\": \"#d3adf7\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"purple.4\": \"#b37feb\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgContainer\": \"#ffffff\",\n \"purple.5\": \"#9254de\",\n \"colorBgElevated\": \"#ffffff\",\n \"purple.6\": \"#722ed1\",\n \"colorBgLayout\": \"#f5f5f5\",\n \"purple.7\": \"#531dab\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"purple.8\": \"#391085\",\n \"colorBgSpotlight\": \"rgba(0, 0, 0, 0.85)\",\n \"purple.9\": \"#22075e\",\n \"colorBorder\": \"#d9d9d9\",\n \"purple.10\": \"#120338\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"red.1\": \"#fff1f0\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"red.2\": \"#ffccc7\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillQuaternary\": \"rgba(0, 0, 0, 0.02)\",\n \"red.3\": \"#ffa39e\",\n \"red.4\": \"#ff7875\",\n \"colorWhite\": \"#ffffff\",\n \"red.5\": \"#ff4d4f\",\n \"colorBgBase\": \"#ffffff\",\n \"red.6\": \"#f5222d\",\n \"colorTextBase\": \"#000000\",\n \"red.7\": \"#cf1322\",\n \"red.8\": \"#a8071a\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"red.9\": \"#820014\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"red.10\": \"#5c0011\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"volcano.1\": \"#fff2e8\",\n \"colorBorderBg\": \"#ffffff\",\n \"volcano.2\": \"#ffd8bf\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"volcano.3\": \"#ffbb96\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"volcano.4\": \"#ff9c6e\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"volcano.5\": \"#ff7a45\",\n \"volcano.6\": \"#fa541c\",\n \"volcano.7\": \"#d4380d\",\n \"transparent\": \"rgba(0, 0, 0, 0)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"yellow.1\": \"#feffe6\",\n \"volcano.8\": \"#ad2102\",\n \"yellow.2\": \"#ffffb8\",\n \"yellow.3\": \"#fffb8f\",\n \"volcano.9\": \"#871400\",\n \"yellow.4\": \"#fff566\",\n \"volcano.10\": \"#610b00\",\n \"yellow.5\": \"#ffec3d\",\n \"yellow.6\": \"#fadb14\",\n \"yellow.7\": \"#d4b106\",\n \"yellow.8\": \"#ad8b00\",\n \"yellow.9\": \"#876800\",\n \"yellow.10\": \"#614700\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorSuccess\": \"#52c41a\",\n \"colorWarning\": \"#faad14\",\n \"colorInfo\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorErrorTextHover\": \"#ff7875\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorErrorTextActive\": \"#d9363e\",\n \"colorLinkHover\": \"#769de4\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorInfoBgHover\": \"#e0e9f9\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBorderHover\": \"#a2bfee\",\n \"colorInfoHover\": \"#769de4\",\n \"colorInfoActive\": \"#4261ce\",\n \"colorInfoTextHover\": \"#769de4\",\n \"colorInfoText\": \"#4d75d9\",\n \"colorInfoTextActive\": \"#4261ce\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorPrimaryBg\": \"#f1f5fd\",\n \"colorPrimaryBgHover\": \"#e0e9f9\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimaryTextHover\": \"#769de4\",\n \"colorPrimaryText\": \"#4d75d9\",\n \"colorPrimaryTextActive\": \"#4261ce\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorSuccessBgHover\": \"#d9f7be\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBorderHover\": \"#95de64\",\n \"colorSuccessHover\": \"#95de64\",\n \"colorSuccessActive\": \"#389e0d\",\n \"colorSuccessTextHover\": \"#73d13d\",\n \"colorSuccessText\": \"#52c41a\",\n \"colorSuccessTextActive\": \"#389e0d\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarningActive\": \"#d48806\",\n \"colorWarningTextHover\": \"#ffc53d\",\n \"colorWarningText\": \"#faad14\",\n \"colorWarningTextActive\": \"#d48806\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlTmpOutline\": \"rgba(0, 0, 0, 0.02)\",\n \"borderRadius\": 6,\n \"borderRadiusLG\": 8,\n \"borderRadiusSM\": 4,\n \"borderRadiusXS\": 2,\n \"sizeStep\": 4,\n \"sizeUnit\": 4,\n \"controlInteractiveSize\": 16,\n \"size\": 16,\n \"sizeLG\": 24,\n \"sizeMD\": 20,\n \"sizeMS\": 16,\n \"sizeSM\": 12,\n \"sizeXL\": 32,\n \"sizeXS\": 8,\n \"sizeXXL\": 48,\n \"controlHeight\": 32,\n \"sizeXXS\": 4,\n \"controlHeightLG\": 40,\n \"controlHeightSM\": 24,\n \"controlHeightXS\": 16,\n \"lineWidth\": 1,\n \"lineWidthBold\": 2,\n \"lineWidthFocus\": 4,\n \"controlOutlineWidth\": 2,\n \"screenLG\": 992,\n \"screenLGMax\": 1199,\n \"screenLGMin\": 992,\n \"screenMD\": 768,\n \"screenMDMax\": 991,\n \"screenMDMin\": 768,\n \"screenSM\": 576,\n \"screenSMMax\": 767,\n \"screenSMMin\": 576,\n \"screenXL\": 1200,\n \"screenXLMax\": 1599,\n \"screenXLMin\": 1200,\n \"screenXS\": 480,\n \"screenXSMax\": 575,\n \"screenXSMin\": 480,\n \"screenXXL\": 1600,\n \"screenXXLMin\": 1600,\n \"sizePopupArrow\": 16,\n \"margin\": 16,\n \"marginLG\": 24,\n \"marginMD\": 20,\n \"marginSM\": 12,\n \"marginXL\": 32,\n \"marginXS\": 8,\n \"marginXXL\": 48,\n \"marginXXS\": 4,\n \"padding\": 16,\n \"paddingLG\": 24,\n \"paddingMD\": 20,\n \"paddingSM\": 12,\n \"paddingXL\": 32,\n \"paddingXS\": 8,\n \"paddingXXS\": 4,\n \"paddingContentHorizontal\": 16,\n \"paddingContentHorizontalLG\": 24,\n \"paddingContentHorizontalSM\": 16,\n \"paddingContentVertical\": 12,\n \"paddingContentVerticalLG\": 16,\n \"paddingContentVerticalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlPaddingHorizontalSM\": 8,\n \"fontFamily\": \"SF Pro\",\n \"fontFamilyCode\": \"Courier Prime\",\n \"fontSize\": 14,\n \"fontSizeLG\": 16,\n \"fontSizeSM\": 12,\n \"fontSizeXL\": 20,\n \"fontSizeHeading1\": 38,\n \"fontSizeHeading2\": 30,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading4\": 20,\n \"fontSizeHeading5\": 16,\n \"lineHeight\": 1.5714285714285714,\n \"lineHeightHeading1\": 1.2105263157894737,\n \"lineHeightHeading2\": 1.2666666666666666,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeightHeading4\": 1.4,\n \"lineHeightHeading5\": 1.5,\n \"lineHeightLG\": 1.5,\n \"lineHeightSM\": 1.6666666666666667,\n \"fontSizeIcon\": 12,\n \"fontWeightStrong\": 600,\n \"colorFillAlterSolid\": \"#fafafa\",\n \"fontWeightNormal\": 400,\n \"colorFilledHandleBg\": \"#f0f0f0\",\n \"colorBgSolid\": \"#000000\",\n \"colorBgSolidActive\": \"rgba(0, 0, 0, 0.95)\",\n \"colorBgSolidHover\": \"rgba(0, 0, 0, 0.75)\",\n \"solidTextColor\": \"#ffffff\",\n \"pink.1\": \"#fff0f6\",\n \"pink.2\": \"#ffd6e7\",\n \"pink.3\": \"#ffadd2\",\n \"pink.4\": \"#ff85c0\",\n \"pink.5\": \"#f759ab\",\n \"pink.6\": \"#eb2f96\",\n \"pink.7\": \"#c41d7f\",\n \"pink.8\": \"#9e1068\",\n \"pink.9\": \"#780650\",\n \"pink.10\": \"#520339\",\n \"sizeXXXL\": 60,\n \"sizeXXXXL\": 72,\n \"paddingXXL\": 48,\n \"paddingXXXL\": 60,\n \"paddingXXXXL\": 72,\n \"marginXXXL\": 60,\n \"marginXXXXL\": 72\n },\n \"components\": {\n \"Input\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 11,\n \"paddingInline\": 11,\n \"paddingBlockSM\": 0,\n \"paddingBlockLG\": 7,\n \"paddingBlock\": 4,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"addonBg\": \"rgba(0, 0, 0, 0.02)\",\n \"activeBorderColor\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorWarningText\": \"#faad14\",\n \"colorErrorText\": \"#ff4d4f\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\"\n },\n \"Transfer\": {\n \"listWidthLG\": 250,\n \"listWidth\": 180,\n \"listHeight\": 200,\n \"itemPaddingBlock\": 5,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorLinkHover\": \"#769de4\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemHeight\": 32,\n \"headerHeight\": 40,\n \"fontFamily\": \"SF Pro\"\n },\n \"Segmented\": {\n \"segmentedBgColorSelected\": \"#ffffff\",\n \"paddingXXS\": 4,\n \"marginSM\": 12,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgLayout\": \"#f5f5f5\",\n \"colorBgElevated\": \"#ffffff\",\n \"segmentedGroupBg\": \"rgba(0, 0, 0, 0.04)\",\n \"itemSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemSelectedBg\": \"#ffffff\",\n \"itemHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.65)\",\n \"itemActiveBg\": \"rgba(0, 0, 0, 0.15)\",\n \"trackPadding\": 2,\n \"trackBg\": \"#f5f5f5\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Switch\": {\n \"trackPadding\": 2,\n \"trackMinWidthSM\": 28,\n \"trackMinWidth\": 44,\n \"trackHeightSM\": 16,\n \"trackHeight\": 22,\n \"handleSizeSM\": 12,\n \"handleSize\": 18,\n \"marginXXS\": 4,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"colorWhite\": \"#ffffff\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"handleBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"TimePicker\": {\n \"timeColumnWidth\": 56,\n \"timeColumnHeight\": 224,\n \"timeCellHeight\": 28,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarning\": \"#faad14\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"cellHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"cellHeight\": 24,\n \"activeBorderColor\": \"#4d75d9\",\n \"paddingInline\": 11,\n \"paddingInlineLG\": 11,\n \"paddingInlineSM\": 7,\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"cellBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellActiveWithRangeBg\": \"#f1f5fd\",\n \"cellHoverWithRangeBg\": \"#c8dfff\",\n \"cellRangeBorderColor\": \"#7cb3ff\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellWidth\": 36,\n \"multipleItemHeight\": 24,\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeightSM\": 16,\n \"paddingBlock\": 4,\n \"paddingBlockLG\": 7,\n \"paddingBlockSM\": 0,\n \"presetsMaxWidth\": 200,\n \"presetsWidth\": 120,\n \"textHeight\": 40,\n \"withoutTimeCellHeight\": 66,\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\"\n },\n \"Timeline\": {\n \"itemPaddingBottom\": 20,\n \"paddingXXS\": 4,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgContainer\": \"#ffffff\",\n \"tailColor\": \"rgba(0, 0, 0, 0.06)\",\n \"dotBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Tabs\": {\n \"horizontalItemGutter\": 32,\n \"cardGutter\": 2,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemSelectedColor\": \"#4d75d9\",\n \"itemHoverColor\": \"#769de4\",\n \"itemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemActiveColor\": \"#4261ce\",\n \"inkBarColor\": \"#4d75d9\",\n \"cardHeight\": 40,\n \"cardBg\": \"rgba(0, 0, 0, 0.02)\",\n \"titleFontSize\": 14,\n \"titleFontSizeLG\": 16,\n \"titleFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Table\": {\n \"stickyScrollBarBorderRadius\": 100,\n \"headerSplitColor\": \"#f0f0f0\",\n \"headerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"footerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgContainer\": \"#ffffff\",\n \"rowSelectedHoverBg\": \"#e0e9f9\",\n \"headerFilterHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"headerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"headerBorderRadius\": 8,\n \"footerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"filterDropdownMenuBg\": \"#ffffff\",\n \"filterDropdownBg\": \"#ffffff\",\n \"cellPaddingInlineSM\": 8,\n \"cellPaddingInlineMD\": 8,\n \"cellPaddingInline\": 16,\n \"cellPaddingBlockSM\": 8,\n \"cellPaddingBlockMD\": 12,\n \"cellPaddingBlock\": 16,\n \"borderColor\": \"#f0f0f0\",\n \"rowHoverBg\": \"#fafafa\",\n \"headerSortActiveBg\": \"rgba(0, 0, 0, 0.06)\",\n \"bodySortBg\": \"#fafafa\",\n \"headerSortHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"cellFontSize\": 14,\n \"cellFontSizeMD\": 14,\n \"cellFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Steps\": {\n \"dotSize\": 8,\n \"dotCurrentSize\": 10,\n \"descriptionMaxWidth\": 140,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextLabel\": \"rgba(0, 0, 0, 0.65)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBorderBg\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleLineHeight\": 32,\n \"iconSizeSM\": 24,\n \"iconSize\": 32,\n \"finishIconBorderColor\": \"#1677ff\",\n \"customIconFontSize\": 24,\n \"iconFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Spin\": {\n \"dotSizeSM\": 14,\n \"dotSize\": 20,\n \"contentHeight\": 400,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"dotSizeLG\": 32,\n \"fontFamily\": \"SF Pro\"\n },\n \"Slider\": {\n \"railSize\": 4,\n \"handleSizeHover\": 12,\n \"dotSize\": 8,\n \"controlSize\": 10,\n \"handleSize\": 10,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"trackHoverBg\": \"#a2bfee\",\n \"trackBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"trackBg\": \"#c8d8f5\",\n \"railHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"railBg\": \"rgba(0, 0, 0, 0.04)\",\n \"handleColor\": \"#c8d8f5\",\n \"handleActiveColor\": \"#4d75d9\",\n \"dotBorderColor\": \"#f0f0f0\",\n \"dotActiveBorderColor\": \"#c8d8f5\",\n \"handleColorDisabled\": \"#bfbfbf\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Rate\": {\n \"rateStarSize\": 20,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Radio\": {\n \"radioSize\": 16,\n \"dotSize\": 8,\n \"buttonPaddingInline\": 15,\n \"paddingXS\": 8,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"wrapperMarginInlineEnd\": 8,\n \"dotColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"buttonSolidCheckedHoverBg\": \"#769de4\",\n \"buttonSolidCheckedColor\": \"#ffffff\",\n \"buttonSolidCheckedBg\": \"#4d75d9\",\n \"buttonSolidCheckedActiveBg\": \"#4261ce\",\n \"buttonColor\": \"rgba(0, 0, 0, 0.88)\",\n \"buttonCheckedColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"buttonCheckedBgDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"buttonCheckedBg\": \"#ffffff\",\n \"buttonBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\",\n \"radioBgColor\": \"#4d75d9\",\n \"radioColor\": \"#ffffff\"\n },\n \"Popover\": {\n \"titleMinWidth\": 177,\n \"sizePopupArrow\": 16,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Notification\": {\n \"width\": 384,\n \"paddingMD\": 20,\n \"paddingLG\": 24,\n \"paddingContentHorizontalLG\": 24,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"lineHeightLG\": 1.5,\n \"lineWidthFocus\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Tooltip\": {\n \"paddingSM\": 12,\n \"sizePopupArrow\": 16,\n \"paddingXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadius\": 6,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgSpotlight\": \"rgba(0, 0, 0, 0.85)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Menu\": {\n \"subMenuItemBg\": \"rgba(0, 0, 0, 0.02)\",\n \"darkSubMenuItemBg\": \"#000c17\",\n \"darkItemDisabledColor\": \"rgba(255, 255, 255, 0.25)\",\n \"darkItemColor\": \"rgba(255, 255, 255, 0.65)\",\n \"darkGroupTitleColor\": \"rgba(255, 255, 255, 0.65)\",\n \"darkItemBg\": \"#001529\",\n \"paddingXS\": 8,\n \"paddingXL\": 32,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"borderRadius\": 6,\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"subMenuItemBorderRadius\": 4,\n \"popupBg\": \"#ffffff\",\n \"itemSelectedColor\": \"#4d75d9\",\n \"itemSelectedBg\": \"#f1f5fd\",\n \"itemHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"itemHeight\": 40,\n \"itemDisabledColor\": \"rgba(0, 0, 0, 0.25)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemBorderRadius\": 8,\n \"itemBg\": \"#ffffff\",\n \"iconSize\": 14,\n \"horizontalItemSelectedColor\": \"#4d75d9\",\n \"horizontalItemSelectedBg\": \"rgba(0, 0, 0, 0)\",\n \"horizontalItemHoverColor\": \"#4d75d9\",\n \"horizontalItemHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"groupTitleColor\": \"rgba(0, 0, 0, 0.45)\",\n \"darkItemSelectedColor\": \"#ffffff\",\n \"darkItemSelectedBg\": \"#4d75d9\",\n \"darkItemHoverColor\": \"#ffffff\",\n \"darkItemHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"collapsedIconSize\": 16,\n \"darkPopupBg\": \"#001529\",\n \"activeBarBorderWidth\": 1,\n \"collapsedWidth\": 80,\n \"dropdownWidth\": 160,\n \"itemMarginBlock\": 4,\n \"itemMarginInline\": 4,\n \"iconMarginInlineEnd\": 10,\n \"groupTitleFontSize\": 14,\n \"groupTitleLineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\",\n \"subMenuItemSelectedColor\": \"#4d75d9\"\n },\n \"InputNumber\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 11,\n \"paddingInline\": 11,\n \"paddingBlockSM\": 0,\n \"paddingBlockLG\": 7,\n \"paddingBlock\": 4,\n \"handleWidth\": 22,\n \"controlWidth\": 90,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningBorderHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"handleHoverColor\": \"#4d75d9\",\n \"handleBorderColor\": \"#d9d9d9\",\n \"handleBg\": \"#ffffff\",\n \"handleActiveBg\": \"rgba(0, 0, 0, 0.02)\",\n \"addonBg\": \"rgba(0, 0, 0, 0.02)\",\n \"activeBorderColor\": \"#4d75d9\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontFamily\": \"SF Pro\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"filledHandleBg\": \"#f0f0f0\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorWarningText\": \"#faad14\"\n },\n \"Image\": {\n \"previewOperationSize\": 18,\n \"previewOperationHoverColor\": \"rgba(255, 255, 255, 0.85)\",\n \"previewOperationColorDisabled\": \"rgba(255, 255, 255, 0.25)\",\n \"previewOperationColor\": \"rgba(255, 255, 255, 0.65)\",\n \"paddingXXS\": 4,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"marginXXS\": 4,\n \"marginXL\": 32,\n \"marginSM\": 12,\n \"margin\": 16,\n \"fontSizeIcon\": 12,\n \"controlHeightLG\": 40,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\"\n },\n \"Card\": {\n \"headerHeightSM\": 38,\n \"headerHeight\": 56,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgContainer\": \"#ffffff\",\n \"headerBg\": \"rgba(0, 0, 0, 0)\",\n \"headerFontSize\": 16,\n \"headerFontSizeSM\": 14,\n \"fontHeight\": 22,\n \"fontSizeLG\": 16,\n \"fontFamily\": \"SF Pro\",\n \"bodyPaddingSM\": 12,\n \"headerPaddingSM\": 12,\n \"bodyPadding\": 24,\n \"headerPadding\": 24\n },\n \"Carousel\": {\n \"dotWidth\": 16,\n \"dotHeight\": 3,\n \"dotActiveWidth\": 24,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBgContainer\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Cascader\": {\n \"dropdownHeight\": 180,\n \"controlWidth\": 184,\n \"controlItemWidth\": 111,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"optionSelectedBg\": \"#f1f5fd\",\n \"menuPadding\": 4,\n \"optionSelectedFontWeight\": 600,\n \"fontFamily\": \"SF Pro\",\n \"borderRadiusLG\": 8,\n \"optionSelectedColor\": \"rgba(0, 0, 0, 0.88)\"\n },\n \"Calendar\": {\n \"yearControlWidth\": 80,\n \"monthControlWidth\": 70,\n \"controlHeight\": 32,\n \"screenXS\": 480,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemActiveBg\": \"#f1f5fd\",\n \"fullPanelBg\": \"#ffffff\",\n \"fullBg\": \"#ffffff\",\n \"fontHeightSM\": 20,\n \"fontFamily\": \"SF Pro\"\n },\n \"Button\": {\n \"paddingInlineSM\": 7,\n \"paddingInlineLG\": 15,\n \"paddingInline\": 15,\n \"onlyIconSizeSM\": 14,\n \"onlyIconSizeLG\": 18,\n \"paddingXS\": 8,\n \"paddingContentHorizontal\": 16,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"contentLineHeight\": 1.5714285714285714,\n \"contentFontSizeLG\": 16,\n \"contentFontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorBorderHover\": \"#ffa39e\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"textHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"primaryColor\": \"#ffffff\",\n \"onlyIconSize\": 16,\n \"linkHoverBg\": \"rgba(0, 0, 0, 0)\",\n \"groupBorderColor\": \"#769de4\",\n \"ghostBg\": \"rgba(0, 0, 0, 0)\",\n \"defaultGhostColor\": \"#ffffff\",\n \"defaultGhostBorderColor\": \"#ffffff\",\n \"defaultColor\": \"rgba(0, 0, 0, 0.88)\",\n \"defaultBorderColor\": \"#d9d9d9\",\n \"defaultBg\": \"#ffffff\",\n \"dangerColor\": \"#ffffff\",\n \"borderColorDisabled\": \"#d9d9d9\",\n \"defaultHoverBg\": \"#ffffff\",\n \"defaultHoverColor\": \"#769de4\",\n \"defaultHoverBorderColor\": \"#769de4\",\n \"defaultActiveBg\": \"#ffffff\",\n \"defaultActiveColor\": \"#4261ce\",\n \"defaultActiveBorderColor\": \"#4261ce\",\n \"fontWeight\": 400,\n \"contentFontSizeSM\": 14,\n \"contentLineHeightLG\": 1.5,\n \"contentLineHeightSM\": 1.5714285714285714,\n \"textTextActiveColor\": \"rgba(0, 0, 0, 0.88)\",\n \"textTextHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"textTextColor\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryBg\": \"#f1f5fd\",\n \"colorBgSolid\": \"#000000\",\n \"colorBgSolidActive\": \"rgba(0, 0, 0, 0.95)\",\n \"colorBgSolidHover\": \"rgba(0, 0, 0, 0.75)\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"solidTextColor\": \"#ffffff\"\n },\n \"Badge\": {\n \"statusSize\": 6,\n \"indicatorHeight\": 20,\n \"dotSize\": 6,\n \"paddingXS\": 8,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"borderRadiusSM\": 4,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorderBg\": \"#ffffff\",\n \"colorBgContainer\": \"#ffffff\",\n \"indicatorHeightSM\": 14,\n \"textFontSize\": 12,\n \"textFontSizeSM\": 12,\n \"fontHeight\": 22,\n \"lineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\"\n },\n \"Form\": {\n \"screenXSMax\": 575,\n \"screenSMMax\": 767,\n \"screenMDMax\": 991,\n \"screenLGMax\": 1199,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"labelRequiredMarkColor\": \"#ff4d4f\",\n \"labelColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemMarginBottom\": 24,\n \"labelColonMarginInlineEnd\": 8,\n \"labelColonMarginInlineStart\": 2,\n \"labelHeight\": 32,\n \"labelFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Avatar\": {\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeXL\": 20,\n \"fontSizeLG\": 16,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorBorderBg\": \"#ffffff\",\n \"containerSizeSM\": 24,\n \"containerSizeLG\": 40,\n \"containerSize\": 32,\n \"textFontSize\": 18,\n \"textFontSizeLG\": 24,\n \"textFontSizeSM\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Tour\": {\n \"sizePopupArrow\": 16,\n \"paddingXS\": 8,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"closeBtnSize\": 22,\n \"primaryNextBtnHoverBg\": \"#f0f0f0\",\n \"primaryPrevBtnBg\": \"rgba(255, 255, 255, 0.15)\",\n \"fontFamily\": \"SF Pro\",\n \"lineWidthFocus\": 4\n },\n \"QRCode\": {\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorWhite\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Upload\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginXL\": 32,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading2\": 30,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"fontHeight\": 22,\n \"fontHeightSM\": 20,\n \"lineWidthFocus\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Typography\": {\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightHeading5\": 1.5,\n \"lineHeightHeading4\": 1.4,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeightHeading2\": 1.2666666666666666,\n \"lineHeightHeading1\": 1.2105263157894737,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeHeading5\": 16,\n \"fontSizeHeading4\": 20,\n \"fontSizeHeading3\": 24,\n \"fontSizeHeading2\": 30,\n \"fontSizeHeading1\": 38,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorErrorActive\": \"#d9363e\",\n \"colorError\": \"#ff4d4f\",\n \"fontFamilyCode\": \"Courier Prime\"\n },\n \"TreeSelect\": {\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeightSM\": 24,\n \"borderRadiusSM\": 4,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleHeight\": 24,\n \"nodeSelectedBg\": \"#f1f5fd\",\n \"nodeHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"fontFamily\": \"SF Pro\",\n \"borderRadiusLG\": 8\n },\n \"Tree\": {\n \"paddingSM\": 12,\n \"borderRadiusLG\": 8,\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlInteractiveSize\": 16,\n \"controlHeightSM\": 24,\n \"borderRadiusSM\": 4,\n \"borderRadius\": 6,\n \"colorWhite\": \"#ffffff\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"titleHeight\": 24,\n \"nodeSelectedBg\": \"#f1f5fd\",\n \"nodeHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"directoryNodeSelectedColor\": \"#ffffff\",\n \"directoryNodeSelectedBg\": \"#4d75d9\",\n \"fontFamily\": \"SF Pro\",\n \"nodeHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"nodeSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"indentSize\": 24\n },\n \"Tag\": {\n \"paddingXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryActive\": \"#4261ce\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillQuaternary\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBg\": \"#fff2f0\",\n \"defaultColor\": \"rgba(0, 0, 0, 0.88)\",\n \"defaultBg\": \"rgba(0, 0, 0, 0.02)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Statistic\": {\n \"padding\": 16,\n \"marginXXS\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"contentFontSize\": 24,\n \"titleFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"Skeleton\": {\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\"\n },\n \"Select\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"singleItemHeightLG\": 40,\n \"selectorBg\": \"#ffffff\",\n \"optionSelectedColor\": \"rgba(0, 0, 0, 0.88)\",\n \"optionSelectedBg\": \"#f1f5fd\",\n \"optionLineHeight\": null,\n \"optionHeight\": 32,\n \"optionActiveBg\": \"rgba(0, 0, 0, 0.04)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeight\": 24,\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"clearBg\": \"#ffffff\",\n \"optionFontSize\": \"SF Pro\",\n \"optionSelectedFontWeight\": 600,\n \"fontFamily\": \"SF Pro\",\n \"showArrowPaddingInlineEnd\": 18,\n \"activeBorderColor\": \"#4d75d9\",\n \"hoverBorderColor\": \"#769de4\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorWarning\": \"#faad14\",\n \"colorError\": \"#ff4d4f\"\n },\n \"Result\": {\n \"paddingXS\": 8,\n \"paddingXL\": 32,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXS\": 8,\n \"lineHeightHeading3\": 1.3333333333333333,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorError\": \"#ff4d4f\",\n \"iconFontSize\": 72,\n \"subtitleFontSize\": 14,\n \"titleFontSize\": 24\n },\n \"Progress\": {\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSize\": 14,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgContainer\": \"#ffffff\",\n \"remainingColor\": \"rgba(0, 0, 0, 0.06)\",\n \"defaultColor\": \"#4d75d9\",\n \"circleTextColor\": \"rgba(0, 0, 0, 0.88)\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Popconfirm\": {\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"fontWeightStrong\": 600,\n \"fontSize\": 14,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\"\n },\n \"Pagination\": {\n \"screenSM\": 576,\n \"screenLG\": 992,\n \"paddingXXS\": 4,\n \"paddingSM\": 12,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgActiveDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgTextActive\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"itemSizeSM\": 24,\n \"itemSize\": 32,\n \"itemLinkBg\": \"#ffffff\",\n \"itemInputBg\": \"#ffffff\",\n \"itemBg\": \"#ffffff\",\n \"itemActiveColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"itemActiveBgDisabled\": \"rgba(0, 0, 0, 0.15)\",\n \"itemActiveBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Modal\": {\n \"screenSMMax\": 767,\n \"paddingXS\": 8,\n \"paddingMD\": 20,\n \"paddingLG\": 24,\n \"paddingContentHorizontalLG\": 24,\n \"padding\": 16,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidthFocus\": 4,\n \"lineWidth\": 1,\n \"lineHeightHeading5\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSizeHeading5\": 16,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"titleColor\": \"rgba(0, 0, 0, 0.88)\",\n \"headerBg\": \"#ffffff\",\n \"footerBg\": \"rgba(0, 0, 0, 0)\",\n \"contentBg\": \"#ffffff\",\n \"titleFontSize\": 16,\n \"titleLineHeight\": 1.375,\n \"fontHeight\": 22,\n \"fontFamily\": \"SF Pro\"\n },\n \"Message\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"marginXS\": 8,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"borderRadiusLG\": 8,\n \"colorWarning\": \"#faad14\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfo\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"contentBg\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"List\": {\n \"screenSM\": 576,\n \"screenMD\": 768,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"paddingContentVerticalSM\": 8,\n \"paddingContentVerticalLG\": 16,\n \"paddingContentVertical\": 12,\n \"paddingContentHorizontalLG\": 24,\n \"paddingContentHorizontal\": 16,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXXL\": 48,\n \"marginSM\": 12,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusLG\": 8,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"headerBg\": \"rgba(0, 0, 0, 0)\",\n \"footerBg\": \"rgba(0, 0, 0, 0)\",\n \"avatarMarginRight\": 16,\n \"descriptionFontSize\": 14,\n \"fontFamily\": \"SF Pro\"\n },\n \"FloatButton\": {\n \"paddingXXS\": 4,\n \"marginXXL\": 48,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlHeightLG\": 40,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillContent\": \"rgba(0, 0, 0, 0.06)\",\n \"colorBgElevated\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Empty\": {\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"fontSize\": 14,\n \"lineHeight\": 1.5714285714285714\n },\n \"Dropdown\": {\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeSM\": 12,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"controlPaddingHorizontal\": 12,\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorError\": \"#ff4d4f\",\n \"colorBgElevated\": \"#ffffff\",\n \"paddingBlock\": 5,\n \"fontFamily\": \"SF Pro\"\n },\n \"Drawer\": {\n \"paddingXS\": 8,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgMask\": \"rgba(0, 0, 0, 0.45)\",\n \"colorBgElevated\": \"#ffffff\",\n \"lineWidthFocus\": 4\n },\n \"Divider\": {\n \"marginXS\": 8,\n \"marginLG\": 24,\n \"margin\": 16,\n \"lineWidth\": 1,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"lineHeight\": 1.5714285714285714,\n \"fontFamily\": \"SF Pro\"\n },\n \"Descriptions\": {\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidth\": 1,\n \"lineHeightSM\": 1.6666666666666667,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeSM\": 12,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextSecondary\": \"rgba(0, 0, 0, 0.65)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"titleColor\": \"rgba(0, 0, 0, 0.88)\",\n \"labelBg\": \"rgba(0, 0, 0, 0.02)\",\n \"contentColor\": \"rgba(0, 0, 0, 0.88)\",\n \"fontFamily\": \"SF Pro\",\n \"labelColor\": \"rgba(0, 0, 0, 0.45)\"\n },\n \"DatePicker\": {\n \"sizePopupArrow\": 16,\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"padding\": 16,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeightLG\": 1.5,\n \"lineHeight\": 1.5714285714285714,\n \"fontWeightStrong\": 600,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextLightSolid\": \"#ffffff\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorLinkHover\": \"#769de4\",\n \"colorLinkActive\": \"#4261ce\",\n \"colorLink\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"hoverBorderColor\": \"#769de4\",\n \"cellHoverBg\": \"rgba(0, 0, 0, 0.04)\",\n \"cellHeight\": 24,\n \"activeBorderColor\": \"#4d75d9\",\n \"paddingInline\": 11,\n \"paddingInlineSM\": 7,\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarningText\": \"#faad14\",\n \"colorErrorText\": \"#ff4d4f\",\n \"colorWarningBgHover\": \"#fff1b8\",\n \"colorErrorBgHover\": \"#fff1f0\",\n \"activeBg\": \"#ffffff\",\n \"hoverBg\": \"#ffffff\",\n \"cellBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellActiveWithRangeBg\": \"#f1f5fd\",\n \"cellHoverWithRangeBg\": \"#c8dfff\",\n \"cellRangeBorderColor\": \"#7cb3ff\",\n \"multipleItemBg\": \"rgba(0, 0, 0, 0.06)\",\n \"multipleItemBorderColor\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemBorderColorDisabled\": \"rgba(0, 0, 0, 0)\",\n \"multipleItemColorDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"multipleSelectorBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"cellWidth\": 36,\n \"multipleItemHeight\": 24,\n \"multipleItemHeightLG\": 32,\n \"multipleItemHeightSM\": 16,\n \"paddingBlock\": 4,\n \"paddingBlockLG\": 7,\n \"paddingBlockSM\": 0,\n \"paddingInline 2\": 11,\n \"presetsMaxWidth\": 200,\n \"presetsWidth\": 120,\n \"textHeight\": 40,\n \"timeCellHeight\": 28,\n \"timeColumnHeight\": 224,\n \"timeColumnWidth\": 56,\n \"withoutTimeCellHeight\": 66,\n \"inputFontSize\": 14,\n \"inputFontSizeLG\": 16,\n \"inputFontSizeSM\": 12,\n \"fontHeight\": 22,\n \"fontHeightLG\": 24,\n \"fontFamily\": \"SF Pro\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\"\n },\n \"Collapse\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"paddingLG\": 24,\n \"padding\": 16,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFillAlter\": \"rgba(0, 0, 0, 0.02)\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainer\": \"#ffffff\",\n \"headerBg\": \"rgba(0, 0, 0, 0.02)\",\n \"contentBg\": \"#ffffff\",\n \"fontHeight\": 22,\n \"fontHeightLG\": 24,\n \"lineHeightLG\": 1.5,\n \"fontFamily\": \"SF Pro\"\n },\n \"Checkbox\": {\n \"paddingXS\": 8,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineWidthBold\": 2,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"controlInteractiveSize\": 16,\n \"borderRadiusSM\": 4,\n \"colorWhite\": \"#ffffff\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"fontFamily\": \"SF Pro\"\n },\n \"Breadcrumb\": {\n \"paddingXXS\": 4,\n \"marginXXS\": 4,\n \"marginXS\": 8,\n \"lineWidthFocus\": 4,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeIcon\": 12,\n \"fontSize\": 14,\n \"borderRadiusSM\": 4,\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorBgTextHover\": \"rgba(0, 0, 0, 0.06)\",\n \"separatorColor\": \"rgba(0, 0, 0, 0.45)\",\n \"linkHoverColor\": \"rgba(0, 0, 0, 0.88)\",\n \"linkColor\": \"rgba(0, 0, 0, 0.45)\",\n \"lastItemColor\": \"rgba(0, 0, 0, 0.88)\",\n \"itemColor\": \"rgba(0, 0, 0, 0.45)\",\n \"separatorMargin\": 8,\n \"iconFontSize\": 14,\n \"fontHeight\": 22,\n \"fontFamily\": \"SF Pro\"\n },\n \"Anchor\": {\n \"paddingXXS\": 4,\n \"lineWidthBold\": 2,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSize\": 14,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSplit\": \"rgba(0, 0, 0, 0.06)\",\n \"colorPrimary\": \"#4d75d9\",\n \"linkPaddingInlineStart\": 16,\n \"linkPaddingBlock\": 4,\n \"fontFamily\": \"SF Pro\"\n },\n \"Alert\": {\n \"paddingMD\": 20,\n \"paddingContentVerticalSM\": 8,\n \"paddingContentHorizontalLG\": 24,\n \"marginXS\": 8,\n \"marginSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"fontSizeLG\": 16,\n \"fontSizeIcon\": 12,\n \"fontSizeHeading3\": 24,\n \"fontSize\": 14,\n \"borderRadiusLG\": 8,\n \"colorWarningBorder\": \"#ffe58f\",\n \"colorWarningBg\": \"#fffbe6\",\n \"colorWarning\": \"#faad14\",\n \"colorTextHeading\": \"rgba(0, 0, 0, 0.88)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorSuccessBorder\": \"#b7eb8f\",\n \"colorSuccessBg\": \"#f6ffed\",\n \"colorSuccess\": \"#52c41a\",\n \"colorInfoBorder\": \"#c8d8f5\",\n \"colorInfoBg\": \"#f1f5fd\",\n \"colorInfo\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorErrorBorder\": \"#ffccc7\",\n \"colorErrorBg\": \"#fff2f0\",\n \"colorError\": \"#ff4d4f\",\n \"withDescriptionIconSize\": 24,\n \"fontFamily\": \"SF Pro\"\n },\n \"Space\": {\n \"paddingXS\": 8,\n \"paddingLG\": 24,\n \"padding\": 16\n },\n \"AutoComplete\": {\n \"paddingXXS\": 4,\n \"paddingXS\": 8,\n \"paddingSM\": 12,\n \"lineWidth\": 1,\n \"lineHeight\": 1.5714285714285714,\n \"controlPaddingHorizontalSM\": 8,\n \"controlPaddingHorizontal\": 12,\n \"controlOutlineWidth\": 2,\n \"controlOutline\": \"rgba(5, 145, 255, 0.1)\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlHeightXS\": 16,\n \"controlHeightSM\": 24,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"borderRadiusXS\": 2,\n \"borderRadiusSM\": 4,\n \"borderRadiusLG\": 8,\n \"borderRadius\": 6,\n \"colorWarningOutline\": \"rgba(255, 215, 5, 0.1)\",\n \"colorWarningHover\": \"#ffd666\",\n \"colorWarning\": \"#faad14\",\n \"colorTextTertiary\": \"rgba(0, 0, 0, 0.45)\",\n \"colorTextQuaternary\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextPlaceholder\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorPrimaryHover\": \"#769de4\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorIconHover\": \"rgba(0, 0, 0, 0.88)\",\n \"colorIcon\": \"rgba(0, 0, 0, 0.45)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorErrorOutline\": \"rgba(255, 38, 6, 0.06)\",\n \"colorErrorHover\": \"#ff7875\",\n \"colorError\": \"#ff4d4f\",\n \"colorBorder\": \"#d9d9d9\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"optionActiveBg\": \"rgba(0, 0, 0, 0.04)\",\n \"optionHeight\": 32,\n \"optionFontSize\": 14,\n \"fontFamily\": \"SF Pro\",\n \"fontSize\": 14,\n \"fontSizeIcon\": 12,\n \"fontSizeLG\": 16,\n \"fontSizeSM\": 12\n },\n \"Layout\": {\n \"bodyBg\": \"#f5f5f5\",\n \"footerBg\": \"#f5f5f5\",\n \"headerBg\": \"#001529\",\n \"headerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"lightSiderBg\": \"#ffffff\",\n \"lightTriggerBg\": \"#ffffff\",\n \"lightTriggerColor\": \"rgba(0, 0, 0, 0.88)\",\n \"siderBg\": \"#001529\",\n \"triggerBg\": \"#002140\",\n \"triggerColor\": \"#ffffff\",\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"headerHeight\": 64,\n \"triggerHeight\": 48,\n \"zeroTriggerHeight\": 40,\n \"zeroTriggerWidth\": 40,\n \"borderRadius\": 6,\n \"fontSize\": 14,\n \"fontSizeXL\": 20\n },\n \"Mentions\": {\n \"fontFamily\": \"SF Pro\",\n \"fontSize\": 14,\n \"lineHeight\": 1.5714285714285714\n },\n \"Splitter\": {\n \"railSize\": 4,\n \"handleSizeHover\": 12,\n \"dotSize\": 8,\n \"controlSize\": 10,\n \"handleSize\": 10,\n \"trackHoverBg\": \"#a2bfee\",\n \"trackBgDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"trackBg\": \"#c8d8f5\",\n \"railHoverBg\": \"rgba(0, 0, 0, 0.06)\",\n \"railBg\": \"rgba(0, 0, 0, 0.04)\",\n \"handleColor\": \"#c8d8f5\",\n \"handleColorDisabled\": \"#bfbfbf\",\n \"handleActiveColor\": \"#4d75d9\",\n \"dotBorderColor\": \"#f0f0f0\",\n \"dotActiveBorderColor\": \"#c8d8f5\",\n \"lineWidth\": 1,\n \"controlHeightLG\": 40,\n \"controlHeight\": 32,\n \"colorTextDisabled\": \"rgba(0, 0, 0, 0.25)\",\n \"colorTextDescription\": \"rgba(0, 0, 0, 0.45)\",\n \"colorPrimaryBorderHover\": \"#a2bfee\",\n \"colorPrimaryBorder\": \"#c8d8f5\",\n \"colorPrimary\": \"#4d75d9\",\n \"colorFillTertiary\": \"rgba(0, 0, 0, 0.04)\",\n \"colorFillSecondary\": \"rgba(0, 0, 0, 0.06)\",\n \"colorFillContentHover\": \"rgba(0, 0, 0, 0.15)\",\n \"colorBorderSecondary\": \"#f0f0f0\",\n \"colorBgElevated\": \"#ffffff\",\n \"colorBgContainerDisabled\": \"rgba(0, 0, 0, 0.04)\",\n \"colorBgContainer\": \"#ffffff\",\n \"resizeSpinnerSize\": 20,\n \"lineHeight\": 1.5714285714285714,\n \"fontSize\": 14,\n \"fontFamily\": \"SF Pro\",\n \"controlHeightSM\": 24,\n \"borderRadiusXS\": 2,\n \"colorText\": \"rgba(0, 0, 0, 0.88)\",\n \"colorFill\": \"rgba(0, 0, 0, 0.15)\",\n \"controlItemBgActive\": \"#f1f5fd\",\n \"controlItemBgActiveHover\": \"#e0e9f9\",\n \"controlItemBgHover\": \"rgba(0, 0, 0, 0.04)\",\n \"fontSizeSM\": 12,\n \"splitBarSize\": 2,\n \"splitTriggerSize\": 6\n }\n }\n}","import { token } from '@/theme/light.json'\nimport { OverviewData, EndpointData } from '../entities'\n\nexport interface ApiNodeData extends OverviewData {}\n\nexport interface EndpointNodeData {\n endpoint: EndpointData\n api: OverviewData\n tagName: string\n parentApiId: string\n tagId: string\n}\n\nexport interface TagNodeData {\n tagName: string\n apiData: OverviewData\n}\n\nexport type NodeData = EndpointNodeData | OverviewData | TagNodeData\n\n// Type definitions\nexport interface TreeNode {\n title: string | React.ReactNode\n key: string\n selectable?: boolean\n isLeaf?: boolean\n method?: string\n children?: TreeNode[]\n data?: NodeData\n}\n\nexport interface EndpointItemProps {\n method: string\n title: string\n cx: (className: string) => string\n}\n\n// Method colors configuration\nexport const methodColors = {\n GET: {\n bg: token.colorPrimaryBgHover,\n color: token.colorPrimary,\n },\n POST: {\n bg: token['green.1'],\n color: token.colorSuccess,\n },\n DELETE: {\n bg: token.colorErrorBg,\n color: token.colorError,\n },\n PUT: {\n bg: token.colorWarningBg,\n color: token.colorWarning,\n },\n PATCH: {\n bg: token['volcano.1'],\n color: token['volcano.5'],\n },\n OPTIONS: {\n bg: token['geekblue.2'],\n color: token['geekblue.6'],\n },\n HEAD: {\n bg: token['purple.1'],\n color: token['purple.5'],\n },\n TRACE: {\n bg: token['cyan.1'],\n color: token['cyan.5'],\n },\n}\n\nexport const buildTreeDataStructure = (data: OverviewData[] | null) => {\n if (!data) return []\n return data.map((api) => {\n return {\n title: api.title,\n key: api.id,\n selectable: true,\n data: api as OverviewData,\n children: Object.entries(api.tags).map(([tag, endpoints]) => {\n // Use deterministic tag ID generation for consistent expansion\n const tagId = `tag-${api.id}-${tag.replace(/\\s+/g, '-').toLowerCase()}`\n return {\n title: tag,\n key: tagId,\n selectable: false,\n data: { tagName: tag, apiData: api } as TagNodeData, // Store tag info and parent API data\n children: endpoints.map((endpoint) => {\n return {\n title: endpoint.summary,\n key: endpoint.id,\n isLeaf: true,\n selectable: true,\n method: endpoint.method,\n data: { endpoint, api, tagName: tag, parentApiId: api.id, tagId } as EndpointNodeData,\n }\n }),\n }\n }),\n }\n })\n}\n\n// Helper function to find a node by key and return its data\nexport const findNodeByKey = (nodes: TreeNode[], targetKey: string): TreeNode | null => {\n for (const node of nodes) {\n if (node.key === targetKey) {\n return node\n }\n if (node.children && node.children.length > 0) {\n const found = findNodeByKey(node.children, targetKey)\n if (found) return found\n }\n }\n return null\n}\n\n// Helper function to check if an API section should be highlighted when its children are selected\nexport const isApiSectionHighlighted = (\n apiKey: string,\n selectedEndpoint: { parentApiId: string } | null\n): boolean => {\n if (!selectedEndpoint) return false\n\n // Highlight the API if the selected endpoint belongs to this API\n return selectedEndpoint.parentApiId === apiKey\n}\n\n// Get all keys for expand/collapse functionality\nexport const getAllTreeKeys = (data: TreeNode[]): string[] => {\n const keys: string[] = []\n const traverse = (nodes: TreeNode[]) => {\n nodes.forEach((node) => {\n keys.push(node.key)\n if (node.children && node.children.length > 0) {\n traverse(node.children)\n }\n })\n }\n traverse(data)\n return keys\n}\n\n// Filter tree data based on search\nexport const filterTreeData = (data: TreeNode[], searchText: string): TreeNode[] => {\n if (!searchText) return data\n\n // Helper function to recursively find original node in the default tree structure\n const findOriginalNode = (nodes: TreeNode[], key: string): TreeNode | null => {\n for (const node of nodes) {\n if (node.key === key) return node\n if (node.children) {\n const found = findOriginalNode(node.children, key)\n if (found) return found\n }\n }\n return null\n }\n\n const filterNode = (node: TreeNode): TreeNode | null => {\n let titleText = ''\n\n // Get the original title text from the default tree structure\n const originalNode = findOriginalNode(data, node.key)\n if (originalNode && typeof originalNode.title === 'string') {\n titleText = originalNode.title\n } else if (typeof node.title === 'string') {\n titleText = node.title\n }\n\n // For endpoints, also search by method + title combination\n let searchableText = titleText\n if (node.isLeaf && node.method) {\n // Include method in searchable text for endpoints\n searchableText = `${node.method} ${titleText}`.toLowerCase()\n } else {\n searchableText = titleText.toLowerCase()\n }\n\n const searchLower = searchText.toLowerCase()\n const matchesSearch = searchableText.includes(searchLower)\n\n if (node.children) {\n const filteredChildren = node.children\n .map((child: TreeNode) => filterNode(child))\n .filter((child): child is TreeNode => child !== null)\n\n if (matchesSearch || filteredChildren.length > 0) {\n return {\n ...node,\n children: filteredChildren,\n }\n }\n } else if (matchesSearch) {\n return node\n }\n\n return null\n }\n\n return data.map((node) => filterNode(node)).filter((node): node is TreeNode => node !== null)\n}\n\n// Helper function to get parent key for search expansion\nexport const getParentKey = (key: string, tree: TreeNode[]): string | null => {\n for (let i = 0; i < tree.length; i++) {\n const node = tree[i]\n if (node.children) {\n if (node.children.some((item: TreeNode) => item.key === key)) {\n return node.key\n }\n const parent = getParentKey(key, node.children)\n if (parent) {\n return parent\n }\n }\n }\n return null\n}\n\n// Sidebar style configuration\nexport const getSidebarStyles = (token: any, scope: (name: string) => string) => ({\n [scope('sider')]: {\n backgroundColor: token.colorBgContainer,\n maxWidth: '17.5rem',\n overflowY: 'auto' as const,\n overflowX: 'clip' as const,\n borderRadius: token.borderRadius,\n },\n [scope('content')]: {\n padding: token.padding,\n },\n [scope('controls')]: {\n display: 'flex',\n gap: token.marginXS,\n marginBottom: token.marginSM,\n },\n [scope('search-input')]: {\n flex: 1,\n },\n [scope('tree')]: {\n backgroundColor: 'transparent',\n '& .ant-tree-node-content-wrapper': {\n overflow: 'hidden',\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n },\n '& .ant-tree-title': {\n width: '100%',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n marginBlock: 'auto',\n },\n '& .ant-tree-treenode': {\n width: '100%',\n padding: 0,\n },\n '& .ant-tree-node-content-wrapper:hover': {\n backgroundColor: token.colorFillTertiary,\n },\n },\n [scope('endpoint-item')]: {\n display: 'flex',\n alignItems: 'center',\n gap: token.marginXS,\n width: '100%',\n maxWidth: '100%',\n minWidth: '100%',\n },\n [scope('method-tag')]: {\n minWidth: '3.75rem',\n textAlign: 'center' as const,\n border: 'none',\n },\n [scope('endpoint-text')]: {\n flex: 1,\n maxWidth: '100%',\n },\n [scope('tag-title')]: {\n color: token.colorText,\n maxWidth: '100%',\n display: 'block',\n },\n [scope('api-title')]: {\n color: token.colorText,\n maxWidth: '100%',\n display: 'block',\n padding: 0,\n margin: 0,\n '&.highlighted': {\n color: token.colorPrimary,\n },\n },\n [scope('create-text')]: {\n color: token.colorTextSecondary,\n },\n})\n","import React from 'react'\nimport { Typography, Tag } from 'antd'\nimport { methodColors, TreeNode, EndpointItemProps, isApiSectionHighlighted } from './sidebar.utils'\n\nconst { Text } = Typography\n\n// Endpoint item component\nexport const EndpointItem: React.FC<EndpointItemProps> = ({ method, title, cx }) => {\n const methodStyle = methodColors[method as keyof typeof methodColors]\n\n return (\n <div className={cx('endpoint-item')}>\n <Tag\n className={cx('method-tag')}\n style={{\n backgroundColor: methodStyle?.bg,\n color: methodStyle?.color,\n border: 'none',\n }}\n >\n {method}\n </Tag>\n <Text className={cx('endpoint-text')} ellipsis={{ tooltip: title }} style={{ flex: 1 }}>\n {title}\n </Text>\n </div>\n )\n}\n\n// Convert tree data to renderable format\nexport const convertToRenderableTreeData = (\n treeDataStructure: TreeNode[],\n selectedEndpoint: { parentApiId: string } | null,\n cx: (className: string) => string\n): TreeNode[] => {\n const renderNode = (node: TreeNode): TreeNode => {\n let title: React.ReactNode\n\n if (node.isLeaf && node.method) {\n // Render endpoint item\n title = (\n <EndpointItem\n method={node.method}\n title={typeof node.title === 'string' ? node.title : 'Endpoint Name'}\n cx={cx}\n />\n )\n } else if (\n node.data &&\n 'id' in node.data &&\n 'tags' in node.data &&\n !('endpoint' in node.data) &&\n !('tagName' in node.data)\n ) {\n // Render API title - check if node data is OverviewData (API data)\n const isHighlighted = isApiSectionHighlighted(node.key, selectedEndpoint)\n title = (\n <Text\n className={cx('api-title') + (isHighlighted ? ' highlighted' : '')}\n ellipsis={{ tooltip: typeof node.title === 'string' ? node.title : 'API Name' }}\n >\n {node.title}\n </Text>\n )\n } else {\n // Render tag title\n title = (\n <Text\n className={cx('tag-title')}\n ellipsis={{ tooltip: typeof node.title === 'string' ? node.title : '' }}\n >\n {node.title}\n </Text>\n )\n }\n\n return {\n ...node,\n title,\n children: node.children ? node.children.map(renderNode) : undefined,\n }\n }\n\n return treeDataStructure.map(renderNode)\n}\n","import { useStore } from '@/store'\nimport { NodeData, EndpointNodeData, TagNodeData, TreeNode, findNodeByKey } from '@/view/helper'\nimport { OverviewData } from '@/view/entities'\n\nexport interface SelectionResult {\n type: 'endpoint' | 'api' | 'tag'\n endpoint?: EndpointNodeData['endpoint']\n api?: OverviewData\n tag?: string\n}\n\nexport const useNodeSelection = () => {\n const {\n setSelectedNodeKey,\n setFocusedContent,\n setSelectedApi,\n setSelectedEndpoint,\n setExpandedKeys,\n expandedKeys,\n builtTreeData,\n } = useStore(({ view }) => view)\n\n const handleNodeSelection = (\n nodeData: NodeData | undefined,\n nodeKey: string\n ): SelectionResult | null => {\n if (!nodeData) return null\n if (nodeKey.startsWith('endpoint-')) {\n const endpointNodeData = nodeData as EndpointNodeData\n\n // Set the endpoint data and its parent API separately\n setSelectedEndpoint({\n ...endpointNodeData.endpoint,\n tagName: endpointNodeData.tagName,\n parentApiId: endpointNodeData.parentApiId,\n })\n setSelectedApi(endpointNodeData.api)\n setFocusedContent('ENDPOINT')\n // TODO: auto expand\n const toExpand = [\n endpointNodeData.parentApiId,\n endpointNodeData.tagId,\n endpointNodeData.api.id,\n ]\n const expanded = [...expandedKeys]\n toExpand.forEach((key) => {\n if (key && expanded.indexOf(key) < 0) {\n expanded.push(key)\n }\n })\n setExpandedKeys(expanded)\n\n return {\n type: 'endpoint' as const,\n endpoint: endpointNodeData.endpoint,\n api: endpointNodeData.api,\n tag: endpointNodeData.tagName,\n }\n } else if (nodeKey.startsWith('api-') || nodeKey === 'custom-auth') {\n // Handle API selection\n const apiData = nodeData as OverviewData\n setSelectedApi(apiData)\n // Clear endpoint selection when selecting API directly\n setSelectedEndpoint(null)\n setFocusedContent('API')\n\n return {\n type: 'api' as const,\n api: apiData,\n }\n } else {\n // Handle tag selection (tags are not selectable in the current setup, but keeping for completeness)\n const tagData = nodeData as TagNodeData\n\n return {\n type: 'tag' as const,\n tag: tagData.tagName,\n api: tagData.apiData,\n }\n }\n }\n\n // Select a node by its key from the tree structure\n const selectNodeByKey = (nodeKey: string): SelectionResult | null => {\n const selectedNode = findNodeByKey(builtTreeData as TreeNode[], nodeKey)\n if (selectedNode) {\n const result = handleNodeSelection(selectedNode.data, nodeKey)\n setSelectedNodeKey(nodeKey)\n return result\n }\n\n return null\n }\n\n // Expand a specific node by adding it to expanded keys\n const expandNode = (nodeKey: string) => {\n if (!expandedKeys.includes(nodeKey)) {\n setExpandedKeys([...expandedKeys, nodeKey])\n }\n }\n\n // Select the first API from the tree data and expand it\n const selectFirstApi = (treeData: TreeNode[]): SelectionResult | null => {\n if (!treeData || treeData.length === 0) return null\n\n // Find the first API node (should be at the top level)\n const firstApiNode = treeData.find(\n (node) =>\n node.data &&\n 'id' in node.data &&\n 'tags' in node.data &&\n !('endpoint' in node.data) &&\n !('tagName' in node.data)\n )\n\n if (firstApiNode) {\n // Collect all keys to expand at once\n const keysToExpand = [firstApiNode.key]\n\n // Also expand all tag nodes under the first API\n if (firstApiNode.children) {\n firstApiNode.children.forEach((tagNode) => {\n keysToExpand.push(tagNode.key)\n })\n }\n\n // Expand all keys at once to avoid state update batching issues\n setExpandedKeys([\n ...expandedKeys,\n ...keysToExpand.filter((key) => !expandedKeys.includes(key)),\n ])\n\n // Select the first API node\n return selectNodeByKey(firstApiNode.key)\n }\n\n return null\n }\n\n // Clear all selections\n const clearSelection = () => {\n setSelectedNodeKey(null)\n setSelectedApi(null)\n setSelectedEndpoint(null)\n }\n\n return {\n handleNodeSelection,\n selectNodeByKey,\n selectFirstApi,\n clearSelection,\n expandNode,\n }\n}\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M6 11.334L8 9.33398L10 11.334\" stroke=\"currentcolor\" />\n<path d=\"M6 4.66602L8 6.66602L10 4.66602\" stroke=\"currentcolor\" />\n</svg>\n","<svg width=\"166\" height=\"132\" viewBox=\"0 0 166 132\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M97.2145 48.3771C86.9578 48.4382 76.542 47.9621 66.7994 45.2642C57.0568 42.5663 48.4402 37.4757 40.607 31.5306C35.4786 27.6608 30.8154 24.5845 24.1571 25.0483C17.647 25.3896 11.42 27.8123 6.39768 31.9579C-2.07203 39.3557 -0.786882 53.0282 2.59121 62.6478C7.68283 77.1383 23.178 87.1974 36.3354 93.7528C51.5491 101.334 68.2559 105.741 85.0118 108.268C99.6991 110.49 118.56 112.113 131.277 102.542C142.966 93.7651 146.172 73.6957 143.308 60.1453C142.611 56.143 140.475 52.5317 137.299 49.9885C129.086 44.0068 116.847 47.9987 107.618 48.2062C104.252 48.2795 100.715 48.3649 97.2145 48.3771Z\" fill=\"#F1F5FD\"/>\n<path d=\"M47.2041 1V6.24928\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M44.5723 3.625H49.8352\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M147.054 105.631V110.88\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M144.422 108.256H149.685\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M7.43775 82.963C8.1002 82.963 8.63721 82.4274 8.63721 81.7667C8.63721 81.1059 8.1002 80.5703 7.43775 80.5703C6.7753 80.5703 6.23828 81.1059 6.23828 81.7667C6.23828 82.4274 6.7753 82.963 7.43775 82.963Z\" fill=\"#E0E9F9\"/>\n<path d=\"M109.564 6.42004C110.226 6.42004 110.763 5.88442 110.763 5.22369C110.763 4.56297 110.226 4.02734 109.564 4.02734C108.901 4.02734 108.364 4.56297 108.364 5.22369C108.364 5.88442 108.901 6.42004 109.564 6.42004Z\" fill=\"#E0E9F9\"/>\n<path d=\"M76.3212 132C101.129 132 121.24 130.754 121.24 129.217C121.24 127.68 101.129 126.434 76.3212 126.434C51.5132 126.434 31.4023 127.68 31.4023 129.217C31.4023 130.754 51.5132 132 76.3212 132Z\" fill=\"#F1F5FD\"/>\n<path d=\"M41.7205 15.2578H106.957C108.58 15.2578 110.136 15.9009 111.284 17.0456C112.432 18.1903 113.077 19.7428 113.077 21.3616V98.7702C113.077 100.389 112.432 101.942 111.284 103.086C110.136 104.231 108.58 104.874 106.957 104.874H33.3609C31.7379 104.874 30.1813 104.231 29.0336 103.086C27.886 101.942 27.2412 100.389 27.2412 98.7702V29.8459L41.7205 15.2578Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M112.783 52.9805H45.5146V105.62H112.783V52.9805Z\" fill=\"#F1F5FD\"/>\n<path d=\"M27.2412 29.8459H39.1012C39.797 29.8427 40.4632 29.5647 40.9541 29.0729C41.4449 28.581 41.7205 27.9153 41.7205 27.2213V15.2578L27.2412 29.8459Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M112.453 36.1699H45.9192C43.3302 36.1699 41.2314 38.2632 41.2314 40.8454V55.0429C41.2314 57.6251 43.3302 59.7184 45.9192 59.7184H112.453C115.042 59.7184 117.141 57.6251 117.141 55.0429V40.8454C117.141 38.2632 115.042 36.1699 112.453 36.1699Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 52.0531C56.4141 52.0531 58.2443 50.2276 58.2443 47.9758C58.2443 45.7239 56.4141 43.8984 54.1563 43.8984C51.8986 43.8984 50.0684 45.7239 50.0684 47.9758C50.0684 50.2276 51.8986 52.0531 54.1563 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 52.0531C69.2647 52.0531 71.0949 50.2276 71.0949 47.9758C71.0949 45.7239 69.2647 43.8984 67.0069 43.8984C64.7492 43.8984 62.9189 45.7239 62.9189 47.9758C62.9189 50.2276 64.7492 52.0531 67.0069 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 52.0531C82.1045 52.0531 83.9347 50.2276 83.9347 47.9758C83.9347 45.7239 82.1045 43.8984 79.8468 43.8984C77.589 43.8984 75.7588 45.7239 75.7588 47.9758C75.7588 50.2276 77.589 52.0531 79.8468 52.0531Z\" fill=\"#F1F5FD\"/>\n<path d=\"M112.453 62.2695H45.9192C43.3302 62.2695 41.2314 64.3628 41.2314 66.9451V81.1425C41.2314 83.7247 43.3302 85.818 45.9192 85.818H112.453C115.042 85.818 117.141 83.7247 117.141 81.1425V66.9451C117.141 64.3628 115.042 62.2695 112.453 62.2695Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 78.1645C56.4141 78.1645 58.2443 76.339 58.2443 74.0871C58.2443 71.8353 56.4141 70.0098 54.1563 70.0098C51.8986 70.0098 50.0684 71.8353 50.0684 74.0871C50.0684 76.339 51.8986 78.1645 54.1563 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 78.1645C69.2647 78.1645 71.0949 76.339 71.0949 74.0871C71.0949 71.8353 69.2647 70.0098 67.0069 70.0098C64.7492 70.0098 62.9189 71.8353 62.9189 74.0871C62.9189 76.339 64.7492 78.1645 67.0069 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 78.1645C82.1045 78.1645 83.9347 76.339 83.9347 74.0871C83.9347 71.8353 82.1045 70.0098 79.8468 70.0098C77.589 70.0098 75.7588 71.8353 75.7588 74.0871C75.7588 76.339 77.589 78.1645 79.8468 78.1645Z\" fill=\"#F1F5FD\"/>\n<path d=\"M112.453 88.3828H45.9192C43.3302 88.3828 41.2314 90.4761 41.2314 93.0583V107.256C41.2314 109.838 43.3302 111.931 45.9192 111.931H112.453C115.042 111.931 117.141 109.838 117.141 107.256V93.0583C117.141 90.4761 115.042 88.3828 112.453 88.3828Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M54.1563 104.264C56.4141 104.264 58.2443 102.439 58.2443 100.187C58.2443 97.9349 56.4141 96.1094 54.1563 96.1094C51.8986 96.1094 50.0684 97.9349 50.0684 100.187C50.0684 102.439 51.8986 104.264 54.1563 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M67.0069 104.264C69.2647 104.264 71.0949 102.439 71.0949 100.187C71.0949 97.9349 69.2647 96.1094 67.0069 96.1094C64.7492 96.1094 62.9189 97.9349 62.9189 100.187C62.9189 102.439 64.7492 104.264 67.0069 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M79.8468 104.264C82.1045 104.264 83.9347 102.439 83.9347 100.187C83.9347 97.9349 82.1045 96.1094 79.8468 96.1094C77.589 96.1094 75.7588 97.9349 75.7588 100.187C75.7588 102.439 77.589 104.264 79.8468 104.264Z\" fill=\"#F1F5FD\"/>\n<path d=\"M118.609 66.2124C132.622 66.2124 143.981 54.8824 143.981 40.906C143.981 26.9297 132.622 15.5996 118.609 15.5996C104.596 15.5996 93.2363 26.9297 93.2363 40.906C93.2363 54.8824 104.596 66.2124 118.609 66.2124Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M118.903 55.8852C127.035 55.8852 133.627 49.3102 133.627 41.1994C133.627 33.0887 127.035 26.5137 118.903 26.5137C110.771 26.5137 104.179 33.0887 104.179 41.1994C104.179 49.3102 110.771 55.8852 118.903 55.8852Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M111.067 33.3711C111.375 34.0091 126.739 49.0138 126.739 49.0138L111.067 33.3711Z\" fill=\"white\"/>\n<path d=\"M111.067 33.3711C111.375 34.0091 126.739 49.0138 126.739 49.0138\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M126.739 33.3711C126.419 34.0091 111.067 49.0138 111.067 49.0138L126.739 33.3711Z\" fill=\"white\"/>\n<path d=\"M126.739 33.3711C126.419 34.0091 111.067 49.0138 111.067 49.0138\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","'use client'\nimport React, { useState, useMemo } from 'react'\nimport { Layout, Input, Tree, Button, Flex } from 'antd'\nimport { useStyle } from '@/hooks/useStyle'\nimport { useNodeSelection } from '@/hooks/useNodeSelection'\nimport { useStore } from '@/store'\nimport Minify from '@/assets/Minify.svg'\nimport {\n getAllTreeKeys,\n filterTreeData,\n getSidebarStyles,\n convertToRenderableTreeData,\n} from '../helper'\nimport EmptyImg from '@/assets/NoDataSM.svg'\nimport Text from 'antd/es/typography/Text'\n\nconst { Sider } = Layout\n\nexport const Sidebar: React.FC = () => {\n const expandedKeys = useStore((state) => state.view.expandedKeys)\n const {\n selectedNodeKey,\n selectedEndpoint,\n builtTreeData,\n setExpandedKeys,\n setSelectedNodeKey,\n transformedData,\n } = useStore(({ view }) => view)\n\n const { selectNodeByKey, clearSelection } = useNodeSelection()\n\n // Local state for search and expand/collapse\n const [searchValue, setSearchValue] = useState('')\n const [autoExpandParent, setAutoExpandParent] = useState(true)\n\n const { wrapSSR, cx, token } = useStyle('Sidebar', getSidebarStyles)\n\n // Handle search with expansion logic\n const handleSearch = (value: string) => {\n if (value && builtTreeData) {\n // Get all keys that should be expanded when searching\n const allKeys = getAllTreeKeys(builtTreeData)\n setExpandedKeys(allKeys)\n setSearchValue(value)\n setAutoExpandParent(true)\n } else {\n setSearchValue(value)\n setAutoExpandParent(false)\n }\n }\n\n // Convert tree data to renderable format\n const renderTreeData = useMemo(() => {\n if (!builtTreeData) return []\n return convertToRenderableTreeData(builtTreeData, selectedEndpoint, cx)\n }, [builtTreeData, selectedEndpoint, cx])\n\n // Memoize filtered tree data\n const filteredTreeData = useMemo(() => {\n if (!searchValue) return renderTreeData\n if (!builtTreeData) return []\n\n // Filter using original tree structure, then convert to renderable format\n const filteredOriginal = filterTreeData(builtTreeData, searchValue)\n return convertToRenderableTreeData(filteredOriginal, selectedEndpoint, cx)\n }, [builtTreeData, searchValue, selectedEndpoint, cx])\n\n // Handle collapse all\n const collapseAll = () => {\n setExpandedKeys([])\n }\n\n const onTreeNodeSelect = (selectedKeys: React.Key[]) => {\n const stringKeys = selectedKeys.map((key) => String(key))\n\n if (stringKeys.length === 0) {\n clearSelection()\n return\n }\n\n if (!builtTreeData) return\n\n const selectedKey = stringKeys[0]\n selectNodeByKey(selectedKey)\n setSelectedNodeKey(selectedKey)\n }\n\n return wrapSSR(\n <Sider width={280} className={cx('sider')}>\n <div className={cx('content')}>\n <div className={cx('controls')}>\n <Input\n placeholder=\"Search by APIs or Endpoints\"\n value={searchValue}\n onChange={(e) => handleSearch(e.target.value)}\n allowClear\n className={cx('search-input')}\n />\n\n <Button onClick={collapseAll} title=\"Collapse All\" icon={<Minify />} />\n </div>\n {transformedData?.length ? (\n <Tree\n showLine={{ showLeafIcon: false }}\n showIcon={false}\n expandedKeys={expandedKeys}\n autoExpandParent={autoExpandParent}\n selectedKeys={[selectedNodeKey || '']}\n onSelect={(selectedKeys) => {\n // Don't allow to deselect a node\n if (!selectedKeys?.length) return\n onTreeNodeSelect(selectedKeys)\n setSelectedNodeKey(selectedKeys[0] as string)\n }}\n onExpand={(expandedKeysValue) => {\n setExpandedKeys(expandedKeysValue as string[])\n setAutoExpandParent(false)\n }}\n treeData={filteredTreeData}\n className={cx('tree')}\n />\n ) : (\n <Flex\n justify=\"center\"\n align=\"center\"\n gap={token.marginSM}\n vertical\n style={{ marginTop: token.paddingXL }}\n >\n <EmptyImg\n width={'10.375rem'}\n height={'8.1875rem'}\n style={{ backgroundSize: 'cover' }}\n />\n <Text\n style={{\n textAlign:'center',\n fontFamily: token.fontFamily,\n fontWeight: 400,\n fontSize: token.fontSizeLG,\n color: 'rgba(0,0,0,0.45)',\n }}\n >\n No API\n <br />\n Documentation Found\n </Text>\n </Flex>\n )}\n </div>\n </Sider>\n )\n}\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<mask id=\"path-1-inside-1_7584_26563\" fill=\"white\">\n<path d=\"M3.33333 2.5C2.87281 2.5 2.5 2.87281 2.5 3.33333V6.66667C2.5 7.1272 2.87281 7.5 3.33333 7.5H5.33333C5.79386 7.5 6.16667 7.1272 6.16667 6.66667V3.33333C6.16667 2.87281 5.79386 2.5 5.33333 2.5H3.33333ZM1.5 3.33333C1.5 2.32053 2.32053 1.5 3.33333 1.5H5.33333C6.34614 1.5 7.16667 2.32053 7.16667 3.33333V6.66667C7.16667 7.67947 6.34614 8.5 5.33333 8.5H3.33333C2.32053 8.5 1.5 7.67947 1.5 6.66667V3.33333ZM9.83333 3.33333C9.83333 2.87281 10.2061 2.5 10.6667 2.5H12.6667C13.1272 2.5 13.5 2.87281 13.5 3.33333V4.66667C13.5 5.12719 13.1272 5.5 12.6667 5.5H10.6667C10.2061 5.5 9.83333 5.12719 9.83333 4.66667V3.33333ZM10.6667 1.5C9.65387 1.5 8.83333 2.32053 8.83333 3.33333V4.66667C8.83333 5.67947 9.65387 6.5 10.6667 6.5H12.6667C13.6795 6.5 14.5 5.67947 14.5 4.66667V3.33333C14.5 2.32053 13.6795 1.5 12.6667 1.5H10.6667ZM9.83333 9.33333C9.83333 8.8728 10.2061 8.5 10.6667 8.5H12.6667C13.1272 8.5 13.5 8.8728 13.5 9.33333V12.6667C13.5 13.1272 13.1272 13.5 12.6667 13.5H10.6667C10.2061 13.5 9.83333 13.1272 9.83333 12.6667V9.33333ZM10.6667 7.5C9.65387 7.5 8.83333 8.32053 8.83333 9.33333V12.6667C8.83333 13.6795 9.65387 14.5 10.6667 14.5H12.6667C13.6795 14.5 14.5 13.6795 14.5 12.6667V9.33333C14.5 8.32053 13.6795 7.5 12.6667 7.5H10.6667ZM2.5 11.3333C2.5 10.8728 2.87281 10.5 3.33333 10.5H5.33333C5.79386 10.5 6.16667 10.8728 6.16667 11.3333V12.6667C6.16667 13.1272 5.79386 13.5 5.33333 13.5H3.33333C2.87281 13.5 2.5 13.1272 2.5 12.6667V11.3333ZM3.33333 9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333V12.6667C1.5 13.6795 2.32053 14.5 3.33333 14.5H5.33333C6.34614 14.5 7.16667 13.6795 7.16667 12.6667V11.3333C7.16667 10.3205 6.34614 9.5 5.33333 9.5H3.33333Z\"/>\n</mask>\n<path d=\"M3.33333 2.5C2.87281 2.5 2.5 2.87281 2.5 3.33333V6.66667C2.5 7.1272 2.87281 7.5 3.33333 7.5H5.33333C5.79386 7.5 6.16667 7.1272 6.16667 6.66667V3.33333C6.16667 2.87281 5.79386 2.5 5.33333 2.5H3.33333ZM1.5 3.33333C1.5 2.32053 2.32053 1.5 3.33333 1.5H5.33333C6.34614 1.5 7.16667 2.32053 7.16667 3.33333V6.66667C7.16667 7.67947 6.34614 8.5 5.33333 8.5H3.33333C2.32053 8.5 1.5 7.67947 1.5 6.66667V3.33333ZM9.83333 3.33333C9.83333 2.87281 10.2061 2.5 10.6667 2.5H12.6667C13.1272 2.5 13.5 2.87281 13.5 3.33333V4.66667C13.5 5.12719 13.1272 5.5 12.6667 5.5H10.6667C10.2061 5.5 9.83333 5.12719 9.83333 4.66667V3.33333ZM10.6667 1.5C9.65387 1.5 8.83333 2.32053 8.83333 3.33333V4.66667C8.83333 5.67947 9.65387 6.5 10.6667 6.5H12.6667C13.6795 6.5 14.5 5.67947 14.5 4.66667V3.33333C14.5 2.32053 13.6795 1.5 12.6667 1.5H10.6667ZM9.83333 9.33333C9.83333 8.8728 10.2061 8.5 10.6667 8.5H12.6667C13.1272 8.5 13.5 8.8728 13.5 9.33333V12.6667C13.5 13.1272 13.1272 13.5 12.6667 13.5H10.6667C10.2061 13.5 9.83333 13.1272 9.83333 12.6667V9.33333ZM10.6667 7.5C9.65387 7.5 8.83333 8.32053 8.83333 9.33333V12.6667C8.83333 13.6795 9.65387 14.5 10.6667 14.5H12.6667C13.6795 14.5 14.5 13.6795 14.5 12.6667V9.33333C14.5 8.32053 13.6795 7.5 12.6667 7.5H10.6667ZM2.5 11.3333C2.5 10.8728 2.87281 10.5 3.33333 10.5H5.33333C5.79386 10.5 6.16667 10.8728 6.16667 11.3333V12.6667C6.16667 13.1272 5.79386 13.5 5.33333 13.5H3.33333C2.87281 13.5 2.5 13.1272 2.5 12.6667V11.3333ZM3.33333 9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333V12.6667C1.5 13.6795 2.32053 14.5 3.33333 14.5H5.33333C6.34614 14.5 7.16667 13.6795 7.16667 12.6667V11.3333C7.16667 10.3205 6.34614 9.5 5.33333 9.5H3.33333Z\" fill=\"#D9D9D9\"/>\n<path d=\"M3.33333 2.5V1.5C2.32052 1.5 1.5 2.32052 1.5 3.33333H2.5H3.5C3.5 3.42509 3.42509 3.5 3.33333 3.5V2.5ZM2.5 3.33333H1.5V6.66667H2.5H3.5V3.33333H2.5ZM2.5 6.66667H1.5C1.5 7.67949 2.32053 8.5 3.33333 8.5V7.5V6.5C3.42509 6.5 3.5 6.57491 3.5 6.66667H2.5ZM3.33333 7.5V8.5H5.33333V7.5V6.5H3.33333V7.5ZM5.33333 7.5V8.5C6.34614 8.5 7.16667 7.67949 7.16667 6.66667H6.16667H5.16667C5.16667 6.57491 5.24158 6.5 5.33333 6.5V7.5ZM6.16667 6.66667H7.16667V3.33333H6.16667H5.16667V6.66667H6.16667ZM6.16667 3.33333H7.16667C7.16667 2.32052 6.34614 1.5 5.33333 1.5V2.5V3.5C5.24158 3.5 5.16667 3.42509 5.16667 3.33333H6.16667ZM5.33333 2.5V1.5H3.33333V2.5V3.5H5.33333V2.5ZM1.5 3.33333H2.5C2.5 2.87281 2.87281 2.5 3.33333 2.5V1.5V0.5C1.76824 0.5 0.5 1.76824 0.5 3.33333H1.5ZM3.33333 1.5V2.5H5.33333V1.5V0.5H3.33333V1.5ZM5.33333 1.5V2.5C5.79386 2.5 6.16667 2.87281 6.16667 3.33333H7.16667H8.16667C8.16667 1.76824 6.89843 0.5 5.33333 0.5V1.5ZM7.16667 3.33333H6.16667V6.66667H7.16667H8.16667V3.33333H7.16667ZM7.16667 6.66667H6.16667C6.16667 7.12718 5.79385 7.5 5.33333 7.5V8.5V9.5C6.89843 9.5 8.16667 8.23175 8.16667 6.66667H7.16667ZM5.33333 8.5V7.5H3.33333V8.5V9.5H5.33333V8.5ZM3.33333 8.5V7.5C2.87281 7.5 2.5 7.12718 2.5 6.66667H1.5H0.5C0.5 8.23175 1.76824 9.5 3.33333 9.5V8.5ZM1.5 6.66667H2.5V3.33333H1.5H0.5V6.66667H1.5ZM9.83333 3.33333H10.8333C10.8333 3.42509 10.7584 3.5 10.6667 3.5V2.5V1.5C9.65384 1.5 8.83333 2.32053 8.83333 3.33333H9.83333ZM10.6667 2.5V3.5H12.6667V2.5V1.5H10.6667V2.5ZM12.6667 2.5V3.5C12.5749 3.5 12.5 3.42509 12.5 3.33333H13.5H14.5C14.5 2.32053 13.6795 1.5 12.6667 1.5V2.5ZM13.5 3.33333H12.5V4.66667H13.5H14.5V3.33333H13.5ZM13.5 4.66667H12.5C12.5 4.57491 12.5749 4.5 12.6667 4.5V5.5V6.5C13.6795 6.5 14.5 5.67947 14.5 4.66667H13.5ZM12.6667 5.5V4.5H10.6667V5.5V6.5H12.6667V5.5ZM10.6667 5.5V4.5C10.7584 4.5 10.8333 4.57491 10.8333 4.66667H9.83333H8.83333C8.83333 5.67947 9.65384 6.5 10.6667 6.5V5.5ZM9.83333 4.66667H10.8333V3.33333H9.83333H8.83333V4.66667H9.83333ZM10.6667 1.5V0.5C9.10158 0.5 7.83333 1.76824 7.83333 3.33333H8.83333H9.83333C9.83333 2.87281 10.2061 2.5 10.6667 2.5V1.5ZM8.83333 3.33333H7.83333V4.66667H8.83333H9.83333V3.33333H8.83333ZM8.83333 4.66667H7.83333C7.83333 6.23176 9.10158 7.5 10.6667 7.5V6.5V5.5C10.2061 5.5 9.83333 5.12719 9.83333 4.66667H8.83333ZM10.6667 6.5V7.5H12.6667V6.5V5.5H10.6667V6.5ZM12.6667 6.5V7.5C14.2317 7.5 15.5 6.23176 15.5 4.66667H14.5H13.5C13.5 5.12719 13.1272 5.5 12.6667 5.5V6.5ZM14.5 4.66667H15.5V3.33333H14.5H13.5V4.66667H14.5ZM14.5 3.33333H15.5C15.5 1.76824 14.2317 0.5 12.6667 0.5V1.5V2.5C13.1272 2.5 13.5 2.87281 13.5 3.33333H14.5ZM12.6667 1.5V0.5H10.6667V1.5V2.5H12.6667V1.5ZM9.83333 9.33333H10.8333C10.8333 9.42509 10.7584 9.5 10.6667 9.5V8.5V7.5C9.65385 7.5 8.83333 8.32052 8.83333 9.33333H9.83333ZM10.6667 8.5V9.5H12.6667V8.5V7.5H10.6667V8.5ZM12.6667 8.5V9.5C12.5749 9.5 12.5 9.42509 12.5 9.33333H13.5H14.5C14.5 8.32052 13.6795 7.5 12.6667 7.5V8.5ZM13.5 9.33333H12.5V12.6667H13.5H14.5V9.33333H13.5ZM13.5 12.6667H12.5C12.5 12.5749 12.5749 12.5 12.6667 12.5V13.5V14.5C13.6795 14.5 14.5 13.6795 14.5 12.6667H13.5ZM12.6667 13.5V12.5H10.6667V13.5V14.5H12.6667V13.5ZM10.6667 13.5V12.5C10.7584 12.5 10.8333 12.5749 10.8333 12.6667H9.83333H8.83333C8.83333 13.6795 9.65385 14.5 10.6667 14.5V13.5ZM9.83333 12.6667H10.8333V9.33333H9.83333H8.83333V12.6667H9.83333ZM10.6667 7.5V6.5C9.10158 6.5 7.83333 7.76825 7.83333 9.33333H8.83333H9.83333C9.83333 8.87282 10.2062 8.5 10.6667 8.5V7.5ZM8.83333 9.33333H7.83333V12.6667H8.83333H9.83333V9.33333H8.83333ZM8.83333 12.6667H7.83333C7.83333 14.2318 9.10158 15.5 10.6667 15.5V14.5V13.5C10.2062 13.5 9.83333 13.1272 9.83333 12.6667H8.83333ZM10.6667 14.5V15.5H12.6667V14.5V13.5H10.6667V14.5ZM12.6667 14.5V15.5C14.2318 15.5 15.5 14.2318 15.5 12.6667H14.5H13.5C13.5 13.1272 13.1272 13.5 12.6667 13.5V14.5ZM14.5 12.6667H15.5V9.33333H14.5H13.5V12.6667H14.5ZM14.5 9.33333H15.5C15.5 7.76825 14.2318 6.5 12.6667 6.5V7.5V8.5C13.1272 8.5 13.5 8.87282 13.5 9.33333H14.5ZM12.6667 7.5V6.5H10.6667V7.5V8.5H12.6667V7.5ZM2.5 11.3333H3.5C3.5 11.4251 3.42509 11.5 3.33333 11.5V10.5V9.5C2.32053 9.5 1.5 10.3205 1.5 11.3333H2.5ZM3.33333 10.5V11.5H5.33333V10.5V9.5H3.33333V10.5ZM5.33333 10.5V11.5C5.24158 11.5 5.16667 11.4251 5.16667 11.3333H6.16667H7.16667C7.16667 10.3205 6.34614 9.5 5.33333 9.5V10.5ZM6.16667 11.3333H5.16667V12.6667H6.16667H7.16667V11.3333H6.16667ZM6.16667 12.6667H5.16667C5.16667 12.5749 5.24158 12.5 5.33333 12.5V13.5V14.5C6.34614 14.5 7.16667 13.6795 7.16667 12.6667H6.16667ZM5.33333 13.5V12.5H3.33333V13.5V14.5H5.33333V13.5ZM3.33333 13.5V12.5C3.42509 12.5 3.5 12.5749 3.5 12.6667H2.5H1.5C1.5 13.6795 2.32053 14.5 3.33333 14.5V13.5ZM2.5 12.6667H3.5V11.3333H2.5H1.5V12.6667H2.5ZM3.33333 9.5V8.5C1.76824 8.5 0.5 9.76825 0.5 11.3333H1.5H2.5C2.5 10.8728 2.87281 10.5 3.33333 10.5V9.5ZM1.5 11.3333H0.5V12.6667H1.5H2.5V11.3333H1.5ZM1.5 12.6667H0.5C0.5 14.2317 1.76824 15.5 3.33333 15.5V14.5V13.5C2.87281 13.5 2.5 13.1272 2.5 12.6667H1.5ZM3.33333 14.5V15.5H5.33333V14.5V13.5H3.33333V14.5ZM5.33333 14.5V15.5C6.89843 15.5 8.16667 14.2317 8.16667 12.6667H7.16667H6.16667C6.16667 13.1272 5.79385 13.5 5.33333 13.5V14.5ZM7.16667 12.6667H8.16667V11.3333H7.16667H6.16667V12.6667H7.16667ZM7.16667 11.3333H8.16667C8.16667 9.76825 6.89843 8.5 5.33333 8.5V9.5V10.5C5.79385 10.5 6.16667 10.8728 6.16667 11.3333H7.16667ZM5.33333 9.5V8.5H3.33333V9.5V10.5H5.33333V9.5Z\" fill=\"#769DE4\" mask=\"url(#path-1-inside-1_7584_26563)\"/>\n</svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M13.2673 9H2.73398C1.73398 9 1.33398 9.42667 1.33398 10.4867V13.18C1.33398 14.24 1.73398 14.6667 2.73398 14.6667H13.2673C14.2673 14.6667 14.6673 14.24 14.6673 13.18V10.4867C14.6673 9.42667 14.2673 9 13.2673 9Z\" stroke=\"black\" stroke-opacity=\"0.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M13.2673 1.33398H2.73398C1.73398 1.33398 1.33398 1.76065 1.33398 2.82065V5.51398C1.33398 6.57398 1.73398 7.00065 2.73398 7.00065H13.2673C14.2673 7.00065 14.6673 6.57398 14.6673 5.51398V2.82065C14.6673 1.76065 14.2673 1.33398 13.2673 1.33398Z\" stroke=\"black\" stroke-opacity=\"0.25\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7.39967 15.1673H4.59967C1.99301 15.1673 0.833008 14.0073 0.833008 11.4007V8.60065C0.833008 5.99398 1.99301 4.83398 4.59967 4.83398H7.39967C10.0063 4.83398 11.1663 5.99398 11.1663 8.60065V11.4007C11.1663 14.0073 10.0063 15.1673 7.39967 15.1673ZM4.59967 5.83398C2.53301 5.83398 1.83301 6.53398 1.83301 8.60065V11.4007C1.83301 13.4673 2.53301 14.1673 4.59967 14.1673H7.39967C9.46634 14.1673 10.1663 13.4673 10.1663 11.4007V8.60065C10.1663 6.53398 9.46634 5.83398 7.39967 5.83398H4.59967Z\" fill=\"black\" fill-opacity=\"0.45\"/>\n<path d=\"M11.3997 11.1673H10.6663C10.393 11.1673 10.1663 10.9407 10.1663 10.6673V8.60065C10.1663 6.53398 9.46634 5.83398 7.39967 5.83398H5.33301C5.05967 5.83398 4.83301 5.60732 4.83301 5.33398V4.60065C4.83301 1.99398 5.99301 0.833984 8.59967 0.833984H11.3997C14.0063 0.833984 15.1663 1.99398 15.1663 4.60065V7.40065C15.1663 10.0073 14.0063 11.1673 11.3997 11.1673ZM11.1663 10.1673H11.3997C13.4663 10.1673 14.1663 9.46732 14.1663 7.40065V4.60065C14.1663 2.53398 13.4663 1.83398 11.3997 1.83398H8.59967C6.53301 1.83398 5.83301 2.53398 5.83301 4.60065V4.83398H7.39967C10.0063 4.83398 11.1663 5.99398 11.1663 8.60065V10.1673Z\" fill=\"black\" fill-opacity=\"0.45\"/>\n</svg>\n","<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3.875 9.25C2.085 9.25 0.625 7.79 0.625 6C0.625 4.21 2.085 2.75 3.875 2.75C4.08 2.75 4.25 2.92 4.25 3.125C4.25 3.33 4.08 3.5 3.875 3.5C2.495 3.5 1.375 4.62 1.375 6C1.375 7.38 2.495 8.5 3.875 8.5C5.255 8.5 6.375 7.38 6.375 6C6.375 5.795 6.545 5.625 6.75 5.625C6.955 5.625 7.125 5.795 7.125 6C7.125 7.79 5.665 9.25 3.875 9.25Z\" fill=\"#4D75D9\"/>\n<path d=\"M8 9.375C7.795 9.375 7.625 9.205 7.625 9C7.625 8.795 7.795 8.625 8 8.625C9.445 8.625 10.625 7.445 10.625 6C10.625 4.555 9.445 3.375 8 3.375C6.555 3.375 5.375 4.555 5.375 6C5.375 6.205 5.205 6.375 5 6.375C4.795 6.375 4.625 6.205 4.625 6C4.625 4.14 6.14 2.625 8 2.625C9.86 2.625 11.375 4.14 11.375 6C11.375 7.86 9.86 9.375 8 9.375Z\" fill=\"#4D75D9\"/>\n</svg>\n","import { useStyle } from '@/hooks/useStyle'\nimport { EndpointData } from '@/view/entities'\nimport { methodColors } from '@/view/helper'\nimport { Button, Card, Divider, Flex, Tooltip } from 'antd'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\nimport LinkIcon from '@/assets/link.svg'\nimport { useNodeSelection } from '@/hooks/useNodeSelection'\n\ninterface IAPICard {\n viewStyle: 'grid' | 'list'\n api: EndpointData\n}\n\nconst ApiCard = ({ api, viewStyle }: IAPICard) => {\n const { wrapSSR, cx, token } = useStyle('DocumentationApiCard', (token, scope) => ({\n [scope('method-chip')]: {\n minWidth: '5.375rem',\n width: 'fit-content',\n paddingLeft: token.marginXS,\n paddingRight: token.marginXS,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: token.borderRadius,\n },\n [scope('list-container')]: { paddingTop: token.marginXS, paddingBottom: token.marginXS },\n [scope('chip-title')]: {\n alignSelf: 'center',\n textAlign: 'center',\n padding: 0,\n margin: 0,\n lineHeight: '1.375rem',\n fontSize: token.fontSize,\n },\n [scope('list-see-details')]: {\n width: '6.5625rem',\n height: '2rem',\n borderRadius: token.borderRadius,\n border: `${token.lineWidth}rem solid ${token.Button?.defaultBorderColor}`,\n paddingRight: token.Button?.paddingInline,\n paddingLeft: token.Button?.paddingInline,\n background: token.Button?.defaultBg,\n '&:hover': {\n background: token.Button?.defaultBg,\n },\n },\n [scope('list-content')]: {\n display: 'flex',\n paddingTop: token.paddingXXS,\n paddingBottom: token.paddingXXS,\n paddingRight: token.paddingXS,\n paddingLeft: token.paddingXS,\n alignItems: 'center',\n gap: token.marginXS,\n alignSelf: 'stretch',\n flexDirection: 'row',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.colorBorderSecondary}`,\n minWidth: '6.25rem',\n maxWidth: 'fit-content',\n },\n [scope('list-title')]: {\n color: token.colorTextHeading,\n fontSize: token.fontSizeHeading3,\n fontWeight: token.fontWeightStrong,\n lineHeight: token.lineHeightHeading3,\n paddingBottom: 0,\n marginBottom: 0,\n fontFamily: 'SF Pro',\n '&:hover': {\n color: `${token.colorPrimary} !important`,\n textDecoration: 'underline',\n },\n },\n [scope('path-name')]: {\n color: token.colorText,\n fontSize: token.fontSizeSM,\n fontWeight: 400,\n fontFamily: token.fontFamily,\n },\n [scope('grid-card')]: {\n width: '17.5rem',\n height: '100%',\n borderRadius: token.borderRadiusLG,\n },\n [scope('grid-title')]: {\n color: token.colorTextHeading,\n fontSize: token.fontSizeHeading3,\n fontWeight: token.fontWeightStrong,\n lineHeight: token.lineHeightHeading3,\n paddingBottom: 0,\n marginBottom: 0,\n fontFamily: token.fontFamily,\n },\n [scope('grid-content')]: {\n display: 'flex',\n paddingTop: token.paddingXXS,\n paddingBottom: token.paddingXXS,\n paddingRight: token.paddingXS,\n paddingLeft: token.paddingXS,\n alignItems: 'center',\n gap: token.marginXS,\n alignSelf: 'stretch',\n flexDirection: 'row',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.colorBorderSecondary}`,\n },\n [scope('grid-path-name')]: {\n color: token.colorText,\n fontSize: token.fontSizeSM,\n fontWeight: 400,\n fontFamily: token.fontFamily,\n },\n [scope('grid-see-details')]: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: '0.4375rem',\n paddingRight: '0.4375rem',\n borderRadius: token.borderRadiusSM,\n border: `1px solid ${token.Button?.defaultBorderColor}`,\n background: token.Button?.defaultBg,\n boxShadow: `0 2px 0 0 rgba(0, 0, 0, 0.02)`,\n width: '100%',\n height: '1.5rem',\n },\n }))\n\n const { selectNodeByKey } = useNodeSelection()\n\n const handleOpenEndPointView = () => {\n selectNodeByKey(api.id)\n }\n\n const TooltippedText = ({ text }: { text: string }) => {\n const limitation = viewStyle == 'grid' ? 15 : 36\n if (text.length < limitation) {\n return text\n }\n\n return (\n <Tooltip title={text} placement=\"bottomLeft\">\n {text.substring(0, limitation)}...\n </Tooltip>\n )\n }\n\n const MethodChip = ({ method }: { method: string }) => {\n const { bg, color }: { bg: string; color: string } =\n methodColors[method.toUpperCase() as keyof typeof methodColors]\n return (\n <div className={cx('method-chip')} style={{ color, backgroundColor: bg }}>\n <Title color={color} className={cx('chip-title')} level={5}>\n {method}\n </Title>\n </div>\n )\n }\n\n if (viewStyle == 'list') {\n return wrapSSR(\n <Flex vertical>\n <Flex justify=\"space-between\" align=\"center\" className={cx('list-container')}>\n <Flex gap={token.marginSM}>\n <MethodChip method={api.method} />\n <Title className={cx('list-title')} level={4}>\n <TooltippedText text={api?.summary || 'Endpoint Name'} />\n </Title>\n </Flex>\n <Button className={cx('list-see-details')} onClick={handleOpenEndPointView}>\n See Details\n </Button>\n </Flex>\n <div className={cx('list-content')}>\n <LinkIcon />\n <Text className={cx('path-name')}>{api?.path}</Text>\n </div>\n <Divider style={{ marginTop: '0.75rem', marginBottom: '0.25rem' }} />\n </Flex>\n )\n }\n\n return wrapSSR(\n <Card className={cx('grid-card')}>\n <Flex vertical gap={token.marginSM}>\n <MethodChip method={api?.method} />\n <Title className={cx('grid-title')} level={4}>\n <TooltippedText text={api?.summary || 'Endpoint Name'} />\n </Title>\n <div className={cx('grid-content')}>\n <LinkIcon />\n <Text className={cx('grid-path-name')}>{api?.path}</Text>\n </div>\n <Button className={cx('grid-see-details')} onClick={handleOpenEndPointView}>\n See Details\n </Button>\n </Flex>\n </Card>\n )\n}\n\nexport default ApiCard\n","export const handleStatusColor = (code: number): string => {\n if (code >= 200 && code < 300) {\n return 'green' // 2xx codes\n } else if (code >= 400 && code < 500) {\n return 'red' // 4xx codes\n } else if (code >= 500 && code < 600) {\n return 'red' // 5xx codes\n } else if (code >= 100 && code < 200) {\n return 'blue' // 1xx codes (Informational)\n } else if (code >= 300 && code < 400) {\n return 'orange' // 3xx codes (Redirection)\n } else {\n return 'gray' // Default or invalid status codes\n }\n}\n\nexport const copyToClipboard = async (text: string) => {\n try {\n await navigator.clipboard.writeText(text)\n return;\n } catch (err) {\n return err\n }\n}\n","'use client'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { Button, Divider, Flex, Radio, RadioChangeEvent, Select, Tag, Tooltip } from 'antd'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\nimport { InfoCircleOutlined, LockOutlined } from '@ant-design/icons'\nimport GridIcon from '@/assets/grid.svg'\nimport ListIcon from '@/assets/list.svg'\nimport CopyIcon from '@/assets/copy.svg'\nimport useStore from '@/store'\nimport { EndpointData, OverviewData } from '@/view/entities'\nimport ApiCard from './components/ApiCard'\nimport { useEffect, useState } from 'react'\nimport { copyToClipboard } from '@/utils'\n\nexport const APIPage = () => {\n const [selectedUrl, setSelectedUrl] = useState<string>('')\n const [copying, setCopying] = useState(false)\n const {\n view: { selectedApi, transformedData, setSelectedApi, setFocusedContent, setSelectedNodeKey },\n } = useStore()\n const [viewStyle, setViewStyle] = useState<'grid' | 'list'>('grid')\n const { wrapSSR, cx, token } = useStyle('DocumentationApiPage', () => ({}))\n\n const currentVersion = selectedApi?.relatedVersions?.find(\n (v) => v.apiId === selectedApi?.currentVersion\n )\n\n const handleVersionChanged = (value: string) => {\n console.log('new value ', value)\n const apiByVersion = transformedData?.find((item) => item.currentVersion === value)\n if (apiByVersion) {\n setSelectedApi(apiByVersion)\n setFocusedContent('API')\n setSelectedNodeKey(apiByVersion.id)\n }\n }\n\n useEffect(() => {\n if (selectedApi?.servers && !selectedUrl) {\n setSelectedUrl(selectedApi?.servers?.[0].url)\n }\n }, [selectedApi?.servers])\n\n const handleCopyUrl = async () => {\n setCopying(true)\n await copyToClipboard(selectedUrl)\n setTimeout(() => {\n setCopying(false)\n }, 700)\n }\n\n const APIsRenderer = ({\n apis,\n withTitle,\n tagName,\n haveUnderLine,\n }: {\n apis: OverviewData['tags']['default']\n withTitle?: boolean\n tagName?: string\n haveUnderLine?: boolean\n }) => {\n return (\n <Flex\n gap={viewStyle == 'grid' ? token.marginXS : 0}\n style={{ marginBottom: 0, paddingBottom: 0 }}\n vertical\n >\n {withTitle && (\n <Title style={{ marginBottom: 0 }} level={4}>\n {tagName}\n </Title>\n )}\n <Flex wrap={'wrap'} gap={viewStyle == 'grid' ? '1.5rem' : 0} vertical={viewStyle == 'list'}>\n {apis.map((item) => (\n <ApiCard api={item} viewStyle={viewStyle} />\n ))}\n </Flex>\n {haveUnderLine && (\n <Divider style={{ marginTop: token.marginSM, marginBottom: token.marginSM }} />\n )}\n </Flex>\n )\n }\n\n return wrapSSR(\n <Flex vertical gap={token.margin}>\n <Title className={cx('container')} level={4}>\n {selectedApi?.title}\n </Title>\n <Flex>\n {selectedApi?.authType && (\n <Tooltip title=\"Authenticator Type\" placement=\"bottomLeft\">\n <Tag\n style={{\n minWidth: '3.9375rem',\n width: 'max-content',\n height: '2rem',\n background: '#fff',\n borderRadius: token.borderRadiusSM,\n paddingTop: '0.0625rem',\n paddingBottom: '0.0625rem',\n paddingRight: token.paddingContentHorizontalSM,\n paddingLeft: token.paddingContentHorizontalSM,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n icon={<LockOutlined />}\n >\n {selectedApi?.authType?.replace(/_/g, ' ')}\n </Tag>\n </Tooltip>\n )}\n {selectedApi?.authType && <Divider style={{ height: '2rem' }} type=\"vertical\" />}\n <Select\n size=\"middle\"\n prefix={\n <Tooltip title={'API Version'} placement=\"bottom\">\n <InfoCircleOutlined />\n </Tooltip>\n }\n value={currentVersion?.apiId}\n onChange={handleVersionChanged}\n style={{\n minWidth: '6.1875rem',\n width: 'max-content',\n display: 'flex',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n paddingLeft: '0.5rem',\n paddingRight: '0.5rem',\n }}\n placeholder=\"Version\"\n options={selectedApi?.relatedVersions?.map((item) => ({\n label: item.version,\n value: item.apiId,\n }))}\n showSearch={false}\n />\n <Divider\n style={{\n height: '2rem',\n }}\n type=\"vertical\"\n />\n <Select\n size=\"middle\"\n prefix={\n <Tooltip title={'URL'} placement=\"bottom\">\n <InfoCircleOutlined />\n </Tooltip>\n }\n value={selectedApi?.servers?.[0]?.url}\n onChange={setSelectedUrl}\n style={{\n width: '24.75rem',\n display: 'flex',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n paddingLeft: '0.5rem',\n }}\n placeholder=\"API URLs\"\n options={selectedApi?.servers?.map((server) => ({\n label: server?.url,\n value: server?.url,\n }))}\n showSearch={false}\n />\n <Button\n color={copying ? 'green' : 'default'}\n variant={copying ? 'filled' : 'outlined'}\n icon={<CopyIcon />}\n iconPosition=\"end\"\n style={{ marginLeft: '0.69rem' }}\n onClick={handleCopyUrl}\n >\n {!copying ? 'Copy' : 'Copied'}\n </Button>\n\n <Radio.Group\n style={{ marginLeft: 'auto', display: 'flex' }}\n optionType=\"button\"\n buttonStyle=\"outline\"\n defaultValue={viewStyle}\n onChange={(e: RadioChangeEvent) => {\n setViewStyle(e.target.value)\n }}\n >\n <Radio.Button value=\"grid\" style={{ display: 'flex', alignItems: 'center' }}>\n <GridIcon />\n </Radio.Button>\n <Radio.Button value=\"list\" style={{ display: 'flex', alignItems: 'center' }}>\n <ListIcon />\n </Radio.Button>\n </Radio.Group>\n </Flex>\n {selectedApi?.description && (\n <Text\n style={{\n fontFamily: token.fontFamily,\n fontWeight: 400,\n fontSize: token.fontSizeLG,\n color: `rgba(0,0,0, 0.45)`,\n }}\n >\n {selectedApi?.description}\n </Text>\n )}\n {Object.keys((selectedApi?.tags || {}) as Object)\n .sort((a, b) => {\n if (a.toLowerCase() === 'default') return 1 // put 'default' last\n if (b.toLowerCase() === 'default') return -1\n return 0\n })\n .map((key, index) => {\n if (\n key.toLowerCase() == 'default' &&\n Object.keys(selectedApi?.tags as Object).length <= 1\n ) {\n // return without title\n return <APIsRenderer apis={selectedApi?.tags[key] as EndpointData[]} tagName={key} withTitle={false} />\n }\n return (\n <APIsRenderer\n apis={selectedApi?.tags[key] as EndpointData[]}\n tagName={key}\n withTitle={true}\n haveUnderLine={index < Object.keys((selectedApi?.tags || {}) as Object).length - 1}\n />\n )\n })}\n </Flex>\n )\n}\n","'use client'\nimport React, { useState } from 'react'\nimport { Typography, Table, Tag, Card, Select, Breadcrumb, Button, Tabs, Tooltip } from 'antd'\nimport { AntdRegistry } from '@ant-design/nextjs-registry'\nimport { useStyle } from '../../../hooks/useStyle'\nimport { LeftOutlined } from '@ant-design/icons'\nimport useStore from '@/store'\nimport { methodColors } from '@/view/helper'\nimport CopyOutlined from '@/assets/copy.svg'\nimport { handleStatusColor } from '@/utils'\n\nconst { Title, Paragraph } = Typography\n\n// Table column definitions\nconst requestColumns = [\n { title: 'Parameter', dataIndex: 'param', key: 'param' },\n { title: 'Description', dataIndex: 'desc', key: 'desc' },\n { title: 'Enum', dataIndex: 'enum', key: 'enum' },\n]\n\nconst responseColumns = [...requestColumns]\n\n// Helper to build table rows from OpenAPI params\nconst buildRequestData = (params: any[]) =>\n params.map((p, index) => ({\n key: index,\n param: (\n <span>\n {p.name}\n {p.schema?.type && (\n <span\n style={{ color: 'rgba(0,0,0,0.45)', marginLeft: '0.25rem', marginRight: '0.25rem' }}\n >\n {p.schema.type}\n </span>\n )}\n {p.required ? (\n <span style={{ color: 'red' }}>*</span>\n ) : (\n <span style={{ color: '#52C41A' }}>Optional</span>\n )}\n </span>\n ),\n desc: p.description || '-',\n enum: p.schema?.enum ? p.schema.enum.map((e: string) => <Tag key={e}>{e}</Tag>) : '--',\n }))\n\n// Build response rows from headers\nconst buildHeaderData = (headers: any) => {\n if (!headers) return []\n return Object.entries(headers).map(([name, header]: any, idx) => ({\n key: idx,\n param: (\n <span>\n {name}\n {header.schema?.type && (\n <span\n style={{ color: 'rgba(0,0,0,0.45)', marginLeft: '0.25rem', marginRight: '0.25rem' }}\n >\n {header.schema.type}\n </span>\n )}\n {header.required ? (\n <span style={{ color: 'red' }}>*</span>\n ) : (\n <span style={{ color: '#52C41A' }}>Optional</span>\n )}\n </span>\n ),\n desc: header.description || '-',\n enum: header.schema?.enum\n ? header.schema.enum.map((e: string) => <Tag key={e}>{e}</Tag>)\n : '--',\n }))\n}\n\nexport const EndpointPage: React.FC = () => {\n const {\n selectedEndpoint,\n selectedApi,\n selectedStatusCode,\n setSelectedNodeKey,\n setFocusedContent,\n } = useStore(({ view }) => view)\n const [endpointTooltip, setEndpointTooltip] = useState('Copy endpoint')\n const [selectedServer, setSelectedServer] = useState(0)\n\n const { cx } = useStyle('EndpointPage', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginLG,\n height: '100%',\n },\n [scope('content')]: {\n width: '100%',\n height: '100%',\n },\n [scope('code')]: {\n background: 'unset',\n borderRadius: token.borderRadius,\n padding: token.paddingSM,\n fontFamily: 'monospace',\n whiteSpace: 'pre-wrap',\n },\n [scope('breadcrumb')]: {\n display: 'flex',\n gap: token.marginLG,\n alignItems: 'center',\n marginBottom: token.marginLG,\n },\n }))\n\n const methodStyle = methodColors[selectedEndpoint?.method as keyof typeof methodColors]\n const headerParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'header') || []\n )\n const pathParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'path') || []\n )\n const queryParams = buildRequestData(\n selectedEndpoint?.parameters?.filter((p) => p.in === 'query') || []\n )\n type RequestTab = { key: string; label: string; children: any }\n\n const requestTabs: RequestTab[] = [\n headerParams.length > 0\n ? {\n key: 'header',\n label: 'Header',\n children: (\n <Table\n columns={requestColumns}\n dataSource={headerParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n pathParams.length > 0\n ? {\n key: 'path',\n label: 'Path',\n children: (\n <Table\n columns={requestColumns}\n dataSource={pathParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n queryParams.length > 0\n ? {\n key: 'query',\n label: 'Query',\n children: (\n <Table\n columns={requestColumns}\n dataSource={queryParams}\n pagination={false}\n bordered\n size=\"small\"\n />\n ),\n }\n : null,\n ].filter((t): t is RequestTab => t !== null)\n\n const responseObj = selectedEndpoint?.responses?.[selectedStatusCode || 200]\n const responseHeaders = responseObj?.headers\n\n const responseHeaderData = buildHeaderData(responseHeaders)\n\n const serverOptions =\n selectedApi?.servers?.map((server: any, index: number) => ({\n value: index,\n label: `${server.url}${selectedEndpoint?.path || ''}`,\n })) || []\n\n const getFullEndpointUrl = () => {\n if (!selectedApi?.servers || !selectedApi.servers[selectedServer]) return ''\n\n const server = selectedApi.servers[selectedServer]\n return `${server.url}${selectedEndpoint?.path || ''}`\n }\n\n return (\n <AntdRegistry>\n <div className={cx('container')}>\n {/* Main Content */}\n <div className={cx('content')}>\n {/* Header */}\n <div className={cx('breadcrumb')}>\n <Button\n color=\"default\"\n variant=\"outlined\"\n icon={<LeftOutlined />}\n onClick={(e) => {\n e.preventDefault()\n setSelectedNodeKey(selectedApi?.id as string)\n setFocusedContent('API')\n }}\n ></Button>\n\n <Breadcrumb\n items={[\n {\n href: '',\n title: <span>{selectedApi?.title || 'API Name'}</span>,\n onClick: (e) => {\n e.preventDefault()\n setSelectedNodeKey(selectedApi?.id as string)\n setFocusedContent('API')\n },\n },\n {\n title: (\n <p\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n color: 'rgba(0,0,0,0.45)',\n gap: '0.25rem',\n }}\n >\n <span>{selectedEndpoint?.tagName || 'default'}</span>\n </p>\n ),\n },\n {\n title: <span>{selectedEndpoint?.summary || 'Endpoint Name'}</span>,\n },\n ]}\n />\n </div>\n <Title level={3}>{selectedEndpoint?.summary}</Title>\n <Paragraph>\n <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n <Select\n value={selectedServer}\n style={{ width: '100%' }}\n onChange={(value) => setSelectedServer(value)}\n prefix={\n <Tag\n style={{\n backgroundColor: methodStyle?.bg,\n color: methodStyle?.color,\n border: 'none',\n }}\n >\n {selectedEndpoint?.method}\n </Tag>\n }\n options={serverOptions}\n />\n <Tooltip title={endpointTooltip}>\n <Button\n color=\"default\"\n variant=\"outlined\"\n onClick={() => {\n const fullUrl = getFullEndpointUrl()\n if (fullUrl) {\n navigator.clipboard.writeText(fullUrl)\n setEndpointTooltip('Copied!')\n setTimeout(() => setEndpointTooltip('Copy endpoint'), 1500)\n }\n }}\n icon={<CopyOutlined />}\n />\n </Tooltip>\n </div>\n </Paragraph>\n <Paragraph style={{ color: 'rgba(0,0,0,0.45)', marginBottom: '1.5rem' }}>\n {selectedEndpoint?.description}\n </Paragraph>\n\n {/* Request Section */}\n {requestTabs.length > 0 && (\n <Card title=\"Request\" style={{ marginBottom: '1.5rem' }}>\n <Tabs defaultActiveKey={requestTabs[0].key} items={requestTabs} />\n </Card>\n )}\n\n {/* Response Section */}\n {responseHeaderData.length > 0 && (\n <Card\n title=\"Response\"\n extra={\n <Tag>\n <span\n style={{\n background: handleStatusColor(selectedStatusCode as number),\n borderRadius: '50%',\n display: 'inline-block',\n width: '0.5rem',\n height: '0.5rem',\n marginRight: '0.5rem',\n }}\n ></span>\n <span>{selectedStatusCode}</span>\n </Tag>\n }\n >\n {responseHeaderData.length > 0 && (\n <Table\n columns={responseColumns}\n dataSource={responseHeaderData}\n pagination={false}\n bordered\n size=\"small\"\n />\n )}\n </Card>\n )}\n </div>\n </div>\n </AntdRegistry>\n )\n}\n","<svg width=\"298\" height=\"237\" viewBox=\"0 0 298 237\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M174.518 86.3532C156.105 86.4631 137.407 85.6054 119.917 80.7451C102.427 75.8848 86.959 66.714 72.8969 56.0037C63.6906 49.0321 55.3192 43.4901 43.3664 44.3258C31.6796 44.9406 20.5009 49.3051 11.485 56.7734C-3.71966 70.1008 -1.4126 94.7323 4.65169 112.062C13.7921 138.167 41.6087 156.289 65.2286 168.099C92.5399 181.756 122.532 189.695 152.611 194.248C178.978 198.25 212.837 201.175 235.666 183.933C256.649 168.121 262.406 131.965 257.264 107.554C256.013 100.344 252.177 93.8378 246.476 89.2562C231.733 78.4799 209.761 85.6714 193.194 86.0453C187.152 86.1772 180.802 86.3312 174.518 86.3532Z\" fill=\"#F1F5FD\"/>\n<path d=\"M84.7393 1V10.4567\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M80.0156 5.72852H89.4636\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M263.987 189.496V198.953\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M259.264 194.225H268.712\" stroke=\"#E0E9F9\" stroke-width=\"0.85\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M13.3525 148.656C14.5417 148.656 15.5057 147.691 15.5057 146.501C15.5057 145.311 14.5417 144.346 13.3525 144.346C12.1633 144.346 11.1992 145.311 11.1992 146.501C11.1992 147.691 12.1633 148.656 13.3525 148.656Z\" fill=\"#E0E9F9\"/>\n<path d=\"M196.687 10.7636C197.877 10.7636 198.841 9.79869 198.841 8.60838C198.841 7.41807 197.877 6.45312 196.687 6.45312C195.498 6.45312 194.534 7.41807 194.534 8.60838C194.534 9.79869 195.498 10.7636 196.687 10.7636Z\" fill=\"#E0E9F9\"/>\n<path d=\"M137.011 236.999C181.546 236.999 217.649 234.754 217.649 231.985C217.649 229.216 181.546 226.971 137.011 226.971C92.4766 226.971 56.374 229.216 56.374 231.985C56.374 234.754 92.4766 236.999 137.011 236.999Z\" fill=\"#F1F5FD\"/>\n<path d=\"M74.8962 26.6875H192.007C194.921 26.6875 197.715 27.846 199.776 29.9082C201.836 31.9704 202.993 34.7673 202.993 37.6837V177.137C202.993 180.054 201.836 182.851 199.776 184.913C197.715 186.975 194.921 188.133 192.007 188.133H59.8893C56.9757 188.133 54.1813 186.975 52.1211 184.913C50.0608 182.851 48.9033 180.054 48.9033 177.137V52.9684L74.8962 26.6875Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M202.465 94.6445H81.707V189.476H202.465V94.6445Z\" fill=\"#F1F5FD\"/>\n<path d=\"M48.9033 52.9684H70.1942C71.4433 52.9626 72.6392 52.4618 73.5204 51.5757C74.4016 50.6896 74.8963 49.4902 74.8962 48.24V26.6875L48.9033 52.9684Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M201.873 64.3594H82.4329C77.7852 64.3594 74.0176 68.1305 74.0176 72.7824V98.3596C74.0176 103.011 77.7852 106.783 82.4329 106.783H201.873C206.521 106.783 210.288 103.011 210.288 98.3596V72.7824C210.288 68.1305 206.521 64.3594 201.873 64.3594Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 92.9721C101.273 92.9721 104.558 89.6835 104.558 85.6267C104.558 81.5699 101.273 78.2812 97.2195 78.2812C93.1665 78.2812 89.8809 81.5699 89.8809 85.6267C89.8809 89.6835 93.1665 92.9721 97.2195 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 92.9721C124.344 92.9721 127.629 89.6835 127.629 85.6267C127.629 81.5699 124.344 78.2812 120.291 78.2812C116.238 78.2812 112.952 81.5699 112.952 85.6267C112.952 89.6835 116.238 92.9721 120.291 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 92.9721C147.392 92.9721 150.677 89.6835 150.677 85.6267C150.677 81.5699 147.392 78.2812 143.339 78.2812C139.286 78.2812 136 81.5699 136 85.6267C136 89.6835 139.286 92.9721 143.339 92.9721Z\" fill=\"#F1F5FD\"/>\n<path d=\"M201.873 111.379H82.4329C77.7852 111.379 74.0176 115.15 74.0176 119.802V145.379C74.0176 150.031 77.7852 153.802 82.4329 153.802H201.873C206.521 153.802 210.288 150.031 210.288 145.379V119.802C210.288 115.15 206.521 111.379 201.873 111.379Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 140.013C101.273 140.013 104.558 136.724 104.558 132.668C104.558 128.611 101.273 125.322 97.2195 125.322C93.1665 125.322 89.8809 128.611 89.8809 132.668C89.8809 136.724 93.1665 140.013 97.2195 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 140.013C124.344 140.013 127.629 136.724 127.629 132.668C127.629 128.611 124.344 125.322 120.291 125.322C116.238 125.322 112.952 128.611 112.952 132.668C112.952 136.724 116.238 140.013 120.291 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 140.013C147.392 140.013 150.677 136.724 150.677 132.668C150.677 128.611 147.392 125.322 143.339 125.322C139.286 125.322 136 128.611 136 132.668C136 136.724 139.286 140.013 143.339 140.013Z\" fill=\"#F1F5FD\"/>\n<path d=\"M201.873 158.422H82.4329C77.7852 158.422 74.0176 162.193 74.0176 166.845V192.422C74.0176 197.074 77.7852 200.845 82.4329 200.845H201.873C206.521 200.845 210.288 197.074 210.288 192.422V166.845C210.288 162.193 206.521 158.422 201.873 158.422Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M97.2195 187.033C101.273 187.033 104.558 183.744 104.558 179.687C104.558 175.63 101.273 172.342 97.2195 172.342C93.1665 172.342 89.8809 175.63 89.8809 179.687C89.8809 183.744 93.1665 187.033 97.2195 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M120.291 187.033C124.344 187.033 127.629 183.744 127.629 179.687C127.629 175.63 124.344 172.342 120.291 172.342C116.238 172.342 112.952 175.63 112.952 179.687C112.952 183.744 116.238 187.033 120.291 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M143.339 187.033C147.392 187.033 150.677 183.744 150.677 179.687C150.677 175.63 147.392 172.342 143.339 172.342C139.286 172.342 136 175.63 136 179.687C136 183.744 139.286 187.033 143.339 187.033Z\" fill=\"#F1F5FD\"/>\n<path d=\"M212.924 118.483C238.08 118.483 258.472 98.0716 258.472 72.8929C258.472 47.7141 238.08 27.3027 212.924 27.3027C187.769 27.3027 167.376 47.7141 167.376 72.8929C167.376 98.0716 187.769 118.483 212.924 118.483Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M213.451 99.8784C228.049 99.8784 239.883 88.0333 239.883 73.4216C239.883 58.8099 228.049 46.9648 213.451 46.9648C198.853 46.9648 187.019 58.8099 187.019 73.4216C187.019 88.0333 198.853 99.8784 213.451 99.8784Z\" fill=\"white\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M199.385 59.3203C199.937 60.4696 227.517 87.5011 227.517 87.5011L199.385 59.3203Z\" fill=\"white\"/>\n<path d=\"M199.385 59.3203C199.937 60.4696 227.517 87.5011 227.517 87.5011\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M227.517 59.3203C226.943 60.4696 199.385 87.5011 199.385 87.5011L227.517 59.3203Z\" fill=\"white\"/>\n<path d=\"M227.517 59.3203C226.943 60.4696 199.385 87.5011 199.385 87.5011\" stroke=\"#769DE4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n","'use client'\nimport React from 'react'\nimport { useStyle } from '../../hooks/useStyle'\nimport { APIPage } from './ApiPage'\nimport { EndpointPage } from './EndpointPage/EndpointPage'\nimport useStore from '@/store'\nimport { Flex } from 'antd'\nimport EmptyImg from '@/assets/NoData.svg'\nimport Title from 'antd/es/typography/Title'\nimport Text from 'antd/es/typography/Text'\n\nexport const MainContent: React.FC = () => {\n const { focusedContent, transformedData } = useStore(({ view }) => view)\n const { wrapSSR, cx } = useStyle('MainContent', (token, scope) => ({\n [scope('container')]: {\n backgroundColor: token.colorBgContainer,\n height: '100%',\n width: '100%',\n maxHeight: '100%',\n overflow: 'auto',\n borderRadius: token.borderRadius,\n padding: token.paddingXL,\n },\n [scope('centered')]: {\n display: 'flex',\n justifyContent: 'center',\n },\n [scope('no-space')]: {\n margin: 0,\n padding: 0,\n },\n [scope('title')]: {\n fontFamily: token.fontFamily,\n fontWeight: 600,\n fontSize: token.fontSizeHeading4,\n color: 'rgba(0, 0, 0, 0.88)',\n },\n [scope('text')]: {\n color: 'rgba(0, 0, 0, 0.88)',\n fontFamily: token.fontFamily,\n },\n }))\n\n return wrapSSR(\n <div className={cx('container', !transformedData?.length ? 'centered' : '')}>\n {!transformedData?.length ? (\n <Flex justify=\"center\" align=\"center\" gap={'1.5rem'} vertical flex={1}>\n <EmptyImg width={'18.625rem'} height={'14.75rem'} />\n <Flex justify=\"center\" align=\"center\" gap={'0.5rem'} vertical>\n <Title className={cx('no-space', 'title')} level={4}>\n No API Documentation Found\n </Title>\n <Text className={cx('no-space', 'text')}>\n No API Documentation has been added yet. Contact admin for support\n </Text>\n </Flex>\n </Flex>\n ) : focusedContent === 'ENDPOINT' ? (\n <EndpointPage />\n ) : (\n <APIPage />\n )}\n </div>\n )\n}\n","import { HTTPMethod, OpenAPIFile } from '@/types/OpenApi'\nimport { OverviewData, EndpointData } from '../entities'\nimport { nanoid } from 'nanoid'\n\nexport const transformOpenApiToDocs = (api: OpenAPIFile): OverviewData => {\n const groupedPathsByTags: Record<string, EndpointData[]> = { default: [] }\n const validTags = new Set(api?.tags?.map(({ name }) => name) || [])\n const contextPath = Object.keys(api.paths)[0]\n const relatedVersions =\n 'x-related-versions' in api\n ? Object.entries(api['x-related-versions']).map(([apiId, version]) => ({ apiId, version }))\n : []\n const currentVersion: string =\n 'x-current-version' in api ? (api['x-current-version'] as string) : ''\n const authType: string = 'x-auth-type' in api ? (api['x-auth-type'] as string) : ''\n\n for (const [path, methods] of Object.entries(api.paths)) {\n for (const [method, methodData] of Object.entries(methods)) {\n const entry = { ...methodData, method: method?.toUpperCase() as HTTPMethod, path }\n const resourceTags = methodData.tags ?? []\n\n const matchedTags = resourceTags.filter((tag) => validTags.has(tag))\n\n if (matchedTags.length > 0) {\n matchedTags.forEach((tag) => {\n if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []\n groupedPathsByTags[tag].push({ ...entry, id: `endpoint-${nanoid(8)}` } as EndpointData)\n })\n } else {\n groupedPathsByTags.default.push({ ...entry, id: `endpoint-${nanoid(8)}` } as EndpointData)\n }\n }\n }\n\n return {\n ...api.info,\n id: `api-${nanoid(8)}`, // api prefix is used to identify what state should be changes (API | Endpoint)\n contextPath,\n tags: groupedPathsByTags,\n servers: api.servers,\n relatedVersions,\n currentVersion,\n authType,\n }\n}\n","import { useState } from 'react'\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\nimport './style.css'\n\nSyntaxHighlighter.registerLanguage('json', json)\n\nconst Codebox = ({ code }: { code: string }) => {\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\n\n return (\n <div className=\"codebox\">\n <div className=\"codebox_header\">\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\n className=\"codebox_header_themeToggle codebox_header_themeToggle_light\"\n title=\"Light theme\"\n ></div>\n <div\n role=\"button\"\n tabIndex={-1}\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\n className=\"codebox_header_themeToggle codebox_header_themeToggle_dark\"\n title=\"Dark theme\"\n ></div>\n </div>\n <SyntaxHighlighter\n language=\"json\"\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\n showLineNumbers\n wrapLines\n customStyle={{\n margin: 0,\n minHeight: '3rem',\n overflowY: 'auto',\n padding: '0.75rem 1rem 0.75rem 1.5rem',\n backgroundColor: theme === 'DARK' ? '#20264B' : '#20264B',\n fontSize: '0.75rem',\n }}\n lineProps={{ className: 'custom-code-line' }}\n >\n {code}\n </SyntaxHighlighter>\n </div>\n )\n}\n\nexport default Codebox\n","import useStore from '@/store'\nimport { handleStatusColor } from '@/utils'\nimport { CopyOutlined } from '@ant-design/icons'\nimport { Button, Card, Select, Tooltip } from 'antd'\nimport { useMemo, useState } from 'react'\nimport Codebox from './EndpointPage/Codebox/Codebox'\nimport { useStyle } from '@/hooks/useStyle'\nimport { token as tokens } from '@/theme/light.json'\n\nfunction CodeboxSidebar() {\n const { selectedEndpoint, selectedStatusCode, statusCodeOptions, setSelectedStatusCode } =\n useStore(({ view }) => view)\n const httpStatusOptions = useMemo(\n () =>\n statusCodeOptions.map((code) => ({\n value: code,\n label: <span>{code}</span>,\n })),\n [statusCodeOptions]\n )\n const [requestTooltip, setRequestTooltip] = useState('Copy Request')\n\n const { cx } = useStyle('CodeboxSidebar', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginMD,\n background: token.colorBgContainer,\n borderRadius: token.borderRadiusLG,\n padding: token.paddingLG,\n overflow: 'hidden',\n height: '100%',\n width: '23.625rem',\n minWidth: '23.625rem',\n '.ant-card-body': { padding: 0 },\n '.ant-card-head-title': { color: 'white' },\n '.ant-card-head': { borderBottom: '2px solid #33419A' },\n },\n\n [scope('rightCard')]: {\n flex: '0 1 auto',\n maxHeight: '50%',\n overflowY: 'auto',\n backgroundColor: '#20264B',\n },\n\n [scope('rightCardFlex')]: {\n overflowY: 'auto',\n backgroundColor: '#20264B',\n },\n\n [scope('customSelect')]: {\n '.ant-select-selector': {\n backgroundColor: `${tokens['brnadColor.9']} `,\n borderColor: `${tokens['brnadColor.9']}`,\n borderRadius: '6px',\n color: 'white',\n },\n '.ant-select-selection-item': {\n color: 'white',\n },\n '.ant-select-selection-placeholder': {\n color: 'rgba(255, 255, 255, 0.65)',\n },\n '.ant-select-arrow': {\n color: 'white',\n },\n '&:hover .ant-select-selector': {\n borderColor: `${tokens['brnadColor.7']}`,\n color: 'white',\n },\n '&:focus .ant-select-selector, &.ant-select-focused .ant-select-selector': {\n borderColor: `${tokens['brnadColor.7']}`,\n color: 'white',\n },\n },\n }))\n return (\n <div className={cx('container')}>\n {/* Request codebox */}\n {selectedEndpoint?.requestBody && (\n <Card\n title=\"Request\"\n variant=\"borderless\"\n className={cx('rightCard')}\n extra={\n <Tooltip title={requestTooltip}>\n <Button\n color=\"default\"\n variant=\"link\"\n onClick={() => {\n if (selectedEndpoint?.requestBody) {\n navigator.clipboard.writeText(\n JSON.stringify(selectedEndpoint.requestBody, null, 2)\n )\n setRequestTooltip('Copied!')\n setTimeout(() => setRequestTooltip('Copy Request'), 1500)\n }\n }}\n icon={<CopyOutlined style={{ color: 'white' }} />}\n />\n </Tooltip>\n }\n style={{ padding: 0, border: 'none' }}\n >\n <Codebox code={JSON.stringify(selectedEndpoint?.requestBody, null, 2) || ''} />\n </Card>\n )}\n {/* Response codebox */}\n {selectedEndpoint?.responses && (\n <Card\n title=\"Response\"\n variant=\"borderless\"\n className={cx('rightCardFlex')}\n extra={\n <Select\n defaultActiveFirstOption={true}\n defaultValue={200}\n className={cx('customSelect')}\n style={{\n width: '100%',\n }}\n value={selectedStatusCode}\n onChange={setSelectedStatusCode}\n prefix={\n <span\n style={{\n background: handleStatusColor(selectedStatusCode as number),\n borderRadius: '50%',\n display: 'inline-block',\n width: '0.5rem',\n height: '0.5rem',\n marginRight: '0.5rem',\n }}\n ></span>\n }\n options={httpStatusOptions}\n />\n }\n >\n <Codebox\n code={\n JSON.stringify(selectedEndpoint?.responses[selectedStatusCode as number], null, 2) ||\n ''\n }\n />\n </Card>\n )}\n </div>\n )\n}\n\nexport default CodeboxSidebar\n","'use client'\nimport { Header, Sidebar, MainContent } from './components'\nimport { AntdRegistry } from '@ant-design/nextjs-registry'\nimport { useStyle } from '../hooks/useStyle'\nimport { useNodeSelection } from '../hooks/useNodeSelection'\nimport { OpenAPIFile } from '@/types/OpenApi'\nimport { useEffect, useRef } from 'react'\nimport useStore from '@/store'\nimport { transformOpenApiToDocs } from './helper/mutate'\nimport { buildTreeDataStructure } from './helper'\nimport CodeboxSidebar from './components/CodeboxSidebar'\n\nexport const DocumentationLayout = ({ data }: { data: OpenAPIFile[] }) => {\n const {\n focusedContent,\n selectedNodeKey,\n selectedApi,\n builtTreeData,\n setOriginalData,\n setTransformedData,\n setBuiltTreeData,\n } = useStore(({ view }) => view)\n const { selectFirstApi } = useNodeSelection()\n const hasInitializedRef = useRef(false)\n\n useEffect(() => {\n // Initialize original data\n setOriginalData(data)\n // Transform data to documentation format\n const transformedData = data\n .map(transformOpenApiToDocs)\n .sort((a, b) => a.title.localeCompare(b.title))\n setTransformedData(transformedData)\n\n // Build tree data structure\n const builtTree = buildTreeDataStructure(transformedData)\n setBuiltTreeData(builtTree)\n\n // Reset initialization flag when new data arrives\n hasInitializedRef.current = false\n }, [data, setOriginalData, setTransformedData, setBuiltTreeData])\n\n // Auto-select the first API when tree data is available\n useEffect(() => {\n if (\n builtTreeData &&\n builtTreeData.length > 0 &&\n !selectedNodeKey &&\n !selectedApi &&\n !hasInitializedRef.current\n ) {\n selectFirstApi(builtTreeData)\n hasInitializedRef.current = true\n }\n }, [builtTreeData, selectedNodeKey, selectedApi, selectFirstApi])\n\n const { cx } = useStyle('DocumentationLayout', (token, scope) => ({\n [scope('container')]: {\n display: 'flex',\n flexDirection: 'column',\n gap: token.marginLG,\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n },\n [scope('layout')]: {\n display: 'flex',\n height: '100%',\n maxHeight: '100%',\n overflow: 'hidden',\n gap: token.marginLG,\n width: '100%',\n },\n }))\n return (\n <AntdRegistry>\n <div className={cx('container')}>\n <Header />\n <div className={cx('layout')}>\n <Sidebar />\n <MainContent />\n {focusedContent === 'ENDPOINT' && <CodeboxSidebar />}\n </div>\n </div>\n </AntdRegistry>\n )\n}\n"],"mappings":"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"}
|