@digi-frontend/dgate-api-documentation 2.0.3 → 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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["theme","antdTheme","token","Header: React.FC","token","keys: string[]","token","EndpointItem: React.FC<EndpointItemProps>","Text","title: React.ReactNode","Sidebar: React.FC","Minify","token","EmptyImg","token","LinkIcon","useStore","token","ApiCard","CopyIcon","GridIcon","ListIcon","EndpointPage: React.FC","useStore","token","requestTabs: RequestTab[]","Title","CopyOutlined","MainContent: React.FC","useStore","token","EmptyImg","groupedPathsByTags: Record<string, EndpointData[]>","currentVersion: string","authType: string","SyntaxHighlighter","theme","useStore","token","tokens","Codebox","useStore","token","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\n variant=\"outlined\"\n className={cx('list-see-details')}\n onClick={handleOpenEndPointView}\n >\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.js","names":["theme","antdTheme","token","Header: React.FC","token","keys: string[]","token","EndpointItem: React.FC<EndpointItemProps>","Text","title: React.ReactNode","Sidebar: React.FC","Minify","token","EmptyImg","token","LinkIcon","useStore","token","ApiCard","CopyIcon","GridIcon","ListIcon","EndpointPage: React.FC","useStore","token","requestTabs: RequestTab[]","Title","CopyOutlined","MainContent: React.FC","useStore","token","EmptyImg","groupedPathsByTags: Record<string, EndpointData[]>","currentVersion: string","authType: string","SyntaxHighlighter","theme","useStore","token","tokens","Codebox","useStore","token","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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"}