{"version":3,"sources":["../src/components/Button.tsx","../src/sunmao-helper.ts","../src/generated/types/Button.ts","../src/components/Layout.tsx","../src/components/Image.tsx","../src/generated/types/Image.ts","../src/components/Select.tsx","../src/generated/types/Select.ts","../src/hooks/useStateValue.ts","../src/components/Menu.tsx","../src/generated/types/Menu.ts","../src/components/Dropdown.tsx","../src/generated/types/Dropdown.ts","../src/components/Space.tsx","../src/generated/types/Space.ts","../src/components/_internal/EmptyPlaceholder.tsx","../src/components/Icon.tsx","../src/components/Input.tsx","../src/generated/types/Input.ts","../src/components/Divider.tsx","../src/generated/types/Divider.ts","../src/components/Avatar.tsx","../src/generated/types/Avatar.ts","../src/components/Mentions.tsx","../src/generated/types/Mentions.ts","../src/components/Progress.tsx","../src/generated/types/Progress.ts","../src/components/Badge.tsx","../src/generated/types/Badge.ts","../src/components/Tooltip.tsx","../src/generated/types/Tooltip.ts","../src/components/Popover.tsx","../src/generated/types/Popover.ts","../src/components/Collapse.tsx","../src/generated/types/Collapse.ts","../src/components/Cascader.tsx","../src/generated/types/Cascader.ts","../src/components/Skeleton.tsx","../src/generated/types/Skeleton.ts","../src/components/Timeline.tsx","../src/generated/types/Timeline.ts","../src/components/Tree.tsx","../src/generated/types/Tree.ts","../src/components/TreeSelect.tsx","../src/generated/types/TreeSelect.ts","../src/components/Checkbox.tsx","../src/generated/types/Checkbox.ts","../src/components/Modal.tsx","../src/generated/types/Modal.ts","../src/components/Radio.tsx","../src/generated/types/Radio.ts","../src/components/Table/Table.tsx","../src/components/Table/ResizableTitle.tsx","../src/generated/types/Table.ts","../src/components/Pagination.tsx","../src/generated/types/Pagination.ts","../src/components/Steps.tsx","../src/generated/types/Steps.ts","../src/components/Alert.tsx","../src/generated/types/Alert.ts","../src/components/Link.tsx","../src/generated/types/Link.ts","../src/components/Switch.tsx","../src/generated/types/Switch.ts","../src/components/PasswordInput.tsx","../src/generated/types/PasswordInput.ts","../src/components/NumberInput.tsx","../src/generated/types/NumberInput.ts","../src/components/TextArea.tsx","../src/generated/types/TextArea.ts","../src/components/Tabs.tsx","../src/generated/types/Tabs.ts","../src/components/Form/FormControl.tsx","../src/generated/types/Form.ts","../src/components/Form/FormControlErrorMessage.tsx","../src/components/Descriptions.tsx","../src/generated/types/Descriptions.ts","../src/components/Grid.tsx","../src/generated/types/Grid.ts","../src/components/Slider.tsx","../src/generated/types/Slider.ts","../src/components/DatePicker.tsx","../src/generated/types/DatePicker.ts","../src/components/TimePicker.tsx","../src/generated/types/TimePicker.ts","../src/components/Carousel.tsx","../src/generated/types/Carousel.ts","../src/components/Tag.tsx","../src/generated/types/Tag.ts","../src/methods/Message.ts","../src/lib.ts"],"sourcesContent":["import { Button as BaseButton } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { ButtonPropsSpec as BaseButtonPropsSpec } from '../generated/types/Button';\n\nconst ButtonPropsSpec = Type.Object({\n  ...BaseButtonPropsSpec,\n});\nconst ButtonStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof ButtonPropsSpec> = {\n  type: 'default',\n  status: 'default',\n  long: false,\n  size: 'default',\n  disabled: false,\n  loading: false,\n  shape: 'square',\n  text: 'button',\n};\n\nexport const Button = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'button',\n    displayName: 'Button',\n    exampleProperties,\n    annotations: {\n      category: 'General',\n    },\n  },\n  spec: {\n    properties: ButtonPropsSpec,\n    state: ButtonStateSpec,\n    methods: {},\n    slots: {\n      icon: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n})(props => {\n  const { elementRef, slotsElements, customStyle, text, callbackMap } = props;\n  const { ...cProps } = getComponentProps(props);\n\n  return (\n    <BaseButton\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      onClick={callbackMap?.onClick}\n      icon={slotsElements.icon ? slotsElements.icon({}) : null}\n      {...cProps}\n      loadingFixedWidth\n    >\n      {text || null}\n    </BaseButton>\n  );\n});\n","// move to @sunmao-ui/runtime in the future?\n\nimport { ComponentMetadata } from '@sunmao-ui/core/lib/metadata';\nimport { ComponentImplProps } from '@sunmao-ui/runtime';\nimport { TLiteral, Type } from '@sinclair/typebox';\nimport { SlotSpec } from '@sunmao-ui/core';\n\nexport type IntoStringUnion<T> = {\n  [K in keyof T]: T[K] extends string ? TLiteral<T[K]> : never;\n};\n\nexport function StringUnion<T extends string[] | number[]>(\n  values: [...T],\n  options?: any\n) {\n  return Type.KeyOf(\n    Type.Object(\n      values.reduce((prev, cur) => {\n        prev[cur] = Type.Boolean();\n        return prev;\n      }, {} as Record<T[number], any>)\n    ),\n    options\n  );\n}\n\nexport const FALLBACK_METADATA: ComponentMetadata = {\n  name: '',\n  description: '',\n  displayName: '',\n  exampleProperties: {},\n};\n\nexport const getComponentProps = <\n  T extends Record<string, unknown>,\n  TState,\n  TMethods,\n  TSlots extends Record<string, SlotSpec>,\n  KStyleSlots extends ReadonlyArray<string>,\n  KEvents extends ReadonlyArray<string>\n>(\n  props: T & ComponentImplProps<T, TState, TMethods, TSlots, KStyleSlots, KEvents>\n) => {\n  const {\n    /* eslint-disable @typescript-eslint/no-unused-vars */\n    component,\n    slotsElements,\n    childrenMap,\n    services,\n    app,\n    customStyle,\n    callbackMap,\n    mergeState,\n    subscribeMethods,\n    getElement,\n    elementRef,\n    hooks,\n    isInModule,\n    isInEditor,\n    componentDidMount,\n    componentDidUnmount,\n    componentDidUpdate,\n    /* eslint-enable @typescript-eslint/no-unused-vars */\n    ...rest\n  } = props;\n  return rest;\n};\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const ButtonPropsSpec = {\n  text: Type.String({\n    title: 'Text',\n    category: Category.Basic,\n  }),\n  type: StringUnion(['default', 'primary', 'secondary', 'dashed', 'text', 'outline'], {\n    title: 'Type',\n    category: Category.Style,\n  }),\n  status: StringUnion(['default', 'warning', 'danger', 'success'], {\n    title: 'Status',\n    category: Category.Style,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  shape: StringUnion(['circle', 'round', 'square'], {\n    title: 'Shape',\n    category: Category.Style,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Basic,\n  }),\n  long: Type.Boolean({\n    title: 'Long',\n    description: 'Whether the width of the button should adapt to the container',\n    category: Category.Basic,\n  }),\n};\n","import { Layout as BaseLayout } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\n\nconst LayoutStateSpec = Type.Object({});\n\nexport const Layout = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'layout',\n    displayName: 'Layout',\n    exampleProperties: {\n      showHeader: true,\n      showSideBar: true,\n      sidebarCollapsible: false,\n      sidebarDefaultCollapsed: false,\n      showFooter: true,\n    },\n    annotations: {\n      category: 'Layout',\n    },\n  },\n  spec: {\n    properties: Type.Object({\n      showHeader: Type.Boolean({\n        title: 'Show Header',\n        category: 'Basic',\n      }),\n      showFooter: Type.Boolean({\n        title: 'Show Footer Area',\n        category: 'Basic',\n      }),\n      showSideBar: Type.Boolean({\n        title: 'Show Sidebar',\n        category: 'Basic',\n      }),\n      sidebarCollapsible: Type.Boolean({\n        title: 'Sidebar Collapsible',\n        category: 'Basic',\n      }),\n      sidebarDefaultCollapsed: Type.Boolean({\n        title: 'Sidebar Default Collapsed',\n        category: 'Basic',\n      }),\n    }),\n    state: LayoutStateSpec,\n    methods: {},\n    slots: {\n      header: { slotProps: Type.Object({}) },\n      content: { slotProps: Type.Object({}) },\n      sidebar: { slotProps: Type.Object({}) },\n      footer: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['layout', 'header', 'content', 'sidebar', 'footer'],\n    events: [],\n  },\n})(props => {\n  const { elementRef, slotsElements, customStyle } = props;\n  const {\n    showSideBar,\n    showFooter,\n    showHeader,\n    sidebarCollapsible,\n    sidebarDefaultCollapsed,\n  } = getComponentProps(props);\n  const baseProps = {\n    ref: elementRef,\n    className: css`\n      min-height: 400px;\n      border: 1px solid #eee;\n      ${customStyle?.layout || ''}\n    `,\n  };\n  const headerProps = {\n    className: css`\n      min-height: 64px;\n      border-bottom: 1px solid #eee;\n      ${customStyle?.header || ''}\n    `,\n  };\n  const contentProps = {\n    className: css`\n      ${customStyle?.content || ''}\n    `,\n  };\n  const siderProps = {\n    className: css`\n      ${customStyle?.sidebar || ''}\n    `,\n    collapsible: sidebarCollapsible,\n    defaultCollapsed: sidebarDefaultCollapsed,\n  };\n  const footerProps = {\n    className: css`\n      min-height: 64px;\n      border-top: 1px solid #eee;\n      ${customStyle?.footer || ''}\n    `,\n  };\n\n  return (\n    <BaseLayout {...baseProps}>\n      {showHeader && (\n        <BaseLayout.Header {...headerProps}>\n          {slotsElements.header ? slotsElements.header({}) : null}\n        </BaseLayout.Header>\n      )}\n      <BaseLayout>\n        {showSideBar && (\n          <BaseLayout.Sider {...siderProps}>\n            {slotsElements.sidebar ? slotsElements.sidebar({}) : null}\n          </BaseLayout.Sider>\n        )}\n        <BaseLayout.Content {...contentProps}>\n          {slotsElements.content ? slotsElements.content({}) : null}\n        </BaseLayout.Content>\n      </BaseLayout>\n      {showFooter && (\n        <BaseLayout.Footer {...footerProps}>\n          {slotsElements.footer ? slotsElements.footer({}) : null}\n        </BaseLayout.Footer>\n      )}\n    </BaseLayout>\n  );\n});\n","import { Image as BaseImage, Space } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport {\n  ImageGroupPropsSpec,\n  ImagePropsSpec as BaseImagePropsSpec,\n} from '../generated/types/Image';\n\nconst ImagePropsSpec = Type.Object(BaseImagePropsSpec);\nconst ImageStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof ImagePropsSpec> = {\n  src: 'https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp',\n  title: '',\n  description: '',\n  footerPosition: 'inner',\n  preview: false,\n  width: 200,\n  height: 200,\n  error: '',\n};\n\nconst options = {\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'image',\n    displayName: 'Image',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: ImagePropsSpec,\n    state: ImageStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n};\nexport const Image = implementRuntimeComponent(options)(props => {\n  const { elementRef, customStyle, callbackMap } = props;\n  const cProps = getComponentProps(props);\n\n  return (\n    <BaseImage\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      onClick={callbackMap?.onClick}\n      {...cProps}\n    />\n  );\n});\n\nexport const ImageGroup = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'imageGroup',\n    displayName: 'Image Group',\n    exampleProperties: {\n      imageItems: [\n        {\n          src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a8c8cdb109cb051163646151a4a5083b.png~tplv-uwbnlip3yd-webp.webp',\n          width: 200,\n          height: 200,\n        },\n        {\n          src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/e278888093bef8910e829486fb45dd69.png~tplv-uwbnlip3yd-webp.webp',\n          width: 200,\n          height: 200,\n        },\n        {\n          src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp',\n          width: 200,\n          height: 200,\n        },\n        {\n          src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp',\n          width: 200,\n          height: 200,\n        },\n      ],\n      src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp',\n      infinite: true,\n      maskClosable: true,\n      closable: false,\n    },\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: Type.Object(ImageGroupPropsSpec),\n    state: Type.Object({\n      current: Type.Number(),\n    }),\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { elementRef, customStyle, mergeState, callbackMap } = props;\n  const { imageItems, ...cProps } = getComponentProps(props);\n\n  return (\n    <div ref={elementRef}>\n      <BaseImage.PreviewGroup\n        {...cProps}\n        className={css`\n          ${customStyle?.content}\n        `}\n        onChange={idx => {\n          mergeState({\n            current: idx,\n          });\n          callbackMap?.onChange?.();\n        }}\n      >\n        {imageItems.map((item, idx) => (\n          <Space key={idx}>\n            <BaseImage {...item} />\n          </Space>\n        ))}\n      </BaseImage.PreviewGroup>\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const ImagePropsSpec = {\n  src: Type.String({\n    title: 'Image URL',\n    category: Category.Basic,\n  }),\n  title: Type.String({\n    title: 'Title',\n    category: Category.Basic,\n  }),\n  description: Type.String({\n    title: 'Description',\n    category: Category.Basic,\n  }),\n  width: Type.Number({\n    title: 'Width',\n    category: Category.Basic,\n  }),\n  height: Type.Number({\n    title: 'Height',\n    category: Category.Basic,\n  }),\n  error: Type.String({\n    title: 'Error',\n    description: 'Content displayed in error state',\n    category: Category.Basic,\n  }),\n  footerPosition: StringUnion(['inner', 'outer'], {\n    title: 'Footer Position',\n    category: Category.Layout,\n  }),\n  preview: Type.Boolean({\n    title: 'Preview',\n    category: Category.Basic,\n  }),\n};\n\nconst ImageItemsPropsSpec = Type.Object({\n  src: Type.String({\n    title: 'Src',\n  }),\n  width: Type.Number({\n    title: 'Width',\n  }),\n  height: Type.Number({\n    title: 'Height',\n  }),\n});\nexport const ImageGroupPropsSpec = {\n  imageItems: Type.Array(ImageItemsPropsSpec, {\n    title: 'Image Items',\n    category: Category.Basic,\n  }),\n  infinite: Type.Boolean({\n    title: 'Infinite',\n    description: 'Whether to loop infinitely',\n    category: Category.Basic,\n  }),\n  maskClosable: Type.Boolean({\n    title: 'Mask Closable',\n    description: 'Whether click mask to close',\n    category: Category.Basic,\n  }),\n  closable: Type.Boolean({\n    title: 'Closable',\n    description: 'Whether display close button',\n    category: Category.Basic,\n  }),\n};\n","import { Select as BaseSelect } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { SelectPropsSpec as BaseSelectPropsSpec } from '../generated/types/Select';\nimport { useEffect, useRef } from 'react';\nimport { SelectHandle } from '@arco-design/web-react/es/Select/interface';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst SelectPropsSpec = Type.Object({\n  ...BaseSelectPropsSpec,\n});\nconst SelectStateSpec = Type.Object({\n  value: Type.String(),\n});\n\nexport const Select = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'select',\n    displayName: 'Select',\n    exampleProperties: {\n      allowClear: false,\n      multiple: false,\n      allowCreate: false,\n      bordered: true,\n      defaultValue: 'Beijing',\n      disabled: false,\n      labelInValue: false,\n      loading: false,\n      showSearch: false,\n      unmountOnExit: true,\n      showTitle: false,\n      options: [\n        { value: 'Beijing', text: 'Beijing' },\n        { value: 'London', text: 'London' },\n        { value: 'NewYork', text: 'NewYork' },\n      ],\n      placeholder: 'Select city',\n      size: 'default',\n      error: false,\n      updateWhenDefaultValueChanges: false,\n      autoFixPosition: false,\n      autoAlignPopupMinWidth: false,\n      autoAlignPopupWidth: true,\n      autoFitPosition: false,\n      position: 'bottom',\n      mountToBody: true,\n    },\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: SelectPropsSpec,\n    state: SelectStateSpec,\n    methods: {\n      setValue: Type.Object({\n        value: Type.String(),\n      }),\n    },\n    slots: {\n      dropdownRenderSlot: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content', 'dropdownRenderWrap'],\n    events: ['onChange', 'onClear', 'onBlur', 'onFocus'],\n  },\n})(props => {\n  const {\n    getElement,\n    slotsElements,\n    customStyle,\n    callbackMap,\n    mergeState,\n    defaultValue,\n    subscribeMethods,\n  } = props;\n  const {\n    options = [],\n    retainInputValue,\n    updateWhenDefaultValueChanges,\n    showTitle,\n    mountToBody,\n    autoFixPosition,\n    autoAlignPopupMinWidth,\n    autoAlignPopupWidth,\n    autoFitPosition,\n    position,\n    ...cProps\n  } = getComponentProps(props);\n\n  const [value, setValue] = useStateValue(\n    defaultValue || undefined,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    undefined,\n    callbackMap?.onChange\n  );\n\n  const ref = useRef<SelectHandle | null>(null);\n\n  useEffect(() => {\n    subscribeMethods({\n      setValue: ({ value }: { value: string }) => {\n        setValue(value);\n        callbackMap?.onChange?.();\n        mergeState({\n          value,\n        });\n      },\n    });\n  }, [callbackMap, mergeState, setValue, subscribeMethods]);\n\n  useEffect(() => {\n    const ele = ref.current?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  const showSearch = cProps.showSearch && {\n    retainInputValue,\n    retainInputValueWhileSelect: retainInputValue,\n  };\n\n  return (\n    <BaseSelect\n      ref={ref}\n      className={css(customStyle?.content)}\n      onChange={v => {\n        setValue(v);\n        mergeState({\n          value: v,\n        });\n        callbackMap?.onChange?.();\n      }}\n      value={value}\n      {...cProps}\n      triggerProps={{\n        autoAlignPopupMinWidth,\n        autoAlignPopupWidth,\n        autoFitPosition,\n        autoFixPosition,\n        position,\n      }}\n      showSearch={showSearch}\n      filterOption={(inputValue, option) =>\n        option.props.value.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0 ||\n        option.props.children.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0\n      }\n      dropdownRender={menu => {\n        return (\n          <div className={css(customStyle?.dropdownRenderWrap)}>\n            {menu}\n            {slotsElements.dropdownRenderSlot\n              ? slotsElements.dropdownRenderSlot({})\n              : null}\n          </div>\n        );\n      }}\n      getPopupContainer={node => {\n        return mountToBody ? document.body : node;\n      }}\n      mode={cProps.multiple ? 'multiple' : undefined}\n      onClear={() => {\n        callbackMap?.onClear?.();\n      }}\n      onBlur={() => {\n        callbackMap?.onBlur?.();\n      }}\n      onFocus={() => {\n        callbackMap?.onFocus?.();\n      }}\n    >\n      {options.map(o => (\n        <BaseSelect.Option\n          key={o.value}\n          value={o.value}\n          disabled={o.disabled}\n          {...(showTitle && { title: o.text || o.value })}\n        >\n          {o.text || o.value}\n        </BaseSelect.Option>\n      ))}\n    </BaseSelect>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const SelectPropsSpec = {\n  defaultValue: Type.String({\n    title: 'Default Value',\n    category: Category.Basic,\n    weight: 7,\n  }),\n  options: Type.Array(\n    Type.Object({\n      value: Type.String({\n        title: 'Value',\n      }),\n      text: Type.String({\n        title: 'Text',\n      }),\n      disabled: Type.Optional(\n        Type.Boolean({\n          title: 'Disabled',\n        })\n      ),\n    }),\n    {\n      title: 'Options',\n      category: Category.Basic,\n      widget: 'core/v1/array',\n      widgetOptions: {\n        displayedKeys: ['value'],\n      },\n      weight: 8,\n    }\n  ),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n    weight: 6,\n  }),\n  multiple: Type.Boolean({\n    title: 'Multiple',\n    category: Category.Behavior,\n  }),\n  labelInValue: Type.Boolean({\n    title: 'Label In Value',\n    description:\n      'Setting value format.The default is string, when set to true, the value format will turn to: { label: string, value: string }',\n    category: Category.Behavior,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n  }),\n  bordered: Type.Boolean({\n    title: 'Bordered',\n    category: Category.Style,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n    weight: 4,\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Behavior,\n    weight: 3,\n  }),\n  showSearch: Type.Boolean({\n    title: 'Enable Search',\n    category: Category.Behavior,\n  }),\n  retainInputValue: Type.Optional(\n    Type.Boolean({\n      title: 'Retain Input Value',\n      category: Category.Behavior,\n      description: 'Retain the existing content when the search box is focused',\n      conditions: [\n        {\n          key: 'showSearch',\n          value: true,\n        },\n      ],\n    })\n  ),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n  }),\n  allowCreate: Type.Boolean({\n    title: 'Allow Create',\n    category: Category.Behavior,\n    description: 'Whether to allow new options to be created by input',\n  }),\n  showTitle: Type.Boolean({\n    title: 'Show Option Title',\n    description:\n      'Whether to show the title on hover when the select option exceeds the width',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n  unmountOnExit: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n  mountToBody: Type.Boolean({\n    title: 'Mount To Body',\n    category: Category.Behavior,\n    description:\n      'The default is to mount the popup to the body, setting it to false will mount it to the current select element',\n  }),\n  autoFixPosition: Type.Boolean({\n    title: 'Auto Fix Position',\n    category: 'Popup Props',\n  }),\n  autoAlignPopupMinWidth: Type.Boolean({\n    title: 'Auto Align Popup Min Width',\n    category: 'Popup Props',\n  }),\n  autoAlignPopupWidth: Type.Boolean({\n    title: 'Auto Align Popup Width',\n    category: 'Popup Props',\n  }),\n  autoFitPosition: Type.Boolean({\n    title: 'Auto Fit Position',\n    category: 'Popup Props',\n  }),\n  position: StringUnion(\n    ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'],\n    {\n      title: 'Position',\n      category: 'Popup Props',\n    }\n  ),\n};\n","import { RuntimeFunctions } from '@sunmao-ui/runtime';\nimport { useState, useEffect } from 'react';\nimport { SlotSpec } from '@sunmao-ui/core';\n\nexport const useStateValue = <\n  T,\n  TMethods = any,\n  TSlots extends Record<string, SlotSpec> = Record<string, SlotSpec>\n>(\n  defaultValue: T,\n  mergeState?: RuntimeFunctions<Record<string, T>, TMethods, TSlots>['mergeState'],\n  updateWhenDefaultValueChanges?: boolean,\n  key = 'value',\n  cb?: () => void\n): [T, React.Dispatch<React.SetStateAction<T>>] => {\n  const [value, setValue] = useState<T>(defaultValue);\n\n  useEffect(() => {\n    if (mergeState) {\n      mergeState({ [key]: defaultValue });\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  useEffect(() => {\n    if (updateWhenDefaultValueChanges && mergeState) {\n      setValue(defaultValue);\n      mergeState({ [key]: defaultValue });\n      cb?.();\n    }\n  }, [defaultValue, updateWhenDefaultValueChanges, mergeState, key, cb]);\n\n  return [value, setValue];\n};\n","import { Menu as BaseMenu } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { MenuPropsSpec as BaseMenuPropsSpec } from '../generated/types/Menu';\nimport { useEffect } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst MenuPropsSpec = Type.Object({\n  ...BaseMenuPropsSpec,\n});\nconst MenuStateSpec = Type.Object({\n  activeKey: Type.Optional(Type.String()),\n});\n\nconst exampleProperties: Static<typeof MenuPropsSpec> = {\n  mode: 'vertical',\n  autoOpen: false,\n  collapse: false,\n  autoScrollIntoView: false,\n  hasCollapseButton: false,\n  items: [\n    { key: 'key1', text: 'item1' },\n    { key: 'key2', text: 'item2' },\n  ],\n  ellipsis: false,\n  defaultActiveKey: 'key1',\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const Menu = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'menu',\n    displayName: 'Menu',\n    exampleProperties,\n    annotations: {\n      category: 'Navigation',\n    },\n  },\n  spec: {\n    properties: MenuPropsSpec,\n    state: MenuStateSpec,\n    methods: {\n      setActive: Type.Object({\n        active: Type.String(),\n      }),\n    },\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n})(props => {\n  const { elementRef, customStyle, callbackMap, mergeState, subscribeMethods } = props;\n  const {\n    items = [],\n    defaultActiveKey,\n    collapse,\n    hasCollapseButton,\n    updateWhenDefaultValueChanges,\n    ...cProps\n  } = getComponentProps(props);\n\n  const [activeKey, setActiveKey] = useStateValue(\n    defaultActiveKey ?? 0,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'activeKey'\n  );\n\n  useEffect(() => {\n    subscribeMethods({\n      setActive: ({ active }) => {\n        setActiveKey(active);\n        mergeState({ activeKey: active });\n      },\n    });\n  }, [mergeState, setActiveKey, subscribeMethods]);\n\n  return (\n    <BaseMenu\n      ref={elementRef}\n      selectedKeys={[activeKey]}\n      className={css(customStyle?.content)}\n      onClickMenuItem={key => {\n        setActiveKey(key);\n        mergeState({\n          activeKey: key,\n        });\n        callbackMap?.onClick?.();\n      }}\n      collapse={hasCollapseButton ? undefined : collapse}\n      hasCollapseButton={hasCollapseButton}\n      {...cProps}\n    >\n      {items.map(item => (\n        <BaseMenu.Item key={item.key} disabled={item.disabled}>\n          {item.text}\n        </BaseMenu.Item>\n      ))}\n    </BaseMenu>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\n// TODO properties can be further optimise and supplemented\nexport const MenuPropsSpec = {\n  // theme: StringUnion(['dark', 'light'], {\n  //   title: 'theme',\n  //   category: Category.Style,\n  // }),\n  mode: StringUnion(['vertical', 'horizontal'], {\n    title: 'Mode',\n    category: Category.Basic,\n  }),\n  items: Type.Array(\n    Type.Object({\n      key: Type.String({\n        title: 'Key',\n      }),\n      text: Type.String({\n        title: 'Text',\n      }),\n      disabled: Type.Optional(\n        Type.Boolean({\n          title: 'Disabled',\n        })\n      ),\n    }),\n    {\n      title: 'Items',\n      category: Category.Basic,\n      widget: 'core/v1/array',\n      widgetOptions: {\n        displayedKeys: ['text'],\n      },\n    }\n  ),\n  defaultActiveKey: Type.String({\n    title: 'Default Active Key',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  autoOpen: Type.Boolean({\n    title: 'Auto Open',\n    description: 'Whether to expand all multi-level menus by default',\n    category: Category.Behavior,\n  }),\n  hasCollapseButton: Type.Boolean({\n    title: 'Collapse Button',\n    category: Category.Behavior,\n    conditions: [{ key: 'mode', value: 'vertical' }],\n  }),\n  collapse: Type.Boolean({\n    title: 'Collapse',\n    category: Category.Behavior,\n    conditions: [\n      {\n        and: [\n          { key: 'mode', value: 'vertical' },\n          { key: 'hasCollapseButton', value: false },\n        ],\n      },\n    ],\n  }),\n  // accordion: Type.Boolean({\n  //   category: Category.Style,\n  // }),\n  ellipsis: Type.Boolean({\n    title: 'Ellipsis',\n    description: 'Whether the horizontal menu automatically collapses when it overflows',\n    category: Category.Behavior,\n    conditions: [{ key: 'mode', value: 'horizontal' }],\n  }),\n  autoScrollIntoView: Type.Boolean({\n    title: 'Auto Scroll Into View',\n    category: Category.Behavior,\n  }),\n};\n","import {\n  Dropdown as BaseDropdown,\n  Menu as BaseMenu,\n  Button,\n} from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { DropdownPropsSpec as BaseDropdownPropsSpec } from '../generated/types/Dropdown';\n\nconst DropdownPropsSpec = Type.Object(BaseDropdownPropsSpec);\nconst DropdownStateSpec = Type.Object({\n  selectedItemKey: Type.String(),\n  visible: Type.Boolean(),\n});\n\nconst exampleProperties: Static<typeof DropdownPropsSpec> = {\n  text: 'Click',\n  dropdownType: 'default',\n  trigger: 'click',\n  position: 'bl',\n  disabled: false,\n  defaultPopupVisible: false,\n  list: [\n    { key: '1', label: 'Menu item 1' },\n    { key: '2', label: 'Menu item 2' },\n    { key: '3', label: 'Menu item 3' },\n  ],\n  autoAlignPopupWidth: true,\n  unmountOnExit: false,\n};\n\nexport const Dropdown = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'dropdown',\n    displayName: 'Dropdown',\n    exampleProperties,\n    annotations: {\n      category: 'Navigation',\n    },\n  },\n  spec: {\n    properties: DropdownPropsSpec,\n    state: DropdownStateSpec,\n    methods: {},\n    slots: {\n      trigger: { slotProps: Type.Object({}) },\n    },\n    styleSlots: [],\n    events: ['onClickMenuItem', 'onVisibleChange', 'onButtonClick'],\n  },\n})(props => {\n  const { text, elementRef, slotsElements, callbackMap, mergeState } = props;\n  const cProps = getComponentProps(props);\n  const { list, dropdownType, autoAlignPopupWidth, ...restProps } = cProps;\n  const typeMap = {\n    default: BaseDropdown,\n    button: BaseDropdown.Button,\n  };\n\n  const onClickMenuItem = (key: string) => {\n    mergeState({\n      selectedItemKey: key,\n    });\n    callbackMap?.onClickMenuItem?.();\n  };\n  const onVisibleChange = (visible: boolean) => {\n    mergeState({\n      visible,\n    });\n    callbackMap?.onVisibleChange?.();\n  };\n\n  const Dropdown = typeMap[dropdownType];\n  const droplist = (\n    <BaseMenu onClickMenuItem={onClickMenuItem}>\n      {(list || []).map(item => (\n        <BaseMenu.Item key={item.key}>{item.label}</BaseMenu.Item>\n      ))}\n    </BaseMenu>\n  );\n\n  return (\n    <Dropdown\n      {...restProps}\n      droplist={droplist}\n      onVisibleChange={onVisibleChange}\n      onClick={callbackMap?.onButtonClick}\n      triggerProps={{ autoAlignPopupMinWidth: autoAlignPopupWidth }}\n    >\n      <div ref={elementRef}>\n        {slotsElements.trigger ? (\n          slotsElements.trigger({})\n        ) : (\n          <Button>{text || null}</Button>\n        )}\n      </div>\n    </Dropdown>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const DropdownPropsSpec = {\n  text: Type.String({\n    title: 'Text',\n    category: Category.Basic,\n  }),\n  dropdownType: StringUnion(['default', 'button'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  position: StringUnion(['top', 'tl', 'tr', 'bottom', 'bl', 'br'], {\n    title: 'Position',\n    category: Category.Layout,\n  }),\n  trigger: StringUnion(['hover', 'click'], {\n    title: 'Trigger',\n    category: Category.Behavior,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  defaultPopupVisible: Type.Boolean({\n    title: 'Default Visible',\n    category: Category.Behavior,\n  }),\n  autoAlignPopupWidth: Type.Boolean({\n    title: 'Auto Align Popup Width',\n    category: Category.Behavior,\n  }),\n  unmountOnExit: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n  list: Type.Array(\n    Type.Object({\n      key: Type.String({\n        title: 'Key',\n      }),\n      label: Type.String({\n        title: 'Label',\n      }),\n    }),\n    {\n      title: 'List',\n      category: Category.Basic,\n      widget: 'core/v1/array',\n      widgetOptions: {\n        displayedKeys: ['label'],\n      },\n      weight: 10,\n    }\n  ),\n};\n","import { Space as BaseSpace } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { SpacePropsSpec as BaseSpacePropsSpec } from '../generated/types/Space';\nimport { EmptyPlaceholder } from './_internal/EmptyPlaceholder';\n\nconst SpacePropsSpec = Type.Object({\n  ...BaseSpacePropsSpec,\n});\nconst SpaceStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof SpacePropsSpec> = {\n  align: 'center',\n  direction: 'vertical',\n  wrap: false,\n  size: 24,\n};\nexport const Space = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    exampleProperties,\n    annotations: {\n      category: 'Layout',\n    },\n    name: 'space',\n    displayName: 'Space',\n  },\n  spec: {\n    properties: SpacePropsSpec,\n    state: SpaceStateSpec,\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n})(props => {\n  const { elementRef, slotsElements, customStyle } = props;\n  const cProps = getComponentProps(props);\n\n  return (\n    <BaseSpace ref={elementRef} className={css(customStyle?.content)} {...cProps}>\n      {slotsElements.content ? slotsElements.content({}) : <EmptyPlaceholder />}\n    </BaseSpace>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const SpacePropsSpec = {\n  align: StringUnion(['start', 'end', 'center', 'baseline'], {\n    title: 'Align',\n    category: Category.Layout,\n  }),\n  direction: StringUnion(['vertical', 'horizontal'], {\n    title: 'Direction',\n    category: Category.Layout,\n  }),\n  wrap: Type.Boolean({\n    title: 'Wrap',\n    category: Category.Layout,\n  }),\n  size: Type.Number({\n    title: 'Size',\n    category: Category.Layout,\n  }),\n};\n","import { Typography } from '@arco-design/web-react';\nimport React from 'react';\n\nconst EmptyPlaceholder: React.FC<{ message?: string | React.ReactNode }> = ({\n  message,\n}) => {\n  return (\n    <Typography.Paragraph style={{ color: '#b2b2b2' }}>\n      {message || 'Slot content is empty.Please drag component to this slot.'}\n    </Typography.Paragraph>\n  );\n};\n\nexport { EmptyPlaceholder };\n","import * as Icons from '@arco-design/web-react/icon';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css, cx } from '@emotion/css';\nimport { Type } from '@sinclair/typebox';\nimport { FALLBACK_METADATA } from '../sunmao-helper';\n\nconst IconPropsSpec = Type.Object({\n  name: Type.KeyOf(Type.Object(Icons as Record<keyof typeof Icons, any>), {\n    title: 'Name',\n    widget: 'arco/v1/icon',\n  }),\n  spin: Type.Boolean({\n    title: 'Spin',\n  }),\n});\n\nexport const Icon = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'icon',\n    displayName: 'Icon',\n    exampleProperties: {\n      name: 'IconArrowUp',\n      spin: false,\n    },\n    annotations: {\n      category: 'General',\n    },\n  },\n  spec: {\n    properties: IconPropsSpec,\n    state: Type.Object({}),\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['event'],\n  },\n})(props => {\n  const { elementRef, name, spin, customStyle } = props;\n  const _Icon = Icons[name];\n\n  return <_Icon ref={elementRef} className={cx(css(customStyle?.content))} spin={spin} />;\n});\n","import { Input as BaseInput } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { InputPropsSpec as BaseInputPropsSpec } from '../generated/types/Input';\nimport { useEffect, useCallback } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst InputPropsSpec = Type.Object({\n  ...BaseInputPropsSpec,\n});\nconst InputStateSpec = Type.Object({\n  value: Type.String(),\n});\n\nconst exampleProperties: Static<typeof InputPropsSpec> = {\n  allowClear: false,\n  disabled: false,\n  readOnly: false,\n  defaultValue: '',\n  updateWhenDefaultValueChanges: false,\n  placeholder: 'please input',\n  error: false,\n  size: 'default',\n};\n\nexport const Input = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'input',\n    displayName: 'Input',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: InputPropsSpec,\n    state: InputStateSpec,\n    methods: {\n      setInputValue: Type.Object({\n        value: Type.String(),\n      }),\n    },\n    slots: {\n      addAfter: { slotProps: Type.Object({}) },\n      prefix: { slotProps: Type.Object({}) },\n      suffix: { slotProps: Type.Object({}) },\n      addBefore: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['input'],\n    events: ['onChange', 'onBlur', 'onFocus', 'onClear', 'onPressEnter'],\n  },\n})(props => {\n  const {\n    elementRef,\n    slotsElements,\n    customStyle,\n    callbackMap,\n    mergeState,\n    subscribeMethods,\n  } = props;\n\n  const { updateWhenDefaultValueChanges, defaultValue, ...cProps } =\n    getComponentProps(props);\n  const [value, setValue] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    undefined,\n    callbackMap?.onChange\n  );\n\n  const onChange = useCallback(\n    value => {\n      setValue(value);\n      mergeState({ value });\n      callbackMap?.onChange?.();\n    },\n    [setValue, mergeState, callbackMap]\n  );\n\n  useEffect(() => {\n    subscribeMethods({\n      setInputValue({ value }) {\n        setValue(value);\n        mergeState({ value });\n        callbackMap?.onChange?.();\n      },\n    });\n  }, [setValue, mergeState, callbackMap, subscribeMethods]);\n\n  return (\n    <div ref={elementRef}>\n      <BaseInput\n        className={css(customStyle?.input)}\n        addAfter={slotsElements.addAfter ? slotsElements.addAfter({}) : null}\n        addBefore={slotsElements.addBefore ? slotsElements.addBefore({}) : null}\n        prefix={slotsElements.prefix ? slotsElements.prefix({}) : null}\n        suffix={slotsElements.suffix ? slotsElements.suffix({}) : null}\n        value={value}\n        onChange={onChange}\n        onClear={() => {\n          callbackMap?.onClear?.();\n        }}\n        onPressEnter={() => {\n          callbackMap?.onPressEnter?.();\n        }}\n        onBlur={() => {\n          callbackMap?.onBlur?.();\n        }}\n        onFocus={() => {\n          callbackMap?.onFocus?.();\n        }}\n        {...cProps}\n      />\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const InputPropsSpec = {\n  defaultValue: Type.String({\n    title: 'Default Value',\n    category: Category.Basic,\n    weight: 0,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n    weight: 1,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  readOnly: Type.Boolean({\n    title: 'Read Only',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n};\n","import { Divider as BaseDivider } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { DividerPropsSpec as BaseDividerPropsSpec } from '../generated/types/Divider';\n\nconst DividerPropsSpec = Type.Object({\n  ...BaseDividerPropsSpec,\n});\nconst DividerStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof DividerPropsSpec> = {\n  type: 'horizontal',\n  orientation: 'center',\n};\n\nexport const Divider = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'divider',\n    displayName: 'Divider',\n    exampleProperties,\n    annotations: {\n      category: 'Layout',\n    },\n  },\n  spec: {\n    properties: DividerPropsSpec,\n    state: DividerStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { elementRef, customStyle } = props;\n  const { ...cProps } = getComponentProps(props);\n\n  return (\n    <BaseDivider ref={elementRef} className={css(customStyle?.content)} {...cProps} />\n  );\n});\n","import { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const DividerPropsSpec = {\n  type: StringUnion(['vertical', 'horizontal'], {\n    title: 'Type',\n    category: Category.Layout,\n  }),\n  orientation: StringUnion(['center', 'left', 'right'], {\n    title: 'Orientation',\n    category: Category.Layout,\n  }),\n};\n","import { Avatar as BaseAvatar } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { AvatarPropsSpec as BaseAvatarPropsSpec } from '../generated/types/Avatar';\n\nconst AvatarPropsSpec = Type.Object({\n  ...BaseAvatarPropsSpec,\n});\nconst AvatarStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof AvatarPropsSpec> = {\n  shape: 'circle',\n  triggerType: 'button',\n  size: 50,\n  type: 'text',\n  text: 'A',\n  src: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp',\n};\n\nexport const Avatar = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'avatar',\n    displayName: 'Avatar',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: AvatarPropsSpec,\n    state: AvatarStateSpec,\n    methods: {},\n    slots: {\n      triggerIcon: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n})(props => {\n  const { slotsElements, elementRef, callbackMap, customStyle } = props;\n  const { type, src, text, ...cProps } = getComponentProps(props);\n\n  return (\n    <BaseAvatar\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      {...cProps}\n      triggerIcon={slotsElements.triggerIcon ? slotsElements.triggerIcon({}) : null}\n      onClick={_e => {\n        callbackMap?.onClick?.();\n      }}\n    >\n      {type === 'img' ? <img src={src} /> : text}\n    </BaseAvatar>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const AvatarPropsSpec = {\n  shape: StringUnion(['circle', 'square'], {\n    title: 'Shape',\n    category: Category.Style,\n  }),\n  size: Type.Number({\n    title: 'Size',\n    category: Category.Style,\n  }),\n  type: StringUnion(['img', 'text'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  src: Type.Optional(\n    Type.String({\n      title: 'Src',\n      category: Category.Basic,\n      conditions: [\n        {\n          key: 'type',\n          value: 'img',\n        },\n      ],\n    })\n  ),\n  text: Type.Optional(\n    Type.String({\n      title: 'Text',\n      category: Category.Basic,\n      conditions: [\n        {\n          key: 'type',\n          value: 'text',\n        },\n      ],\n    })\n  ),\n  autoFixFontSize: Type.Optional(\n    Type.Boolean({\n      title: 'Auto Fix Font Size',\n      category: Category.Basic,\n      conditions: [\n        {\n          key: 'type',\n          value: 'text',\n        },\n      ],\n    })\n  ),\n  triggerType: StringUnion(['button', 'mask'], {\n    title: 'Trigger Type',\n    category: Category.Basic,\n    description:\n      'This option allows you to customize the style of the trigger icon after inserting the `triggerIcon` slot',\n  }),\n};\n","import { Mentions as BaseMentions } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { MentionsPropsSpec as BaseMentionsPropsSpec } from '../generated/types/Mentions';\nimport { useCallback } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst MentionsPropsSpec = Type.Object(BaseMentionsPropsSpec);\nconst MentionsStateSpec = Type.Object({\n  value: Type.String(),\n});\n\nconst exampleProperties: Static<typeof MentionsPropsSpec> = {\n  defaultValue: 'option1',\n  options: ['option1', 'option2', 'option3'],\n  prefix: '@',\n  position: 'bl',\n  split: ' ',\n  error: false,\n  allowClear: true,\n  disabled: false,\n  placeholder: 'you can mentions sb by prefix \"@\"',\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const Mentions = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'mentions',\n    displayName: 'Mentions',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: MentionsPropsSpec,\n    state: MentionsStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onChange', 'onClear', 'onPressEnter', 'onFocus', 'onBlur'],\n  },\n})(props => {\n  const { defaultValue, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const { elementRef, mergeState, customStyle, callbackMap } = props;\n\n  const [value, setValue] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges\n  );\n\n  const onChange = useCallback(\n    (value: string) => {\n      setValue(value);\n      mergeState({ value });\n      callbackMap?.onChange?.();\n    },\n    [callbackMap, mergeState, setValue]\n  );\n\n  return (\n    <BaseMentions\n      ref={elementRef}\n      onPressEnter={() => {\n        callbackMap?.onPressEnter?.();\n      }}\n      onClear={() => {\n        callbackMap?.onClear?.();\n      }}\n      className={css(customStyle?.content)}\n      onBlur={() => {\n        callbackMap?.onBlur?.();\n      }}\n      onFocus={() => {\n        callbackMap?.onFocus?.();\n      }}\n      onChange={onChange}\n      {...cProps}\n      value={value}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\nimport { CORE_VERSION, CoreWidgetName } from '@sunmao-ui/shared';\n\nconst EXPRESSION_WIDGET_TYPE = `${CORE_VERSION}/${CoreWidgetName.Expression}` as const;\n\nexport const MentionsPropsSpec = {\n  options: Type.Array(Type.String(), {\n    title: 'Options',\n    weight: 3,\n    category: Category.Basic,\n    widget: EXPRESSION_WIDGET_TYPE,\n  }),\n  defaultValue: Type.String({\n    title: 'Default Value',\n    weight: 2,\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  prefix: Type.String({\n    title: 'Prefix',\n    category: Category.Behavior,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n  }),\n  split: Type.String({\n    title: 'Split',\n    category: Category.Behavior,\n  }),\n  position: StringUnion(['top', 'tl', 'tr', 'bottom', 'bl', 'br'], {\n    title: 'Position',\n    category: Category.Layout,\n  }),\n};\n","import { Progress as BaseProgress } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { ProgressPropsSpec as BaseProgressPropsSpec } from '../generated/types/Progress';\n\nconst ProgressPropsSpec = Type.Object(BaseProgressPropsSpec);\nconst ProgressStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof ProgressPropsSpec> = {\n  type: 'line',\n  status: 'normal',\n  color: '#3c92dc',\n  trailColor: '',\n  showText: true,\n  percent: 20,\n  width: 100,\n  size: 'default',\n  animation: false,\n};\n\nexport const Progress = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'progress',\n    displayName: 'Progress',\n    exampleProperties,\n    annotations: {\n      category: 'Feedback',\n    },\n  },\n  spec: {\n    properties: ProgressPropsSpec,\n    state: ProgressStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { color, ...cProps } = getComponentProps(props);\n  const { customStyle, elementRef } = props;\n\n  return (\n    <BaseProgress\n      ref={elementRef}\n      color={cProps.status === 'normal' ? color : ''}\n      className={css(customStyle?.content)}\n      {...cProps}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const ProgressPropsSpec = {\n  type: StringUnion(['line', 'circle'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  percent: Type.Number({\n    title: 'Percent',\n    category: Category.Basic,\n  }),\n  status: StringUnion(['success', 'error', 'normal', 'warning'], {\n    title: 'Status',\n    category: Category.Style,\n  }),\n  color: Type.String({\n    title: 'Color',\n    category: Category.Style,\n    description:\n      'Please pick a color from the palette, or enter a color value such as #c10',\n    widget: 'core/v1/color',\n    conditions: [\n      {\n        key: 'status',\n        value: 'normal',\n      },\n    ],\n  }),\n  trailColor: Type.String({\n    title: 'Trail Color',\n    category: Category.Style,\n    widget: 'core/v1/color',\n  }),\n  showText: Type.Boolean({\n    title: 'Show Text',\n    category: Category.Basic,\n  }),\n  width: Type.Number({\n    title: 'Width',\n    category: Category.Style,\n  }),\n  size: StringUnion(['small', 'default', 'mini', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  animation: Type.Boolean({\n    title: 'Animation',\n    category: Category.Behavior,\n    conditions: [\n      {\n        key: 'type',\n        value: 'line',\n      },\n    ],\n  }),\n};\n","import { Badge as BaseBadge } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { BadgePropsSpec as BaseBadgePropsSpec } from '../generated/types/Badge';\n\nconst BadgePropsSpec = Type.Object(BaseBadgePropsSpec);\nconst BadgeStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof BadgePropsSpec> = {\n  text: '',\n  dot: false,\n  count: 1,\n  maxCount: 99,\n  offset: [6, -2],\n};\n\nexport const Badge = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'badge',\n    displayName: 'Badge',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: BadgePropsSpec,\n    state: BadgeStateSpec,\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { ...cProps } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements } = props;\n\n  // TODO need to be optimized\n  // In arco-design, if `status` and `color` are set, even if `dot` is not set, it will be in dot mode\n  // which will cause some confusion and bug\n  // If `dot` is not set, delete status and color from props\n  if (!cProps.dot) {\n    Reflect.deleteProperty(cProps, 'status');\n    Reflect.deleteProperty(cProps, 'dotColor');\n  }\n\n  return (\n    <BaseBadge\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      {...cProps}\n      color={cProps.dotColor}\n    >\n      {slotsElements.content ? slotsElements.content({}) : null}\n    </BaseBadge>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const BadgePropsSpec = {\n  text: Type.String({\n    title: 'Text',\n    category: Category.Basic,\n    description: 'Set the display text of the status dot',\n  }),\n  count: Type.Number({\n    title: 'Count',\n    category: Category.Basic,\n  }),\n  maxCount: Type.Number({\n    title: 'Max Count',\n    category: Category.Basic,\n    // eslint-disable-next-line no-template-curly-in-string\n    description:\n      'Max count to show. If count is larger than this value, it will be displayed as ${maxCount}+',\n  }),\n  dot: Type.Boolean({\n    title: 'Dot Mode',\n    category: Category.Basic,\n  }),\n  offset: Type.Tuple([Type.Number(), Type.Number()], {\n    title: 'Offset',\n    category: Category.Layout,\n  }),\n  dotColor: Type.Optional(\n    StringUnion(\n      [\n        'red',\n        'orangered',\n        'orange',\n        'gold',\n        'lime',\n        'green',\n        'cyan',\n        'arcoblue',\n        'purple',\n        'pinkpurple',\n        'magenta',\n        'gray',\n      ],\n      {\n        title: 'Dot Color',\n        description: 'Set the badge color in dot mode',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'dot',\n            value: true,\n          },\n        ],\n      }\n    )\n  ),\n};\n","import { Tooltip as BaseTooltip, Button } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TooltipPropsSpec as BaseTooltipPropsSpec } from '../generated/types/Tooltip';\nimport { useState, useEffect } from 'react';\n\nconst TooltipPropsSpec = Type.Object(BaseTooltipPropsSpec);\nconst TooltipStateSpec = Type.Object({});\n\nexport const Tooltip = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'tooltip',\n    displayName: 'Tooltip',\n    exampleProperties: {\n      color: '#bbb',\n      position: 'bottom',\n      mini: false,\n      disabled: false,\n      content: 'This is tooltip',\n      trigger: 'hover',\n      controlled: false,\n      unmountOnExit: true,\n    },\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: TooltipPropsSpec,\n    state: TooltipStateSpec,\n    methods: {\n      openTooltip: Type.Object({}),\n      closeTooltip: Type.Object({}),\n    },\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content', 'tooltip-trigger'],\n    events: [],\n  },\n})(props => {\n  const { controlled, ...cProps } = getComponentProps(props);\n  const { elementRef, subscribeMethods, slotsElements, customStyle } = props;\n\n  const [popupVisible, setPopupVisible] = useState(false);\n\n  useEffect(() => {\n    subscribeMethods({\n      openTooltip() {\n        setPopupVisible(true);\n      },\n      closeTooltip() {\n        setPopupVisible(false);\n      },\n    });\n  }, [subscribeMethods]);\n\n  return controlled ? (\n    <div className={css(customStyle?.['tooltip-trigger'])}>\n      <BaseTooltip\n        ref={elementRef}\n        className={css(customStyle?.content)}\n        {...cProps}\n        popupVisible={popupVisible}\n      >\n        {/* need the child node of Tooltip accepts onMouseEnter, onMouseLeave, onFocus, onClick events */}\n        <span ref={elementRef}>\n          {slotsElements.content ? slotsElements.content({}) : <Button>Hover Me</Button>}\n        </span>\n      </BaseTooltip>\n    </div>\n  ) : (\n    <div className={css(customStyle?.['tooltip-trigger'])}>\n      <BaseTooltip className={css(customStyle?.content)} {...cProps}>\n        <span ref={elementRef}>\n          {slotsElements.content ? slotsElements.content({}) : <Button>Hover Me</Button>}\n        </span>\n      </BaseTooltip>\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const TooltipPropsSpec = {\n  color: Type.String({\n    title: 'Color',\n    category: Category.Style,\n    description: 'Background color of the popup-layer',\n    widget: 'core/v1/color',\n  }),\n  position: StringUnion(\n    ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'],\n    {\n      title: 'Position',\n      category: Category.Layout,\n    }\n  ),\n  mini: Type.Boolean({\n    title: 'Mini',\n    category: Category.Style,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  content: Type.String({\n    title: 'Content',\n    category: Category.Basic,\n    weight: 100,\n  }),\n  controlled: Type.Boolean({\n    title: 'Controlled',\n    category: Category.Basic,\n  }),\n  trigger: StringUnion(['click', 'hover'], {\n    title: 'Trigger',\n    category: Category.Basic,\n    weight: 3,\n  }),\n  unmountOnExit: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n};\n","import { Popover as BasePopover, Button } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { PopoverPropsSpec as BasePopoverPropsSpec } from '../generated/types/Popover';\nimport { useEffect, useState } from 'react';\n\nconst PopoverPropsSpec = Type.Object(BasePopoverPropsSpec);\nconst PopoverStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof PopoverPropsSpec> = {\n  color: '#eee',\n  position: 'bottom',\n  disabled: false,\n  controlled: false,\n  trigger: 'hover',\n  title: 'Title',\n  unmountOnExit: false,\n};\n\nexport const Popover = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'popover',\n    displayName: 'Popover',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: PopoverPropsSpec,\n    state: PopoverStateSpec,\n    methods: {\n      openPopover: Type.Object({}),\n      closePopover: Type.Object({}),\n    },\n    slots: {\n      popupContent: { slotProps: Type.Object({}) },\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content', 'popover-trigger'],\n    events: [],\n  },\n})(props => {\n  const { controlled, ...cProps } = getComponentProps(props);\n  const { subscribeMethods, elementRef, slotsElements, customStyle } = props;\n\n  const [popupVisible, setPopupVisible] = useState(false);\n\n  useEffect(() => {\n    subscribeMethods({\n      openPopover() {\n        setPopupVisible(true);\n      },\n      closePopover() {\n        setPopupVisible(false);\n      },\n    });\n  }, [subscribeMethods]);\n\n  return controlled ? (\n    <BasePopover\n      className={css(customStyle?.content)}\n      popupVisible={popupVisible}\n      {...cProps}\n      content={slotsElements.popupContent ? slotsElements.popupContent({}) : null}\n    >\n      <span className={css(customStyle?.['popover-trigger'])} ref={elementRef}>\n        {slotsElements.content ? slotsElements.content({}) : <Button>Hover Me</Button>}\n      </span>\n    </BasePopover>\n  ) : (\n    <BasePopover\n      className={css(customStyle?.content)}\n      {...cProps}\n      content={slotsElements.popupContent ? slotsElements.popupContent({}) : null}\n      popupVisible={popupVisible}\n      onVisibleChange={visible => {\n        setPopupVisible(visible);\n      }}\n    >\n      <span className={css(customStyle?.['popover-trigger'])} ref={elementRef}>\n        {slotsElements.content ? slotsElements.content({}) : <Button>Hover Me</Button>}\n      </span>\n    </BasePopover>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const PopoverPropsSpec = {\n  title: Type.String({\n    title: 'Title',\n    category: Category.Basic,\n  }),\n  trigger: StringUnion(['click', 'hover', 'focus', 'contextMenu'], {\n    title: 'Trigger',\n    category: Category.Behavior,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  color: Type.String({\n    title: 'Background',\n    description: 'Background color of the popup-layer',\n    category: Category.Style,\n  }),\n  position: StringUnion(\n    ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'],\n    {\n      title: 'Position',\n      category: Category.Layout,\n    }\n  ),\n  controlled: Type.Boolean({\n    title: 'Controlled',\n    category: Category.Behavior,\n    description:\n      'Control the opening and closing of popups via openPopupover and closePopupover events',\n  }),\n  unmountOnExit: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n};\n","import { Collapse as BaseCollapse } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { CollapsePropsSpec as BaseCollapsePropsSpec } from '../generated/types/Collapse';\nimport { useCallback } from 'react';\nimport { EmptyPlaceholder } from './_internal/EmptyPlaceholder';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst CollapsePropsSpec = Type.Object(BaseCollapsePropsSpec);\nconst CollapseStateSpec = Type.Object({\n  activeKey: Type.Array(Type.String()),\n});\n\nconst exampleProperties: Static<typeof CollapsePropsSpec> = {\n  defaultActiveKey: ['1'],\n  options: [\n    {\n      key: '1',\n      header: 'header 1',\n      disabled: false,\n      showExpandIcon: true,\n    },\n    {\n      key: '2',\n      header: 'header 2',\n      disabled: false,\n      showExpandIcon: true,\n    },\n  ],\n  updateWhenDefaultValueChanges: false,\n  accordion: false,\n  expandIconPosition: 'left',\n  bordered: false,\n  destroyOnHide: false,\n  lazyLoad: true,\n};\n\nexport const Collapse = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'collapse',\n    displayName: 'Collapse',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: CollapsePropsSpec,\n    state: CollapseStateSpec,\n    methods: {},\n    slots: {\n      content: {\n        slotProps: Type.Object({\n          activeKey: Type.Array(Type.String()),\n          index: Type.Number(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { defaultActiveKey, options, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const { elementRef, mergeState, slotsElements, customStyle, callbackMap } = props;\n\n  const [activeKey, setActiveKey] = useStateValue(\n    defaultActiveKey,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'activeKey'\n  );\n\n  const onChange = useCallback(\n    (currentOperateKey: string, activeKey: string[]) => {\n      setActiveKey(activeKey);\n      mergeState({ activeKey });\n      callbackMap?.onChange?.();\n    },\n    [callbackMap, mergeState, setActiveKey]\n  );\n\n  return (\n    <BaseCollapse\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      {...cProps}\n      activeKey={activeKey}\n      onChange={onChange}\n    >\n      {options.map((o, index) => {\n        const { key, ...props } = o;\n        return (\n          <BaseCollapse.Item key={key} name={String(key)} {...props}>\n            {slotsElements?.content?.(\n              { activeKey, index },\n              <EmptyPlaceholder />,\n              `content_${index}`\n            ) || <EmptyPlaceholder />}\n          </BaseCollapse.Item>\n        );\n      })}\n    </BaseCollapse>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const CollapseItemPropsSpec = {\n  key: Type.String({\n    title: 'Key',\n    category: Category.Basic,\n    weight: 2,\n  }),\n  header: Type.String({\n    title: 'Header',\n    category: Category.Basic,\n    weight: 1,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  showExpandIcon: Type.Boolean({\n    title: 'Show Expand Icon',\n    category: Category.Basic,\n  }),\n  destroyOnHide: Type.Optional(\n    Type.Boolean({\n      title: 'Destroy On Hide',\n    })\n  ),\n};\n\nexport const CollapsePropsSpec = {\n  defaultActiveKey: Type.Array(Type.String(), {\n    title: 'Default Active Key',\n    category: Category.Basic,\n    widget: 'core/v1/expression',\n  }),\n  accordion: Type.Boolean({\n    title: 'Accordion',\n    category: Category.Style,\n  }),\n  expandIconPosition: StringUnion(['left', 'right'], {\n    title: 'Expand Icon Position',\n    category: Category.Layout,\n  }),\n  bordered: Type.Boolean({\n    title: 'Bordered',\n    category: Category.Style,\n  }),\n  options: Type.Array(Type.Object(CollapseItemPropsSpec), {\n    title: 'Options',\n    category: Category.Basic,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['header'],\n    },\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  lazyLoad: Type.Boolean({\n    title: 'Lazy Load',\n    description: 'If true, invisible panels will not be rendered on mount',\n    category: Category.Behavior,\n  }),\n  destroyOnHide: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n};\n","import { Cascader as BaseCascader } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport {\n  CascaderPropsSpec as BaseCascaderPropsSpec,\n  CascaderValueSpec,\n} from '../generated/types/Cascader';\nimport { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { SelectViewHandle } from '@arco-design/web-react/es/_class/select-view';\n\nconst CascaderPropsSpec = Type.Object(BaseCascaderPropsSpec);\nconst CascaderStateSpec = Type.Object({\n  value: CascaderValueSpec,\n});\n\ntype MapItem = {\n  [k: string]: Record<string, MapItem>;\n};\n\ntype CascaderOptions = {\n  label: string;\n  value: string;\n  children?: CascaderOptions[];\n};\nconst convertArrToTree = (arr: Array<Array<string>>) => {\n  const map: MapItem = {};\n  let node = map;\n\n  // convert array to object, use the uniqueness of the object key\n  for (let i = 0; i < arr.length; i++) {\n    let j = 0;\n    let currentNodeIdx = arr[i][j];\n    if (!map[currentNodeIdx]) {\n      map[currentNodeIdx] = {};\n    }\n    node = map;\n\n    while (j < arr[i].length) {\n      const parentNode = node[arr[i][j - 1]];\n      currentNodeIdx = arr[i][j];\n      if (parentNode) {\n        if (!parentNode[currentNodeIdx]) {\n          parentNode[currentNodeIdx] = {};\n        }\n        node = parentNode;\n      }\n      j++;\n    }\n  }\n\n  // convert object to tree\n  const getTree: (map: MapItem) => CascaderOptions[] = map => {\n    return Object.keys(map).map(key => ({\n      label: key,\n      value: key,\n      children: getTree(map[key]),\n    }));\n  };\n\n  return getTree(map);\n};\n\nconst CascaderExampleOptions = [\n  ['Beijing', 'Dongcheng District', 'The Forbidden City'],\n  ['Shanghai', 'Pukou', 'Disney'],\n  ['Zhejiang', 'Hangzhou', 'The West Lake'],\n];\nconst exampleProperties: Static<typeof CascaderPropsSpec> = {\n  defaultValue: ['Zhejiang', 'Hangzhou', 'The West Lake'],\n  expandTrigger: 'click',\n  multiple: false,\n  placeholder: 'Please select ...',\n  bordered: true,\n  size: 'default',\n  showSearch: true,\n  disabled: false,\n  loading: false,\n  allowClear: true,\n  allowCreate: true,\n  maxTagCount: 99,\n  options: CascaderExampleOptions,\n};\n\nexport const Cascader = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'cascader',\n    displayName: 'Cascader',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: CascaderPropsSpec,\n    state: CascaderStateSpec,\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { getElement, callbackMap, mergeState, slotsElements, customStyle } = props;\n\n  const { multiple, options, placeholder, ...cProps } = getComponentProps(props);\n  const ref = useRef<SelectViewHandle | null>(null);\n\n  const content = slotsElements.content ? slotsElements.content({}) : null;\n\n  const mode = multiple ? 'multiple' : undefined;\n\n  let defaultValue = cProps.defaultValue;\n  if (mode === 'multiple' && !Array.isArray(cProps.defaultValue[0])) {\n    defaultValue = [cProps.defaultValue as string[]];\n  }\n\n  const [value, setValue] = useState<string[] | string[][]>(defaultValue);\n\n  const convertValue = useMemo(() => {\n    if (mode === 'multiple' && !Array.isArray(value[0])) {\n      return [value as string[]];\n    }\n    return value;\n  }, [value, mode]);\n\n  useEffect(() => {\n    const ele = ref.current?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  const onChange = useCallback(\n    (value: string[] | string[][]) => {\n      setValue(value);\n      mergeState({ value });\n      callbackMap?.onChange?.();\n    },\n    [mergeState, callbackMap]\n  );\n\n  return (\n    <BaseCascader\n      ref={ref}\n      className={css(customStyle?.content)}\n      {...cProps}\n      mode={mode}\n      onChange={onChange as ((value: (string | string[])[]) => void) | undefined}\n      value={convertValue}\n      options={convertArrToTree(options)}\n      placeholder={placeholder}\n    >\n      {content ? <div>{content}</div> : null}\n    </BaseCascader>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\nimport { CORE_VERSION, CoreWidgetName } from '@sunmao-ui/shared';\n\nconst EXPRESSION_WIDGET_TYPE = `${CORE_VERSION}/${CoreWidgetName.Expression}` as const;\n\nexport const CascaderValueSpec = Type.Union(\n  [Type.Array(Type.String()), Type.Array(Type.Array(Type.String()))],\n  {\n    title: 'Default Value',\n    category: Category.Data,\n    widget: EXPRESSION_WIDGET_TYPE,\n  }\n);\n\nexport const CascaderPropsSpec = {\n  options: Type.Array(Type.Array(Type.String()), {\n    title: 'Options',\n    weight: 10,\n    description: `An array of arrays`,\n    category: Category.Data,\n    widget: EXPRESSION_WIDGET_TYPE,\n  }),\n  expandTrigger: StringUnion(['click', 'hover'], {\n    title: 'Expand Trigger',\n    category: Category.Basic,\n  }),\n  multiple: Type.Boolean({\n    title: 'Multiple',\n    category: Category.Basic,\n  }),\n  showSearch: Type.Boolean({\n    title: 'Show Search',\n    category: Category.Basic,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    weight: 1,\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Basic,\n  }),\n  bordered: Type.Boolean({\n    title: 'Bordered',\n    category: Category.Style,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Basic,\n  }),\n  allowCreate: Type.Boolean({\n    title: 'Allow Create',\n    category: Category.Basic,\n  }),\n  maxTagCount: Type.Number({\n    title: 'Max Tag Count',\n    category: Category.Basic,\n  }),\n  defaultValue: CascaderValueSpec,\n};\n","import { Skeleton as BaseSkeleton } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { SkeletonPropsSpec as BaseSkeletonPropsSpec } from '../generated/types/Skeleton';\n\nconst SkeletonPropsSpec = Type.Object(BaseSkeletonPropsSpec);\nconst SkeletonStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof SkeletonPropsSpec> = {\n  animation: true,\n  loading: true,\n  image: false,\n  imageProps: {\n    shape: 'square',\n    size: 'default',\n    position: 'left',\n  },\n  text: true,\n  textProps: { rows: 3, width: ['100%', 600, 400] },\n};\n\nexport const Skeleton = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'skeleton',\n    displayName: 'Skeleton',\n    exampleProperties,\n    annotations: {\n      category: 'Feedback',\n    },\n  },\n  spec: {\n    properties: SkeletonPropsSpec,\n    state: SkeletonStateSpec,\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { image, imageProps, text, textProps, ...cProps } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements } = props;\n\n  return (\n    <BaseSkeleton\n      image={image && imageProps}\n      text={text && textProps}\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      {...cProps}\n    >\n      {slotsElements.content ? slotsElements.content({}) : null}\n    </BaseSkeleton>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const SkeletonTextPropsSpec = {\n  rows: Type.Number(),\n  width: Type.Array(Type.Any(), {\n    widget: 'core/v1/expression',\n    description:\n      `Enter an array, each element of which represents the width of each row from top to bottom.     \n    ` +\n      'For example, if we now have 3 rows, we can use the `[100,200,300]` to represent the width of each row',\n  }),\n};\n\nexport const SkeletonImagePropsSpec = {\n  shape: StringUnion(['circle', 'square']),\n  size: StringUnion(['small', 'default', 'large']),\n  position: StringUnion(['left', 'right']),\n};\n\nexport const SkeletonPropsSpec = {\n  animation: Type.Boolean({\n    title: 'Animation',\n    category: Category.Basic,\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Basic,\n  }),\n  image: Type.Boolean({\n    title: 'Image Placeholder',\n    description: 'Whether to show the picture placeholder',\n    category: Category.Basic,\n  }),\n  imageProps: Type.Object(SkeletonImagePropsSpec, {\n    title: 'Image Config',\n    category: Category.Basic,\n    conditions: [{ key: 'image', value: true }],\n  }),\n  text: Type.Boolean({\n    title: 'Text Placeholder',\n    description: 'Whether to show text placeholder',\n    category: Category.Basic,\n  }),\n  textProps: Type.Object(SkeletonTextPropsSpec, {\n    title: 'Text Config',\n    category: Category.Basic,\n    conditions: [{ key: 'text', value: true }],\n  }),\n};\n","import { Timeline as BaseTimeline } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TimelinePropsSpec as BaseTimelinePropsSpec } from '../generated/types/Timeline';\n\nconst TimelinePropsSpec = Type.Object(BaseTimelinePropsSpec);\nconst TimelineStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof TimelinePropsSpec> = {\n  reverse: false,\n  direction: 'vertical',\n  mode: 'alternate',\n  labelPosition: 'same',\n  items: [\n    {\n      label: '2017-03-10',\n      content: 'The first milestone',\n      dotColor: '#00B42A',\n      lineType: 'dashed',\n      lineColor: '#00B42A',\n      dotType: 'hollow',\n    },\n    {\n      label: '2018-05-12',\n      content: 'The second milestone',\n      dotColor: '',\n      lineType: 'solid',\n      lineColor: '',\n      dotType: 'hollow',\n    },\n    {\n      label: '2020-06-22',\n      content: 'The third milestone',\n      dotColor: '#F53F3F',\n      lineType: 'dotted',\n      dotType: 'solid',\n      lineColor: '',\n    },\n    {\n      label: '2020-09-30',\n      content: 'The fourth milestone',\n      dotColor: '#C9CDD4',\n      lineType: 'dotted',\n      dotType: 'solid',\n      lineColor: '',\n    },\n  ],\n};\n\nexport const Timeline = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'timeline',\n    displayName: 'Timeline',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: TimelinePropsSpec,\n    state: TimelineStateSpec,\n    methods: {},\n    slots: {\n      content: {\n        slotProps: Type.Object({\n          content: Type.String(),\n        }),\n      },\n      label: {\n        slotProps: Type.Object({\n          label: Type.String(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { items, ...cProps } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements } = props;\n\n  return (\n    <BaseTimeline ref={elementRef} className={css(customStyle?.content)} {...cProps}>\n      {items?.map((item, idx) => (\n        <BaseTimeline.Item\n          key={idx}\n          label={\n            slotsElements?.label?.({ label: item.label }, undefined, `content_${idx}`) ||\n            item.label\n          }\n          dotColor={item.dotColor}\n          lineType={item.lineType}\n          lineColor={item.lineColor}\n          dotType={item.dotType}\n        >\n          {slotsElements?.content?.(\n            { content: item.content },\n            undefined,\n            `content_${idx}`\n          ) || item.content}\n        </BaseTimeline.Item>\n      ))}\n    </BaseTimeline>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const TimelineItemPropsSpec = {\n  label: Type.String({\n    title: 'Label',\n  }),\n  content: Type.String({\n    title: 'Content',\n  }),\n  dotColor: Type.String({\n    title: 'Dot Color',\n    widget: 'core/v1/color',\n  }),\n  lineType: StringUnion(['solid', 'dashed', 'dotted'], {\n    title: 'Line Type',\n  }),\n  lineColor: Type.String({\n    title: 'Line Color',\n    widget: 'core/v1/color',\n  }),\n  dotType: StringUnion(['hollow', 'solid'], {\n    title: 'Dot Type',\n  }),\n};\n\nexport const TimelinePropsSpec = {\n  items: Type.Array(Type.Object(TimelineItemPropsSpec), {\n    category: Category.Data,\n    title: 'Items',\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['label'],\n    },\n  }),\n  reverse: Type.Boolean({\n    category: Category.Behavior,\n  }),\n  direction: StringUnion(['horizontal', 'vertical'], {\n    category: Category.Layout,\n  }),\n  mode: StringUnion(['left', 'right', 'alternate'], {\n    category: Category.Layout,\n  }),\n  labelPosition: StringUnion(['relative', 'same'], {\n    category: Category.Layout,\n    conditions: [\n      {\n        key: 'mode',\n        value: 'alternate',\n      },\n    ],\n  }),\n};\n","import { Tree as BaseTree } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA } from '../sunmao-helper';\nimport { TreePropsSpec, TreeNodeSpec } from '../generated/types/Tree';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { NodeInstance } from '@arco-design/web-react/es/Tree/interface';\n\nconst TreeStateSpec = Type.Object({\n  selectedKeys: Type.Array(Type.String()),\n  selectedNodes: Type.Array(TreeNodeSpec),\n});\n\nfunction formatNode(\n  nodeProps: NodeInstance['props']\n): Static<typeof TreeNodeSpec> & { path: string[] } {\n  const { title, key, ...rest } = nodeProps.dataRef!;\n  return {\n    title: title as string,\n    key: key!,\n    selectable: nodeProps.selectable,\n    checkable: nodeProps.checkable,\n    path: [...nodeProps.pathParentKeys!, nodeProps._key!],\n    children: nodeProps.dataRef?.children || ([] as Static<typeof TreeNodeSpec>[]),\n    ...rest,\n  };\n}\n\nconst exampleProperties: Static<typeof TreePropsSpec> = {\n  multiple: false,\n  size: 'medium',\n  autoExpandParent: true,\n  defaultExpandKeys: [],\n  autoExpandParentWhenDataChanges: false,\n  data: [\n    {\n      title: 'Asia',\n      key: 'asia',\n      children: [\n        {\n          title: 'China',\n          key: 'China',\n          selectable: false,\n          children: [\n            {\n              title: 'Guangdong',\n              key: 'Guangdong',\n              children: [\n                {\n                  title: 'Guangzhou',\n                  key: 'Guangzhou',\n                },\n                {\n                  title: 'Shenzhen',\n                  key: 'Shenzhen',\n                },\n              ],\n            },\n          ],\n        },\n      ],\n    },\n    {\n      title: 'Europe',\n      key: 'Europe',\n      children: [\n        {\n          title: 'France',\n          key: 'France',\n        },\n        {\n          title: 'Germany',\n          key: 'Germany',\n        },\n      ],\n    },\n  ],\n};\n\nexport const Tree = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'tree',\n    displayName: 'Tree',\n    annotations: {\n      category: 'Data Display',\n    },\n    exampleProperties,\n  },\n  spec: {\n    properties: TreePropsSpec,\n    state: TreeStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onSelect'],\n  },\n})(props => {\n  const {\n    elementRef,\n    data,\n    callbackMap,\n    multiple,\n    autoExpandParent,\n    customStyle,\n    mergeState,\n    defaultExpandKeys,\n    autoExpandParentWhenDataChanges,\n  } = props;\n  const treeRef = useRef<BaseTree>(null);\n  const [expandKeys, setExpandKeys] = useState(defaultExpandKeys);\n  const [selectedKeys, setSelectedKeys] = useState<string[]>([]);\n\n  // init expanded keys\n  useEffect(() => {\n    if (autoExpandParent) {\n      setExpandKeys(treeRef.current?.getInitExpandedKeys(undefined));\n    } else {\n      setExpandKeys(defaultExpandKeys);\n    }\n  }, [autoExpandParent, defaultExpandKeys]);\n\n  useEffect(() => {\n    if (Array.isArray(data)) {\n      // reset tree state\n      const treeState = treeRef.current?.getTreeState();\n      const selectedKeys = treeState?.selectedKeys || [];\n\n      const selectedNodes = selectedKeys\n        .map(key => treeRef.current?.key2nodeProps[key])\n        .filter(node => node)\n        .map(node => formatNode(node!));\n\n      mergeState({\n        selectedKeys: selectedNodes.map(node => node.key),\n        selectedNodes: selectedNodes,\n      });\n\n      // auto expand parent\n      if (autoExpandParentWhenDataChanges && autoExpandParent) {\n        setExpandKeys(treeRef.current?.getInitExpandedKeys(undefined));\n      }\n    } else {\n      mergeState({\n        selectedKeys: [],\n        selectedNodes: [],\n      });\n    }\n  }, [autoExpandParent, autoExpandParentWhenDataChanges, data, mergeState]);\n\n  const onSelect = useCallback(\n    (\n      _selectedKeys: string[],\n      extra: {\n        selected: boolean;\n        selectedNodes: NodeInstance[];\n        node: NodeInstance;\n        e: Event;\n      }\n    ) => {\n      const selectedNodes = extra.selectedNodes\n        .filter(node => node)\n        .map(node => formatNode(node.props));\n      const selectedKeys = selectedNodes.map(node => node.key);\n      setSelectedKeys(selectedKeys);\n\n      mergeState({\n        selectedKeys: selectedKeys,\n        selectedNodes: selectedNodes,\n      });\n      callbackMap?.onSelect?.();\n    },\n    [mergeState, callbackMap]\n  );\n\n  return (\n    <div ref={elementRef} className={css(customStyle?.content)}>\n      <BaseTree\n        ref={treeRef}\n        selectedKeys={selectedKeys}\n        expandedKeys={expandKeys}\n        treeData={data}\n        multiple={multiple}\n        autoExpandParent={autoExpandParent}\n        onExpand={expandKeys => {\n          setExpandKeys(expandKeys);\n        }}\n        onSelect={onSelect}\n      />\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const TreeNodeSpec = Type.Object({\n  title: Type.String(),\n  key: Type.String(),\n  children: Type.Optional(Type.Array(Type.Any())),\n  selectable: Type.Optional(Type.Boolean()),\n  checkable: Type.Optional(Type.Boolean()),\n});\n\nexport const TreePropsSpec = Type.Object({\n  data: Type.Array(TreeNodeSpec, {\n    category: Category.Data,\n    title: 'Tree Data',\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['title'],\n    },\n  }),\n  size: StringUnion(['mini', 'small', 'medium', 'large'], {\n    category: Category.Style,\n    title: 'Size',\n  }),\n  multiple: Type.Boolean({\n    category: Category.Basic,\n    title: 'Multiple Select',\n  }),\n  autoExpandParent: Type.Boolean({\n    category: Category.Basic,\n    title: 'Auto Expand Parent',\n  }),\n  autoExpandParentWhenDataChanges: Type.Boolean({\n    category: Category.Basic,\n    title: 'Auto Expand Parent When Data Changes',\n    conditions: [\n      {\n        key: 'autoExpandParent',\n        value: true,\n      },\n    ],\n  }),\n  defaultExpandKeys: Type.Array(Type.String(), {\n    category: Category.Basic,\n    title: 'Expand Keys',\n    conditions: [\n      {\n        key: 'autoExpandParent',\n        value: false,\n      },\n    ],\n  }),\n});\n","import { TreeSelect as BaseTreeSelect } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TreeSelectPropsSpec as BaseTreeSelectPropsSpec } from '../generated/types/TreeSelect';\nimport { useEffect, useRef } from 'react';\nimport { RefTreeSelectType } from '@arco-design/web-react/es/TreeSelect';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst TreeSelectPropsSpec = Type.Object(BaseTreeSelectPropsSpec);\nconst TreeSelectStateSpec = Type.Object({\n  selectedOptions: Type.Array(Type.String()),\n});\n\nconst exampleProperties: Static<typeof TreeSelectPropsSpec> = {\n  multiple: false,\n  defaultValue: ['node1'],\n  treeData: [\n    {\n      key: 'node1',\n      title: 'Trunk',\n      disabled: true,\n      children: [\n        {\n          key: 'node2',\n          title: 'Leaf1',\n        },\n      ],\n    },\n    {\n      key: 'node3',\n      title: 'Trunk2',\n      disabled: false,\n      children: [\n        {\n          key: 'node4',\n          title: 'Leaf2',\n        },\n        {\n          key: 'node5',\n          title: 'Leaf3',\n        },\n      ],\n    },\n  ],\n  bordered: true,\n  placeholder: 'Select option(s)',\n  labelInValue: true,\n  size: 'default',\n  disabled: false,\n  error: false,\n  showSearch: true,\n  loading: false,\n  allowClear: true,\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const TreeSelect = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'treeSelect',\n    displayName: 'TreeSelect',\n    annotations: {\n      category: 'Data Entry',\n    },\n    exampleProperties,\n  },\n  spec: {\n    properties: TreeSelectPropsSpec,\n    state: TreeSelectStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { defaultValue, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const { getElement, customStyle, mergeState, callbackMap } = props;\n  const ref = useRef<RefTreeSelectType | null>(null);\n\n  const [selectedOptions, setSelectedOptions] = useStateValue(\n    defaultValue!,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'selectedOptions'\n  );\n\n  useEffect(() => {\n    // arco definition doesn't declare dom, but it actually has.\n    const ele = (ref.current as any)?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  const handleChange = (value: string[]) => {\n    setSelectedOptions(value);\n    mergeState({ selectedOptions });\n    callbackMap?.onChange?.();\n  };\n\n  const filterTreeNode = (inputText: string, treeNode: any) => {\n    return treeNode.props.title.toLowerCase().indexOf(inputText.toLowerCase()) > -1;\n  };\n\n  return (\n    <BaseTreeSelect\n      ref={ref}\n      onChange={handleChange}\n      className={css(customStyle?.content)}\n      filterTreeNode={filterTreeNode}\n      {...cProps}\n      value={selectedOptions}\n      treeCheckable={cProps.multiple}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\nimport { CORE_VERSION, CoreWidgetName } from '@sunmao-ui/shared';\n\nconst EXPRESSION_WIDGET_TYPE = `${CORE_VERSION}/${CoreWidgetName.Expression}` as const;\n\nexport const TreeSelectPropsSpec = {\n  treeData: Type.Array(\n    Type.Object({\n      key: Type.String(),\n      title: Type.String(),\n      disabled: Type.Boolean(),\n      children: Type.Array(Type.Any()),\n    }),\n    {\n      title: 'Options',\n      category: Category.Data,\n      widget: 'core/v1/array',\n      widgetOptions: {\n        displayedKeys: ['title'],\n      },\n    }\n  ),\n  defaultValue: Type.Array(Type.String(), {\n    title: 'Default Value',\n    category: Category.Data,\n    widget: EXPRESSION_WIDGET_TYPE,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Data,\n  }),\n  multiple: Type.Boolean({\n    title: 'Multiple',\n    category: Category.Basic,\n  }),\n  bordered: Type.Boolean({\n    title: 'Bordered',\n    category: Category.Style,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n    weight: 10,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n    weight: 9,\n  }),\n  showSearch: Type.Boolean({\n    title: 'Show Search',\n    category: Category.Basic,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Basic,\n  }),\n  labelInValue: Type.Boolean({\n    title: 'Label In Value',\n    category: Category.Basic,\n    description:\n      'Setting value format.The default is string, when set to true, the value format will turn to: { label: string, value: string }',\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Basic,\n  }),\n  allowClear: Type.Boolean({\n    title: 'AllowClear',\n    category: Category.Basic,\n  }),\n};\n","import { Checkbox as BaseCheckbox } from '@arco-design/web-react';\nimport { Type, Static } from '@sinclair/typebox';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport {\n  CheckboxPropsSpec as BaseCheckboxPropsSpec,\n  CheckboxOptionSpec as BaseCheckboxOptionSpec,\n} from '../generated/types/Checkbox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { css } from '@emotion/css';\nimport { useEffect, useMemo, useCallback } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst CheckboxPropsSpec = Type.Object({\n  ...BaseCheckboxPropsSpec,\n});\nconst CheckboxStateSpec = Type.Object({\n  checkedValues: Type.Array(Type.String()),\n  isCheckAll: Type.Boolean(),\n});\n\nexport const Checkbox = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'checkbox',\n    displayName: 'Checkbox',\n    exampleProperties: {\n      options: [\n        {\n          label: 'checkbox1',\n          value: 'checkbox1',\n        },\n        {\n          label: 'checkbox2',\n          value: 'checkbox2',\n        },\n        {\n          label: 'checkbox3',\n          value: 'checkbox3',\n        },\n      ],\n      disabled: false,\n      direction: 'horizontal',\n      defaultCheckedValues: ['checkbox1'],\n      showCheckAll: false,\n      checkAllText: 'Check all',\n      updateWhenDefaultValueChanges: false,\n    },\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: CheckboxPropsSpec,\n    state: CheckboxStateSpec,\n    methods: {\n      setCheckedValues: Type.Object({\n        checkedValues: Type.Array(Type.String()),\n      }),\n      checkAll: Type.Object({}),\n      uncheckAll: Type.Object({}),\n      toggleValues: Type.Object({\n        values: BaseCheckboxOptionSpec,\n      }),\n    },\n    styleSlots: ['content'],\n    slots: {},\n    events: ['onChange'],\n  },\n})(props => {\n  const { elementRef, mergeState, subscribeMethods, callbackMap, customStyle } = props;\n  const {\n    updateWhenDefaultValueChanges,\n    options = [],\n    defaultCheckedValues,\n    showCheckAll,\n    checkAllText,\n    ...checkboxProps\n  } = getComponentProps(props);\n  const optionValues = useMemo(() => options.map(o => o.value), [options]);\n  const defaultValue = useMemo(\n    () => optionValues.filter(o => defaultCheckedValues.includes(o)),\n    [defaultCheckedValues, optionValues]\n  );\n\n  const [checkedValues, setCheckedValues] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'checkedValues'\n  );\n  const enabledOptions = useMemo(\n    () => options.filter(({ disabled }) => !disabled),\n    [options]\n  );\n  const isCheckedAll = useMemo<boolean>(\n    () => checkedValues.length === options.length,\n    [checkedValues, options.length]\n  );\n\n  useEffect(() => {\n    mergeState({\n      isCheckAll: isCheckedAll,\n    });\n  }, [isCheckedAll, mergeState]);\n\n  const indeterminate = useMemo<boolean>(\n    () => checkedValues.length !== 0 && !isCheckedAll,\n    [isCheckedAll, checkedValues]\n  );\n  const option = options[0];\n\n  const onGroupChange = (newCheckedValues: string[]) => {\n    setCheckedValues(newCheckedValues);\n    mergeState({\n      checkedValues: newCheckedValues,\n      isCheckAll: newCheckedValues.length === options.length,\n    });\n    callbackMap?.onChange?.();\n  };\n  const onChange = (checked: boolean) => {\n    const newCheckedValues = checked ? [option?.value] : [];\n\n    setCheckedValues(newCheckedValues);\n    mergeState({\n      checkedValues: newCheckedValues,\n      isCheckAll: newCheckedValues.length === options.length,\n    });\n    callbackMap?.onChange?.();\n  };\n  const checkAll = useCallback(() => {\n    const newCheckedValues = enabledOptions.map(({ value }) => value);\n\n    setCheckedValues(newCheckedValues);\n    mergeState({\n      checkedValues: newCheckedValues,\n      isCheckAll: true,\n    });\n  }, [enabledOptions, mergeState, setCheckedValues]);\n  const uncheckAll = useCallback(() => {\n    setCheckedValues([]);\n    mergeState({\n      checkedValues: [],\n      isCheckAll: false,\n    });\n  }, [mergeState, setCheckedValues]);\n  const onCheckAll = () => {\n    if (checkedValues.length !== enabledOptions.length) {\n      checkAll();\n    } else {\n      uncheckAll();\n    }\n  };\n\n  useEffect(() => {\n    subscribeMethods({\n      setCheckedValues: ({ checkedValues: newCheckedValues }) => {\n        setCheckedValues(newCheckedValues);\n        mergeState({\n          checkedValues: newCheckedValues,\n          isCheckAll: checkedValues.length === options.length,\n        });\n      },\n      toggleValues: ({\n        values = [],\n      }: {\n        values: Static<typeof BaseCheckboxOptionSpec>;\n      }) => {\n        const currentCheckedValues = [...checkedValues];\n\n        values.forEach(({ value }) => {\n          const index = currentCheckedValues.indexOf(value);\n\n          if (index > -1) {\n            currentCheckedValues.splice(index, 1);\n          } else {\n            currentCheckedValues.push(value);\n          }\n        });\n\n        setCheckedValues(currentCheckedValues);\n        mergeState({\n          checkedValues: currentCheckedValues,\n          isCheckAll: currentCheckedValues.length === options.length,\n        });\n      },\n      checkAll,\n      uncheckAll,\n    });\n  }, [\n    subscribeMethods,\n    mergeState,\n    checkedValues,\n    options,\n    checkAll,\n    uncheckAll,\n    setCheckedValues,\n  ]);\n\n  const CheckAll = showCheckAll ? (\n    <BaseCheckbox\n      className={css(customStyle?.content)}\n      indeterminate={indeterminate}\n      checked={isCheckedAll}\n      onChange={onCheckAll}\n    >\n      {checkAllText}\n    </BaseCheckbox>\n  ) : null;\n  const CheckboxList =\n    options.length > 1 ? (\n      <BaseCheckbox.Group\n        {...checkboxProps}\n        className={css(customStyle?.content)}\n        value={checkedValues}\n        onChange={onGroupChange}\n        options={options}\n      />\n    ) : (\n      <BaseCheckbox\n        {...checkboxProps}\n        className={css(customStyle?.content)}\n        disabled={checkboxProps.disabled || option?.disabled}\n        onChange={onChange}\n        checked={checkedValues.includes(option?.value)}\n        indeterminate={option?.indeterminate}\n      >\n        {option?.label}\n      </BaseCheckbox>\n    );\n\n  return (\n    <div ref={elementRef}>\n      {CheckAll}\n      {CheckboxList}\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\nimport { CORE_VERSION, CoreWidgetName } from '@sunmao-ui/shared';\n\nconst EXPRESSION_WIDGET_TYPE = `${CORE_VERSION}/${CoreWidgetName.Expression}` as const;\n\nexport const CheckboxOptionSpec = Type.Array(\n  Type.Object({\n    label: Type.String(),\n    value: Type.String(),\n    disabled: Type.Boolean(),\n    indeterminate: Type.Boolean(),\n  }),\n  {\n    title: 'Options',\n    category: Category.Data,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['label'],\n    },\n  }\n);\n\nexport const CheckboxPropsSpec = {\n  options: CheckboxOptionSpec,\n  defaultCheckedValues: Type.Array(Type.String(), {\n    title: 'Default Value',\n    category: Category.Data,\n    widget: EXPRESSION_WIDGET_TYPE,\n  }),\n  direction: StringUnion(['horizontal', 'vertical'], {\n    title: 'Direction',\n    category: Category.Basic,\n  }),\n  showCheckAll: Type.Boolean({\n    title: 'Show Check All',\n    category: Category.Basic,\n  }),\n  checkAllText: Type.String({\n    title: 'Check All Text',\n    category: Category.Basic,\n    conditions: [{ key: 'showCheckAll', value: true }],\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n};\n","import { Modal as BaseModal, ConfigProvider } from '@arco-design/web-react';\nimport { DIALOG_CONTAINER_ID, implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { ModalPropsSpec as BaseModalPropsSpec } from '../generated/types/Modal';\nimport { useEffect, useRef, useState } from 'react';\n\nconst ModalPropsSpec = Type.Object(BaseModalPropsSpec);\nconst ModalStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof ModalPropsSpec> = {\n  title: 'Modal title',\n  mask: true,\n  simple: false,\n  okText: 'confirm',\n  cancelText: 'cancel',\n  closable: true,\n  maskClosable: true,\n  confirmLoading: false,\n  defaultOpen: true,\n  unmountOnExit: true,\n  hideFooter: false,\n};\nexport const Modal = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    exampleProperties,\n    name: 'modal',\n    displayName: 'Modal',\n    annotations: {\n      category: 'Feedback',\n    },\n  },\n  spec: {\n    properties: ModalPropsSpec,\n    state: ModalStateSpec,\n    methods: {\n      openModal: Type.Object({}),\n      closeModal: Type.Object({}),\n    },\n    slots: {\n      content: { slotProps: Type.Object({}) },\n      footer: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['afterOpen', 'afterClose', 'onCancel', 'onOk'],\n  },\n})(props => {\n  const { getElement, subscribeMethods, slotsElements, customStyle, callbackMap } = props;\n  const { title, defaultOpen, hideFooter, ...cProps } = getComponentProps(props);\n  const [visible, setVisible] = useState(defaultOpen);\n  const contentRef = useRef<HTMLDivElement | null>(null);\n\n  const afterOpen = () => {\n    getElement && contentRef.current && getElement(contentRef.current);\n    callbackMap?.afterOpen && callbackMap?.afterOpen();\n  };\n  const afterClose = () => {\n    getElement && contentRef.current && getElement(contentRef.current);\n    callbackMap?.afterClose && callbackMap?.afterClose();\n  };\n\n  useEffect(() => {\n    subscribeMethods({\n      openModal() {\n        setVisible(true);\n      },\n      closeModal() {\n        setVisible(false);\n      },\n    });\n  }, [subscribeMethods]);\n\n  return (\n    <ConfigProvider focusLock={{ modal: false }}>\n      <BaseModal\n        getPopupContainer={() =>\n          document.getElementById(DIALOG_CONTAINER_ID) || document.body\n        }\n        visible={visible}\n        title={title}\n        onCancel={() => {\n          setVisible(false);\n          callbackMap?.onCancel?.();\n        }}\n        onOk={() => {\n          setVisible(false);\n          callbackMap?.onOk?.();\n        }}\n        afterClose={afterClose}\n        afterOpen={afterOpen}\n        footer={hideFooter ? null : slotsElements?.footer?.({})}\n        className={css(customStyle?.content)}\n        mountOnEnter={true}\n        {...cProps}\n      >\n        <div ref={contentRef}>\n          {slotsElements.content ? slotsElements.content({}) : null}\n        </div>\n      </BaseModal>\n    </ConfigProvider>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\n\nexport const ModalPropsSpec = {\n  title: Type.String({\n    title: 'Title',\n    category: Category.Basic,\n    weight: 10,\n  }),\n  defaultOpen: Type.Boolean({\n    title: 'Default Open',\n    category: Category.Behavior,\n  }),\n  mask: Type.Boolean({\n    title: 'Mask',\n    category: Category.Style,\n  }),\n  simple: Type.Boolean({\n    title: 'Simple',\n    category: Category.Style,\n  }),\n  okText: Type.String({\n    title: 'Ok Text',\n    category: Category.Basic,\n    weight: 2,\n  }),\n  cancelText: Type.String({\n    title: 'Cancel Text',\n    category: Category.Basic,\n    weight: 1,\n  }),\n  closable: Type.Boolean({\n    title: 'Closable',\n    category: Category.Behavior,\n  }),\n  maskClosable: Type.Boolean({\n    title: 'Mask Closable',\n    description: 'Whether enable click mask to close Modal',\n    category: Category.Behavior,\n  }),\n  confirmLoading: Type.Boolean({\n    title: 'Confirm Loading',\n    category: Category.Behavior,\n  }),\n  unmountOnExit: Type.Boolean({\n    title: 'Destroy On Hide',\n    category: Category.Behavior,\n  }),\n  hideFooter: Type.Boolean({\n    title: 'Hide Footer',\n    category: Category.Behavior,\n  }),\n};\n","import { Radio as BaseRadio } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport {\n  RadioPropsSpec as BaseRadioPropsSpec,\n  radioValueType,\n} from '../generated/types/Radio';\nimport { useEffect } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst RadioPropsSpec = Type.Object({\n  ...BaseRadioPropsSpec,\n});\nconst RadioStateSpec = Type.Object({\n  checkedValue: Type.Union(radioValueType),\n});\n\nconst exampleProperties: Static<typeof RadioPropsSpec> = {\n  options: [\n    { label: 'A', value: 'a' },\n    { label: 'B', value: 'b' },\n    { label: 'C', value: 'c' },\n  ],\n  type: 'radio',\n  defaultCheckedValue: 'a',\n  direction: 'horizontal',\n  size: 'default',\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const Radio = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'radio',\n    displayName: 'Radio',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: RadioPropsSpec,\n    state: RadioStateSpec,\n    methods: {\n      setCheckedValue: Type.Object({\n        value: Type.Union(radioValueType, {\n          widget: 'core/v1/expression',\n        }),\n      }),\n    },\n    slots: {},\n    styleSlots: ['group'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { customStyle, callbackMap, mergeState, subscribeMethods, elementRef } = props;\n  const { defaultCheckedValue, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const [checkedValue, setCheckedValue] = useStateValue(\n    defaultCheckedValue,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'checkedValue'\n  );\n\n  const onChange = (value: string) => {\n    setCheckedValue(value);\n    mergeState({ checkedValue: value });\n    callbackMap?.onChange?.();\n  };\n\n  useEffect(() => {\n    subscribeMethods({\n      setCheckedValue: ({ value: newCheckedValue }) => {\n        setCheckedValue(newCheckedValue);\n        mergeState({\n          checkedValue: newCheckedValue,\n        });\n      },\n    });\n  }, [mergeState, setCheckedValue, subscribeMethods]);\n\n  return (\n    <div ref={elementRef}>\n      <BaseRadio.Group\n        {...cProps}\n        className={css(customStyle?.group)}\n        value={checkedValue}\n        onChange={onChange}\n      />\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const radioValueType = [Type.Boolean(), Type.String(), Type.Number()];\n\nconst RadioItemSpec = Type.Object({\n  value: Type.Union(radioValueType, {\n    widget: 'core/v1/expression',\n  }),\n  label: Type.String(),\n  disabled: Type.Optional(Type.Boolean()),\n});\n\nexport const RadioPropsSpec = {\n  options: Type.Array(RadioItemSpec, {\n    title: 'Options',\n    category: Category.Basic,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['label'],\n    },\n  }),\n  defaultCheckedValue: Type.Union(radioValueType, {\n    title: 'Default Value',\n    category: Category.Basic,\n    widget: 'core/v1/expression',\n  }),\n  type: StringUnion(['radio', 'button'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  direction: StringUnion(['horizontal', 'vertical'], {\n    title: 'Direction',\n    category: Category.Style,\n    conditions: [\n      {\n        key: 'type',\n        value: 'radio',\n      },\n    ],\n  }),\n  size: StringUnion(['small', 'default', 'large', 'mini'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n};\n","/* eslint-disable @typescript-eslint/ban-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { css } from '@emotion/css';\nimport { sortBy } from 'lodash';\nimport { ResizeCallbackData } from 'react-resizable';\nimport { TableInstance } from '@arco-design/web-react/es/Table/table';\nimport { ColumnProps } from '@arco-design/web-react/es/Table';\nimport { RefInputType } from '@arco-design/web-react/es/Input/interface';\nimport {\n  Button,\n  Link,\n  Input,\n  Table as BaseTable,\n  PaginationProps,\n} from '@arco-design/web-react';\nimport {\n  LIST_ITEM_EXP,\n  LIST_ITEM_INDEX_EXP,\n  ModuleRenderer,\n  implementRuntimeComponent,\n  ImplWrapper,\n  formatSlotKey,\n} from '@sunmao-ui/runtime';\nimport { Type, Static } from '@sinclair/typebox';\nimport { ResizableTitle } from './ResizableTitle';\n\nimport { FALLBACK_METADATA, getComponentProps } from '../../sunmao-helper';\nimport { TablePropsSpec, ColumnSpec } from '../../generated/types/Table';\nimport { useStateValue } from '../../hooks/useStateValue';\n\nconst TableStateSpec = Type.Object({\n  clickedRow: Type.Optional(Type.Any()),\n  selectedRows: Type.Array(Type.Any()),\n  selectedRowKeys: Type.Array(Type.String()),\n  filterRule: Type.Record(Type.String(), Type.Array(Type.String())),\n  sortRule: Type.Object({\n    field: Type.Optional(Type.String()),\n    direction: Type.Optional(Type.String()),\n  }),\n  currentPage: Type.Number(),\n  pageSize: Type.Number(),\n});\n\ntype SortRule = {\n  field?: string;\n  direction?: 'ascend' | 'descend';\n};\n\ntype ColumnProperty = Static<typeof ColumnSpec> & ColumnProps;\n\ntype filterDropdownParam = {\n  filterKeys?: string[];\n  setFilterKeys?: (filterKeys: string[], callback?: Function) => void;\n  confirm?: Function;\n};\n\nconst rowSelectionTypeMap: Record<string, 'checkbox' | 'radio' | undefined> = {\n  multiple: 'checkbox',\n  single: 'radio',\n  disable: undefined,\n};\n\nconst rowClickStyle = css`\n  cursor: pointer;\n  & tr.selected td {\n    background-color: rgb(235, 244, 251);\n  }\n  & tr.selected:hover > td {\n    background-color: rgb(228, 236, 243) !important;\n  }\n`;\n\nexport const exampleProperties: Static<typeof TablePropsSpec> = {\n  columns: [\n    {\n      title: 'Key',\n      dataIndex: 'key',\n      type: 'text',\n      displayValue: '',\n      filter: false,\n      componentSlotIndex: 0,\n      sorter: false,\n      ellipsis: false,\n      width: -1,\n    },\n    {\n      title: 'Name',\n      dataIndex: 'name',\n      sorter: true,\n      sortDirections: ['ascend', 'descend'],\n      type: 'text',\n      filter: true,\n      displayValue: '',\n      ellipsis: false,\n      componentSlotIndex: 0,\n      width: -1,\n    },\n    {\n      title: 'Salary',\n      dataIndex: 'salary',\n      sorter: true,\n      sortDirections: ['ascend', 'descend'],\n      filter: false,\n      type: 'text',\n      displayValue: '',\n      ellipsis: false,\n      componentSlotIndex: 0,\n      width: -1,\n    },\n    {\n      title: 'Link',\n      dataIndex: 'link',\n      type: 'link',\n      filter: true,\n      sorter: false,\n      sortDirections: ['ascend', 'descend'],\n      displayValue: '',\n      ellipsis: false,\n      componentSlotIndex: 0,\n      width: -1,\n    },\n  ],\n  data: Array(13)\n    .fill('')\n    .map((_, index) => ({\n      key: index,\n      name: `${Math.random() > 0.5 ? 'Kevin Sandra' : 'Naomi Cook'}${index}`,\n      link: `link${Math.random() > 0.5 ? '-A' : '-B'}`,\n      salary: Math.floor(Math.random() * 1000),\n    })),\n  rowKey: 'key',\n  checkCrossPage: true,\n  pagination: {\n    enablePagination: true,\n    pageSize: 6,\n    defaultCurrent: 1,\n    updateWhenDefaultPageChanges: false,\n    useCustomPagination: false,\n    simple: false,\n    showJumper: false,\n    showTotal: false,\n  },\n  rowClick: false,\n  tableLayoutFixed: false,\n  borderCell: false,\n  stripe: false,\n  size: 'default',\n  useDefaultFilter: true,\n  useDefaultSort: true,\n  pagePosition: 'bottomCenter',\n  rowSelectionType: 'single',\n  border: true,\n  loading: false,\n};\n\nexport const Table = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n    name: 'table',\n    displayName: 'Table',\n  },\n  spec: {\n    properties: TablePropsSpec,\n    state: TableStateSpec,\n    methods: {},\n    slots: {\n      content: {\n        slotProps: Type.Object({\n          [LIST_ITEM_EXP]: Type.Any(),\n          [LIST_ITEM_INDEX_EXP]: Type.Number(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onRowClick', 'onSearch', 'onPageChange', 'onFilter', 'onSort', 'onChange'],\n  },\n})(props => {\n  const {\n    getElement,\n    checkCrossPage,\n    callbackMap,\n    app,\n    allComponents,\n    mergeState,\n    customStyle,\n    services,\n    component,\n    slotsElements,\n  } = props;\n\n  const ref = useRef<TableInstance | null>(null);\n  const {\n    pagination,\n    rowKey,\n    rowClick,\n    useDefaultFilter,\n    useDefaultSort,\n    data,\n    ...cProps\n  } = getComponentProps(props);\n\n  const {\n    pageSize,\n    updateWhenDefaultPageChanges,\n    enablePagination,\n    total,\n    defaultCurrent,\n    useCustomPagination,\n    ...restPaginationProps\n  } = pagination;\n\n  const rowSelectionType = rowSelectionTypeMap[cProps.rowSelectionType];\n  const currentChecked = useRef<(string | number)[]>([]);\n  const currentClickedRow = useRef<(string | number)[] | undefined>(undefined);\n\n  const [currentPage, setCurrentPage] = useStateValue<number>(\n    !defaultCurrent || defaultCurrent < 1 ? 1 : defaultCurrent,\n    mergeState,\n    updateWhenDefaultPageChanges,\n    'currentPage'\n  );\n\n  useEffect(() => {\n    mergeState({ pageSize });\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n\n  const [sortRule, setSortRule] = useState<SortRule | null>(null);\n\n  const [columns, setColumns] = useState<ColumnProperty[]>([]);\n  const inputRef = useRef<RefInputType | null>(null);\n\n  const handleResize = (\n    columnIdx: number\n  ): ((e: React.SyntheticEvent, data: ResizeCallbackData) => void) => {\n    return (_e, data) => {\n      const { size } = data;\n      setColumns(prevColumns => {\n        const nextColumns = [...prevColumns];\n        nextColumns[columnIdx] = {\n          ...nextColumns[columnIdx],\n          width: size.width,\n        };\n\n        return nextColumns;\n      });\n    };\n  };\n\n  const sortedData = useMemo(() => {\n    const sortedData = Array.isArray(data) ? data : [];\n    if (!sortRule || !sortRule.direction) {\n      return sortedData;\n    }\n\n    const sorted = sortBy(sortedData, sortRule.field!);\n    return sortRule.direction === 'ascend' ? sorted : sorted.reverse();\n  }, [data, sortRule]);\n\n  const currentPageData = useMemo(() => {\n    if (enablePagination && useCustomPagination) {\n      // If the `useCustomPagination` is true, then no pagination will be done and data over the pagesize will be sliced\n      // Otherwise it will automatically paginate on the front end based on the current page\n      return sortedData?.slice(0, pageSize);\n    }\n\n    return sortedData;\n  }, [pageSize, sortedData, enablePagination, useCustomPagination]);\n\n  // reset selectedRows state when data changed\n  useEffect(() => {\n    // under server-side paging and with checkCrossPage enabled, the previous data should be cached without having to update it\n    if (useCustomPagination && checkCrossPage) {\n      return;\n    }\n    const selectedRows = currentPageData.filter(d =>\n      currentChecked.current.includes(d[rowKey])\n    );\n    // TODO: Save clickedRow state when rowkey changes, save the UI of clickedRow when turning the page\n    const clickedRow = currentPageData.find(d => d[rowKey] === currentClickedRow.current);\n    if (!clickedRow) currentClickedRow.current = undefined;\n    mergeState({\n      selectedRowKeys: selectedRows.map(r => r[rowKey]),\n      selectedRows,\n      clickedRow,\n    });\n  }, [checkCrossPage, currentPageData, mergeState, rowKey, useCustomPagination]);\n\n  // If there is less data to display than the current page, reset to the first page\n  useEffect(() => {\n    if (useCustomPagination) return;\n    if (currentPageData.length <= Number(pageSize) * (currentPage - 1)) {\n      // TODO: Better interaction experience\n      setCurrentPage(1);\n    }\n  }, [\n    currentPage,\n    currentPageData.length,\n    pageSize,\n    setCurrentPage,\n    useCustomPagination,\n  ]);\n\n  useEffect(() => {\n    setColumns(\n      cProps.columns!.map((column, i) => {\n        const newColumn: ColumnProperty = { ...column };\n        if (newColumn.width === -1) {\n          Reflect.deleteProperty(newColumn, 'width');\n        } else if (newColumn.width) {\n          newColumn.onHeaderCell = col => ({\n            width: col.width,\n            onResize: handleResize(i),\n          });\n        }\n\n        if (newColumn.filter) {\n          newColumn.filterDropdown = ({\n            filterKeys,\n            setFilterKeys,\n            confirm,\n          }: filterDropdownParam) => {\n            return (\n              <div className=\"arco-table-custom-filter\">\n                <Input.Search\n                  ref={inputRef}\n                  searchButton\n                  placeholder=\"Please input and enter\"\n                  value={filterKeys?.[0] || ''}\n                  onChange={value => {\n                    setFilterKeys && setFilterKeys(value ? [value] : []);\n                  }}\n                  onSearch={() => {\n                    confirm && confirm();\n                    callbackMap?.onSearch?.();\n                  }}\n                />\n              </div>\n            );\n          };\n\n          newColumn.onFilterDropdownVisibleChange = visible => {\n            if (visible) {\n              setTimeout(() => inputRef.current && inputRef.current.focus(), 100);\n            }\n          };\n\n          if (useDefaultFilter) {\n            newColumn.onFilter = (value, row) => {\n              return value\n                ? String(row[newColumn.dataIndex])\n                    .toLowerCase()\n                    .indexOf(String(value).toLowerCase()) !== -1\n                : true;\n            };\n          }\n        }\n\n        newColumn.render = (ceilValue: any, record: any, index: number) => {\n          const evalOptions = {\n            scopeObject: {\n              [LIST_ITEM_EXP]: record,\n            },\n          };\n\n          const rawColumn = component.properties.columns[i];\n          const evaledColumn = services.stateManager.deepEval(\n            rawColumn,\n            evalOptions\n          ) as ColumnProperty;\n\n          const value = record[evaledColumn.dataIndex];\n\n          let colItem;\n\n          switch (evaledColumn.type) {\n            case 'button':\n              const handleClick = () => {\n                const evaledButtonConfig = evaledColumn.btnCfg;\n\n                if (!evaledButtonConfig) return;\n\n                evaledButtonConfig.handlers.forEach(handler => {\n                  services.apiService.send('uiMethod', {\n                    componentId: handler.componentId,\n                    name: handler.method.name,\n                    parameters: handler.method.parameters || {},\n                    triggerId: component.id,\n                    eventType: 'onClick',\n                  });\n                });\n              };\n              colItem = (\n                <Button\n                  onClick={() => {\n                    handleClick();\n                  }}\n                >\n                  {evaledColumn.btnCfg?.text}\n                </Button>\n              );\n              break;\n            case 'link':\n              colItem = <Link href={value}>{evaledColumn.displayValue || value}</Link>;\n              break;\n            case 'module':\n              const evalScope = {\n                [LIST_ITEM_EXP]: record,\n                [LIST_ITEM_INDEX_EXP]: index,\n              };\n              colItem = (\n                <ModuleRenderer\n                  app={app}\n                  evalScope={evalScope}\n                  handlers={evaledColumn.module?.handlers || []}\n                  id={evaledColumn.module?.id || ''}\n                  properties={evaledColumn.module?.properties || {}}\n                  services={services}\n                  type={evaledColumn.module?.type || ''}\n                />\n              );\n              break;\n\n            case 'component':\n              const childrenSchema = allComponents.filter(c => {\n                return c.traits.find(\n                  t =>\n                    (t.type === 'core/v1/slot' || t.type === 'core/v2/slot') &&\n                    (t.properties.container as any).id === component.id\n                );\n              });\n\n              const childSchema = childrenSchema[evaledColumn.componentSlotIndex || 0];\n              if (!childSchema) {\n                return (\n                  <div>\n                    Cannot find child with index {column.componentSlotIndex} in slot.\n                  </div>\n                );\n              }\n\n              const _childrenSchema = {\n                ...childSchema,\n                id: `${component.id}_${childSchema.id}_${index}`,\n              };\n\n              /**\n               * FIXME: temporary hack\n               */\n              slotsElements.content?.(\n                {\n                  [LIST_ITEM_EXP]: record,\n                  [LIST_ITEM_INDEX_EXP]: index,\n                },\n                undefined,\n                `${childSchema.id}_${index}`\n              );\n\n              colItem = (\n                <ImplWrapper\n                  key={_childrenSchema.id}\n                  component={_childrenSchema}\n                  app={app}\n                  services={services}\n                  allComponents={allComponents}\n                  childrenMap={{}}\n                  isInModule\n                  slotContext={{\n                    renderSet: new Set(),\n                    slotKey: formatSlotKey(\n                      component.id,\n                      'content',\n                      `${childSchema.id}_${index}`\n                    ),\n                  }}\n                />\n              );\n              break;\n            default:\n              const text = evaledColumn.displayValue || value;\n              colItem = <span title={column.ellipsis ? text : ''}>{text}</span>;\n              break;\n          }\n          return colItem;\n        };\n        return newColumn;\n      })\n    );\n  }, [\n    app,\n    cProps.columns,\n    callbackMap,\n    component.id,\n    slotsElements,\n    component.properties.columns,\n    services,\n    useDefaultFilter,\n  ]);\n\n  const handleChange = (\n    pagination: PaginationProps,\n    sorter: { field?: string; direction?: 'descend' | 'ascend' },\n    filters: Partial<Record<string, string[]>>,\n    extra: { currentData: any[]; action: 'paginate' | 'sort' | 'filter' }\n  ) => {\n    const { current } = pagination;\n    const { action } = extra;\n\n    switch (action) {\n      case 'paginate':\n        if (useCustomPagination) {\n          callbackMap?.onPageChange?.();\n        }\n        mergeState({ currentPage: current, pageSize });\n        setCurrentPage(current!);\n        break;\n      case 'sort':\n        if (useDefaultSort) {\n          setSortRule(sorter);\n        } else {\n          setSortRule(null);\n          mergeState({ sortRule: sorter });\n          callbackMap?.onSort?.();\n        }\n        break;\n      case 'filter':\n        if (!useDefaultFilter) {\n          mergeState({ filterRule: filters as Record<string, string[]> });\n          callbackMap?.onFilter?.();\n        }\n        break;\n    }\n\n    callbackMap?.onChange?.();\n  };\n\n  useEffect(() => {\n    const ele = ref.current?.getRootDomElement();\n    if (ele && getElement) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  return (\n    <BaseTable\n      ref={ref}\n      rowKey={rowKey}\n      className={css`\n        ${customStyle?.content}\n        ${rowClick ? rowClickStyle : ''}\n      `}\n      {...cProps}\n      components={{\n        header: {\n          th: ResizableTitle,\n        },\n      }}\n      columns={columns}\n      pagination={\n        enablePagination && {\n          total: useCustomPagination ? total : sortedData.length,\n          current: currentPage,\n          pageSize,\n          ...restPaginationProps,\n        }\n      }\n      data={currentPageData}\n      onChange={handleChange}\n      rowSelection={{\n        type: rowSelectionType,\n        checkCrossPage: checkCrossPage,\n        // This option is required to achieve multi-selection across pages when customizing paging\n        preserveSelectedRowKeys: useCustomPagination ? checkCrossPage : undefined,\n        onChange(selectedRowKeys, selectedRows) {\n          currentChecked.current = selectedRowKeys;\n          mergeState({\n            selectedRowKeys: selectedRowKeys as string[],\n            selectedRows,\n          });\n        },\n      }}\n      onRow={\n        rowClick\n          ? record => {\n              return {\n                onClick(event: React.ChangeEvent<HTMLButtonElement>) {\n                  // When user clicks a radio or checkbox, the 'rowClicked' event should not be triggered.\n                  const OPERATION_COLUMN_CLASS_SELECTOR = '.arco-table-operation';\n                  if (event.target.closest(OPERATION_COLUMN_CLASS_SELECTOR) !== null)\n                    return;\n                  const tr = event.target.closest('tr');\n                  const tbody = tr?.parentNode;\n                  if (tbody) {\n                    const prevSelectedEl = tbody.querySelector('.selected');\n                    prevSelectedEl?.classList.remove('selected');\n                  }\n                  tr?.classList.add('selected');\n                  currentClickedRow.current = record[rowKey];\n                  mergeState({ clickedRow: record });\n                  callbackMap?.onRowClick?.();\n                },\n              };\n            }\n          : undefined\n      }\n    />\n  );\n});\n","import { css } from '@emotion/css';\nimport { CSSProperties } from 'react';\nimport { Resizable, ResizeCallbackData } from 'react-resizable';\n\nconst resizableStyle = css`\n  position: relative;\n  background-clip: padding-box;\n`;\nconst resizableHandleStyle = css`\n  position: absolute;\n  width: 10px;\n  height: 100%;\n  bottom: 0;\n  right: -5px;\n  cursor: col-resize;\n  z-index: 1;\n`;\n\ntype ResizableTitleProps = {\n  onResize: (e: React.SyntheticEvent, data: ResizeCallbackData) => void;\n  width: number;\n  style: CSSProperties;\n};\n\nexport const ResizableTitle = (props: ResizableTitleProps) => {\n  const { onResize, width, ...restProps } = props;\n\n  if (!width) {\n    return <th {...restProps} />;\n  }\n\n  return (\n    <Resizable\n      width={width}\n      height={0}\n      handle={\n        <span\n          className={css`\n            ${resizableStyle}\n            ${resizableHandleStyle}\n          `}\n          onClick={e => {\n            e.stopPropagation();\n          }}\n        />\n      }\n      onResize={onResize}\n      draggableOpts={{ enableUserSelectHack: false }}\n    >\n      <th {...restProps} />\n    </Resizable>\n  );\n};\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { EventHandlerSpec } from '@sunmao-ui/shared';\nimport { Category } from '../../constants/category';\n\nconst PaginationSpec = Type.Object(\n  {\n    enablePagination: Type.Boolean({\n      title: 'Enable Pagination',\n    }),\n    useCustomPagination: Type.Boolean({\n      title: 'Enable Server Side Pagination',\n      description: `If true, there will be no automatic pagination.    \n        You can customize pagination with Pagination config and onPageChange events`,\n      conditions: [\n        {\n          key: 'enablePagination',\n          value: true,\n        },\n      ],\n    }),\n    total: Type.Optional(\n      Type.Number({\n        title: 'Total',\n        category: Category.Basic,\n        conditions: [\n          {\n            and: [\n              {\n                key: 'enablePagination',\n                value: true,\n              },\n              {\n                key: 'useCustomPagination',\n                value: true,\n              },\n            ],\n          },\n        ],\n      })\n    ),\n    pageSize: Type.Optional(\n      Type.Number({\n        title: 'Page Size',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n    defaultCurrent: Type.Optional(\n      Type.Number({\n        title: 'Default Current Page',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n    updateWhenDefaultPageChanges: Type.Boolean({\n      title: 'Update When Default Page Changes',\n      category: Category.Basic,\n      conditions: [\n        {\n          key: 'enablePagination',\n          value: true,\n        },\n      ],\n    }),\n    hideOnSinglePage: Type.Optional(\n      Type.Boolean({\n        title: 'Hide On Single Page',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n    size: Type.Optional(\n      StringUnion(['mini', 'small', 'default', 'large'], {\n        title: 'Size',\n        category: Category.Style,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n    simple: Type.Optional(\n      Type.Boolean({\n        title: 'Simple',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n    showJumper: Type.Optional(\n      Type.Boolean({\n        title: 'Show Jumper',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n        description: 'Whether to display quick jump',\n      })\n    ),\n    showTotal: Type.Optional(\n      Type.Boolean({\n        title: 'Show Total',\n        category: Category.Basic,\n        conditions: [\n          {\n            key: 'enablePagination',\n            value: true,\n          },\n        ],\n      })\n    ),\n  },\n  {\n    category: 'Pagination',\n    description:\n      'Custom pagination, dynamically update table data by setting total, pagesize, etc. and customize pagination style, size, etc',\n  }\n);\n\nconst moduleSpec = Type.Object(\n  {\n    id: Type.String({\n      title: 'Module ID',\n    }),\n    type: Type.String({\n      title: 'Module Type',\n    }),\n    properties: Type.Record(Type.String(), Type.Any(), {\n      title: 'Module Properties',\n      category: 'Basic',\n      widget: 'core/v1/record',\n    }),\n    handlers: Type.Array(EventHandlerSpec, {\n      title: 'Events',\n    }),\n  },\n  {\n    title: 'Module Config',\n    conditions: [\n      {\n        key: 'type',\n        value: 'module',\n      },\n    ],\n  }\n);\n\nexport const ColumnSpec = Type.Object({\n  title: Type.String({\n    title: 'Title',\n    category: Category.Basic,\n  }),\n  type: Type.KeyOf(\n    Type.Object({\n      text: Type.String(),\n      image: Type.String(),\n      link: Type.String(),\n      button: Type.String(),\n      module: Type.String(),\n      component: Type.String(),\n    }),\n    {\n      title: 'Type',\n      category: Category.Basic,\n    }\n  ),\n  componentSlotIndex: Type.Number({\n    title: 'Component Slot Index',\n    conditions: [\n      {\n        key: 'type',\n        value: 'component',\n      },\n    ],\n  }),\n  dataIndex: Type.String({\n    title: 'Key',\n    category: Category.Basic,\n    description:\n      'The key corresponding to the column data in the data item is used to display the value',\n  }),\n  displayValue: Type.String({\n    title: 'Display Value',\n    category: Category.Basic,\n    description: 'The text you want to display instead of raw text',\n    conditions: [\n      {\n        or: [\n          {\n            key: 'type',\n            value: 'link',\n          },\n          {\n            key: 'type',\n            value: 'text',\n          },\n        ],\n      },\n    ],\n  }),\n  width: Type.Optional(\n    Type.Number({\n      title: 'Width',\n    })\n  ),\n  ellipsis: Type.Optional(\n    Type.Boolean({\n      title: 'Ellipsis',\n      description: `If the cell content exceeds the length, whether it is automatically omitted and displays ...,        \n        After setting this property, the table-layout of the table will automatically become fixed.`,\n    })\n  ),\n  sorter: Type.Optional(\n    Type.Boolean({\n      title: 'Enable Sort',\n      conditions: [\n        {\n          key: 'type',\n          value: 'text',\n        },\n      ],\n    })\n  ),\n  filter: Type.Boolean({\n    title: 'Enable Filter',\n  }),\n  sortDirections: Type.Optional(\n    Type.Array(StringUnion(['descend', 'ascend']), {\n      conditions: [\n        {\n          key: 'sorter',\n          value: true,\n        },\n      ],\n      widget: 'core/v1/expression',\n    })\n  ),\n  btnCfg: Type.Optional(\n    Type.Object(\n      {\n        text: Type.String({\n          title: 'Text',\n        }),\n        handlers: Type.Array(EventHandlerSpec, {\n          title: 'Events',\n        }),\n      },\n      {\n        title: 'Button Config',\n        conditions: [\n          {\n            key: 'type',\n            value: 'button',\n          },\n        ],\n      }\n    )\n  ),\n  module: Type.Optional(moduleSpec),\n});\n\nexport const TablePropsSpec = Type.Object({\n  data: Type.Array(Type.Any(), {\n    title: 'Data',\n    category: Category.Data,\n    weight: 0,\n    widget: 'core/v1/expression',\n  }),\n  columns: Type.Array(ColumnSpec, {\n    title: 'Columns',\n    description: '',\n    category: Category.Columns,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['title'],\n    },\n    weight: 0,\n  }),\n  rowKey: Type.Any({\n    title: 'Row Key',\n    category: Category.Columns,\n    widget: 'arco/v1/primaryKey',\n    description:\n      'This optional is used to select a unique key for any given row from columns.',\n  }),\n  tableLayoutFixed: Type.Boolean({\n    title: 'Layout Fixed',\n    description:\n      \"The table's table-layout property is set to fixed. After set to fixed, the width of the table will not be stretched by the content beyond 100%\",\n    category: Category.Layout,\n    weight: 1,\n  }),\n  border: Type.Boolean({\n    title: 'Show Border',\n    category: Category.Style,\n    weight: 2,\n  }),\n  borderCell: Type.Boolean({\n    title: 'Show Cell Border',\n    description: 'Whether to display the table cell border',\n    category: Category.Style,\n    weight: 1,\n  }),\n  stripe: Type.Boolean({\n    title: 'Show Stripe',\n    description: 'Whether to show stripe style',\n    category: Category.Style,\n    weight: 2,\n  }),\n  pagination: PaginationSpec,\n  size: StringUnion(['default', 'middle', 'small', 'mini'], {\n    title: 'Size',\n    description: 'table size',\n    category: Category.Style,\n    weight: 0,\n  }),\n  useDefaultFilter: Type.Optional(\n    Type.Boolean({\n      title: 'Default Filter',\n      category: Category.Basic,\n      description: 'If true, the built-in filter function will be used to filter',\n    })\n  ),\n  useDefaultSort: Type.Optional(\n    Type.Boolean({\n      title: 'Default Sort',\n      category: Category.Basic,\n      description: 'If true, the built-in sort function will be used to sort',\n    })\n  ),\n  pagePosition: StringUnion(['br', 'bl', 'tr', 'tl', 'topCenter', 'bottomCenter'], {\n    title: 'Page Position',\n    description: '',\n    category: Category.Layout,\n    weight: 10,\n  }),\n  rowClick: Type.Boolean({\n    title: 'Row Click',\n    category: Category.Basic,\n    description: 'If on, the table can be selected without setting the rowSelectionType',\n  }),\n  checkCrossPage: Type.Boolean({\n    title: 'Check Cross Page',\n    category: Category.Basic,\n    description:\n      'Whether the checkboxes in multi-select mode cross pages。Please note that with this option on, if the data changes, the previous selected state will still be cached',\n  }),\n  rowSelectionType: StringUnion(['multiple', 'single', 'disable'], {\n    title: 'Row Selection Type',\n    category: Category.Basic,\n  }),\n  loading: Type.Boolean({\n    title: 'Show Loading',\n    category: Category.Basic,\n  }),\n});\n","import { Pagination as BasePagination } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css, cx } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { PaginationPropsSpec as BasePaginationPropsSpec } from '../generated/types/Pagination';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst PaginationPropsSpec = Type.Object(BasePaginationPropsSpec);\nconst PaginationStateSpec = Type.Object({\n  currentPage: Type.Number(),\n});\n\nconst exampleProperties: Static<typeof PaginationPropsSpec> = {\n  pageSize: 10,\n  total: 300,\n  defaultCurrent: 3,\n  disabled: false,\n  hideOnSinglePage: true,\n  size: 'default',\n  sizeCanChange: false,\n  simple: false,\n  showJumper: false,\n  showTotal: false,\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const Pagination = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'pagination',\n    displayName: 'Pagination',\n    exampleProperties,\n    annotations: {\n      category: 'Navigation',\n    },\n  },\n  spec: {\n    properties: PaginationPropsSpec,\n    state: PaginationStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { defaultCurrent, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const { elementRef, customStyle, mergeState, callbackMap } = props;\n\n  const [current, setCurrent] = useStateValue(\n    defaultCurrent || 0,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'currentPage'\n  );\n\n  if (cProps.sizeCanChange) {\n    Reflect.deleteProperty(cProps, 'pageSize');\n  }\n\n  const handleChange = (pageNum: number) => {\n    setCurrent(pageNum);\n    mergeState({ currentPage: pageNum });\n    callbackMap?.onChange?.();\n  };\n\n  return (\n    <BasePagination\n      ref={elementRef}\n      className={cx(css(customStyle?.content))}\n      {...cProps}\n      current={current}\n      onChange={handleChange}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const PaginationPropsSpec = {\n  defaultCurrent: Type.Number({\n    title: 'Default Page',\n    category: Category.Basic,\n  }),\n  pageSize: Type.Number({\n    title: 'Page Size',\n    category: Category.Basic,\n  }),\n  total: Type.Number({\n    title: 'Total',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  hideOnSinglePage: Type.Boolean({\n    title: 'Hide On Single Page',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  sizeCanChange: Type.Boolean({\n    title: 'Size Can Change',\n    category: Category.Behavior,\n  }),\n  simple: Type.Boolean({\n    title: 'Simple',\n    category: Category.Behavior,\n  }),\n  showJumper: Type.Boolean({\n    title: 'Show Jumper',\n    category: Category.Behavior,\n    description: 'Whether to display quick jump',\n  }),\n  showTotal: Type.Boolean({\n    title: 'Show Total',\n    category: Category.Behavior,\n  }),\n};\n","import { Steps as BaseSteps } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport {\n  StepsPropsSpec as BaseStepsPropsSpec,\n  StepItemSpec,\n} from '../generated/types/Steps';\n\nconst StepsPropsSpec = Type.Object(BaseStepsPropsSpec);\nconst StepsStateSpec = Type.Object({});\n\ntype StepItem = Static<typeof StepItemSpec>;\n\nconst exampleProperties: Static<typeof StepsPropsSpec> = {\n  type: 'default',\n  size: 'default',\n  direction: 'horizontal',\n  status: 'finish',\n  current: 2,\n  lineless: false,\n  items: [\n    { title: 'Succeeded', description: 'This is a description' },\n    { title: 'Processing', description: '' },\n    { title: 'Pending', description: 'This is a description' },\n  ],\n};\n\nexport const Steps = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'steps',\n    displayName: 'Steps',\n    exampleProperties,\n    annotations: {\n      category: 'Navigation',\n    },\n  },\n  spec: {\n    properties: StepsPropsSpec,\n    state: StepsStateSpec,\n    methods: {},\n    slots: {\n      icons: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { items, ...cProps } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements } = props;\n\n  const labelPlacement = cProps.direction === 'horizontal' ? 'vertical' : 'horizontal';\n\n  return (\n    <BaseSteps\n      className={css(customStyle?.content)}\n      {...cProps}\n      ref={elementRef}\n      labelPlacement={labelPlacement}\n    >\n      {items &&\n        items.map((stepItem: StepItem, idx: number) => {\n          return (\n            <BaseSteps.Step\n              icon={slotsElements.icons ? slotsElements.icons({}) : null}\n              key={idx}\n              title={stepItem.title}\n              description={stepItem.description}\n            />\n          );\n        })}\n    </BaseSteps>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const StepItemSpec = Type.Object({\n  title: Type.String({\n    title: 'Title',\n  }),\n  description: Type.String({\n    title: 'Description',\n  }),\n});\n\nexport const StepsPropsSpec = {\n  type: StringUnion(['default', 'arrow', 'dot', 'navigation'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  current: Type.Number({\n    title: 'Current Step',\n    category: Category.Basic,\n  }),\n  size: StringUnion(['default', 'small'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  direction: StringUnion(['vertical', 'horizontal'], {\n    title: 'Direction',\n    category: Category.Layout,\n    conditions: [\n      {\n        or: [\n          {\n            key: 'type',\n            value: 'default',\n          },\n          {\n            key: 'type',\n            value: 'dot',\n          },\n        ],\n      },\n    ],\n  }),\n  status: StringUnion(['wait', 'process', 'finish', 'error'], {\n    title: 'Status',\n    category: Category.Style,\n  }),\n  lineless: Type.Boolean({\n    title: 'Lineless',\n    category: Category.Style,\n  }),\n  items: Type.Array(StepItemSpec, {\n    title: 'Items',\n    category: Category.Basic,\n    weight: 10,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['title'],\n    },\n  }),\n};\n","import { Alert as BaseAlert } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { AlertPropsSpec as BaseAlertPropsSpec } from '../generated/types/Alert';\n\nconst AlertPropsSpec = Type.Object(BaseAlertPropsSpec);\nconst AlertStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof AlertPropsSpec> = {\n  closable: true,\n  title: 'info',\n  content: 'Here is an example text',\n  showIcon: true,\n  banner: false,\n  type: 'info',\n};\n\nexport const Alert = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'alert',\n    displayName: 'Alert',\n    exampleProperties,\n    annotations: {\n      category: 'Feedback',\n    },\n  },\n  spec: {\n    properties: AlertPropsSpec,\n    state: AlertStateSpec,\n    methods: {},\n    slots: {\n      action: { slotProps: Type.Object({}) },\n      icon: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: ['onClose', 'afterClose'],\n  },\n})(props => {\n  const { ...cProps } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements, callbackMap } = props;\n\n  return (\n    <BaseAlert\n      ref={elementRef}\n      action={slotsElements.action ? slotsElements.action({}) : null}\n      icon={slotsElements.icon ? slotsElements.icon({}) : null}\n      onClose={_e => {\n        callbackMap?.onClose?.();\n      }}\n      afterClose={() => {\n        callbackMap?.afterClose?.();\n      }}\n      className={css(customStyle?.content)}\n      {...cProps}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const AlertPropsSpec = {\n  type: StringUnion(['info', 'success', 'warning', 'error'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  showIcon: Type.Boolean({\n    title: 'Show Icon',\n    category: Category.Basic,\n  }),\n  banner: Type.Boolean({\n    title: 'Banner',\n    category: Category.Style,\n    description: 'Whether to show as banner on top of the page',\n  }),\n  content: Type.String({\n    title: 'Content',\n    weight: 1,\n    category: Category.Basic,\n  }),\n  title: Type.String({\n    title: 'Title',\n    weight: 2,\n    category: Category.Basic,\n  }),\n  closable: Type.Boolean({\n    title: 'Closable',\n    category: Category.Basic,\n  }),\n};\n","import { Link as BaseLink } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { LinkPropsSpec as BaseLinkPropsSpec } from '../generated/types/Link';\n\nconst LinkPropsSpec = Type.Object(BaseLinkPropsSpec);\nconst LinkStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof LinkPropsSpec> = {\n  asLink: true,\n  disabled: false,\n  hoverable: true,\n  status: 'default',\n  href: '#',\n  content: 'Link',\n  openInNewPage: false,\n};\n\nconst statusMap = {\n  default: undefined,\n  success: 'success',\n  error: 'error',\n  warning: 'warning',\n} as const;\n\nexport const Link = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'link',\n    displayName: 'Link',\n    annotations: {\n      category: 'General',\n    },\n    exampleProperties,\n  },\n  spec: {\n    properties: LinkPropsSpec,\n    state: LinkStateSpec,\n    methods: {},\n    slots: {\n      content: {\n        slotProps: Type.Object({}),\n      },\n      icon: {\n        slotProps: Type.Object({}),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onClick'],\n  },\n})(props => {\n  const { asLink, content, status, openInNewPage, href, ...cProps } =\n    getComponentProps(props);\n  const { elementRef, customStyle, slotsElements, callbackMap } = props;\n\n  return (\n    <BaseLink\n      ref={elementRef}\n      status={statusMap[status]}\n      className={css(customStyle?.content)}\n      icon={slotsElements.icon?.({})}\n      onClick={() => {\n        callbackMap?.onClick?.();\n      }}\n      {...cProps}\n      {...(asLink && {\n        target: openInNewPage ? '_blank' : '_self',\n        href,\n      })}\n    >\n      {slotsElements.content ? slotsElements.content({}) : content}\n    </BaseLink>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const LinkPropsSpec = {\n  asLink: Type.Boolean({\n    title: 'As Link',\n    category: Category.Basic,\n    description: 'If false, only the Link style is retained',\n  }),\n  href: Type.String({\n    title: 'Href',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'asLink',\n        value: true,\n      },\n    ],\n  }),\n  content: Type.String({\n    title: 'Content',\n    category: Category.Basic,\n    weight: 1,\n  }),\n  openInNewPage: Type.Boolean({\n    title: 'Open In New Page',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'asLink',\n        value: true,\n      },\n    ],\n  }),\n  hoverable: Type.Boolean({\n    title: 'Hoverable',\n    category: Category.Style,\n    description: 'Whether to hide background when hover',\n  }),\n  status: StringUnion(['default', 'success', 'warning', 'error'], {\n    title: 'Status',\n    category: Category.Style,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n};\n","import { Switch as BaseSwitch } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { SwitchPropsSpec as BaseSwitchPropsSpec } from '../generated/types/Switch';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst SwitchPropsSpec = Type.Object({\n  ...BaseSwitchPropsSpec,\n});\nconst SwitchStateSpec = Type.Object({\n  value: Type.Boolean(),\n});\n\nconst exampleProperties: Static<typeof SwitchPropsSpec> = {\n  defaultChecked: false,\n  disabled: false,\n  loading: false,\n  type: 'circle',\n  size: 'default',\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const Switch = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'switch',\n    displayName: 'Switch',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: SwitchPropsSpec,\n    state: SwitchStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['content'],\n    events: ['onChange'],\n  },\n})(props => {\n  const { elementRef, customStyle, mergeState, callbackMap } = props;\n  const { defaultChecked, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const [value, setValue] = useStateValue(\n    defaultChecked,\n    mergeState,\n    updateWhenDefaultValueChanges\n  );\n\n  return (\n    <BaseSwitch\n      ref={elementRef}\n      className={css(customStyle?.content)}\n      checked={value}\n      {...cProps}\n      onChange={value => {\n        setValue(value);\n        mergeState({ value });\n        callbackMap?.onChange?.();\n      }}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const SwitchPropsSpec = {\n  defaultChecked: Type.Boolean({\n    title: 'Default Checked',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Basic,\n  }),\n  type: StringUnion(['circle', 'round', 'line'], {\n    title: 'Type',\n    category: Category.Style,\n  }),\n  size: StringUnion(['small', 'default'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  loading: Type.Boolean({\n    title: 'Loading',\n    category: Category.Basic,\n  }),\n};\n","import { Input } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { PasswordInputPropsSpec as BasePasswordInputPropsSpec } from '../generated/types/PasswordInput';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst InputPropsSpec = Type.Object({\n  ...BasePasswordInputPropsSpec,\n});\nconst InputStateSpec = Type.Object({\n  value: Type.String(),\n});\n\nconst BasePasswordInput = Input.Password;\n\nconst exampleProperties: Static<typeof InputPropsSpec> = {\n  disabled: false,\n  placeholder: 'please input',\n  error: false,\n  size: 'default',\n  visibilityToggle: true,\n  updateWhenDefaultValueChanges: false,\n  defaultValue: '',\n};\n\nexport const PasswordInput = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'passwordInput',\n    displayName: 'Password Input',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: InputPropsSpec,\n    state: InputStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['input'],\n    events: ['onChange', 'onBlur', 'onFocus', 'onPressEnter'],\n  },\n})(props => {\n  const { elementRef, customStyle, callbackMap, mergeState } = props;\n  const { defaultValue, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const [value, setValue] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges\n  );\n\n  return (\n    <div ref={elementRef}>\n      <BasePasswordInput\n        className={css(customStyle?.input)}\n        value={value}\n        onChange={value => {\n          setValue(value);\n          mergeState({\n            value,\n          });\n          callbackMap?.onChange?.();\n        }}\n        onBlur={() => {\n          callbackMap?.onBlur?.();\n        }}\n        onFocus={() => {\n          callbackMap?.onFocus?.();\n        }}\n        onPressEnter={() => {\n          callbackMap?.onPressEnter?.();\n        }}\n        {...cProps}\n      />\n    </div>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const PasswordInputPropsSpec = {\n  defaultValue: Type.String({\n    title: 'Default Value',\n    category: Category.Basic,\n    weight: 0,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n    weight: 1,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  visibilityToggle: Type.Boolean({\n    title: 'Visibility Toggle',\n    description: 'Show a toggle to make the password text visible',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n};\n","import { InputNumber } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { NumberInputPropsSpec as BaseNumberInputPropsSpec } from '../generated/types/NumberInput';\nimport { useEffect, useRef } from 'react';\nimport { RefInputType } from '@arco-design/web-react/es/Input/interface';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst InputPropsSpec = Type.Object({\n  ...BaseNumberInputPropsSpec,\n});\nconst InputStateSpec = Type.Object({\n  value: Type.Number(),\n});\n\nconst exampleProperties: Static<typeof InputPropsSpec> = {\n  defaultValue: 1,\n  disabled: false,\n  placeholder: 'please input',\n  error: false,\n  size: 'default',\n  buttonMode: false,\n  min: 0,\n  max: 5,\n  readOnly: false,\n  step: 1,\n  precision: 1,\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const NumberInput = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'numberInput',\n    displayName: 'Number Input',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: InputPropsSpec,\n    state: InputStateSpec,\n    methods: {},\n    slots: {\n      prefix: { slotProps: Type.Object({}) },\n      suffix: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['input'],\n    events: ['onChange', 'onBlur', 'onFocus'],\n  },\n})(props => {\n  const { getElement, slotsElements, customStyle, callbackMap, mergeState } = props;\n  const { buttonMode, defaultValue, updateWhenDefaultValueChanges, ...cProps } =\n    getComponentProps(props);\n  const [value, setValue] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    undefined,\n    callbackMap?.onChange\n  );\n  const ref = useRef<RefInputType | null>(null);\n\n  useEffect(() => {\n    const ele = ref.current?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  return (\n    <InputNumber\n      ref={ref}\n      className={css(customStyle?.input)}\n      onChange={value => {\n        setValue(value);\n        mergeState({\n          value,\n        });\n        callbackMap?.onChange?.();\n      }}\n      onBlur={() => {\n        callbackMap?.onBlur?.();\n      }}\n      onFocus={() => {\n        callbackMap?.onFocus?.();\n      }}\n      value={value}\n      {...cProps}\n      prefix={slotsElements.prefix ? slotsElements.prefix({}) : null}\n      suffix={slotsElements.suffix ? slotsElements.suffix({}) : null}\n      mode={buttonMode ? 'button' : 'embed'}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const NumberInputPropsSpec = {\n  defaultValue: Type.Number({\n    title: 'Default Value',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  min: Type.Number({\n    title: 'Min',\n    category: Category.Basic,\n  }),\n  max: Type.Number({\n    title: 'Max',\n    category: Category.Basic,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Behavior,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  buttonMode: Type.Boolean({\n    title: 'Button Mode',\n    category: Category.Behavior,\n  }),\n  precision: Type.Number({\n    title: 'Precision',\n    category: Category.Behavior,\n  }),\n  step: Type.Number({\n    title: 'Step',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  readOnly: Type.Boolean({\n    title: 'Read Only',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n};\n","import { Input } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TextAreaPropsSpec as BaseTextAreaPropsSpec } from '../generated/types/TextArea';\nimport { useEffect, useRef } from 'react';\nimport { RefInputType } from '@arco-design/web-react/es/Input/interface';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst TextAreaPropsSpec = Type.Object({\n  ...BaseTextAreaPropsSpec,\n});\nconst TextAreaStateSpec = Type.Object({\n  value: Type.String(),\n});\n\nconst BaseTextArea = Input.TextArea;\n\nconst exampleProperties: Static<typeof TextAreaPropsSpec> = {\n  allowClear: false,\n  disabled: false,\n  defaultValue: '',\n  placeholder: 'please input',\n  error: false,\n  size: 'default',\n  autoSize: true,\n  updateWhenDefaultValueChanges: false,\n};\n\nexport const TextArea = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'textArea',\n    displayName: 'TextArea',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: TextAreaPropsSpec,\n    state: TextAreaStateSpec,\n    methods: {\n      setInputValue: Type.Object({\n        value: Type.String(),\n      }),\n    },\n    slots: {},\n    styleSlots: ['TextArea'],\n    events: ['onChange', 'onBlur', 'onFocus', 'onClear', 'onPressEnter'],\n  },\n})(props => {\n  const {\n    getElement,\n    updateWhenDefaultValueChanges,\n    customStyle,\n    callbackMap,\n    mergeState,\n    subscribeMethods,\n  } = props;\n  const { defaultValue, ...cProps } = getComponentProps(props);\n  const [value, setValue] = useStateValue(\n    defaultValue,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    undefined,\n    callbackMap?.onChange\n  );\n  const ref = useRef<RefInputType | null>(null);\n\n  useEffect(() => {\n    const ele = ref.current?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  useEffect(() => {\n    subscribeMethods({\n      setInputValue({ value }) {\n        setValue(value);\n        mergeState({ value });\n        callbackMap?.onChange?.();\n      },\n    });\n  }, [setValue, mergeState, callbackMap, subscribeMethods]);\n\n  return (\n    <BaseTextArea\n      ref={ref}\n      className={css(customStyle?.TextArea)}\n      value={value}\n      onChange={value => {\n        setValue(value);\n        mergeState({\n          value,\n        });\n        callbackMap?.onChange?.();\n      }}\n      onClear={() => {\n        callbackMap?.onClear?.();\n      }}\n      onBlur={() => {\n        callbackMap?.onBlur?.();\n      }}\n      onFocus={() => {\n        callbackMap?.onFocus?.();\n      }}\n      onPressEnter={() => {\n        callbackMap?.onPressEnter?.();\n      }}\n      {...cProps}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const TextAreaPropsSpec = {\n  defaultValue: Type.String({\n    title: 'Default Value',\n    category: Category.Basic,\n  }),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n  }),\n  autoSize: Type.Boolean({\n    category: Category.Behavior,\n    title: 'Auto Size',\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['default', 'mini', 'small', 'large'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n  }),\n  error: Type.Boolean({\n    title: 'Error',\n    category: Category.Behavior,\n  }),\n};\n","import { Tabs as BaseTabs } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TabsPropsSpec as BaseTabsPropsSpec } from '../generated/types/Tabs';\nimport { useEffect, useRef } from 'react';\nimport { useStateValue } from '../hooks/useStateValue';\n\nconst TabsPropsSpec = Type.Object(BaseTabsPropsSpec);\nconst TabsStateSpec = Type.Object({\n  activeTab: Type.Number(),\n});\nconst TabPane = BaseTabs.TabPane;\n\nconst exampleProperties: Static<typeof TabsPropsSpec> = {\n  type: 'line',\n  defaultActiveTab: 0,\n  tabPosition: 'top',\n  size: 'default',\n  updateWhenDefaultValueChanges: false,\n  tabs: [\n    {\n      title: 'Tab 1',\n      hidden: false,\n      destroyOnHide: true,\n    },\n    {\n      title: 'Tab 2',\n      hidden: false,\n      destroyOnHide: true,\n    },\n    {\n      title: 'Tab 3',\n      hidden: false,\n      destroyOnHide: true,\n    },\n  ],\n};\n\nexport const Tabs = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'tabs',\n    displayName: 'Tabs',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: TabsPropsSpec,\n    state: TabsStateSpec,\n    methods: {\n      setActiveTab: Type.Object({\n        activeTab: Type.Number(),\n      }),\n    },\n    slots: {\n      content: {\n        slotProps: Type.Object({\n          tabIndex: Type.Number(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onChange', 'onClickTab'],\n  },\n})(props => {\n  const { defaultActiveTab, updateWhenDefaultValueChanges, tabs, ...cProps } =\n    getComponentProps(props);\n  const {\n    getElement,\n    callbackMap,\n    customStyle,\n    mergeState,\n    subscribeMethods,\n    slotsElements,\n  } = props;\n  const ref = useRef<{ current: HTMLDivElement }>(null);\n  const [activeTab, setActiveTab] = useStateValue(\n    defaultActiveTab ?? 0,\n    mergeState,\n    updateWhenDefaultValueChanges,\n    'activeTab'\n  );\n\n  useEffect(() => {\n    const ele = ref.current?.current;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  useEffect(() => {\n    subscribeMethods({\n      setActiveTab: ({ activeTab }) => {\n        setActiveTab(activeTab);\n        mergeState({ activeTab });\n      },\n    });\n  });\n\n  return (\n    <BaseTabs\n      className={css(customStyle?.content)}\n      onChange={key => {\n        setActiveTab(Number(key));\n        mergeState({ activeTab: Number(key) });\n        callbackMap?.onChange?.();\n      }}\n      onClickTab={key => {\n        setActiveTab(Number(key));\n        mergeState({ activeTab: Number(key) });\n        callbackMap?.onClickTab?.();\n      }}\n      {...cProps}\n      activeTab={String(activeTab)}\n      ref={ref}\n    >\n      {tabs.map((tabItem, idx) =>\n        tabItem.hidden ? null : (\n          <TabPane\n            destroyOnHide={tabItem.destroyOnHide}\n            key={String(idx)}\n            title={tabItem.title}\n          >\n            {slotsElements?.content?.({ tabIndex: idx }, undefined, `content_${idx}`)}\n          </TabPane>\n        )\n      )}\n    </BaseTabs>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\n\nexport const TabsPropsSpec = {\n  defaultActiveTab: Type.Number({\n    title: 'Default Active Tab',\n    category: Category.Basic,\n    description: 'The index of default active Tab. Start with 0.',\n  }),\n  tabs: Type.Array(\n    Type.Object({\n      title: Type.String({\n        title: 'Title',\n      }),\n      hidden: Type.Boolean({\n        title: 'Hidden',\n      }),\n      destroyOnHide: Type.Boolean({\n        title: 'Destroy On Hide',\n      }),\n    }),\n    {\n      title: 'Tabs',\n      category: Category.Basic,\n      widget: 'core/v1/array',\n      widgetOptions: {\n        displayedKeys: ['title'],\n      },\n    }\n  ),\n  updateWhenDefaultValueChanges: Type.Boolean({\n    title: 'Update When Default Value Changes',\n    category: Category.Basic,\n  }),\n  type: StringUnion(['line', 'card', 'card-gutter', 'text', 'rounded', 'capsule'], {\n    title: 'Style Type',\n    category: Category.Basic,\n  }),\n  tabPosition: StringUnion(['left', 'right', 'top', 'bottom'], {\n    title: 'Tab Position',\n    category: Category.Basic,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Basic,\n  }),\n};\n","import { Form } from '@arco-design/web-react';\nimport { implementRuntimeComponent, Text } from '@sunmao-ui/runtime';\nimport { css, cx } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../../sunmao-helper';\nimport { FormControlPropsSpec as BaseFormControlPropsSpec } from '../../generated/types/Form';\nimport { EmptyPlaceholder } from '../_internal/EmptyPlaceholder';\nimport { FormControlErrorMessage } from './FormControlErrorMessage';\n\nconst FormControlPropsSpec = Type.Object(BaseFormControlPropsSpec);\nconst BaseFormControl = Form.Item;\n\nconst FormControlStyle = css`\n  svg {\n    display: inherit;\n  }\n  & * {\n    word-wrap: normal;\n  }\n  & label {\n    white-space: inherit !important;\n  }\n`;\n\nconst exampleProperties: Static<typeof FormControlPropsSpec> = {\n  label: {\n    format: 'plain',\n    raw: 'label',\n  },\n  layout: 'horizontal',\n  required: false,\n  hidden: false,\n  extra: '',\n  errorMsg: '',\n  labelAlign: 'left',\n  colon: false,\n  help: '',\n  labelCol: {\n    span: 3,\n    offset: 0,\n  },\n  wrapperCol: {\n    span: 21,\n    offset: 0,\n  },\n};\n\nexport const FormControl = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'formControl',\n    displayName: 'Form Control',\n    exampleProperties: exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: FormControlPropsSpec,\n    state: Type.Object({}),\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { label, errorMsg, ...cProps } = getComponentProps(props);\n  const { elementRef, slotsElements, customStyle } = props;\n\n  return (\n    <BaseFormControl\n      label={<Text cssStyle=\"display:inline-block\" value={label} />}\n      className={cx(\n        FormControlStyle,\n        css`\n          ${customStyle?.content}\n        `\n      )}\n      ref={elementRef}\n      {...cProps}\n    >\n      {slotsElements.content ? slotsElements.content({}) : <EmptyPlaceholder />}\n      <FormControlErrorMessage errorMsg={errorMsg} />\n    </BaseFormControl>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\nimport { TextPropertySpec } from '@sunmao-ui/runtime';\n\nexport const FormControlPropsSpec = {\n  label: TextPropertySpec,\n  required: Type.Boolean({\n    title: 'Required',\n    category: Category.Basic,\n  }),\n  hidden: Type.Boolean({\n    title: 'Hidden',\n    category: Category.Basic,\n  }),\n  layout: StringUnion(['vertical', 'horizontal'], {\n    title: 'Layout',\n    category: Category.Layout,\n  }),\n  extra: Type.String({\n    title: 'Extra',\n    category: Category.Basic,\n  }),\n  errorMsg: Type.String({\n    title: 'Error Message',\n    category: Category.Basic,\n  }),\n  help: Type.String({\n    title: 'Help Message',\n    category: Category.Basic,\n  }),\n  labelAlign: StringUnion(['left', 'right'], {\n    title: 'Label Align',\n    category: Category.Layout,\n  }),\n  colon: Type.Boolean({\n    title: 'Colon',\n    category: Category.Style,\n  }),\n  labelCol: Type.Object(\n    {\n      span: Type.Number(),\n      offset: Type.Number(),\n    },\n    {\n      title: 'Label Col',\n      category: Category.Layout,\n    }\n  ),\n  wrapperCol: Type.Object(\n    {\n      span: Type.Number(),\n      offset: Type.Number(),\n    },\n    {\n      title: 'Wrapper Col',\n      category: Category.Layout,\n    }\n  ),\n};\n","import { css } from '@emotion/css';\n\nconst FormControlErrorMessage: React.FC<{ errorMsg: string }> = ({ errorMsg }) => {\n  return errorMsg ? (\n    <div\n      className={css`\n        color: rgb(245, 63, 63);\n        line-height: 20px;\n        min-height: 20px;\n      `}\n    >\n      {errorMsg}\n    </div>\n  ) : null;\n};\n\nexport { FormControlErrorMessage };\n","import { Descriptions as BaseDescriptions } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { DescriptionPropsSpec as BaseDescriptionPropsSpec } from '../generated/types/Descriptions';\nimport { useMemo } from 'react';\n\nconst DescriptionPropsSpec = Type.Object(BaseDescriptionPropsSpec);\nconst DescriptionStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof DescriptionPropsSpec> = {\n  data: [\n    {\n      label: 'Name',\n      value: 'Socrates',\n    },\n    {\n      label: 'Mobile',\n      value: '123-1234-1234',\n    },\n    {\n      label: 'Residence',\n      value: 'Beijing',\n    },\n    {\n      label: 'Hometown',\n      value: 'Beijing',\n    },\n    {\n      label: 'Date of Birth',\n      value: '2020-05-15',\n      span: 2,\n    },\n    {\n      label: 'Address',\n      value: 'Zhichun Road, Beijing',\n    },\n  ],\n  title: 'User Info',\n  colon: '',\n  layout: 'horizontal',\n  size: 'default',\n  tableLayout: 'auto',\n  border: true,\n  column: 2,\n};\n\nexport const Descriptions = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'descriptions',\n    displayName: 'Descriptions',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: DescriptionPropsSpec,\n    state: DescriptionStateSpec,\n    methods: {},\n    slots: {\n      title: { slotProps: Type.Object({}) },\n      label: {\n        slotProps: Type.Object({\n          label: Type.String(),\n        }),\n      },\n      value: {\n        slotProps: Type.Object({\n          value: Type.String(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: [],\n  },\n})(props => {\n  const { data, title, ...cProps } = getComponentProps(props);\n  const { slotsElements, customStyle } = props;\n  const descriptionData = useMemo(() => {\n    return data.map((d, idx) => {\n      return {\n        label:\n          slotsElements?.label?.({ label: d.label }, undefined, `label_${idx}`) ||\n          d.label,\n        value:\n          slotsElements?.value?.({ value: d.value }, undefined, `value_${idx}`) ||\n          d.value,\n        span: d.span,\n      };\n    });\n  }, [data, slotsElements]);\n\n  return (\n    <BaseDescriptions\n      data={descriptionData}\n      title={slotsElements?.title?.({}) || title}\n      className={css(customStyle?.content)}\n      {...cProps}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const dataPropsSpec = Type.Object({\n  label: Type.String({\n    title: 'Label',\n  }),\n  value: Type.String({\n    title: 'Value',\n  }),\n  span: Type.Optional(\n    Type.Number({\n      title: 'Span',\n    })\n  ),\n});\nexport const DescriptionPropsSpec = {\n  data: Type.Array(dataPropsSpec, {\n    title: 'Data',\n    category: Category.Basic,\n    widget: 'core/v1/array',\n    widgetOptions: {\n      displayedKeys: ['label'],\n    },\n  }),\n  column: Type.Number({\n    title: 'Column',\n    category: Category.Basic,\n  }),\n  title: Type.String({\n    title: 'Title',\n    category: Category.Basic,\n  }),\n  layout: StringUnion(\n    ['horizontal', 'vertical', 'inline-horizontal', 'inline-vertical'],\n    {\n      title: 'Layout',\n      category: Category.Layout,\n    }\n  ),\n  size: StringUnion(['mini', 'small', 'medium', 'default', 'large'], {\n    title: 'Layout',\n    category: Category.Layout,\n  }),\n  tableLayout: StringUnion(['auto', 'fixed'], {\n    title: 'Layout',\n    category: Category.Layout,\n  }),\n  colon: Type.String({\n    title: 'Colon',\n    category: Category.Basic,\n  }),\n  border: Type.Boolean({\n    title: 'border',\n    category: Category.Style,\n  }),\n};\n","import { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { Type } from '@sinclair/typebox';\nimport { Grid } from '@arco-design/web-react';\nimport { css } from '@emotion/css';\nimport { RowPropsSpec, ColPropsSpec } from '../generated/types/Grid';\nimport { getComponentProps } from '../sunmao-helper';\nimport { EmptyPlaceholder } from './_internal/EmptyPlaceholder';\n\nexport const Row = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    name: 'row',\n    displayName: 'Row',\n    description: '',\n    exampleProperties: {\n      gutter: 16,\n      align: 'start',\n      justify: 'start',\n    },\n    annotations: {\n      category: 'Layout',\n    },\n  },\n  spec: {\n    properties: Type.Object(RowPropsSpec),\n    state: Type.Object({}),\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['wrapper'],\n    events: [],\n  },\n})(props => {\n  const { elementRef, slotsElements, customStyle } = props;\n  const { ...cProps } = getComponentProps(props);\n\n  return (\n    <Grid.Row className={css(customStyle?.wrapper)} ref={elementRef} {...cProps}>\n      {slotsElements.content ? slotsElements.content({}) : <EmptyPlaceholder />}\n    </Grid.Row>\n  );\n});\n\nexport const Col = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    name: 'col',\n    displayName: 'Col',\n    description: '',\n    exampleProperties: {\n      offset: 0,\n      pull: 0,\n      push: 0,\n      span: 12,\n      order: 0,\n    },\n    annotations: {\n      category: 'Layout',\n    },\n  },\n  spec: {\n    properties: Type.Object(ColPropsSpec),\n    state: Type.Object({}),\n    methods: {},\n    slots: {\n      content: { slotProps: Type.Object({}) },\n    },\n    styleSlots: ['wrapper'],\n    events: [],\n  },\n})(props => {\n  const { elementRef, slotsElements, customStyle } = props;\n  const { ...cProps } = getComponentProps(props);\n  return (\n    <Grid.Col className={css(customStyle?.wrapper)} ref={elementRef} {...cProps}>\n      {slotsElements.content ? slotsElements.content({}) : <EmptyPlaceholder />}\n    </Grid.Col>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const RowPropsSpec = {\n  gutter: Type.Number({\n    title: 'Gutter',\n    category: Category.Layout,\n  }),\n  align: StringUnion(['start', 'center', 'end', 'stretch'], {\n    title: 'Align',\n    category: Category.Layout,\n    description: 'Vertical alignment, same as css align-items',\n  }),\n  justify: StringUnion(['start', 'center', 'end', 'space-around', 'space-between'], {\n    title: 'Justify',\n    category: Category.Layout,\n    description: 'Horizontal alignment, same as css justify-content',\n  }),\n};\n\nexport const ColPropsSpec = {\n  offset: Type.Number({\n    title: 'Offset',\n    category: Category.Layout,\n  }),\n  pull: Type.Number({\n    title: 'Pull',\n    category: Category.Layout,\n  }),\n  push: Type.Number({\n    title: 'Push',\n    category: Category.Layout,\n  }),\n  span: Type.Number({\n    title: 'Span',\n    category: Category.Layout,\n  }),\n  order: Type.Number({\n    title: 'Order',\n    category: Category.Layout,\n  }),\n};\n","import { Slider as BaseSlider } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { SliderPropsSpec as BaseSliderPropsSpec } from '../generated/types/Slider';\n\nconst SliderPropsSpec = Type.Object(BaseSliderPropsSpec);\nconst SliderStateSpec = Type.Object({});\n\nconst exampleProperties: Static<typeof SliderPropsSpec> = {\n  min: 0,\n  max: 100,\n  disabled: false,\n  tooltipVisible: true,\n  range: false,\n  vertical: false,\n  marks: {},\n  onlyMarkValue: false,\n  reverse: false,\n  step: 1,\n  showTicks: false,\n};\n\nexport const Slider = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'slider',\n    displayName: 'Slider',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: SliderPropsSpec,\n    state: SliderStateSpec,\n    methods: {},\n    slots: {\n      tooltip: {\n        slotProps: Type.Object({\n          value: Type.Number(),\n        }),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onChange', 'onAfterChange'],\n  },\n})(props => {\n  const { ...cProps } = getComponentProps(props);\n  const { customStyle, slotsElements, elementRef, callbackMap, mergeState } = props;\n\n  return (\n    <BaseSlider\n      ref={elementRef}\n      onChange={val => {\n        mergeState({ value: val });\n        callbackMap?.onChange?.();\n      }}\n      onAfterChange={val => {\n        mergeState({ value: val });\n        callbackMap?.onAfterChange?.();\n      }}\n      formatTooltip={val =>\n        slotsElements.tooltip ? slotsElements.tooltip({ value: val }) : <span>{val}</span>\n      }\n      className={css(customStyle?.content)}\n      {...cProps}\n    />\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { StringUnion } from '../../sunmao-helper';\nimport { Category } from '../../constants/category';\nimport { CORE_VERSION, CoreWidgetName } from '@sunmao-ui/shared';\n\nexport const SliderPropsSpec = {\n  min: Type.Number({\n    title: 'Min',\n    category: Category.Basic,\n  }),\n  max: Type.Number({\n    title: 'Max',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  toolTipPosition: Type.Optional(\n    StringUnion(\n      ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'],\n      {\n        category: Category.Layout,\n        title: 'Tooltip Position',\n      }\n    )\n  ),\n  vertical: Type.Boolean({\n    title: 'Vertical',\n    category: Category.Layout,\n  }),\n  tooltipVisible: Type.Boolean({\n    title: 'Show Tooltip',\n    category: Category.Behavior,\n  }),\n  range: Type.Boolean({\n    title: 'Enable Range',\n    category: Category.Behavior,\n  }),\n  step: Type.Number({\n    title: 'Step',\n    category: Category.Behavior,\n  }),\n  showTicks: Type.Boolean({\n    title: 'Show Ticks',\n    category: Category.Behavior,\n    description: 'Whether to display step tick marks',\n  }),\n  // TODO Perhaps a custom widget could be used\n  marks: Type.Object(\n    {},\n    {\n      title: 'Marks',\n      widget: `${CORE_VERSION}/${CoreWidgetName.RecordField}`,\n      category: Category.Behavior,\n    }\n  ),\n  onlyMarkValue: Type.Boolean({\n    title: 'Only Mark Value',\n    category: Category.Behavior,\n    description: 'Whether only the mark value can be selected',\n  }),\n  reverse: Type.Boolean({\n    title: 'Reverse',\n    category: Category.Behavior,\n  }),\n};\n","import { DatePicker as BaseDatePicker } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport {\n  DatePickerPropsSpec as BaseDatePickerPropsSpec,\n  RangePickerPropsSpec,\n} from '../generated/types/DatePicker';\nimport {\n  DisabledTimeFunc,\n  DisabledTimeProps,\n} from '@arco-design/web-react/es/DatePicker/interface';\nimport React from 'react';\n\nconst DatePickerPropsSpec = Type.Object(BaseDatePickerPropsSpec);\nconst DatePickerStateSpec = Type.Object({\n  visible: Type.Boolean(),\n  date: Type.Any(),\n  dateString: Type.Union([Type.Array(Type.String()), Type.String()]),\n});\n\nconst DatePickerType = {\n  month: BaseDatePicker.MonthPicker,\n  year: BaseDatePicker.YearPicker,\n  week: BaseDatePicker.WeekPicker,\n  quarter: BaseDatePicker.QuarterPicker,\n  date: BaseDatePicker,\n};\nconst RangePicker = BaseDatePicker.RangePicker;\n\nconst exampleProperties: Static<typeof DatePickerPropsSpec> = {\n  disabled: false,\n  useUtcOffset: false,\n  utcOffset: 0,\n  timezone: '',\n  placeholder: 'Please Select',\n  position: 'bl',\n  dayStartOfWeek: 0,\n  allowClear: false,\n  type: 'date',\n  range: false,\n  defaultValue: '',\n  showTime: false,\n  panelOnly: false,\n  size: 'default',\n  disabledTime: {\n    disabledHours: [0, 1, 2],\n    disabledMinutes: new Array(30).fill(0).map((e, i) => i),\n    disabledSeconds: [10],\n  },\n  rangePlaceholder: ['Start date', 'End Date'],\n  disabledRangeTime: {\n    disabledHours: [\n      [0, 1, 2],\n      [7, 9, 10],\n    ],\n    disabledMinutes: [new Array(30).fill(0).map((e, i) => i), [58, 59]],\n    disabledSeconds: [[], []],\n  },\n  disabledDate: {\n    disabledType: 'range',\n    dateRange: ['2022-5-23', '2022-5-26'],\n  },\n  rangeDisabled: [false, false],\n  clearRangeOnReselect: false,\n};\n\nexport const DatePicker = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'datePicker',\n    displayName: 'DatePicker',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: DatePickerPropsSpec,\n    state: DatePickerStateSpec,\n    methods: {},\n    slots: {\n      footer: {\n        slotProps: Type.Object({}),\n      },\n      triggerElement: {\n        slotProps: Type.Object({}),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onChange', 'onClear', 'onVisibleChange'],\n  },\n})(props => {\n  const {\n    disabledTime,\n    disabledRangeTime,\n    disabledDate,\n    range,\n    utcOffset,\n    useUtcOffset,\n    rangePlaceholder,\n    rangeDisabled,\n    type,\n    panelOnly,\n    clearRangeOnReselect,\n    showTime,\n    ...cProps\n  } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements, callbackMap, mergeState } = props;\n  const Picker = DatePickerType[type];\n  const triggerElement = slotsElements.triggerElement && slotsElements.triggerElement({});\n\n  const pickerProps = {\n    showTime: type === 'date' ? showTime : undefined,\n    extra: slotsElements.footer && slotsElements.footer({}),\n    utcOffset: useUtcOffset ? utcOffset : undefined,\n    triggerElement: triggerElement\n      ? (triggerElement as React.ReactNode[])[0]\n      : panelOnly\n      ? null\n      : undefined,\n    disabledDate: (current: Dayjs) => getDisabledDate(current, disabledDate),\n    onChange: (dateString: string | string[], date: Dayjs | Dayjs[]) => {\n      mergeState({\n        date,\n        dateString,\n      });\n      callbackMap?.onChange?.();\n    },\n    onVisibleChange: (visible: boolean | undefined) => {\n      mergeState({ visible });\n      callbackMap?.onVisibleChange?.();\n    },\n    ...cProps,\n  };\n\n  return (\n    <span ref={elementRef} className={css(customStyle?.content)}>\n      {range ? (\n        <RangePicker\n          {...pickerProps}\n          disabledTime={(date, type) =>\n            getDisabledRangeTime(date, type, disabledRangeTime!)\n          }\n          mode={type}\n          placeholder={rangePlaceholder?.length === 0 ? undefined : rangePlaceholder}\n          clearRangeOnReselect={clearRangeOnReselect}\n          disabled={rangeDisabled}\n        />\n      ) : (\n        <Picker\n          {...pickerProps}\n          disabledTime={date => getDisabledTime(date, disabledTime)}\n          disabledDate={current => getDisabledDate(current, disabledDate)}\n        />\n      )}\n    </span>\n  );\n});\n\nexport type Dayjs = Parameters<DisabledTimeFunc>[0];\n\nfunction getDisabledDate(\n  date: Dayjs,\n  disabledDate: Static<typeof BaseDatePickerPropsSpec.disabledDate>\n) {\n  if (disabledDate.disabledType === 'after') {\n    return date!.isAfter(disabledDate.date);\n  }\n  if (disabledDate.disabledType === 'before') {\n    return date!.isBefore(disabledDate.date);\n  }\n  // TODO support year, month, and week\n  if (disabledDate.disabledType === 'range') {\n    if (!disabledDate.dateRange || !Array.isArray(disabledDate.dateRange)) {\n      return false;\n    }\n    for (let i = 0; i < disabledDate.dateRange.length; i++) {\n      if (date!.isSame(disabledDate.dateRange[i])) {\n        return true;\n      }\n    }\n    return false;\n  }\n  return false;\n}\n\nexport function getDisabledTime(\n  date: Dayjs,\n  range: Static<typeof BaseDatePickerPropsSpec.disabledTime>\n): DisabledTimeProps {\n  const result: DisabledTimeProps = {};\n\n  Object.keys(range).forEach(disabledItem => {\n    if (['disabledHours', 'disabledMinutes', 'disabledSeconds'].includes(disabledItem)) {\n      const key = disabledItem as keyof typeof range;\n      result[key] = () => range[key];\n    }\n  });\n\n  return result;\n}\n\nexport function getDisabledRangeTime(\n  date: Dayjs,\n  type: 'start' | 'end',\n  range: Static<typeof RangePickerPropsSpec.disabledRangeTime>\n): DisabledTimeProps {\n  const result: DisabledTimeProps = {};\n\n  Object.keys(range).forEach(disabledItem => {\n    if (['disabledHours', 'disabledMinutes', 'disabledSeconds'].includes(disabledItem)) {\n      const key = disabledItem as keyof typeof range;\n      const [start, end] = range[key];\n      result[key] = () => (type === 'start' ? start || [] : end || []);\n    }\n  });\n\n  return result;\n}\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\nimport { CoreWidgetName, CORE_VERSION } from '@sunmao-ui/shared';\n\nconst DisabledDateSpec = {\n  disabledType: StringUnion(['before', 'after', 'range'], {\n    title: 'Type',\n  }),\n  date: Type.Optional(\n    Type.Any({\n      title: 'Date',\n      conditions: [{ key: 'disabledType', not: 'range' }],\n    })\n  ),\n  dateRange: Type.Optional(\n    Type.Array(Type.Any(), {\n      title: 'Date Range',\n      widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n      conditions: [{ key: 'disabledType', value: 'range' }],\n    })\n  ),\n};\n\nconst DisabledTimeSpec = {\n  disabledHours: Type.Array(Type.Number(), {\n    title: 'Disabled Hours',\n    widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n  }),\n  disabledMinutes: Type.Array(Type.Number(), {\n    title: 'Disabled Minutes',\n    widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n  }),\n  disabledSeconds: Type.Array(Type.Number(), {\n    title: 'Disabled Seconds',\n    widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n  }),\n};\n\nconst DisabledTimeRangeItemSpec = Type.Array(Type.Number(), {\n  widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n});\n\nconst DisabledTimeRangeSpec = {\n  disabledHours: Type.Tuple([DisabledTimeRangeItemSpec, DisabledTimeRangeItemSpec], {\n    title: 'Disabled Hours',\n  }),\n  disabledMinutes: Type.Tuple([DisabledTimeRangeItemSpec, DisabledTimeRangeItemSpec], {\n    title: 'Disabled Minutes',\n  }),\n  disabledSeconds: Type.Tuple([DisabledTimeRangeItemSpec, DisabledTimeRangeItemSpec], {\n    title: 'Disabled Seconds',\n  }),\n};\n\nexport const RangePickerPropsSpec = {\n  disabledRangeTime: Type.Optional(\n    Type.Object(DisabledTimeRangeSpec, {\n      title: 'Disabled Range Time',\n      category: Category.Behavior,\n      weight: 95,\n      description:\n        'Specify the disable time, you need to specify two arrays, 0 for the start time and 1 for the end time',\n      conditions: [\n        {\n          and: [\n            {\n              key: 'showTime',\n              value: true,\n            },\n            {\n              key: 'range',\n              value: true,\n            },\n          ],\n        },\n      ],\n    })\n  ),\n  rangePlaceholder: Type.Optional(\n    Type.Array(Type.String(), {\n      title: 'Placeholder',\n      category: Category.Basic,\n      conditions: [\n        {\n          key: 'range',\n          value: true,\n        },\n      ],\n    })\n  ),\n  rangeDisabled: Type.Tuple([Type.Boolean(), Type.Boolean()], {\n    title: 'Disabled',\n    category: Category.Behavior,\n    widget: `${CORE_VERSION}/${CoreWidgetName.Expression}`,\n    weight: 99,\n    conditions: [\n      {\n        key: 'range',\n        value: true,\n      },\n    ],\n  }),\n  clearRangeOnReselect: Type.Boolean({\n    title: 'Clear Range On Reselect',\n    description:\n      'When reselect the range, the previous range will be cleared for next selection',\n    category: Category.Behavior,\n    conditions: [\n      {\n        key: 'range',\n        value: true,\n      },\n    ],\n  }),\n};\n\nexport const DatePickerPropsSpec = {\n  range: Type.Boolean({\n    title: 'Range',\n    category: Category.Behavior,\n    weight: 100,\n  }),\n  type: StringUnion(['date', 'week', 'month', 'year', 'quarter'], {\n    title: 'Type',\n    category: Category.Basic,\n  }),\n  defaultValue: Type.Any({\n    title: 'Default Value',\n    category: Category.Basic,\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n    weight: 99,\n    conditions: [\n      {\n        key: 'range',\n        value: false,\n      },\n    ],\n  }),\n  dayStartOfWeek: StringUnion([0, 1, 2, 3, 4, 5, 6], {\n    title: 'Day Start Of Week',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'type',\n        value: 'default',\n      },\n    ],\n  }),\n  position: StringUnion(['top', 'tl', 'tr', 'bottom', 'bl', 'br'], {\n    title: 'Position',\n    category: Category.Layout,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'range',\n        value: false,\n      },\n    ],\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n    weight: 98,\n  }),\n  showTime: Type.Optional(\n    Type.Boolean({\n      title: 'Show Time',\n      category: Category.Behavior,\n      conditions: [\n        {\n          key: 'type',\n          value: 'date',\n        },\n      ],\n      weight: 97,\n    })\n  ),\n  disabledDate: Type.Object(DisabledDateSpec, {\n    title: 'Disabled Date',\n    category: Category.Behavior,\n    description:\n      \"Specify a date and use before to disable dates before that date and after to disable dates after that date. Or disable certain dates by passing an array, which supports the use of dayjs, e.g. ['2022-5-23', '2022-5-26', '2022-5-29'].\",\n    widget: `${CORE_VERSION}/${CoreWidgetName.Popover}`,\n    weight: 96,\n  }),\n  disabledTime: Type.Object(DisabledTimeSpec, {\n    title: 'Disabled Time',\n    category: Category.Behavior,\n    description: '',\n    weight: 95,\n    conditions: [\n      {\n        and: [\n          {\n            key: 'showTime',\n            value: true,\n          },\n          {\n            key: 'range',\n            value: false,\n          },\n        ],\n      },\n    ],\n  }),\n  panelOnly: Type.Boolean({\n    title: 'Only Use Panel',\n    category: Category.Behavior,\n    weight: 0,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Layout,\n  }),\n  timezone: Type.String({\n    title: 'Timezone',\n    category: Category.Behavior,\n  }),\n  useUtcOffset: Type.Boolean({\n    title: 'Open UTC Offset',\n    category: Category.Behavior,\n  }),\n  utcOffset: Type.Number({\n    title: 'UTC Offset',\n    category: Category.Behavior,\n    conditions: [\n      {\n        key: 'useUtcOffset',\n        value: true,\n      },\n    ],\n  }),\n  ...RangePickerPropsSpec,\n};\n","import { TimePicker as BaseTimePicker } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TimePickerPropsSpec as BaseTimePickerPropsSpec } from '../generated/types/TimePicker';\nimport { Dayjs } from './DatePicker';\n\nconst TimePickerPropsSpec = Type.Object(BaseTimePickerPropsSpec);\nconst TimePickerStateSpec = Type.Object({\n  visible: Type.Boolean(),\n  time: Type.Any(),\n  timeString: Type.Union([Type.Array(Type.String()), Type.String()]),\n});\n\nconst exampleProperties: Static<typeof TimePickerPropsSpec> = {\n  disabled: false,\n  disableConfirm: false,\n  hideDisabledOptions: false,\n  step: {\n    hour: 1,\n    minute: 1,\n    second: 1,\n  },\n  showNowBtn: true,\n  placeholder: 'Please Select',\n  position: 'bl',\n  format: 'HH:mm:ss',\n  allowClear: false,\n  defaultValue: '18:24:23',\n  rangeDefaultValue: ['09:24:53', '18:44:33'],\n  range: false,\n  size: 'default',\n  use12Hours: false,\n  disabledTime: {\n    disabledHours: [0, 1, 2],\n    disabledMinutes: new Array(30).fill(0).map((e, i) => i),\n    disabledSeconds: [10],\n  },\n  rangePlaceholder: ['Start date', 'End Date'],\n  useUtcOffset: false,\n  order: false,\n  utcOffset: 0,\n  timezone: '',\n};\nconst RangePicker = BaseTimePicker.RangePicker;\n\nexport const TimePicker = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'timePicker',\n    displayName: 'TimePicker',\n    exampleProperties,\n    annotations: {\n      category: 'Data Entry',\n    },\n  },\n  spec: {\n    properties: TimePickerPropsSpec,\n    state: TimePickerStateSpec,\n    methods: {},\n    slots: {\n      footer: {\n        slotProps: Type.Object({}),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onChange', 'onClear', 'onVisibleChange'],\n  },\n})(props => {\n  const {\n    range,\n    disabledTime,\n    useUtcOffset,\n    utcOffset,\n    rangeDefaultValue,\n    rangePlaceholder,\n    ...cProps\n  } = getComponentProps(props);\n  const { elementRef, customStyle, slotsElements, callbackMap, mergeState } = props;\n\n  const pickerProps = {\n    extra: slotsElements.footer && slotsElements.footer({}),\n    utcOffset: useUtcOffset ? utcOffset : undefined,\n    onChange: (timeString: string | string[], time: Dayjs | Dayjs[]) => {\n      mergeState({\n        time,\n        timeString,\n      });\n      callbackMap?.onChange?.();\n    },\n    ...getDisabledTime(disabledTime),\n    ...cProps,\n  };\n\n  return (\n    <span ref={elementRef} className={css(customStyle?.content)}>\n      {range ? (\n        <RangePicker\n          {...pickerProps}\n          defaultValue={rangeDefaultValue}\n          placeholder={rangePlaceholder}\n        />\n      ) : (\n        <BaseTimePicker {...pickerProps} />\n      )}\n    </span>\n  );\n});\n\nfunction getDisabledTime(\n  disabledTime: Static<typeof BaseTimePickerPropsSpec.disabledTime>\n) {\n  return {\n    disabledHours: () => disabledTime.disabledHours,\n    disabledMinutes: () => disabledTime.disabledMinutes,\n    disabledSeconds: () => disabledTime.disabledSeconds,\n  };\n}\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\nimport { CoreWidgetName, CORE_VERSION } from '@sunmao-ui/shared';\n\nconst expressionWidget = `${CORE_VERSION}/${CoreWidgetName.Expression}` as const;\nconst DisabledTimeSpec = {\n  disabledHours: Type.Array(Type.Number(), {\n    title: 'Disabled Hours',\n    widget: expressionWidget,\n  }),\n  disabledMinutes: Type.Array(Type.Number(), {\n    title: 'Disabled Minutes',\n    widget: expressionWidget,\n  }),\n  disabledSeconds: Type.Array(Type.Number(), {\n    title: 'Disabled Seconds',\n    widget: expressionWidget,\n  }),\n};\n\nexport const RangePickerPropsSpec = {\n  rangeDefaultValue: Type.Array(Type.Any(), {\n    title: 'Default Value',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'range',\n        value: true,\n      },\n    ],\n    widget: expressionWidget,\n  }),\n  rangePlaceholder: Type.Optional(\n    Type.Array(Type.String(), {\n      title: 'Placeholder',\n      category: Category.Basic,\n      widget: expressionWidget,\n      conditions: [\n        {\n          key: 'range',\n          value: true,\n        },\n      ],\n    })\n  ),\n  order: Type.Boolean({\n    title: 'Order',\n    description: 'Whether the start and end times are automatically sorted',\n    category: Category.Behavior,\n    conditions: [\n      {\n        key: 'range',\n        value: true,\n      },\n    ],\n  }),\n};\n\nexport const TimePickerPropsSpec = {\n  range: Type.Boolean({\n    title: 'Range',\n    category: Category.Basic,\n    weight: 100,\n  }),\n  defaultValue: Type.Any({\n    title: 'Default Value',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'range',\n        value: false,\n      },\n    ],\n  }),\n  disabled: Type.Boolean({\n    title: 'Disabled',\n    category: Category.Behavior,\n  }),\n  allowClear: Type.Boolean({\n    title: 'Allow Clear',\n    category: Category.Behavior,\n  }),\n  disableConfirm: Type.Boolean({\n    title: 'Disable Confirm',\n    category: Category.Behavior,\n    description: '',\n  }),\n  hideDisabledOptions: Type.Boolean({\n    title: 'Hide Disabled Options',\n    category: Category.Behavior,\n    description: '',\n  }),\n  use12Hours: Type.Boolean({\n    title: 'Use 12 Hours',\n    category: Category.Behavior,\n  }),\n  format: Type.String({\n    title: 'Format',\n    category: Category.Basic,\n    description: '\tDate format, refer to dayjs',\n  }),\n  step: Type.Object(\n    {\n      hour: Type.Number({\n        title: 'Hour',\n      }),\n      minute: Type.Number({\n        title: 'Minute',\n      }),\n      second: Type.Number({\n        title: 'Second',\n      }),\n    },\n    {\n      title: 'Step',\n      category: Category.Behavior,\n      widget: expressionWidget,\n      description: 'Set the hour/minute/second selection interval',\n    }\n  ),\n  position: StringUnion(['top', 'tl', 'tr', 'bottom', 'bl', 'br'], {\n    title: 'Position',\n    category: Category.Layout,\n  }),\n  placeholder: Type.String({\n    title: 'Placeholder',\n    category: Category.Basic,\n    conditions: [\n      {\n        key: 'range',\n        value: false,\n      },\n    ],\n  }),\n  disabledTime: Type.Object(DisabledTimeSpec, {\n    title: 'Disabled Time',\n    category: Category.Behavior,\n    description: '',\n  }),\n  timezone: Type.String({\n    title: 'Timezone',\n    category: Category.Behavior,\n  }),\n  useUtcOffset: Type.Boolean({\n    title: 'Open UTC Offset',\n    category: Category.Behavior,\n  }),\n  utcOffset: Type.Number({\n    title: 'UTC Offset',\n    category: Category.Behavior,\n    conditions: [\n      {\n        key: 'useUtcOffset',\n        value: true,\n      },\n    ],\n  }),\n  showNowBtn: Type.Boolean({\n    title: 'Show Now Button',\n    category: Category.Behavior,\n  }),\n  size: StringUnion(['mini', 'small', 'default', 'large'], {\n    title: 'Size',\n    category: Category.Layout,\n  }),\n  ...RangePickerPropsSpec,\n};\n","import { Carousel as BaseCarousel } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { CarouselPropsSpec as BaseCarouselPropsSpec } from '../generated/types/Carousel';\nimport { useRef, useEffect } from 'react';\nimport { CarouselHandle } from '@arco-design/web-react/es/Carousel/interface';\n\nconst InputPropsSpec = Type.Object({\n  ...BaseCarouselPropsSpec,\n});\nconst InputStateSpec = Type.Object({\n  value: Type.Number(),\n});\n\nconst defaultCarouselStyle = css`\n  height: 240px;\n`;\n\nconst exampleProperties: Static<typeof InputPropsSpec> = {\n  imageSrc: [\n    '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/cd7a1aaea8e1c5e3d26fe2591e561798.png~tplv-uwbnlip3yd-webp.webp',\n    '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/6480dbc69be1b5de95010289787d64f1.png~tplv-uwbnlip3yd-webp.webp',\n    '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/0265a04fddbd77a19602a15d9d55d797.png~tplv-uwbnlip3yd-webp.webp',\n    '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/24e0dd27418d2291b65db1b21aa62254.png~tplv-uwbnlip3yd-webp.webp',\n  ],\n  indicatorPosition: 'bottom',\n  indicatorType: 'dot',\n  showArrow: 'always',\n  direction: 'horizontal',\n  animation: 'slide',\n  autoPlay: false,\n  autoPlayInterval: 3000,\n  autoPlayHoverToPause: true,\n  moveSpeed: 500,\n  timingFunc: 'cubic-bezier(0.34, 0.69, 0.1, 1)',\n};\n\nexport const Carousel = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'carousel',\n    displayName: 'Carousel',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: InputPropsSpec,\n    state: InputStateSpec,\n    methods: {},\n    slots: {},\n    styleSlots: ['carousel', 'image'],\n    events: ['onChange', 'onBlur', 'onFocus'],\n  },\n})(props => {\n  const { getElement, customStyle } = props;\n  const { imageSrc, autoPlay, autoPlayHoverToPause, autoPlayInterval, ...cProps } =\n    getComponentProps(props);\n  const ref = useRef<CarouselHandle>(null as any);\n\n  useEffect(() => {\n    const ele = ref.current?.dom;\n    if (getElement && ele) {\n      getElement(ele);\n    }\n  }, [getElement, ref]);\n\n  return (\n    <BaseCarousel\n      carousel={ref}\n      autoPlay={\n        autoPlay && { interval: autoPlayInterval, hoverToPause: autoPlayHoverToPause }\n      }\n      className={css(customStyle?.carousel, defaultCarouselStyle)}\n      {...cProps}\n    >\n      {imageSrc.map((src, idx) => {\n        return (\n          <div className={css(customStyle?.image)} key={idx}>\n            <img style={{ width: '100%' }} src={src} />\n          </div>\n        );\n      })}\n    </BaseCarousel>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const CarouselPropsSpec = {\n  imageSrc: Type.Array(Type.String(), {\n    title: 'Image Src',\n    category: Category.Basic,\n  }),\n  indicatorType: StringUnion(['dot', 'line', 'slider'], {\n    title: 'Indicator Type',\n    category: Category.Basic,\n  }),\n  indicatorPosition: StringUnion(['left', 'right', 'top', 'bottom', 'outer'], {\n    title: 'Indicator Type',\n    category: Category.Basic,\n  }),\n  direction: StringUnion(['vertical', 'horizontal'], {\n    title: 'Direction',\n    category: Category.Basic,\n  }),\n  showArrow: StringUnion(['always', 'hover', 'never'], {\n    title: 'Show Arrow',\n    category: Category.Behavior,\n  }),\n  animation: StringUnion(['slide', 'card', 'fade'], {\n    title: 'Animation',\n    category: Category.Behavior,\n  }),\n  moveSpeed: Type.Number({\n    title: 'Move Speed',\n    category: Category.Behavior,\n  }),\n  trigger: Type.Optional(\n    StringUnion(['click', 'hover'], {\n      title: 'Trigger',\n      category: Category.Behavior,\n    })\n  ),\n  autoPlay: Type.Boolean({\n    title: 'Auto Play',\n    category: Category.Behavior,\n  }),\n  autoPlayInterval: Type.Optional(\n    Type.Number({\n      title: 'Auto Play Interval',\n      category: Category.Behavior,\n      conditions: [{ key: 'autoPlay', value: true }],\n    })\n  ),\n  autoPlayHoverToPause: Type.Optional(\n    Type.Boolean({\n      title: 'Auto Play Hover To Pause',\n      category: Category.Behavior,\n      conditions: [{ key: 'autoPlay', value: true }],\n    })\n  ),\n  timingFunc: Type.String({\n    title: 'Timing Func',\n    category: Category.Behavior,\n  }),\n};\n","import { Tag as BaseTag } from '@arco-design/web-react';\nimport { implementRuntimeComponent } from '@sunmao-ui/runtime';\nimport { css } from '@emotion/css';\nimport { Type, Static } from '@sinclair/typebox';\nimport { FALLBACK_METADATA, getComponentProps } from '../sunmao-helper';\nimport { TagPropsSpec as BaseTagPropsSpec } from '../generated/types/Tag';\nimport { useEffect, useState } from 'react';\n\nconst TagPropsSpec = Type.Object(BaseTagPropsSpec);\nconst TagStateSpec = Type.Object({\n  checked: Type.Boolean(),\n});\n\nconst exampleProperties: Static<typeof TagPropsSpec> = {\n  content: 'tag',\n  closable: false,\n  checkable: false,\n  defaultChecked: false,\n  color: '',\n  size: 'large',\n  bordered: false,\n  defaultVisible: true,\n};\n\nexport const Tag = implementRuntimeComponent({\n  version: 'arco/v1',\n  metadata: {\n    ...FALLBACK_METADATA,\n    name: 'tag',\n    displayName: 'Tag',\n    exampleProperties,\n    annotations: {\n      category: 'Data Display',\n    },\n  },\n  spec: {\n    properties: TagPropsSpec,\n    state: TagStateSpec,\n    methods: {},\n    slots: {\n      content: {\n        slotProps: Type.Object({}),\n      },\n      icon: {\n        slotProps: Type.Object({}),\n      },\n    },\n    styleSlots: ['content'],\n    events: ['onCheck', 'onClose'],\n  },\n})(props => {\n  const { content, defaultChecked, defaultVisible, checkable, ...cProps } =\n    getComponentProps(props);\n  const { slotsElements, customStyle, elementRef, callbackMap, mergeState } = props;\n\n  const [checked, setChecked] = useState<boolean | undefined>(defaultChecked);\n  const [visible, setVisible] = useState(defaultVisible);\n  useEffect(() => {\n    if (!checkable) {\n      setChecked(undefined);\n      mergeState({ checked: undefined });\n    } else {\n      setChecked(defaultChecked);\n      mergeState({ checked: defaultChecked });\n    }\n  }, [checkable, defaultChecked, mergeState, setChecked]);\n\n  return (\n    <BaseTag\n      checked={checked}\n      className={css(customStyle?.content)}\n      ref={elementRef}\n      checkable={checkable}\n      visible={visible}\n      onCheck={() => {\n        setChecked(prev => !prev);\n        mergeState({ checked: !checked });\n        callbackMap?.onCheck?.();\n      }}\n      onClose={() => {\n        setVisible(false);\n        setChecked(undefined);\n        mergeState({ checked: undefined });\n        callbackMap?.onClose?.();\n      }}\n      icon={slotsElements.icon ? slotsElements.icon({}) : null}\n      {...cProps}\n    >\n      {(slotsElements.content && slotsElements.content({})) || content}\n    </BaseTag>\n  );\n});\n","import { Type } from '@sinclair/typebox';\nimport { Category } from '../../constants/category';\nimport { StringUnion } from '../../sunmao-helper';\n\nexport const TagPropsSpec = {\n  content: Type.String({\n    title: 'Content',\n    category: Category.Basic,\n  }),\n  closable: Type.Boolean({\n    title: 'Closable',\n    category: Category.Behavior,\n  }),\n  checkable: Type.Boolean({\n    title: 'Checkable',\n    category: Category.Behavior,\n  }),\n  defaultChecked: Type.Boolean({\n    title: 'Default Checked',\n    category: Category.Behavior,\n    conditions: [{ key: 'checkable', value: true }],\n  }),\n  defaultVisible: Type.Boolean({\n    title: 'Default Visible',\n    category: Category.Behavior,\n  }),\n  color: Type.String({\n    title: 'Color',\n    category: Category.Style,\n    widget: 'core/v1/color',\n  }),\n  size: StringUnion(['large', 'medium', 'default', 'small'], {\n    title: 'Size',\n    category: Category.Style,\n  }),\n  bordered: Type.Boolean({\n    title: 'Bordered',\n    category: Category.Style,\n  }),\n};\n","import { implementUtilMethod } from '@sunmao-ui/runtime';\nimport { Type } from '@sinclair/typebox';\nimport { Message as BaseMessage } from '@arco-design/web-react';\nimport { StringUnion } from '@sunmao-ui/shared';\n\nconst ParameterSpec = Type.Object({\n  type: StringUnion(['info', 'success', 'warning', 'error', 'normal', 'loading'], {\n    defaultValue: 'info',\n  }),\n  content: Type.String({\n    defaultValue: 'info',\n  }),\n  position: StringUnion(['top', 'bottom'], {\n    defaultValue: 'top',\n  }),\n  closable: Type.Boolean({\n    defaultValue: false,\n  }),\n  duration: Type.Number({ defaultValue: 1000 }),\n});\n\nexport const MessageUtilMethodFactory = () => {\n  return implementUtilMethod({\n    version: 'arco/v1',\n    metadata: {\n      name: 'message',\n    },\n    spec: {\n      parameters: ParameterSpec,\n    },\n  })(parameters => {\n    const { type, content, duration, ...rest } = parameters;\n    const Message = BaseMessage[type];\n\n    Message({\n      className: type,\n      content,\n      duration,\n      ...rest,\n    });\n  });\n};\n","import { SunmaoLib } from '@sunmao-ui/runtime';\nimport { Button } from './components/Button';\nimport { Layout } from './components/Layout';\nimport { Image, ImageGroup } from './components/Image';\nimport { Select } from './components/Select';\nimport { Menu } from './components/Menu';\nimport { Dropdown } from './components/Dropdown';\nimport { Space } from './components/Space';\nimport { Icon } from './components/Icon';\nimport { Input } from './components/Input';\nimport { Divider } from './components/Divider';\nimport { Avatar } from './components/Avatar';\nimport { Mentions } from './components/Mentions';\nimport { Progress } from './components/Progress';\nimport { Badge } from './components/Badge';\nimport { Tooltip } from './components/Tooltip';\nimport { Popover } from './components/Popover';\nimport { Collapse } from './components/Collapse';\nimport { Cascader } from './components/Cascader';\nimport { Skeleton } from './components/Skeleton';\nimport { Timeline } from './components/Timeline';\nimport { Tree } from './components/Tree';\nimport { TreeSelect } from './components/TreeSelect';\nimport { Checkbox } from './components/Checkbox';\nimport { Modal } from './components/Modal';\nimport { Radio } from './components/Radio';\nimport { Table } from './components/Table/Table';\nimport { Pagination } from './components/Pagination';\nimport { Steps } from './components/Steps';\nimport { Alert } from './components/Alert';\nimport { Link } from './components/Link';\nimport { Switch } from './components/Switch';\nimport { PasswordInput } from './components/PasswordInput';\nimport { NumberInput } from './components/NumberInput';\nimport { TextArea } from './components/TextArea';\nimport { Tabs } from './components/Tabs';\nimport { FormControl } from './components/Form/FormControl';\nimport { Descriptions } from './components/Descriptions';\nimport { Row, Col } from './components/Grid';\nimport { Slider } from './components/Slider';\nimport { DatePicker } from './components/DatePicker';\nimport { TimePicker } from './components/TimePicker';\nimport { Carousel } from './components/Carousel';\nimport { Tag } from './components/Tag';\n\nimport './style.css';\nimport { MessageUtilMethodFactory } from './methods/Message';\n\nexport const components: SunmaoLib['components'] = [\n  Tag,\n  Table,\n  Pagination,\n  Steps,\n  Tree,\n  TreeSelect,\n  Modal,\n  Button,\n  Layout,\n  Image,\n  ImageGroup,\n  Select,\n  Menu,\n  Dropdown,\n  Space,\n  Icon,\n  Input,\n  Divider,\n  Avatar,\n  Mentions,\n  Progress,\n  Badge,\n  Tooltip,\n  Popover,\n  Collapse,\n  Cascader,\n  Skeleton,\n  Timeline,\n  Radio,\n  Checkbox,\n  Alert,\n  Link,\n  Switch,\n  PasswordInput,\n  TextArea,\n  Tabs,\n  FormControl,\n  Descriptions,\n  Row,\n  Col,\n  Slider,\n  DatePicker,\n  TimePicker,\n  NumberInput,\n  Carousel,\n];\nexport const traits: SunmaoLib['traits'] = [];\nexport const modules: SunmaoLib['modules'] = [];\nexport const utilMethods: SunmaoLib['utilMethods'] = [MessageUtilMethodFactory];\n\nexport const ArcoDesignLib: SunmaoLib = {\n  components,\n  traits,\n  modules,\n  utilMethods,\n};\n"],"mappings":"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","names":["Type","options","Type","Type","ButtonPropsSpec","Type","implementRuntimeComponent","css","Type","jsx","Type","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","ImagePropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","jsx","jsxs","SelectPropsSpec","Type","implementRuntimeComponent","options","useEffect","value","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","jsx","MenuPropsSpec","Type","exampleProperties","implementRuntimeComponent","useEffect","css","BaseMenu","Button","implementRuntimeComponent","Type","Type","Type","jsx","DropdownPropsSpec","Type","exampleProperties","implementRuntimeComponent","Dropdown","BaseMenu","Button","implementRuntimeComponent","css","Type","Type","Type","jsx","jsx","SpacePropsSpec","Type","exampleProperties","Space","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","jsx","Type","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","jsx","InputPropsSpec","Type","exampleProperties","implementRuntimeComponent","value","useEffect","css","implementRuntimeComponent","css","Type","jsx","DividerPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","AvatarPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","useCallback","jsx","MentionsPropsSpec","Type","exampleProperties","implementRuntimeComponent","useCallback","value","css","implementRuntimeComponent","css","Type","Type","Type","jsx","ProgressPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","BadgePropsSpec","Type","exampleProperties","implementRuntimeComponent","css","Button","implementRuntimeComponent","css","Type","Type","Type","useState","useEffect","jsx","TooltipPropsSpec","Type","implementRuntimeComponent","css","Button","Button","implementRuntimeComponent","css","Type","Type","Type","useEffect","useState","jsx","PopoverPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","Button","implementRuntimeComponent","css","Type","Type","Type","useCallback","jsx","CollapsePropsSpec","Type","exampleProperties","implementRuntimeComponent","options","useCallback","activeKey","css","props","implementRuntimeComponent","css","Type","Type","CORE_VERSION","CoreWidgetName","EXPRESSION_WIDGET_TYPE","Type","useState","useEffect","useRef","useCallback","jsx","CascaderPropsSpec","Type","map","exampleProperties","implementRuntimeComponent","options","value","css","implementRuntimeComponent","css","Type","Type","Type","jsx","SkeletonPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","TimelinePropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","useCallback","useEffect","useRef","useState","jsx","Type","exampleProperties","implementRuntimeComponent","selectedKeys","_a","css","expandKeys","implementRuntimeComponent","css","Type","Type","CORE_VERSION","CoreWidgetName","EXPRESSION_WIDGET_TYPE","Type","useEffect","useRef","jsx","TreeSelectPropsSpec","Type","exampleProperties","implementRuntimeComponent","useRef","useEffect","css","Type","implementRuntimeComponent","Type","CORE_VERSION","CoreWidgetName","EXPRESSION_WIDGET_TYPE","Type","css","useEffect","useMemo","useCallback","jsx","jsxs","CheckboxPropsSpec","Type","implementRuntimeComponent","options","useMemo","useEffect","useCallback","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","useRef","useState","jsx","ModalPropsSpec","Type","exampleProperties","implementRuntimeComponent","_a","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","jsx","RadioPropsSpec","Type","exampleProperties","implementRuntimeComponent","useEffect","css","useEffect","useMemo","useRef","useState","css","Button","Input","implementRuntimeComponent","Type","css","jsx","Type","Type","jsx","jsxs","Type","css","exampleProperties","implementRuntimeComponent","useRef","useEffect","useState","data","useMemo","sortedData","Input","Button","pagination","implementRuntimeComponent","css","cx","Type","Type","Type","jsx","PaginationPropsSpec","Type","exampleProperties","implementRuntimeComponent","cx","css","implementRuntimeComponent","css","Type","Type","Type","jsx","StepsPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","AlertPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","Type","jsx","LinkPropsSpec","Type","exampleProperties","Link","implementRuntimeComponent","css","_a","implementRuntimeComponent","css","Type","Type","Type","jsx","SwitchPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","value","Input","implementRuntimeComponent","css","Type","Type","Type","jsx","InputPropsSpec","Type","InputStateSpec","Input","exampleProperties","implementRuntimeComponent","css","value","implementRuntimeComponent","css","Type","Type","Type","useEffect","useRef","jsx","InputPropsSpec","Type","InputStateSpec","exampleProperties","implementRuntimeComponent","useRef","useEffect","css","value","Input","implementRuntimeComponent","css","Type","Type","Type","useEffect","useRef","jsx","TextAreaPropsSpec","Type","Input","exampleProperties","implementRuntimeComponent","useRef","useEffect","value","css","implementRuntimeComponent","css","Type","Type","Type","useEffect","useRef","jsx","TabsPropsSpec","Type","exampleProperties","implementRuntimeComponent","useRef","useEffect","activeTab","css","implementRuntimeComponent","css","cx","Type","Type","Type","css","jsx","jsx","jsxs","FormControlPropsSpec","Type","css","exampleProperties","implementRuntimeComponent","cx","implementRuntimeComponent","css","Type","Type","Type","useMemo","jsx","DescriptionPropsSpec","Type","exampleProperties","implementRuntimeComponent","_a","css","implementRuntimeComponent","Type","css","Type","Type","jsx","implementRuntimeComponent","Type","css","implementRuntimeComponent","css","Type","Type","CORE_VERSION","CoreWidgetName","Type","jsx","SliderPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","implementRuntimeComponent","css","Type","Type","CoreWidgetName","CORE_VERSION","Type","jsx","DatePickerPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","type","implementRuntimeComponent","css","Type","Type","CoreWidgetName","CORE_VERSION","DisabledTimeSpec","Type","RangePickerPropsSpec","jsx","TimePickerPropsSpec","Type","exampleProperties","RangePicker","implementRuntimeComponent","getDisabledTime","css","implementRuntimeComponent","css","Type","Type","Type","useRef","useEffect","jsx","InputPropsSpec","Type","InputStateSpec","css","exampleProperties","implementRuntimeComponent","implementRuntimeComponent","css","Type","Type","Type","useEffect","useState","jsx","TagPropsSpec","Type","exampleProperties","implementRuntimeComponent","css","Type","StringUnion","Space","Link"]}