@jswork/antd-components 1.0.223 → 1.0.224
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.d.mts +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/table-links.tsx +1 -1
package/dist/main.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/breadcrumb.tsx","../src/tpls/breadcrumb/index.tsx","../src/lib/checkable-dropdown.tsx","../src/lib/checkable-tag.tsx","../src/lib/checkable-tag-list.tsx","../src/lib/checkbox.tsx","../src/lib/checkbox-group.tsx","../src/tpls/kv/index.tsx","../src/lib/codeflask.tsx","../src/lib/color-picker.tsx","../src/lib/confirm-button.tsx","../src/lib/date-picker.tsx","../src/lib/editable-tag-group.tsx","../src/lib/interactive-list.tsx","../src/lib/input.tsx","../src/lib/input-copyable.tsx","../src/lib/input-hidden.tsx","../src/lib/input-number.tsx","../src/lib/input-tags.tsx","../src/lib/input-token.tsx","../src/lib/markdown-editor.tsx","../src/lib/pre-select.tsx","../src/lib/select.tsx","../src/lib/search.tsx","../src/lib/radio-group.tsx","../src/lib/range-picker.tsx","../src/lib/rate.tsx","../src/lib/slider.tsx","../src/lib/slider-range.tsx","../src/lib/switch.tsx","../src/lib/table.tsx","../src/lib/table-links.tsx","../src/lib/textarea.tsx","../src/lib/time-picker.tsx","../src/lib/transfer.tsx","../src/tpls/transfer/index.tsx","../src/lib/tree.tsx","../src/lib/tree-select.tsx","../src/lib/upload.tsx","../src/lib/upload-dragger.tsx","../src/lib/upload-picture.tsx","../src/lib/_abstract-upload.tsx","../src/lib/upload-picture-card.tsx","../src/tpls/raw/index.tsx","../src/main.ts","../src/lib/alert.tsx","../src/lib/card-extras.tsx","../src/lib/button.tsx","../src/lib/extra-search.tsx","../src/lib/form-actions.tsx","../src/lib/init-widgets.ts","../src/lib/table-status-switcher.tsx","../src/lib/table-toggle-switcher.tsx","../src/lib/use-table-command.ts"],"sourcesContent":["import React from 'react';\nimport { Breadcrumb, BreadcrumbProps } from 'antd';\nimport ReactList, { TemplateArgs } from '@jswork/react-list';\nimport { breadcrumbDefault } from '../tpls/breadcrumb';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\n// hack for react-list\n// Warning: [antd: Breadcrumb] Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children\n// @see: https://juejin.cn/post/6844903505832968206\n// ReactList['__ANT_BREADCRUMB_ITEM'] = true;\n\nconst CLASS_NAME = 'ac-breadcrumb';\n\nexport type AcBreadcrumbProps = {\n className?: string;\n items?: any[];\n template?: (args: TemplateArgs) => React.ReactNode;\n value?: number;\n onChange?: StdCallback;\n} & BreadcrumbProps;\n\nexport class AcBreadcrumb extends React.Component<AcBreadcrumbProps> {\n static displayName = CLASS_NAME;\n static defaultProps = {\n template: breadcrumbDefault,\n };\n\n render() {\n const { className, value, items, template, onChange, ...props } = this.props;\n return (\n <ReactList\n items={items || []}\n template={template}\n as={Breadcrumb}\n className={cx(className, CLASS_NAME)}\n {...props}\n />\n );\n }\n}\n\nexport const AcBreadcrumbFc = (props: AcBreadcrumbProps) => {\n return <AcBreadcrumb {...props} />;\n};\n\n\n","import { Breadcrumb } from 'antd';\nimport React from 'react';\n\nexport const breadcrumbDefault = ({ item, index, items }) => {\n const last = items?.length - 1 === index;\n const { label, ...rest } = item;\n const child = last ? <span {...rest}>{label}</span> : <a {...rest}>{label}</a>;\n return <Breadcrumb.Item key={index}>{child}</Breadcrumb.Item>;\n};\n","import { DownOutlined } from '@ant-design/icons';\nimport '@jswork/next-dom-event';\nimport { Button, Checkbox, Dropdown, MenuProps } from 'antd';\nimport { SizeType } from 'antd/es/config-provider/SizeContext';\nimport React from 'react';\nimport type { AppLocale, StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-dropdown';\nconst locales = { 'zh-CN': { selectAll: '全部' }, 'en-US': { selectAll: 'All' } };\n\nexport type AcCheckableDropdownProps = {\n className?: string;\n lang?: AppLocale;\n items?: any[];\n value?: any[];\n width?: number;\n size?: SizeType;\n disabled?: boolean;\n onChange?: StdCallback;\n};\n\nexport class AcCheckableDropdown extends React.Component<AcCheckableDropdownProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static id = 1;\n static defaultProps = {\n lang: 'zh-CN',\n items: [],\n value: [],\n width: 140,\n };\n\n private readonly overlayClass = `${CLASS_NAME}-overlay--${AcCheckableDropdown.id++}`;\n\n state = {\n visible: false,\n value: this.props.value,\n };\n\n private overlayRes: any;\n private winBlankRes: any;\n\n get indeterminate() {\n const { value } = this.state;\n return !!value?.length && value?.length < this.props.items!.length;\n }\n\n get label() {\n const { value } = this.state;\n const { items } = this.props;\n const labels = value?.map((val) => items?.find((item) => item.value === val).label);\n const isAll = value?.length === 0 || value?.length === items?.length;\n return isAll ? this.t('selectAll') : labels?.join(',');\n }\n\n get menuItems() {\n const { items } = this.props;\n const _value = this.state.value;\n return [\n {\n key: 'select_all',\n label: (\n <Checkbox\n indeterminate={this.indeterminate}\n checked={_value?.length === items?.length}\n onChange={(e) => {\n const checked = e.target.checked;\n const val = checked ? items?.map((item) => item.value) : [];\n this.doChange(val);\n }}>\n {this.t('selectAll')}\n </Checkbox>\n ),\n },\n { type: 'divider' },\n ...items!.map((opt) => {\n const shouldChecked = _value?.includes(opt.value);\n return {\n key: opt.value,\n label: (\n <Checkbox\n onChange={(e) => {\n const { checked } = e.target;\n const filtered = this.state.value?.filter((item) => item !== opt.value);\n const val = checked ? [...filtered!, opt.value] : filtered;\n this.doChange(val);\n }}\n checked={shouldChecked}>\n {opt.label}\n </Checkbox>\n ),\n };\n }),\n ] as MenuProps['items'];\n }\n\n t = (inKey: string) => {\n const { lang } = this.props;\n return locales[lang!][inKey] || inKey;\n };\n\n doChange = (inValue) => {\n const { onChange } = this.props;\n const target = { value: inValue };\n this.setState(target);\n onChange?.({ target });\n };\n\n componentDidMount() {\n // click blank, close overlay\n this.winBlankRes = nx.DomEvent.on(window as any, 'click', (e) => {\n const target = e.target as HTMLElement;\n const overlay = document.querySelector(`.${this.overlayClass}`) as HTMLDivElement;\n if (overlay && !overlay.contains(target)) {\n this.setState({ visible: false });\n }\n });\n }\n\n componentDidUpdate() {\n const { visible } = this.state;\n if (visible) {\n const overlay = document.querySelector(`.${this.overlayClass}`) as HTMLDivElement;\n if (overlay) {\n this.overlayRes = nx.DomEvent.on(overlay, 'mouseleave', () => {\n this.setState({ visible: false });\n this.overlayRes?.destroy();\n });\n }\n }\n }\n\n componentWillUnmount() {\n this.winBlankRes?.destroy();\n this.overlayRes?.destroy();\n }\n\n /**\n * todo: 有朝一日,找出原因\n * 这里的 button disabled 不能生效,除非在 dropdown 内层套一个 Fragment。\n */\n render() {\n const { width, disabled, size } = this.props;\n const { visible } = this.state;\n\n return (\n <Dropdown\n disabled={disabled}\n overlayClassName={this.overlayClass}\n open={visible}\n menu={{ items: this.menuItems }}>\n <>\n <Button\n className={`${CLASS_NAME}__btn`}\n style={{ width }}\n size={size}\n disabled={disabled}\n onMouseEnter={() => this.setState({ visible: true })}>\n <span className=\"is-label\">{this.label}</span>\n <DownOutlined />\n </Button>\n </>\n </Dropdown>\n );\n }\n}\n","import { CloseOutlined } from '@ant-design/icons';\nimport { Tag } from 'antd';\nimport { CheckableTagProps } from 'antd/es/tag';\nimport cx from 'classnames';\nimport React, { ReactNode } from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-tag';\nconst { CheckableTag } = Tag;\n\n/**\n * @see https://ant.design/components/tag-cn/#Tag.CheckableTag\n */\n\nexport type AcCheckableTagProps = {\n className?: string;\n value?: boolean;\n disabled?: boolean;\n closeable?: boolean;\n toggleable?: boolean;\n propagation?: boolean;\n onChange?: StdCallback;\n onCloseClick?: StdCallback;\n} & Omit<CheckableTagProps, 'checked'>;\n\nexport class AcCheckableTag extends React.Component<AcCheckableTagProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: false,\n closeable: false,\n disabled: false,\n toggleable: false,\n propagation: false,\n };\n\n state = {\n value: Boolean(this.props.value),\n };\n\n get closeIcon() {\n const { closeable, toggleable } = this.props;\n const { value } = this.state;\n let view: ReactNode = null;\n if (closeable) view = <CloseOutlined onClick={this.handleCloseClick} />;\n if (toggleable) view = value ? view : null;\n return view;\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckableTagProps>): boolean {\n const { value } = nextProps;\n if (value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n handleCloseClick = (inEvent) => {\n const { propagation, onCloseClick } = this.props;\n !propagation && inEvent.stopPropagation();\n onCloseClick?.(inEvent);\n };\n\n render() {\n const {\n className,\n value,\n onChange,\n onCloseClick,\n children,\n closeable,\n toggleable,\n propagation,\n ...props\n } = this.props;\n const _value = this.state.value;\n\n return (\n <CheckableTag\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n checked={_value}\n {...props}>\n {children}\n {this.closeIcon}\n </CheckableTag>\n );\n }\n}\n\nexport const AcCheckableTagFc = (props: AcCheckableTagProps) => {\n return <AcCheckableTag {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Button, Space } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { AcCheckableTag } from './checkable-tag';\nimport type { AppLocale, StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-tag-list';\nconst locales = {\n 'zh-CN': { selectAll: '全部' },\n 'en-US': { selectAll: 'All' },\n};\n\nexport type AcCheckableTagListProps = {\n /**\n * Main className.\n */\n className?: string;\n /**\n * The language key.\n */\n lang?: AppLocale;\n /**\n * The component data soruce.\n */\n items?: any[];\n /**\n * Runtime value.\n */\n value?: any[];\n /**\n * The event handler for `change`.\n */\n onChange?: StdCallback;\n /**\n * The disabled state.\n */\n disabled?: boolean;\n};\n\nexport class AcCheckableTagList extends React.Component<AcCheckableTagListProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n lang: 'zh-CN',\n value: [],\n };\n\n state = {\n value: this.props.value,\n };\n\n t = (inKey: string) => {\n const { lang } = this.props;\n return locales[lang!][inKey] || inKey;\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckableTagListProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n handleClearAll = () => {\n this.handleChange([]);\n };\n\n render() {\n const { className, items, value, onChange, disabled, ...props } = this.props;\n const label = this.t('selectAll');\n\n return (\n <Space direction=\"horizontal\" className={cx(CLASS_NAME, className)}>\n <Button\n disabled={disabled}\n size=\"small\"\n onClick={this.handleClearAll}\n className=\"ac-is-aside\">\n {label}\n </Button>\n <ReactList\n items={items || []}\n template={({ item, index }) => {\n const _value = this.state.value as any[];\n const isChecked = _value?.includes(item.value);\n return (\n <AcCheckableTag\n className=\"ac-is-item\"\n toggleable\n closeable\n propagation\n disabled={disabled}\n value={isChecked}\n onChange={(inEvent) => {\n const checked = inEvent.target.value;\n const curSet = new Set([..._value]);\n const method = checked ? 'add' : 'delete';\n curSet[method](item.value);\n // @ts-ignore\n this.handleChange([...curSet]);\n }}\n key={index}>\n {item.label}\n </AcCheckableTag>\n );\n }}\n {...props}\n />\n </Space>\n );\n }\n}\n\nexport const AcCheckableTagListFc = (props: AcCheckableTagListProps) => {\n return <AcCheckableTagList {...props} />;\n};\n","import { Checkbox, CheckboxProps } from 'antd';\nimport cx from 'classnames';\nimport React, { HTMLAttributes } from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkbox';\n\nexport type AcCheckboxProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & CheckboxProps &\n HTMLAttributes<any>;\n\nexport class AcCheckbox extends React.Component<AcCheckboxProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckboxProps>): boolean {\n const { value } = nextProps;\n if (value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { checked } = inEvent.target;\n const { onChange } = this.props;\n const target = { value: checked };\n\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n render() {\n const { className, onChange, value, defaultValue, ...props } = this.props;\n const _value = this.state.value;\n\n return (\n <Checkbox\n className={cx(CLASS_NAME, className)}\n checked={_value}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcCheckboxFc = (props: AcCheckboxProps) => {\n return <AcCheckbox {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Checkbox } from 'antd';\nimport { CheckboxGroupProps } from 'antd/es/checkbox';\nimport cx from 'classnames';\nimport React from 'react';\nimport { checkboxKv } from '../tpls/kv';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkbox-group';\n\nexport type AcCheckboxGroupProps = {\n className?: string;\n value?: any[];\n items?: any[];\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n} & CheckboxGroupProps;\n\nexport class AcCheckboxGroup extends React.Component<AcCheckboxGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n value: [],\n template: checkboxKv,\n };\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckboxGroupProps>): boolean {\n const { value } = nextProps;\n const isNewValue = nextProps.value !== this.props.value;\n if (isNewValue && this.state.value !== value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange, onSearch } = this.props;\n const target = { value: inEvent };\n const stdEvent = { target };\n this.setState(target, () => {\n onChange?.(stdEvent);\n onSearch?.(stdEvent);\n });\n };\n\n render() {\n const { className, items, template, onChange, onSearch, children, value, ...props } =\n this.props;\n const { value: stateValue } = this.state;\n\n return (\n <Checkbox.Group\n className={cx(CLASS_NAME, className)}\n value={stateValue}\n onChange={this.handleChange}\n {...props}>\n <ReactList items={items || []} template={template} />\n </Checkbox.Group>\n );\n }\n}\n\nexport const AcCheckboxGroupFc = (props: AcCheckboxGroupProps) => {\n return <AcCheckboxGroup {...props} />;\n};\n","import React from 'react';\nimport { Checkbox, Select, Radio, Tree, TreeSelect } from 'antd';\n\ninterface Options {\n component: React.ComponentType<any>;\n value?: string;\n label?: string;\n\n [key: string]: any;\n}\n\nconst defaults = {\n value: 'value',\n label: 'label',\n};\n\n/**\n * KV component template, for key-value pair.\n * @param item\n * @param index\n * @param options\n */\nexport const kv = ({ item, index }, options: Options) => {\n const opts = { ...defaults, ...options };\n const { component: Component, value, label, ...rest } = opts;\n const val = item[value];\n const children = item[label];\n\n return (\n <Component key={index} value={val} {...rest}>\n {children}\n </Component>\n );\n};\n\n// checkboxKv\nexport const checkboxKv = (args) => {\n return kv(args, {\n component: Checkbox,\n });\n};\n\n// selectKv\nexport const selectKv = (args) => {\n return kv(args, {\n component: Select.Option,\n });\n};\n\n// radioKv\nexport const radioKv = (args, opts) => {\n const { isButton, ...otherProps } = opts || {};\n const RadioComponent = isButton ? Radio.Button : Radio;\n const radioProps = isButton ? otherProps : {};\n\n return kv(args, {\n component: RadioComponent,\n ...radioProps,\n });\n};\n\nexport const treeKv = ({ item }, cb) => {\n const { value, label, ...rest } = item;\n return (\n <Tree.TreeNode key={value} title={label} {...rest}>\n {cb?.()}\n </Tree.TreeNode>\n );\n};\n\nexport const treeSelectKv = ({ item }, cb) => {\n const { value, label } = item;\n return <TreeSelect.TreeNode key={value} value={value} title={label} children={cb?.()} />;\n};\n","import React from 'react';\nimport ReactCodeFlask from '@jswork/react-codeflask';\n\nconst CLASS_NAME = 'ac-codeflask';\n\nexport class AcCodeFlask extends React.Component {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n };\n\n render() {\n return <ReactCodeFlask {...this.props} />;\n }\n}\n\nexport const AcCodeFlaskFc = (props) => {\n return <AcCodeFlask {...props} />;\n};\n\n","import { ColorPicker, ColorPickerProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-color-picker';\n\nexport type AcColorPickerProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback<string>;\n} & Omit<ColorPickerProps, 'value' | 'onChange'>;\n\nexport class AcColorPicker extends React.Component<AcColorPickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = { value: this.props.value };\n\n shouldComponentUpdate(inProps: Readonly<AcColorPickerProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inColor) => {\n const { onChange } = this.props;\n const value = inColor ? inColor.toHexString() : '';\n const target = { value };\n this.setState({ value });\n onChange!({ target });\n };\n\n handleClear = () => {\n const { onChange } = this.props;\n const target = { value: '' };\n this.setState({ value: '' });\n onChange?.({ target });\n };\n\n render() {\n const { className, value, onChange, onClear, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <ColorPicker\n className={cx(CLASS_NAME, className)}\n value={stateValue || undefined}\n onChange={this.handleChange}\n onClear={this.handleClear}\n {...props}\n />\n );\n }\n}\n\nexport const AcColorPickerFc = (props: AcColorPickerProps) => {\n return <AcColorPicker {...props} />;\n};\n","import type { ButtonProps, PopconfirmProps } from 'antd';\nimport { Button, message, Popconfirm } from 'antd';\nimport cx from 'classnames';\nimport React, { Component } from 'react';\nimport type { AppLocale } from './types';\n\nconst CLASS_NAME = 'ac-confirm-button';\nconst locals = {\n 'zh-CN': {\n title: '确认执行这个操作?',\n msgCancel: '您取消了操作~',\n },\n 'en-US': {\n title: 'Are you sure to do this?',\n msgCancel: 'You canceled the operation~',\n },\n};\n\nexport interface AcConfirmButtonProps extends Omit<PopconfirmProps, 'title'> {\n className?: string;\n lang?: AppLocale;\n title?: string;\n type?: ButtonProps['type'] | 'raw' | 'anchor';\n childProps?: ButtonProps;\n onClick?: React.MouseEventHandler<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport class AcConfirmButton extends Component<AcConfirmButtonProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n\n static defaultProps = {\n lang: 'zh-CN',\n type: 'link',\n childProps: {},\n };\n\n get computedChildren() {\n const { type, children, childProps } = this.props;\n switch (type) {\n case 'raw':\n return children;\n case 'anchor':\n return <a {...childProps}>{children}</a>;\n default:\n return (\n <Button type={type} size=\"small\" {...childProps}>\n {children}\n </Button>\n );\n }\n }\n\n handleCancel = () => {\n void message.info(this.t('msgCancel'));\n };\n\n t = (key: string) => {\n const { lang } = this.props;\n return nx.get(locals, `${lang}.${key}`, key);\n };\n\n render() {\n const {\n className,\n onClick,\n type,\n children,\n childProps,\n lang,\n title: _title,\n ...props\n } = this.props;\n\n const title = _title || locals[lang!].title;\n\n return (\n <Popconfirm\n title={title}\n onConfirm={(e) => onClick?.(e as any)}\n onCancel={this.handleCancel}\n className={cx(CLASS_NAME, className)}\n {...props}>\n {this.computedChildren}\n </Popconfirm>\n );\n }\n}\n","import React from 'react';\nimport dayjs from 'dayjs';\nimport { DatePicker, DatePickerProps } from 'antd';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-date-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\nexport type AcDatePickerProps = Omit<DatePickerProps, 'value' | 'onChange' | 'ref'> & {\n className?: string;\n value?: any;\n onChange?: StdCallback<string>;\n};\n\nconst DATA_FORMAT_HOOKS = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n time: 'HH:mm:ss',\n};\n\nexport class AcDatePicker extends React.Component<AcDatePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps: AcDatePickerProps = {\n format: STD_FORMAT,\n };\n\n get valueFormat() {\n const { format } = this.props;\n return DATA_FORMAT_HOOKS[format as 'string'] || format;\n }\n\n get value() {\n const { value } = this.props;\n const fmt = this.valueFormat;\n\n if (value == null || value === '') return null;\n if (typeof value === 'string') return dayjs(value, fmt);\n return value;\n }\n\n handleChange = (value) => {\n const { onChange } = this.props;\n const _value = value ? dayjs(value).format(this.valueFormat) : '';\n const _event = { target: { value: _value } };\n onChange?.(_event);\n };\n\n render() {\n const { className, format, value, onChange, ...rest } = this.props;\n\n return (\n <DatePicker className={cx(CLASS_NAME, className)} value={this.value} onChange={this.handleChange} {...rest} />\n );\n }\n}\n\nexport const AcDatePickerFc = (props: AcDatePickerProps) => {\n return <AcDatePicker {...props} />;\n};\n\n\n","import '@jswork/next-dom-event';\nimport '@jswork/next-unique';\nimport { Button, Tag } from 'antd';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React, { createRef } from 'react';\nimport AutosizeInput from 'react-input-autosize';\nimport { AcInteractiveList } from './interactive-list';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\n\nexport type AcEditableTagGroupProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * Default value.\n */\n value?: any[];\n /**\n * The change handler.\n */\n onChange?: StdCallback;\n /**\n * The minimum tag number.\n */\n min?: number;\n /**\n * The maximum tags number.\n */\n max?: number;\n /**\n * If set readOnly.\n */\n readOnly?: boolean;\n /**\n * If set disabled.\n */\n disabled?: boolean;\n /**\n * Trigger key, default is `Space`.\n */\n triggers?: string[];\n};\n\nexport class AcEditableTagGroup extends React.Component<AcEditableTagGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n min: 0,\n max: 10,\n triggers: [' ', 'Tab'],\n };\n\n private inputRef = createRef<HTMLInputElement>();\n private btnRef = createRef<HTMLButtonElement>();\n private rootForwardedRef = createRef<HTMLDivElement>();\n private rootRef = createRef<any>();\n private imeStartRes;\n private imeEndRes;\n\n get latestInput(): HTMLInputElement {\n const root = this.rootForwardedRef.current!;\n const selector = `.${CLASS_NAME}__input input`;\n const els: NodeListOf<HTMLInputElement> = root.querySelectorAll(selector);\n return els[els.length - 1];\n }\n\n state = {\n value: this.props.value,\n ime: false,\n };\n\n template = ({ item, index }, cb) => {\n // TODO: tag.cloable will create ant-tag-hidden?\n const { readOnly } = this.props;\n return (\n <Tag key={index}>\n <AutosizeInput\n ref={this.inputRef}\n type=\"text\"\n size=\"small\"\n value={item}\n disabled={readOnly}\n readOnly={readOnly}\n className={`${CLASS_NAME}__input`}\n onChange={this.handleInputChange.bind(this, index)}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleInputKeyDown}\n />\n {!readOnly && <i className={`${CLASS_NAME}__close`} onClick={cb}></i>}\n </Tag>\n );\n };\n\n templateCreate = () => {\n const { readOnly } = this.props;\n if (readOnly) return null;\n return (\n <Button\n ref={this.btnRef}\n size=\"small\"\n type=\"dashed\"\n onClick={this.actionCreate}\n className={`${CLASS_NAME}__create`}>\n <i className={`${CLASS_NAME}__plus`}></i>\n 新增\n </Button>\n );\n };\n\n /**\n * Default item's value.\n */\n templateDefault = () => {\n return '';\n };\n\n /**\n * Add new default item.\n */\n actionCreate = () => {\n const { value } = this.state;\n value!.push(this.templateDefault());\n this.handleChange(value);\n this.rootRef.current!.notify(value);\n this.actionFocusLast();\n };\n\n /**\n * Focus latest input element if exists.\n * @param inDelay\n */\n actionFocusLast = (inDelay?: number) => {\n const delay = inDelay || 100;\n setTimeout(() => {\n this.latestInput?.focus();\n }, delay);\n };\n\n handleInputChange = (inIndex, inEvent) => {\n const { value } = this.state;\n value![inIndex] = inEvent.target.value;\n this.handleChange(value);\n };\n\n handleInputBlur = () => {\n let { value } = this.state;\n const len = value?.length;\n setTimeout(() => {\n value = nx.unique(value || []);\n if (document.activeElement !== this.latestInput) {\n value = value?.filter(Boolean);\n }\n this.handleChange(value);\n if (value?.length !== len) {\n this.actionFocusLast(100);\n }\n }, 10);\n };\n\n handleInputKeyDown = (inEvent) => {\n const { triggers } = this.props;\n const { ime } = this.state;\n if (triggers?.includes(inEvent.key)) {\n if (inEvent.key === ' ' && ime) return;\n inEvent.preventDefault();\n this.actionCreate();\n }\n };\n\n handleInterChange = (inEvent) => {\n const { value } = inEvent.target;\n this.handleChange(value);\n };\n\n handleChange = (inValue, inCallback?) => {\n const { onChange } = this.props;\n const value = inValue.map((item) => item.trim());\n const target = { value };\n this.setState(target, () => {\n onChange!({ target });\n inCallback?.(value);\n });\n };\n\n componentDidMount() {\n const doc = document as any;\n this.imeStartRes = nx.DomEvent.on(doc, 'compositionstart', () => this.setState({ ime: true }));\n this.imeEndRes = nx.DomEvent.on(doc, 'compositionend', () => this.setState({ ime: false }));\n }\n\n componentWillUnmount() {\n this.imeStartRes.destroy();\n this.imeEndRes.destroy();\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcEditableTagGroupProps>): boolean {\n const { value } = nextProps;\n if (!deepEqual(value, this.props.value)) {\n this.setState({ value: value!.slice() });\n }\n return true;\n }\n\n render() {\n const { className, value, onChange, min, max, triggers, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <AcInteractiveList\n className={cx(CLASS_NAME, className)}\n forwardedRef={this.rootForwardedRef}\n ref={this.rootRef}\n min={min}\n max={max}\n items={stateValue}\n template={this.template}\n templateCreate={this.templateCreate}\n templateDefault={this.templateDefault}\n onChange={this.handleInterChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcEditableTagGroupFc = (props: AcEditableTagGroupProps) => {\n return <AcEditableTagGroup {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React, { Component, HTMLAttributes } from 'react';\nimport type { StdCallback, StdEventTarget, TemplateCallbackWithItems } from './types';\n\nconst CLASS_NAME = 'ac-interactive-list';\n\nexport type ReactInteractiveListProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * The minimum size.\n */\n min: number;\n /**\n * The max size.\n */\n max: number;\n /**\n * The data source.\n */\n items: any[];\n /**\n * The data item template.\n */\n template: TemplateCallback;\n /**\n * The action of `create` component.\n */\n templateCreate: (...args) => React.ReactNode;\n /**\n * The empty create template.\n */\n templateDefault: () => React.ReactNode;\n /**\n * The change handler.\n */\n onChange: StdCallback;\n /**\n * When trigger max/min boundary.\n */\n onError: StdCallback;\n /**\n * Forwards a ref to the underlying div element.\n */\n forwardedRef: any;\n} & HTMLAttributes<any>;\n\ninterface ReactInteractiveListState {\n value: any[];\n}\n\nclass ReactInteractiveList extends Component<ReactInteractiveListProps, ReactInteractiveListState> {\n static displayName = CLASS_NAME;\n static defaultProps = {\n min: 0,\n max: 10,\n items: [],\n };\n\n get length() {\n const { value } = this.state;\n return value.length;\n }\n\n get isLteMin() {\n const { min } = this.props;\n return this.length <= min;\n }\n\n get isGteMax() {\n const { max } = this.props;\n return this.length >= max;\n }\n\n get listView() {\n const { value } = this.state;\n return <ReactList items={value} template={this.template} />;\n }\n\n get createView() {\n const { value } = this.state;\n const { templateCreate, templateDefault } = this.props;\n const cb = () => {\n if (this.isGteMax) return;\n value.push(templateDefault());\n this.handleChange(value);\n };\n return templateCreate({ items: value }, cb);\n }\n\n constructor(inProps) {\n super(inProps);\n const { items } = inProps;\n this.state = { value: [...items] };\n }\n\n shouldComponentUpdate(inProps) {\n const { items } = inProps;\n const isEqual = deepEqual(this.state.value, items);\n if (!isEqual) {\n this.setState({ value: [...items] });\n }\n return true;\n }\n\n template = ({ item, index }) => {\n const { template } = this.props;\n const { value } = this.state;\n const cb = () => {\n if (this.isLteMin) return;\n value.splice(index, 1);\n this.handleChange(value);\n };\n return template({ item, index, items: value }, cb);\n };\n\n handleChange = (inValue) => {\n const { onChange, onError, min, max } = this.props;\n const target = { value: inValue };\n this.setState(target, () => {\n onChange({ target });\n this.length < min && onError({ target: { value: 'EQ_MIN' } });\n this.length > max && onError({ target: { value: 'EQ_MAX' } });\n });\n };\n\n notify = (inValue) => {\n this.handleChange(inValue);\n };\n\n render() {\n const {\n className,\n forwardedRef,\n min,\n max,\n items,\n template,\n templateCreate,\n templateDefault,\n onChange,\n onError,\n ...props\n } = this.props;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={forwardedRef} {...props}>\n {this.listView}\n {this.createView}\n </div>\n );\n }\n}\n\nexport const AcInteractiveList = React.forwardRef((props: any, ref) => {\n return <ReactInteractiveList {...props} ref={ref} />;\n});\n","import { Input, InputProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input';\n\nexport type AcInputProps = {\n className?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n} & InputProps;\n\nexport class AcInput extends React.Component<AcInputProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n };\n\n state = { value: this.props.value };\n\n shouldComponentUpdate(inProps: Readonly<AcInputProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const { value } = inEvent.target;\n const target = { value };\n this.setState(target);\n onChange?.({ target });\n };\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n render() {\n const { className, value, autoComplete, onChange, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <Input\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n value={stateValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcInputFc = (props: AcInputProps) => {\n return <AcInput {...props} />;\n};\n","import { LinkOutlined } from '@ant-design/icons';\nimport { Space, Typography } from 'antd';\nimport cx from 'classnames';\nimport { ValueType } from 'rc-input/lib/interface';\nimport React from 'react';\nimport { AcInput, AcInputProps } from './input';\n\nconst CLASS_NAME = 'ac-input-copyable';\n\nexport type AcInputCopyableValueType = 'text' | 'link';\n\nexport interface AcInputCopyableProps extends AcInputProps {\n valueType?: AcInputCopyableValueType;\n}\n\ninterface AcInputCopyableState {\n value?: ValueType;\n}\n\nexport class AcInputCopyable extends React.Component<AcInputCopyableProps, AcInputCopyableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n valueType: 'text',\n };\n\n constructor(props: AcInputCopyableProps) {\n super(props);\n this.state = {\n value: props.value || '',\n };\n }\n\n get copyView() {\n const { value } = this.state;\n return <Typography.Text copyable={{ text: String(value) }} />;\n }\n\n get linkView() {\n const { value } = this.state;\n if (!value) return null;\n return (\n <LinkOutlined\n onClick={() => window.open(String(value), '_blank')}\n style={{ cursor: 'pointer', fontSize: 14 }}\n />\n );\n }\n\n shouldComponentUpdate(props: Readonly<AcInputProps>): boolean {\n const { value } = props;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleInputChange = (e) => {\n const { onChange } = this.props;\n const { value } = e.target;\n this.setState({ value });\n onChange?.(e);\n };\n\n render() {\n const { onChange, className, valueType = 'text', ...rest } = this.props;\n\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <AcInput onChange={this.handleInputChange} {...rest} />\n <Space.Addon>{this.copyView}</Space.Addon>\n {valueType === 'link' && <Space.Addon>{this.linkView}</Space.Addon>}\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputCopyableFc = (props: AcInputCopyableProps) => {\n return <AcInputCopyable {...props} />;\n};\n","import React from 'react';\nimport { InputProps } from 'antd';\n\nconst CLASS_NAME = 'ac-input-hidden';\n\nexport class AcInputHidden extends React.Component {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n render() {\n return <input type=\"hidden\" {...this.props} />;\n }\n}\n\nexport const AcInputHiddenFc = (props: InputProps) => {\n return <AcInputHidden {...props} />;\n};\n\n","import { InputNumber, InputNumberProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-number';\n\nexport type AcInputNumberProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & InputNumberProps;\n\nexport class AcInputNumber extends React.Component<AcInputNumberProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(inProps: Readonly<AcInputNumberProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target);\n onChange?.({ target });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { value: stateValue } = this.state;\n return (\n <InputNumber\n className={cx(CLASS_NAME, className)}\n value={stateValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcInputNumberFc = (props: AcInputNumberProps) => {\n return <AcInputNumber {...props} />;\n};\n","import { Tag } from 'antd';\nimport cx from 'classnames';\nimport fde from 'fast-deep-equal';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-tags';\nconst TRIGGER_KEYS = ['Tab', 'Enter', 'Space'];\n\n// @ https://cdpn.io/iamqamarali/fullpage/qyawoR?anon=true&view=\n\nexport type AcInputTagsProps = {\n className?: string;\n items?: string[];\n disabled?: boolean;\n onChange?: StdCallback;\n} & React.HTMLAttributes<HTMLDivElement>;\n\ntype State = {\n items?: string[];\n inputValue: string;\n isComposite: boolean;\n};\n\nexport class AcInputTags extends React.Component<AcInputTagsProps, State> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n disabled: false,\n };\n\n inputRef = React.createRef<HTMLInputElement>();\n\n constructor(inProps) {\n super(inProps);\n const { items } = inProps;\n this.state = {\n items,\n isComposite: false,\n inputValue: '',\n };\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcInputTagsProps>): boolean {\n const { items } = nextProps;\n if (!fde(items, this.props.items)) {\n this.setState({ items });\n }\n return true;\n }\n\n handleInputChange = (inEvent) => {\n const { value } = inEvent.target;\n this.setState({ inputValue: value });\n };\n\n handleInputKeyAction = (inEvent) => {\n const { code } = inEvent;\n const { value } = inEvent.target;\n const { items, isComposite } = this.state;\n const val = value.trim();\n const idx = items!.length - 1;\n inEvent.stopPropagation();\n\n if (isComposite) return false;\n if (code === 'Backspace') return this.handleTagRemove(idx);\n if (code === 'Tab') inEvent.preventDefault();\n if (TRIGGER_KEYS.includes(code)) {\n if (val) {\n if (!items!.includes(val)) {\n items!.push(val);\n this.setState({ inputValue: '' });\n this.execChange(items!);\n }\n }\n }\n };\n\n handleTagRemove = (inIndex, inForce?: boolean) => {\n const { disabled } = this.props;\n const { items, inputValue } = this.state;\n if (disabled) return;\n const newItems = items!.filter((_, idx) => idx !== inIndex);\n if (!inputValue || inForce) this.execChange(newItems);\n };\n\n handleMouseEnter = () => {\n this.inputRef.current?.focus();\n };\n\n execChange = (inItems) => {\n const { onChange } = this.props;\n this.setState({ items: (inItems || []).slice(0) }, () => {\n this.inputRef.current?.focus();\n onChange?.({ target: { value: inItems } });\n });\n };\n\n render() {\n const { className, onChange, disabled, ...props } = this.props;\n const { items, inputValue } = this.state;\n\n return (\n <div\n data-disabled={disabled}\n className={cx(CLASS_NAME, className)}\n onMouseOver={this.handleMouseEnter}\n onClick={this.handleMouseEnter}\n {...props}>\n {items!.map((item, idx) => {\n return (\n <Tag\n data-disabled={disabled}\n className={`${CLASS_NAME}__tag`}\n closeIcon\n onClose={this.handleTagRemove.bind(this, idx, true)}\n key={idx}>\n {item}\n </Tag>\n );\n })}\n <input\n disabled={disabled}\n autoFocus\n ref={this.inputRef}\n onCompositionStart={() => this.setState({ isComposite: true })}\n onCompositionEnd={() => this.setState({ isComposite: false })}\n onInput={this.handleInputChange}\n onKeyDown={this.handleInputKeyAction}\n value={inputValue}\n className={cx(`${CLASS_NAME}__input`, className)}\n />\n </div>\n );\n }\n}\n\nexport const AcInputTagsFc = (props: AcInputTagsProps) => {\n return <AcInputTags {...props} />;\n};\n","import { LockOutlined, UnlockOutlined } from '@ant-design/icons';\nimport { Button, Input, InputProps, Space } from 'antd';\nimport cx from 'classnames';\nimport { nanoid } from 'nanoid';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-token';\n\nexport type AcInputTokenProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n labelCreate?: string;\n labelRemove?: string;\n} & InputProps;\n\nexport class AcInputToken extends React.Component<AcInputTokenProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n labelCreate: '生成Token',\n labelRemove: '去掉Token',\n };\n\n private rootRef = React.createRef<any>();\n state = { value: this.props.value };\n\n shouldComponentUpdate(nextProps: Readonly<AcInputTokenProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n get tokenView() {\n const { labelCreate, labelRemove } = this.props;\n return (\n <Space.Compact>\n <Button\n size=\"small\"\n icon={<LockOutlined />}\n className={`${CLASS_NAME}__action`}\n onClick={this.handleTokenCreate}>\n {labelCreate}\n </Button>\n <Button\n size=\"small\"\n icon={<UnlockOutlined />}\n className={`${CLASS_NAME}__action`}\n onClick={this.handleTokenRemove}>\n {labelRemove}\n </Button>\n </Space.Compact>\n );\n }\n\n handleTokenCreate = () => {\n this.doChange(nanoid());\n };\n\n handleTokenRemove = () => {\n this.doChange('');\n };\n\n handleChange = (inEvent) => {\n const { value } = inEvent.target;\n this.doChange(value);\n this.rootRef.current.input.focus();\n };\n\n doChange = (inValue) => {\n const { onChange } = this.props;\n const target = { value: inValue };\n this.setState(target);\n onChange?.({ target });\n };\n\n render() {\n const { className, value, autoComplete, onChange, labelCreate, labelRemove, ...props } =\n this.props;\n\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <Input\n ref={this.rootRef}\n value={this.state.value}\n onChange={this.handleChange}\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n {...props}\n />\n <Space.Addon>{this.tokenView}</Space.Addon>\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputTokenFc = (props: AcInputTokenProps) => {\n return <AcInputToken {...props} />;\n};\n","import MarkdownEditor from '@uiw/react-markdown-editor';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-markdown-editor';\n\nexport type AcMarkdownEditorProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback;\n} & React.ComponentProps<typeof MarkdownEditor>;\n\nexport class AcMarkdownEditor extends React.Component<AcMarkdownEditorProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inValue: string) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inValue } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n // 确保 value 不是 null 或 undefined\n const safeValue = value ?? '';\n\n return (\n <MarkdownEditor\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n value={safeValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcMarkdownEditorFc = (props: AcMarkdownEditorProps) => {\n return <AcMarkdownEditor {...props} />;\n};\n","import cx from 'classnames';\nimport React from 'react';\nimport { AcInput } from './input';\nimport { AcSelect } from './select';\nimport { AcSearch } from './search';\n\nconst CLASS_NAME = 'ac-pre-select';\nconst DEFAULT_VALUE = { option: null, keyword: '' };\n\nexport interface Value {\n option: string;\n keyword: string;\n}\n\nexport type AcPreSelectProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * Default value.\n */\n value?: Value;\n /**\n * Select options.\n */\n items?: any[];\n /**\n * The change handler.\n */\n onChange?: Function;\n /**\n * The handler for search.\n */\n onSearch?: Function;\n /**\n * If use search input.\n */\n searchable?: boolean;\n /**\n * The prefix select options.\n */\n selectOptions?: any;\n /**\n * The suffix input options.\n */\n inputOptions?: any;\n};\n\nexport class AcPreSelect extends React.Component<AcPreSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static version = '__VERSION__';\n static defaultProps = {\n searchable: false,\n };\n\n state = { value: this.props.value };\n\n get addonView() {\n const { items, selectOptions } = this.props;\n const { value } = this.state;\n\n return (\n <AcSelect\n value={value?.option}\n items={items}\n onChange={this.handleChange.bind(this, 'option')}\n {...selectOptions}\n />\n );\n }\n\n handleFiledAction = (inField, inEvent, inCallback) => {\n const { value } = this.state;\n const _value = value || DEFAULT_VALUE;\n _value![inField] = inEvent.target.value;\n const target = { value: _value };\n this.setState(target);\n inCallback!({ target });\n };\n\n handleChange = (inField, inEvent) => {\n this.handleFiledAction(inField, inEvent, this.props.onChange);\n if (inField === 'option') {\n this.handleFiledAction(inField, inEvent, this.props.onSearch);\n }\n };\n\n handleSearch = (inField, inEvent) => {\n this.handleFiledAction(inField, inEvent, this.props.onSearch);\n };\n\n render() {\n const {\n className,\n value,\n onChange,\n onSearch,\n searchable,\n selectOptions,\n inputOptions,\n ...props\n } = this.props;\n\n const AsTag = searchable ? AcSearch : AcInput;\n const _value = this.state.value;\n const computedProps = searchable\n ? { onSearch: this.handleSearch.bind(this, 'keyword') }\n : null;\n\n return (\n <AsTag\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n addonBefore={this.addonView}\n value={_value?.keyword}\n onChange={this.handleChange.bind(this, 'keyword')}\n {...computedProps}\n {...props}\n {...inputOptions}\n />\n );\n }\n}\n\n\nexport const AcPreSelectFc = (props: AcPreSelectProps) => {\n return <AcPreSelect {...props} />;\n};\n\n","import ReactList from '@jswork/react-list';\nimport { Select, SelectProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { kv as KvTmpl, selectKv } from '../tpls/kv';\nimport type { StdCallback, StdEventTarget, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-select';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\nexport type AcSelectProps = {\n className?: string;\n items?: any[];\n kv?: Record<string, string>;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n} & Omit<SelectProps, 'options'>;\n\nexport class AcSelect extends React.Component<AcSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n placeholder: '请选择',\n items: [],\n kv: DEFAULT_KV,\n template: selectKv,\n };\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcSelectProps>): boolean {\n const { value } = nextProps;\n const isNewValue = this.props.value !== value;\n if (isNewValue && value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inValue) => {\n const { onChange, onSearch } = this.props;\n const target = { value: inValue };\n const stdEvent: StdEventTarget = { target: { value: inValue } };\n this.setState(target, () => {\n onChange?.(stdEvent);\n onSearch?.(stdEvent);\n });\n };\n\n template = (args) => {\n const { template, kv } = this.props;\n if (kv === DEFAULT_KV) return template!(args);\n return KvTmpl(args, {\n component: Select.Option,\n ...kv,\n });\n };\n\n render() {\n const { className, onChange, onSearch, value, template, ...props } = this.props;\n const { value: _value } = this.state;\n const asProps = {\n onChange: this.handleChange,\n value: _value,\n } as any;\n\n return (\n <ReactList\n allowEmpty\n as={Select}\n className={cx(CLASS_NAME, className)}\n template={this.template}\n {...asProps}\n {...props}\n />\n );\n }\n}\n\nexport const AcSelectFc = (props: AcSelectProps) => {\n return <AcSelect {...props} />;\n};\n","import React from 'react';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { SearchProps } from 'antd/es/input';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-search';\n\nexport type AcSearchProps = {\n value?: string;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n autoComplete?: boolean;\n} & SearchProps;\n\nexport class AcSearch extends React.Component<AcSearchProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n placeholder: '输入关键字搜索',\n };\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n handleSearch = (inEvent) => {\n const { onSearch } = this.props;\n onSearch?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, autoComplete, onSearch, ...props } = this.props;\n return (\n <Input.Search\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n onSearch={this.handleSearch}\n {...props}\n />\n );\n }\n}\n\nexport const AcSearchFc = (props: AcSearchProps) => {\n return <AcSearch {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Radio, RadioGroupProps } from 'antd';\nimport cx from 'classnames';\nimport React, { HTMLAttributes } from 'react';\nimport { radioKv } from '../tpls/kv';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-radio-group';\n\nexport type AcRadioGroupProps = {\n className?: string;\n value?: any;\n defaultValue?: any;\n items?: any[];\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n templateOptions?: any;\n buttonStyle?: 'solid' | 'outline';\n} & RadioGroupProps &\n HTMLAttributes<any>;\n\nexport class AcRadioGroup extends React.Component<AcRadioGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: radioKv,\n };\n\n get templateCallback() {\n const { template, templateOptions } = this.props;\n return (item) => template!(item, templateOptions);\n }\n\n state = { value: this.props.value };\n\n static getDerivedStateFromProps(inProps: Readonly<AcRadioGroupProps>, inState: any) {\n const { value } = inProps;\n if (value !== inState.value) return { value };\n return null;\n }\n\n handleChange = (inEvent) => {\n const { onChange, onSearch } = this.props;\n const { value } = inEvent.target;\n const target = { value };\n this.setState(target);\n onChange?.({ target });\n onSearch?.({ target });\n };\n\n render() {\n const { className, items, template, templateOptions, onChange, onSearch, ...props } =\n this.props;\n\n return (\n <Radio.Group className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props}>\n <ReactList items={items || []} template={this.templateCallback} />\n </Radio.Group>\n );\n }\n}\n\nexport const AcRadioGroupFc = (props: AcRadioGroupProps) => {\n return <AcRadioGroup {...props} />;\n};\n","import { DatePicker } from 'antd';\nimport { RangePickerProps } from 'antd/es/date-picker';\nimport cx from 'classnames';\nimport moment from 'dayjs';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-range-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\nconst { RangePicker } = DatePicker;\n\nexport type AcRangePickerProps = {\n className?: string;\n value?: any;\n defaultValue?: any;\n onChange?: StdCallback;\n} & RangePickerProps;\n\nexport class AcRangePicker extends React.Component<AcRangePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n format: STD_FORMAT,\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: this.stringify(inEvent) } });\n };\n\n parse = (inValue) => {\n const { format } = this.props;\n return inValue.map((item) => moment(item, format as string));\n };\n\n stringify = (inValue) => {\n if (!inValue) return [];\n const { format } = this.props;\n return inValue.map((item) => item.format(format as string));\n };\n\n render() {\n const { className, defaultValue, value, onChange, ...props } = this.props;\n if (defaultValue) props['defaultValue'] = this.parse(defaultValue);\n if (value) props['value'] = this.parse(value);\n\n return (\n <RangePicker className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />\n );\n }\n}\n\nexport const AcRangePickerFc = (props: AcRangePickerProps) => {\n return <AcRangePicker {...props} />;\n};\n","import { Rate, RateProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-rate';\n\nexport type AcRateProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & RateProps;\n\nexport class AcRate extends React.Component<AcRateProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return <Rate className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />;\n }\n}\n\nexport const AcRateFc = (props: AcRateProps) => {\n return <AcRate {...props} />;\n};\n","import { Slider, SliderSingleProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-slider';\n\nexport type AcSliderProps = {\n className?: string;\n onChange?: StdCallback;\n} & SliderSingleProps;\n\nexport class AcSlider extends React.Component<AcSliderProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return <Slider className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />;\n }\n}\n\nexport const AcSliderFc = (props: AcSliderProps) => {\n return <AcSlider {...props} />;\n};\n","import { Slider } from 'antd';\nimport { SliderRangeProps } from 'antd/es/slider';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-slider-range';\n\nexport type AcSliderRangeProps = {\n className?: string;\n range?: true;\n onChange?: StdCallback;\n} & Omit<SliderRangeProps, 'range'>;\n\nexport class AcSliderRange extends React.Component<AcSliderRangeProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, range, onChange, ...props } = this.props;\n return (\n <Slider\n range={true}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSliderRangeFc = (props: AcSliderRangeProps) => {\n return <AcSliderRange {...props} />;\n};\n","import { Switch, SwitchProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-switch';\n\nexport type AcSwitchProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & SwitchProps;\n\nexport class AcSwitch extends React.Component<AcSwitchProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: Boolean(this.props.value),\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcSwitchProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (value) => {\n const { onChange } = this.props;\n const target = { value };\n this.setState(target, () => onChange?.({ target }));\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const _value = this.state.value;\n\n return (\n <Switch\n checked={_value}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSwitchFc = React.forwardRef<AcSwitch, AcSwitchProps>((props, ref) => {\n return <AcSwitch {...props} ref={ref} />;\n});\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-03 07:11:26\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-11-01 10:44:40\n *\n *\n * 路由风格: /{module}/{name} eg: /admin/staff-roles\n * API资源风格: {module}_{name}_index eg: admin_staff-roles_index\n */\nimport type { EventMittNamespace } from '@jswork/event-mitt';\nimport { ReactHarmonyEvents } from '@jswork/harmony-events';\nimport nx from '@jswork/next';\nimport '@jswork/next-compact-object';\nimport '@jswork/next-create-fetcher';\nimport '@jswork/next-tmpl';\nimport UrlSyncFlat from '@jswork/url-sync-flat';\nimport { Table, TableProps } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React from 'react';\nimport type { AppLocale, FetcherParams, FetcherResponse } from './types';\nimport { tableAction } from './table-links';\n\nconst CLASS_NAME = 'ac-table';\n\nexport type AcTableProps = TableProps & {\n /**\n * The identity name.\n * @default '@'\n */\n name: string;\n /**\n * The language.\n * @default 'zh-CN'\n */\n lang?: AppLocale;\n /**\n * The platform module name.\n * @default admin\n */\n module?: string;\n /**\n * The extra params when query data.\n */\n params?: Record<string, any>;\n /**\n * The extra params when redirect to add page.\n * `paramsAdd` will merge with `params` when redirect to add page.\n */\n paramsAdd?: Record<string, any>;\n /**\n * The extra params when redirect to edit page.\n * `paramsEdit` will merge with `paramsAdd` when redirect to edit page.\n */\n paramsEdit?: Record<string, any>;\n /**\n * The extra params when reset the page.\n */\n paramsReset?: Record<string, any>;\n /**\n * Use custom router path for add page.\n */\n pathAdd?: string;\n /**\n * Use custom router path for edit page.\n */\n pathEdit?: string;\n /**\n * Custom get standard data.\n * @param params { current: number; pageSize: number }\n * @returns Promise<{ data: any[]; total: number }>\n */\n fetcher?: (params: FetcherParams) => FetcherResponse;\n /**\n * @param page\n * @param size\n */\n onPageChange?: (page: number, size: number) => void;\n /**\n * When destroy complete.\n * @param model\n */\n onDestroyComplete?: (model: any) => void;\n /**\n * Default page.\n */\n defaultCurrent?: number;\n /**\n * Default page size.\n */\n defaultPageSize?: number;\n /**\n * Total data from backend.\n */\n total?: number;\n /**\n * The response data key.\n */\n dataPath?: string;\n /**\n * The response total key.\n */\n totalPath?: string;\n /**\n * Column fields for table.\n */\n columnsFields?: TableProps['columns'];\n /**\n * Column fields for table action.\n */\n columnsAction?: ColumnsType<any>;\n /**\n * The table action params.\n */\n columnsActionParams?: Record<string, any>;\n /**\n * The table columns.\n */\n columns?: TableProps['columns'];\n};\n\ntype AcTableState = {\n currentRowId: any;\n dataSource: TableProps['dataSource'];\n isLoading: boolean;\n current: any;\n pageSize: any;\n total: any;\n};\n\nexport class AcTable extends React.Component<AcTableProps, AcTableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n private harmonyEvents: ReactHarmonyEvents | null = null;\n static event: EventMittNamespace.EventMitt;\n static events = ['load', 'refetch', 'reset', 'add', 'edit', 'destroy', 'draft'];\n static defaultProps = {\n name: '@',\n lang: 'zh-CN',\n module: 'admin',\n rowKey: 'id',\n defaultCurrent: 1,\n defaultPageSize: 10,\n dataPath: 'rows',\n totalPath: 'total',\n columnsFields: [],\n params: {},\n };\n\n public eventBus: EventMittNamespace.EventMitt = AcTable.event;\n public sync = new UrlSyncFlat();\n private defaultFetcher: Function;\n\n get routerKey() {\n const { name } = this.props;\n return name.replace(/_/g, '-');\n }\n\n get calculateColumnsAction() {\n const { name, columnsAction, columnsActionParams, lang } = this.props;\n if (typeof columnsAction !== 'undefined') return columnsAction;\n return [tableAction({ name, lang, ...columnsActionParams })];\n }\n\n get calculateColumns() {\n const { columnsFields, columns } = this.props;\n if (columns && columns.length > 0) return columns;\n return [...columnsFields!, ...this.calculateColumnsAction] as TableProps['columns'];\n }\n\n constructor(props: AcTableProps) {\n super(props);\n const { defaultCurrent, defaultPageSize, params } = this.props;\n const defaults = { page: defaultCurrent, size: defaultPageSize, ...params };\n const init = this.sync.readInitialState({ defaults });\n\n this.state = {\n currentRowId: null,\n dataSource: [],\n isLoading: false,\n current: init.page,\n pageSize: init.size,\n total: 0,\n };\n this.initFetcher();\n }\n\n private initFetcher() {\n const { name, dataPath, totalPath, fetcher } = this.props;\n const resourceId = `${name}_index`;\n this.defaultFetcher = fetcher || nx.createFetcher(resourceId, { dataPath, totalPath });\n }\n\n private toQueryString(params?: Record<string, any>) {\n return params ? `?${new URLSearchParams(params).toString()}` : '';\n }\n\n async componentDidMount() {\n const { current, pageSize } = this.state;\n this.harmonyEvents = ReactHarmonyEvents.create(this);\n this.eventBus = AcTable.event;\n await this.fetchData(current, pageSize);\n }\n\n // params update\n async componentDidUpdate(prevProps: AcTableProps) {\n const { params } = this.props;\n if (!deepEqual(prevProps.params, params)) {\n void this.refetch();\n }\n }\n\n componentWillUnmount() {\n this.harmonyEvents?.destroy();\n this.sync.cancel();\n }\n\n fetchData = async (page: number, size: number, overrideParams?: Record<string, any> | null) => {\n const abortController = new AbortController();\n const { params: propsParams } = this.props; // 将 props.params 重命名以避免与局部变量冲突\n\n // 1. 获取当前 URL 中的所有参数作为基础\n const currentUrlParams = this.sync.readInitialState();\n\n // 2. 合并所有过滤/搜索参数:\n // 优先级:overrideParams > propsParams > currentUrlParams\n // 注意:这里不包含 page 和 size,它们将作为独立参数处理\n const filterParams = nx.compactObject(\n overrideParams === null\n ? propsParams\n : {\n ...currentUrlParams, // 从 URL 读取的现有参数\n ...propsParams, // 组件 props 中定义的固定参数\n ...overrideParams, // 动态传入的覆盖参数(例如搜索关键字)\n }\n );\n\n // 3. 确保 page 和 size 是明确的,并从 filterParams 中移除它们,\n // 以便传递给 fetcher 的 params 字段时不会重复\n const finalPage = page;\n const finalSize = size;\n const { page: _, size: __, ...fetcherFilterParams } = filterParams as Record<string, any>;\n\n // 4. 更新组件状态:加载中、当前页和每页大小\n this.setState({\n isLoading: true,\n current: finalPage,\n pageSize: finalSize,\n });\n\n // 5. 同步 URL 参数:合并所有过滤参数,并明确设置 page 和 size\n this.sync.schedule({\n ...filterParams, // 所有过滤参数\n page: finalPage, // 明确的当前页\n size: finalSize, // 明确的每页大小\n });\n\n try {\n // 6. 调用数据获取器,传递明确的 page/size 和过滤参数\n const result = await this.defaultFetcher({\n current: finalPage,\n pageSize: finalSize,\n params: fetcherFilterParams, // 仅传递过滤参数\n });\n\n if (!abortController.signal.aborted) {\n this.setState({\n dataSource: result.data || [],\n total: result.total ?? 0,\n });\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n this.setState({\n dataSource: [],\n total: 0,\n });\n }\n } finally {\n if (!abortController.signal.aborted) {\n this.setState({ isLoading: false });\n }\n }\n };\n\n /* ----- public eventBus methods start ----- */\n /**\n * Load data from backend.\n */\n public load = async (payload: Record<string, any>) => {\n const { page, size, ...rest } = payload;\n const _page = page || this.state.current;\n const _size = size || this.state.pageSize;\n await this.fetchData(_page, _size, rest);\n };\n /**\n * Refresh data use current state.\n */\n public refetch = async () => {\n const { current, pageSize } = this.state;\n await this.fetchData(current, pageSize);\n };\n\n /**\n * Reset to default state, and fetch data.\n */\n public reset = async () => {\n const { defaultCurrent, defaultPageSize, paramsReset } = this.props;\n this.setState(\n {\n current: defaultCurrent,\n pageSize: defaultPageSize,\n total: 0,\n dataSource: [],\n },\n () => {\n void this.fetchData(defaultCurrent!, defaultPageSize!, paramsReset);\n }\n );\n };\n\n /**\n * CURD(local): optimisticUpdate data before data fetch.\n */\n public draft = async (payload: Record<string, any>) => {\n const { rowKey } = this.props;\n const id = payload[rowKey as string];\n const dataSource = this.state.dataSource!.slice();\n const index = dataSource.findIndex((item) => item[rowKey as string] === id);\n if (index !== -1) {\n dataSource[index] = {\n ...dataSource[index],\n ...payload,\n };\n this.setState({ dataSource });\n }\n };\n\n /**\n * CURD(action): Delete data from backend.\n */\n public destroy = (item) => {\n const { name, onDestroyComplete } = this.props;\n this.setState({ isLoading: true });\n nx.$api[`${name}_destroy`](item)\n .then(this.refetch)\n .finally(() => {\n onDestroyComplete?.(item);\n this.setState({ isLoading: false });\n });\n };\n\n /**\n * CURD(page): Redirect to add page.\n */\n public add = () => {\n const { module, paramsAdd, pathAdd } = this.props;\n const qs = this.toQueryString(paramsAdd);\n if (pathAdd) return nx.$nav?.(pathAdd);\n nx.$nav?.(`/${module}/${this.routerKey}/add${qs}`);\n };\n\n /**\n * CURD(page): Redirect to edit page.\n */\n public edit = (item: any) => {\n const { module, rowKey, paramsEdit, pathEdit } = this.props;\n const qs = this.toQueryString(paramsEdit);\n if (pathEdit) {\n const _editPath = nx.tmpl(pathEdit, item);\n return nx.$nav?.(nx.tmpl(_editPath, item));\n }\n nx.$nav?.(`/${module}/${this.routerKey}/${item[rowKey as string]}/edit${qs}`);\n };\n\n /* ----- public eventBus methods end ----- */\n\n handleOnRow = (record) => {\n const { rowKey } = this.props;\n return {\n onMouseEnter: () => {\n this.setState({ currentRowId: record[rowKey as any] });\n },\n onMouseLeave: () => {\n this.setState({ currentRowId: null });\n },\n };\n };\n\n render() {\n const {\n className,\n pagination,\n onPageChange,\n params,\n paramsAdd,\n paramsEdit,\n paramsReset,\n fetcher,\n dataPath,\n totalPath,\n columnsFields,\n columnsAction,\n columns,\n ...rest\n } = this.props;\n const { dataSource, isLoading, current, pageSize, total } = this.state;\n\n return (\n <Table\n className={cx(className, CLASS_NAME)}\n loading={isLoading}\n dataSource={dataSource}\n onRow={this.handleOnRow}\n columns={this.calculateColumns}\n pagination={{\n total,\n current,\n pageSize,\n showSizeChanger: true,\n onChange: (page, size) => {\n onPageChange?.(page, size);\n this.setState({ current: page, pageSize: size }, () => {\n void this.fetchData(page, size);\n });\n },\n ...pagination,\n }}\n {...rest}\n />\n );\n }\n}\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-03 07:11:26\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 15:09:46\n */\nimport nx from '@jswork/next';\nimport { Space } from 'antd';\nimport React, { FC } from 'react';\nimport { AcConfirmButton } from './confirm-button';\nimport type { AppLocale } from './types';\n\nconst locales = {\n 'zh-CN': {\n edit: '编辑',\n destroy: '删除',\n action: '操作',\n },\n 'en-US': {\n edit: 'Edit',\n destroy: 'Destroy',\n action: 'Action',\n },\n};\n\nexport type AcTableLinksProps = {\n name: string;\n model?: any;\n lang?: AppLocale;\n extraBefore?: React.ReactNode;\n extraAfter?: React.ReactNode;\n as?: React.ComponentType<any>;\n asProps?: any;\n actions?: string[];\n};\n\nexport type TableActionArgs = {\n name: string;\n lang?: AppLocale;\n [key: string]: any;\n}\n\nconst defaultProps = {\n lang: 'zh-CN' as const,\n actions: ['edit', 'destroy'],\n};\n\nexport const AcTableLinks: FC<AcTableLinksProps> = (props) => {\n const { name, as, lang, actions, model, asProps, extraBefore, extraAfter } = { ...defaultProps, ...props };\n const t = (key: string) => locales[lang][key];\n const AsComponent = as || Space;\n const handleEdit = () => nx.$event?.emit?.(`${name}:edit`, model);\n const handleDestroy = () => nx.$event?.emit?.(`${name}:destroy`, model);\n const items = {\n edit: (\n <a key=\"edit\" onClick={handleEdit}>\n {t('edit')}\n </a>\n ),\n destroy: (\n <AcConfirmButton key=\"destroy\" type=\"anchor\" lang={lang} onClick={handleDestroy}>\n {t('destroy')}\n </AcConfirmButton>\n ),\n };\n return (\n <AsComponent {...asProps}>\n {extraBefore}\n {actions.map((action) => items[action])}\n {extraAfter}\n </AsComponent>\n );\n};\n\nexport const tableAction = (args: TableActionArgs) => {\n const { name, lang, ...rest } = args;\n const t = (key: string) => locales[lang!][key];\n return {\n title: t('action'),\n dataIndex: '__action__',\n key: '__action__',\n width: 120,\n render: (_, record) => <AcTableLinks name={name} model={record} />,\n ...rest,\n };\n};\n","import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/es/input';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-textarea';\nconst TextArea = Input.TextArea;\n\nexport type AcTextareaProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & TextAreaProps;\n\nexport class AcTextarea extends React.Component<AcTextareaProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n render() {\n const { className, defaultValue, ...props } = this.props;\n return <TextArea className={cx(CLASS_NAME, className)} {...props} />;\n }\n}\n\nexport const AcTextareaFc = (props: AcTextareaProps) => {\n return <AcTextarea {...props} />;\n};\n","import { TimePicker, TimePickerProps } from 'antd';\nimport cx from 'classnames';\nimport dayjs from 'dayjs';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-time-picker';\nconst STD_FORMAT = 'HH:mm:ss';\n\nexport type AcTimePickerProps = {\n className?: string;\n value?: string | dayjs.Dayjs;\n defaultValue?: string | dayjs.Dayjs;\n onChange?: StdCallback;\n} & Omit<TimePickerProps, 'value' | 'defaultValue' | 'onChange' | 'ref'>;\n\nexport class AcTimePicker extends React.Component<AcTimePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n format: STD_FORMAT,\n };\n\n handleChange = (inEvent) => {\n const value = this.stringify(inEvent);\n const { onChange } = this.props;\n onChange?.({ target: { value } });\n };\n\n parse = (inValue) => {\n const { format } = this.props;\n return dayjs(inValue, format as string);\n };\n\n stringify = (inValue) => {\n if (!inValue) return null;\n const { format } = this.props;\n return inValue.format(format as string);\n };\n\n normalize = (inValues) => {\n Object.keys(inValues).forEach((key) => {\n const value = inValues[key];\n if (value) inValues[key] = this.parse(value);\n else delete inValues[key];\n });\n return inValues;\n };\n\n render() {\n const { className, value, defaultValue, onChange, ...props } = this.props;\n const values = this.normalize({ value, defaultValue });\n\n return (\n <TimePicker\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...values}\n {...props}\n />\n );\n }\n}\n\nexport const AcTimePickerFc = (props: AcTimePickerProps) => {\n return <AcTimePicker {...props} />;\n};\n","import { Transfer, TransferProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { transferLabel } from '../tpls/transfer';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-transfer';\n\nexport type AcTransferProps = {\n className?: string;\n items?: any[];\n template: TemplateCallback;\n value?: any[];\n onChange?: StdCallback;\n} & TransferProps<any>;\n\nexport class AcTransfer extends React.Component<AcTransferProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: transferLabel,\n };\n\n get templateCallback(): any {\n const { template } = this.props;\n return (item: any) => template({ item, index: -1 });\n }\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcTransferProps>): boolean {\n const { value } = nextProps;\n const isNewValue = this.props.value !== value;\n if (isNewValue && value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => onChange?.({ target }));\n };\n\n render() {\n const { className, value, onChange, items, template, ...props } = this.props;\n\n const _value = this.state.value;\n\n return (\n <Transfer\n className={cx(CLASS_NAME, className)}\n dataSource={items}\n render={this.templateCallback}\n targetKeys={_value}\n rowKey={(item) => item.value}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcTransferFc = (props: AcTransferProps) => {\n return <AcTransfer {...props} />;\n};\n","import React from 'react';\n\nconst defaults = {\n label: 'label',\n};\n\nexport const transferLabel = ({ item }, options?: any): React.ReactNode => {\n const opts = { ...defaults, ...options };\n return item[opts?.label];\n};\n","import React from 'react';\nimport { Tree, TreeProps } from 'antd';\nimport cx from 'classnames';\nimport '@jswork/next-tree-walk';\nimport { treeKv, kv as KvTmpl } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-tree';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\nexport type AcTreeProps = {\n className?: string;\n items?: any[];\n kv?: Record<string, string>;\n template?: any;\n itemsKey?: string | ((index: number, item: any) => any);\n directory?: boolean;\n} & TreeProps;\n\nexport class AcTree extends React.Component<AcTreeProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n directory: false,\n items: [],\n kv: DEFAULT_KV,\n template: treeKv,\n itemsKey: 'children',\n };\n\n get childView() {\n const { items, itemsKey } = this.props;\n return nx.treeWalk(items!, { template: this.template, itemsKey });\n }\n\n template = (args) => {\n const { template, kv } = this.props;\n if (kv === DEFAULT_KV) return template!(args);\n return KvTmpl(args, {\n component: Tree.TreeNode,\n ...kv,\n });\n };\n\n render() {\n const { className, children, items, template, itemsKey, directory, ...props } = this.props;\n const RootComp: any = directory ? Tree.DirectoryTree : Tree;\n\n if (items?.length === 0) return null;\n\n return (\n <RootComp className={cx(CLASS_NAME, className)} {...props}>\n {this.childView}\n </RootComp>\n );\n }\n}\n","import '@jswork/next-tree-walk';\nimport { TreeSelect, TreeSelectProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { treeSelectKv } from '../tpls/kv';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-tree-select';\n\n// @see: https://github.com/afeiship/react-ant-tree-select\n\nexport type AcTreeSelectProps = {\n className?: string;\n items?: any[];\n template?: any;\n itemsKey?: string | ((index: number, item: any) => any);\n onChange?: StdCallback;\n} & TreeSelectProps;\n\nexport class AcTreeSelect extends React.Component<AcTreeSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: treeSelectKv,\n itemsKey: 'children',\n };\n\n get childView() {\n const { items, template, itemsKey } = this.props;\n return nx.treeWalk(items!, { template, itemsKey });\n }\n\n handleChange = (inValue) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inValue } });\n };\n\n render() {\n const { className, items, itemsKey, template, treeData, onChange, ...props } = this.props;\n\n return (\n <TreeSelect\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n treeNodeFilterProp=\"title\"\n {...props}>\n {this.childView}\n </TreeSelect>\n );\n }\n}\n\nexport const AcTreeSelectFc = (props: AcTreeSelectProps) => {\n return <AcTreeSelect {...props} />;\n};\n","import { UploadOutlined } from '@ant-design/icons';\nimport type { ButtonProps, UploadProps } from 'antd';\nimport { Button, Upload } from 'antd';\nimport React from 'react';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-upload';\ntype CustomRequest = (inEvent: any) => Promise<any>;\n\nexport type AcUploadProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n btnProps?: ButtonProps;\n} & UploadProps;\n\nexport class AcUpload extends React.Component<AcUploadProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n onRequest: (inEvent) => Promise.resolve(inEvent),\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n handleCustomRequest = (inRequestOption) => {\n const { onRequest } = this.props;\n const { file } = inRequestOption;\n onRequest!(file)\n .then((res) => inRequestOption.onSuccess(res, file))\n .catch((err) => inRequestOption.onError(err, file));\n };\n\n render() {\n const { className, value, onChange, btnProps, ...props } = this.props;\n return (\n <Upload\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n customRequest={this.handleCustomRequest}\n {...props}>\n <Button icon={<UploadOutlined />} children=\"点击上传\" {...btnProps} />\n </Upload>\n );\n }\n}\n\nexport const AcUploadFc = (props: AcUploadProps) => {\n return <AcUpload {...props} />;\n};\n","import { InboxOutlined } from '@ant-design/icons';\nimport { Upload } from 'antd';\nimport { DraggerProps } from 'antd/es/upload';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-upload-dragger';\nconst { Dragger } = Upload;\ntype CustomRequest = (inEvent: any) => Promise<any>;\n\nexport type AcUploadDraggerProps = {\n className?: string;\n value?: any[];\n defaultValue?: any[];\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n} & DraggerProps;\n\nexport class AcUploadDragger extends React.Component<AcUploadDraggerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n onRequest: (inEvent) => Promise.resolve(inEvent),\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n handleCustomRequest = (inRequestOption) => {\n const { onRequest } = this.props;\n const { file } = inRequestOption;\n onRequest!(file)\n .then((res) => inRequestOption.onSuccess(res, file))\n .catch((err) => inRequestOption.onError(err, file));\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return (\n <Dragger\n className={cx(CLASS_NAME, className)}\n listType=\"picture\"\n onChange={this.handleChange}\n customRequest={this.handleCustomRequest}\n {...props}>\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n <p className=\"ant-upload-text\">单击或拖动文件到此区域以上传</p>\n <p className=\"ant-upload-hint\">支持单个或批量上传,请不要上传公司数据或其他重要文件</p>\n </Dragger>\n );\n }\n}\n\nexport const AcUploadDraggerFc = (props: AcUploadDraggerProps) => {\n return <AcUploadDragger {...props} />;\n};\n","import React from 'react';\nimport { UploadOutlined } from '@ant-design/icons';\nimport { Upload, Button } from 'antd';\nimport cx from 'classnames';\nimport { AcAbstractUpload } from './_abstract-upload';\nimport '@jswork/next-gpid';\n\nconst CLASS_NAME = 'ac-upload-picture';\n\nexport class AcUploadPicture extends AcAbstractUpload {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n maxCount: 1,\n transformURL: (pid) => (pid.includes('://') ? pid : `https://tva1.js.work/large/${pid}.jpg`),\n transformResponse: (inFileList: any) => {\n return inFileList.map((item) => {\n return item.uid || item.pid || nx.gpid(item.url);\n });\n },\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { fileList } = this.state;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={this.rootRef}>\n <Upload\n accept=\"images/*\"\n name=\"pic1\"\n listType=\"picture\"\n multiple={false}\n onChange={this.handleChange}\n onPreview={this.handlePreview}\n previewFile={this.previewFile}\n fileList={fileList}\n {...props}>\n <Button icon={<UploadOutlined />}>上传({fileList.length})</Button>\n </Upload>\n </div>\n );\n }\n}\n\nexport const AcUploadPictureFc = (props) => {\n return <AcUploadPicture {...props} />;\n};\n\n","import { loadScript, loadStyle } from '@jswork/loadkit';\nimport { UploadFile } from 'antd';\nimport { DraggerProps } from 'antd/es/upload';\nimport { UploadChangeParam } from 'antd/es/upload/interface';\nimport React, { ReactNode } from 'react';\nimport { flushSync } from 'react-dom';\nimport Sortable from 'sortablejs';\nimport type { StdCallback } from './types';\n\nconst styleOpts = { id: 'viewer-style' };\nconst scriptOpts = { id: 'viewerjs' };\nconst styleURL = 'https://unpkg.com/viewerjs@1.11.1/dist/viewer.min.css';\nconst scriptURL = 'https://unpkg.com/viewerjs@1.11.1/dist/viewer.min.js';\n\nexport type AcAbstractUploadProps = {\n className?: string;\n value?: any[] | [];\n onChange?: StdCallback;\n transformResponse?: (inResponse: any) => any;\n transformURL?: (inPid) => string;\n} & DraggerProps;\n\ntype State = {\n fileList: any[];\n};\n\nexport class AcAbstractUpload extends React.Component<AcAbstractUploadProps, State> {\n protected rootRef = React.createRef<HTMLDivElement>();\n protected sortable: any = null;\n protected viewer: any = null;\n\n toFileList = (inUrls: any[] | any) => {\n const { transformURL } = this.props;\n const urls = Array.isArray(inUrls) ? inUrls : [inUrls].filter(Boolean);\n return urls.map((item) => {\n if (typeof item !== 'string') return item;\n return { uid: nx.gpid(item), url: transformURL!(item) };\n });\n };\n\n constructor(inProps: AcAbstractUploadProps) {\n super(inProps);\n this.state = {\n fileList: this.toFileList(inProps.value),\n };\n }\n\n async componentDidMount() {\n const { rootRef } = this;\n const root = rootRef.current as HTMLDivElement;\n const el = root.querySelector('.ant-upload-list');\n this.mountSortable(el);\n await this.mountViewer(el);\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcAbstractUploadProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) {\n this.setState({ fileList: this.toFileList(value as any[]) });\n }\n return true;\n }\n\n mountSortable(el) {\n this.sortable = new Sortable(el, {\n animation: 150,\n draggable: '.ant-upload-list-item-container',\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n onEnd: this.handleSortEnd,\n });\n }\n\n async mountViewer(el) {\n await Promise.all([loadStyle(styleURL, styleOpts), loadScript(scriptURL, scriptOpts)]);\n this.viewer = new window['Viewer'](el);\n }\n\n componentWillUnmount() {\n this.sortable?.destroy();\n this.viewer?.destroy();\n }\n\n handlePreview = (file: UploadFile<any>) => {\n const { fileList } = this.state;\n const idx = fileList.indexOf(file);\n this.viewer?.update();\n this.viewer.view(idx);\n };\n\n handleChange = (inEvent: UploadChangeParam<UploadFile<any>>) => {\n const { fileList } = inEvent;\n const isDone = (file) => !file.status || file.status === 'done';\n const done = fileList.every(isDone);\n flushSync(() => this.setState({ fileList }));\n if (done) this.doChange(fileList);\n };\n\n handleSortEnd = (inEvent) => {\n const { oldIndex, newIndex } = inEvent;\n const { fileList } = this.state;\n const newFileList = fileList.slice();\n newFileList.splice(newIndex, 0, newFileList.splice(oldIndex, 1)[0]);\n this.doChange(newFileList);\n };\n\n doChange = (inValue) => {\n const { onChange, transformResponse } = this.props;\n const value = inValue.map((item) => item.response ?? item);\n onChange?.({ target: { value: transformResponse!(value) } });\n };\n\n previewFile = (file): Promise<string> => {\n const blobURL = window.URL.createObjectURL(file);\n return new Promise((resolve) => {\n resolve(blobURL);\n });\n };\n\n render(): ReactNode {\n // warning: if not implement, will throw error.\n console.warn('Please implement render method.');\n return null;\n }\n}\n","import React from 'react';\nimport { Space, Upload } from 'antd';\nimport cx from 'classnames';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport weibo2res from '@jswork/weibo2res';\nimport { AcAbstractUpload } from './_abstract-upload';\nimport '@jswork/next-gpid';\n\nconst CLASS_NAME = 'ac-upload-picture-card';\nconst toWeiboPid = (inItem) => {\n if (typeof inItem === 'string' && inItem.includes('sina.com.cn')) return weibo2res(inItem).pid;\n return null;\n};\n\nexport class AcUploadPictureCard extends AcAbstractUpload {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n transformURL: (pid) => (pid.includes('://') ? pid : `https://tva1.js.work/large/${pid}.jpg`),\n transformResponse: (inFileList: any) => {\n return inFileList.map((item) => {\n return toWeiboPid(item) || item.uid || item.pid || nx.gpid(item.url);\n });\n }\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { fileList } = this.state;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={this.rootRef}>\n <Upload\n className={cx(`${CLASS_NAME}__uploader`, className)}\n fileList={fileList}\n listType=\"picture-card\"\n name=\"pic1\"\n multiple\n previewFile={this.previewFile}\n onPreview={this.handlePreview}\n onChange={this.handleChange}\n {...props}>\n <Space direction=\"horizontal\">\n <UploadOutlined />\n <span>上传</span>\n </Space>\n </Upload>\n </div>\n );\n }\n}\n\nexport const AcUploadPictureCardFc = (props) => {\n return <AcUploadPictureCard {...props} />;\n};\n\n","import React from 'react';\nimport { Checkbox, Radio, Select } from 'antd';\n\ninterface Options {\n component: React.ComponentType<any>;\n\n [key: string]: any;\n}\n\n/**\n * Raw component template, for array of items.\n * @param item\n * @param index\n * @param options\n */\nexport const raw = ({ item, index }, options: Options) => {\n const { component: Component, ...otherProps } = options;\n\n return (\n <Component key={index} value={item} {...otherProps}>\n {item}\n </Component>\n );\n};\n\nexport const checkboxRaw = (args) => {\n return raw(args, {\n component: Checkbox,\n });\n};\n\nexport const selectRaw = (args) => {\n return raw(args, {\n component: Select.Option,\n });\n};\n\nexport const radioRaw = (args, opts) => {\n const { isButton, ...otherProps } = opts || {};\n const RadioComponent = isButton ? Radio.Button : Radio;\n const radioProps = isButton ? otherProps : {};\n\n return raw(args, {\n component: RadioComponent,\n ...radioProps,\n });\n};\n","import { AcBreadcrumb } from './lib/breadcrumb';\nimport { AcCheckableDropdown } from './lib/checkable-dropdown';\nimport { AcCheckableTag, AcCheckableTagFc } from './lib/checkable-tag';\nimport { AcCheckableTagList, AcCheckableTagListFc } from './lib/checkable-tag-list';\nimport { AcCheckbox, AcCheckboxFc } from './lib/checkbox';\nimport { AcCheckboxGroup, AcCheckboxGroupFc } from './lib/checkbox-group';\nimport { AcCodeFlask, AcCodeFlaskFc } from './lib/codeflask';\nimport { AcColorPicker, AcColorPickerFc } from './lib/color-picker';\nimport { AcConfirmButton } from './lib/confirm-button';\nimport { AcDatePicker, AcDatePickerFc } from './lib/date-picker';\nimport { AcEditableTagGroup, AcEditableTagGroupFc } from './lib/editable-tag-group';\nimport { AcInput, AcInputFc } from './lib/input';\nimport { AcInputCopyable, AcInputCopyableFc } from './lib/input-copyable';\nimport { AcInputHidden, AcInputHiddenFc } from './lib/input-hidden';\nimport { AcInputNumber, AcInputNumberFc } from './lib/input-number';\nimport { AcInputTags, AcInputTagsFc } from './lib/input-tags';\nimport { AcInputToken, AcInputTokenFc } from './lib/input-token';\nimport { AcMarkdownEditor, AcMarkdownEditorFc } from './lib/markdown-editor';\nimport { AcPreSelect, AcPreSelectFc } from './lib/pre-select';\nimport { AcRadioGroup, AcRadioGroupFc } from './lib/radio-group';\nimport { AcRangePicker, AcRangePickerFc } from './lib/range-picker';\nimport { AcRate, AcRateFc } from './lib/rate';\nimport { AcSearch, AcSearchFc } from './lib/search';\nimport { AcSelect, AcSelectFc } from './lib/select';\nimport { AcSlider, AcSliderFc } from './lib/slider';\nimport { AcSliderRange, AcSliderRangeFc } from './lib/slider-range';\nimport { AcSwitch, AcSwitchFc } from './lib/switch';\nimport { AcTable } from './lib/table';\nimport { AcTextarea, AcTextareaFc } from './lib/textarea';\nimport { AcTimePicker, AcTimePickerFc } from './lib/time-picker';\nimport { AcTransfer, AcTransferFc } from './lib/transfer';\nimport { AcTree } from './lib/tree';\nimport { AcTreeSelect, AcTreeSelectFc } from './lib/tree-select';\nimport { AcUpload, AcUploadFc } from './lib/upload';\nimport { AcUploadDragger, AcUploadDraggerFc } from './lib/upload-dragger';\nimport { AcUploadPicture, AcUploadPictureFc } from './lib/upload-picture';\nimport { AcUploadPictureCard, AcUploadPictureCardFc } from './lib/upload-picture-card';\nimport { breadcrumbDefault } from './tpls/breadcrumb';\nimport { checkboxKv, kv, radioKv, selectKv, treeKv, treeSelectKv } from './tpls/kv';\nimport { checkboxRaw, radioRaw, raw, selectRaw } from './tpls/raw';\nimport { transferLabel } from './tpls/transfer';\n\nimport type { AcBreadcrumbProps } from './lib/breadcrumb';\nimport type { AcCheckableDropdownProps } from './lib/checkable-dropdown';\nimport type { AcCheckableTagProps } from './lib/checkable-tag';\nimport type { AcCheckableTagListProps } from './lib/checkable-tag-list';\nimport type { AcCheckboxProps } from './lib/checkbox';\nimport type { AcCheckboxGroupProps } from './lib/checkbox-group';\nimport type { AcColorPickerProps } from './lib/color-picker';\nimport type { AcConfirmButtonProps } from './lib/confirm-button';\nimport type { AcDatePickerProps } from './lib/date-picker';\nimport type { AcEditableTagGroupProps } from './lib/editable-tag-group';\nimport type { AcInputProps } from './lib/input';\nimport type { AcInputNumberProps } from './lib/input-number';\nimport type { AcInputTagsProps } from './lib/input-tags';\nimport type { AcInputTokenProps } from './lib/input-token';\nimport type { AcMarkdownEditorProps } from './lib/markdown-editor';\nimport type { AcPreSelectProps } from './lib/pre-select';\nimport type { AcRadioGroupProps } from './lib/radio-group';\nimport type { AcRangePickerProps } from './lib/range-picker';\nimport type { AcRateProps } from './lib/rate';\nimport type { AcSearchProps } from './lib/search';\nimport type { AcSelectProps } from './lib/select';\nimport type { AcSliderProps } from './lib/slider';\nimport type { AcSliderRangeProps } from './lib/slider-range';\nimport type { AcSwitchProps } from './lib/switch';\nimport type { AcTableProps } from './lib/table';\nimport type { AcTextareaProps } from './lib/textarea';\nimport type { AcTimePickerProps } from './lib/time-picker';\nimport type { AcTransferProps } from './lib/transfer';\nimport type { AcTreeProps } from './lib/tree';\nimport type { AcTreeSelectProps } from './lib/tree-select';\nimport type { AcUploadProps } from './lib/upload';\nimport type { AcUploadDraggerProps } from './lib/upload-dragger';\n\nimport '@jswork/next';\nimport './lib/alert';\n\n// commands\nimport type { AcCardExtrasProps } from './lib/card-extras';\nimport { AcCardExtras } from './lib/card-extras';\nimport type { AcExtraSearchProps } from './lib/extra-search';\nimport { AcExtraSearch } from './lib/extra-search';\nimport type { FormActionsProps } from './lib/form-actions';\nimport { FormActions } from './lib/form-actions';\nimport { initWidgets } from './lib/init-widgets';\nimport type { AcTableLinksProps } from './lib/table-links';\nimport { AcTableLinks } from './lib/table-links';\nimport type { AcTableStatusSwitcherProps } from './lib/table-status-switcher';\nimport { AcTableStatusSwitcher } from './lib/table-status-switcher';\nimport type { AcTableToggleSwitcherProps } from './lib/table-toggle-switcher';\nimport { AcTableToggleSwitcher } from './lib/table-toggle-switcher';\nimport useTableCommand from './lib/use-table-command';\n\nexport * from './lib/button';\n\n// export all templates\nexport {\n // --- components ---\n AcBreadcrumb,\n // ---- types ----\n AcBreadcrumbProps,\n AcCardExtras,\n AcCardExtrasProps,\n AcCheckableDropdown,\n AcCheckableDropdownProps,\n AcCheckableTag,\n // --- fc components ---\n AcCheckableTagFc,\n AcCheckableTagList,\n AcCheckableTagListFc,\n AcCheckableTagListProps,\n AcCheckableTagProps,\n AcCheckbox,\n AcCheckboxFc,\n AcCheckboxGroup,\n AcCheckboxGroupFc,\n AcCheckboxGroupProps,\n AcCheckboxProps,\n AcCodeFlask,\n AcCodeFlaskFc,\n AcColorPicker,\n AcColorPickerFc,\n AcColorPickerProps,\n AcConfirmButton,\n AcConfirmButtonProps,\n AcDatePicker,\n AcDatePickerFc,\n AcDatePickerProps,\n AcEditableTagGroup,\n AcEditableTagGroupFc,\n AcEditableTagGroupProps,\n AcExtraSearch,\n AcExtraSearchProps,\n AcInput,\n AcInputCopyable,\n AcInputCopyableFc,\n AcInputFc,\n AcInputHidden,\n AcInputHiddenFc,\n AcInputNumber,\n AcInputNumberFc,\n AcInputNumberProps,\n AcInputProps,\n AcInputTags,\n AcInputTagsFc,\n AcInputTagsProps,\n AcInputToken,\n AcInputTokenFc,\n AcInputTokenProps,\n AcMarkdownEditor,\n AcMarkdownEditorFc,\n AcMarkdownEditorProps,\n AcPreSelect,\n AcPreSelectFc,\n AcPreSelectProps,\n AcRadioGroup,\n AcRadioGroupFc,\n AcRadioGroupProps,\n AcRangePicker,\n AcRangePickerFc,\n AcRangePickerProps,\n AcRate,\n AcRateFc,\n AcRateProps,\n AcSearch,\n AcSearchFc,\n AcSearchProps,\n AcSelect,\n AcSelectFc,\n AcSelectProps,\n AcSlider,\n AcSliderFc,\n AcSliderProps,\n AcSliderRange,\n AcSliderRangeFc,\n AcSliderRangeProps,\n AcSwitch,\n AcSwitchFc,\n AcSwitchProps,\n AcTable,\n AcTableLinks,\n AcTableLinksProps,\n AcTableProps,\n AcTableStatusSwitcher,\n AcTableStatusSwitcherProps,\n AcTableToggleSwitcher,\n AcTableToggleSwitcherProps,\n AcTextarea,\n AcTextareaFc,\n AcTextareaProps,\n AcTimePicker,\n AcTimePickerFc,\n AcTimePickerProps,\n AcTransfer,\n AcTransferFc,\n AcTransferProps,\n AcTree,\n AcTreeProps,\n AcTreeSelect,\n AcTreeSelectFc,\n AcTreeSelectProps,\n AcUpload,\n AcUploadDragger,\n AcUploadDraggerFc,\n AcUploadDraggerProps,\n AcUploadFc,\n AcUploadPicture,\n AcUploadPictureCard,\n AcUploadPictureCardFc,\n AcUploadPictureFc,\n AcUploadProps,\n // breadcrumb\n breadcrumbDefault,\n checkboxKv,\n checkboxRaw,\n FormActions,\n FormActionsProps,\n // ---- widgets ----\n initWidgets,\n // kv\n kv,\n radioKv,\n radioRaw,\n // raw\n raw,\n selectKv,\n selectRaw,\n // transfer\n transferLabel,\n treeKv,\n treeSelectKv,\n // ---- commands ----\n useTableCommand,\n};\n","import React from 'react';\nimport { Input, InputProps, message, Modal } from 'antd';\n\nexport const msg = (msg: string) => {\n return message.success(msg);\n};\n\nexport const info = (msg: string) => {\n return message.info(msg);\n};\n\nexport const err = (msg: string) => {\n return message.error(msg);\n};\n\nexport const alert = (msg: string, title?: String) => {\n return Modal.info({\n title: title || 'Tips',\n content: msg,\n });\n};\n\nexport const confirm = (msg: string, title?: String) => {\n return new Promise((resolve) => {\n Modal.confirm({\n title: title || 'Confirm',\n content: msg,\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n};\n\nexport const prompt = (msg: string, options?: InputProps) => {\n let value = '';\n return new Promise((resolve) => {\n Modal.confirm({\n title: msg || 'Prompt',\n content: (\n <Input\n type=\"text\"\n placeholder={msg}\n defaultValue={value}\n onChange={(e) => (value = e.target.value)}\n {...options}\n />\n ),\n onOk: () => resolve(value),\n onCancel: () => resolve(null),\n });\n });\n};\n\nnx.msg = msg;\nnx.info = info;\nnx.err = err;\nnx.alert = alert;\nnx.confirm = confirm;\nnx.prompt = prompt;\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-24 20:40:55\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 14:07:56\n */\nimport nx from '@jswork/next';\nimport { Space, SpaceProps } from 'antd';\nimport React, { FC, Fragment } from 'react';\nimport { BtnBack, BtnCreate, BtnRefresh } from './button';\nimport type { AppLocale } from './types';\n\nexport type AcCardExtrasProps = SpaceProps & {\n name: string;\n lang?: AppLocale;\n as?: React.ComponentType<any>;\n extraBefore?: React.ReactNode;\n extraAfter?: React.ReactNode;\n asProps?: any;\n actions?: string[];\n};\n\nconst defaultExtras = {\n lang: 'zh-CN' as const,\n actions: ['refetch', 'add'],\n};\n\nexport const AcCardExtras: FC<AcCardExtrasProps> = (props) => {\n const { name, lang, as, extraBefore, extraAfter, asProps, actions } = {\n ...defaultExtras,\n ...props,\n };\n const handleRefresh = () => nx.$event?.emit?.(`${name}:refetch`);\n const handleReset = () => nx.$event?.emit?.(`${name}:reset`);\n const handleAdd = () => nx.$event?.emit?.(`${name}:add`);\n const handleBack = () => history.back();\n const AsComponent = as || Space;\n const items = {\n refetch: <BtnRefresh lang={lang} onClick={handleRefresh} />,\n reset: <BtnRefresh lang={lang} onClick={handleReset} />,\n add: <BtnCreate lang={lang} onClick={handleAdd} />,\n back: <BtnBack lang={lang} onClick={handleBack} />,\n };\n\n return (\n <AsComponent {...asProps}>\n {extraBefore}\n {actions?.map((action) => (\n <Fragment key={action}>{items[action]}</Fragment>\n ))}\n {extraAfter}\n </AsComponent>\n );\n};\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-18 07:09:31\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-25 07:32:18\n */\nimport {\n ArrowLeftOutlined,\n BulbOutlined,\n CheckOutlined,\n CloseOutlined,\n CopyOutlined,\n DownloadOutlined,\n EditOutlined,\n EyeOutlined,\n ImportOutlined,\n PlusOutlined,\n RedoOutlined,\n ReloadOutlined,\n SaveOutlined,\n SyncOutlined,\n} from '@ant-design/icons';\nimport { Button, ButtonProps } from 'antd';\nimport React, { FC } from 'react';\nimport type { AppLocale } from './types';\ntype ActionType =\n | 'create'\n | 'edit'\n | 'del'\n | 'view'\n | 'preview'\n | 'save'\n | 'export'\n | 'imp'\n | 'refresh'\n | 'back'\n | 'submit'\n | 'cancel'\n | 'sync'\n | 'copy';\n\n// 文案\nconst locals: Record<AppLocale, Record<ActionType, string>> = {\n 'zh-CN': {\n create: '添加',\n edit: '编辑',\n del: '删除',\n view: '查看',\n preview: '预览',\n save: '保存',\n export: '导出',\n imp: '导入',\n refresh: '刷新',\n back: '返回',\n submit: '提交',\n cancel: '取消',\n sync: '同步',\n copy: '复制',\n },\n 'en-US': {\n create: 'Create',\n edit: 'Edit',\n del: 'Delete',\n view: 'View',\n preview: 'Preview',\n save: 'Save',\n export: 'Export',\n imp: 'Import',\n refresh: 'Refresh',\n back: 'Back',\n submit: 'Submit',\n cancel: 'Cancel',\n sync: 'Sync',\n copy: 'Copy',\n },\n};\n\n// 图标映射\nconst iconMap: Record<ActionType, React.ReactNode> = {\n create: <PlusOutlined />,\n edit: <EditOutlined />,\n del: <CloseOutlined />,\n view: <EyeOutlined />,\n preview: <BulbOutlined />,\n save: <SaveOutlined />,\n export: <DownloadOutlined />,\n imp: <ImportOutlined />,\n refresh: <ReloadOutlined />,\n back: <ArrowLeftOutlined />,\n submit: <CheckOutlined />,\n cancel: <RedoOutlined />,\n sync: <SyncOutlined />,\n copy: <CopyOutlined />,\n};\n\n// 国际化工具函数\nconst t = (locale: AppLocale, key: ActionType): string => {\n return locals[locale]?.[key] ?? key;\n};\n\n// 通用按钮组件\ninterface ActionButtonProps extends ButtonProps {\n action: ActionType;\n lang?: AppLocale;\n}\n\nconst ActionButton: FC<ActionButtonProps> = ({\n action,\n lang = 'zh-CN',\n size = 'small',\n children,\n ...props\n}) => {\n const text = children ?? t(lang, action);\n const icon = iconMap[action];\n return (\n <Button size={size} icon={icon} {...props}>\n {text}\n </Button>\n );\n};\n\n// 导出具体命名的按钮(保持 API 兼容)\nexport const BtnCreate = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"create\" {...props} />\n);\nexport const BtnEdit = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"edit\" {...props} />\n);\nexport const BtnDelete = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"del\" {...props} />\n);\nexport const BtnView = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"view\" {...props} />\n);\nexport const BtnPreview = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"preview\" {...props} />\n);\nexport const BtnSave = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"save\" {...props} />\n);\nexport const BtnExport = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"export\" {...props} />\n);\nexport const BtnImport = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"imp\" {...props} />\n);\nexport const BtnRefresh = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"refresh\" {...props} />\n);\nexport const BtnBack = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"back\" {...props} />\n);\nexport const BtnSubmit = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"submit\" {...props} />\n);\nexport const BtnCancel = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"cancel\" {...props} />\n);\nexport const BtnSync = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"sync\" {...props} />\n);\nexport const BtnCopy = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"copy\" {...props} />\n);\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 10:54:41\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 08:32:21\n */\nimport React, { FC, useEffect } from 'react';\nimport { readSearchString, writeSearchString } from '@jswork/url-sync-flat';\nimport nx from '@jswork/next';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/es/input';\nimport type { AppLocale } from './types';\n\nexport type AcExtraSearchProps = SearchProps & {\n name: string;\n lang?: AppLocale;\n queryKey?: string;\n routerType?: 'hash' | 'browser';\n}\n\nconst locales = {\n 'zh-CN': {\n placeholder: '搜索',\n },\n 'en-US': {\n placeholder: 'Search',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n queryKey: 'keywords',\n routerType: 'hash' as const,\n};\n\nconst EMPTY_STR = '';\n\nexport const AcExtraSearch: FC<AcExtraSearchProps> = (props) => {\n const { name, lang, queryKey, routerType, ...rest } = { ...defaultProps, ...props };\n const t = (key: string) => locales[lang!][key];\n const searchParams = readSearchString(routerType);\n const defaultQuery = searchParams.get(queryKey) || '';\n const [value, setValue] = React.useState(defaultQuery);\n const defaultParams = Object.fromEntries((searchParams as any).entries() as Iterable<[string, string]>);\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const q = e.target.value;\n setValue(q);\n };\n\n const handleSearch = (q: string) => {\n setValue(q);\n nx.$event?.emit?.(`${name}:load`, { ...defaultParams, [queryKey]: q, page: 1 });\n };\n\n useEffect(() => {\n const res = nx.$event.on(`${name}:reset`, () => {\n setValue(EMPTY_STR);\n searchParams.delete(queryKey);\n writeSearchString(routerType, searchParams, true);\n });\n return res.destroy;\n }, []);\n\n return (\n <Input.Search\n size=\"small\"\n enterButton\n autoFocus\n allowClear\n value={value}\n placeholder={t('placeholder')}\n onChange={handleSearchChange}\n onSearch={handleSearch}\n {...rest}\n />\n );\n};\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-25 18:48:19\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-25 21:53:43\n */\nimport React, { RefObject } from 'react';\nimport { Button, ButtonProps, Space, SpaceProps } from 'antd';\nimport type { AppLocale } from './types';\n\nexport type FormActionsProps = SpaceProps & {\n lang?: AppLocale;\n actions?: string[];\n okText?: string;\n cancelText?: string;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void;\n okProps?: ButtonProps;\n cancelProps?: ButtonProps;\n buttonProps?: ButtonProps;\n as?: React.ComponentType<any>;\n asProps?: any;\n}\n\nconst defaultProps: FormActionsProps = {\n lang: 'zh-CN',\n actions: ['ok', 'cancel'],\n};\n\nconst locales = {\n 'zh-CN': {\n ok: '确认',\n cancel: '取消',\n },\n 'en-US': {\n ok: 'OK',\n cancel: 'Cancel',\n },\n};\n\nexport const FormActions = React.forwardRef((props: FormActionsProps, ref: RefObject<HTMLDivElement>) => {\n const {\n lang,\n as,\n asProps,\n actions,\n okText,\n cancelText,\n onOk,\n onCancel,\n okProps,\n cancelProps,\n buttonProps,\n } = { ...defaultProps, ...props };\n\n const t = (key: string) => locales[lang!][key];\n const AsComponent = as || Space;\n const items = {\n ok: <Button\n key=\"ok\"\n htmlType=\"submit\"\n type=\"primary\"\n onClick={onOk}\n children={okText || t('ok')}\n {...buttonProps}\n {...okProps}\n />,\n cancel: <Button\n key=\"cancel\"\n htmlType=\"reset\"\n onClick={onCancel}\n children={cancelText || t('cancel')}\n {...buttonProps}\n {...cancelProps}\n />,\n };\n\n return (\n <AsComponent {...asProps} ref={ref}>\n {actions!.map(key => items[key])}\n </AsComponent>\n );\n});\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-25 10:45:13\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-29 17:49:27\n */\nimport NiceForm, { ReactComponent } from '@ebay/nice-form-react';\nimport { AcCheckableTagFc } from './checkable-tag';\nimport { AcCheckableTagListFc } from './checkable-tag-list';\nimport { AcCheckboxFc } from './checkbox';\nimport { AcCheckboxGroupFc } from './checkbox-group';\nimport { AcCodeFlaskFc } from './codeflask';\nimport { AcDatePickerFc } from './date-picker';\nimport { AcEditableTagGroupFc } from './editable-tag-group';\nimport { AcInputFc } from './input';\nimport { AcInputCopyableFc } from './input-copyable';\nimport { AcInputHiddenFc } from './input-hidden';\nimport { AcInputNumberFc } from './input-number';\nimport { AcInputTagsFc } from './input-tags';\nimport { AcInputTokenFc } from './input-token';\nimport { AcMarkdownEditorFc } from './markdown-editor';\nimport { AcPreSelectFc } from './pre-select';\nimport { AcRadioGroupFc } from './radio-group';\nimport { AcRangePickerFc } from './range-picker';\nimport { AcRateFc } from './rate';\nimport { AcSearchFc } from './search';\nimport { AcSelectFc } from './select';\nimport { AcSliderFc } from './slider';\nimport { AcSliderRangeFc } from './slider-range';\nimport { AcSwitchFc } from './switch';\nimport { AcTextareaFc } from './textarea';\nimport { AcTimePickerFc } from './time-picker';\nimport { AcTransferFc } from './transfer';\nimport { AcTreeSelectFc } from './tree-select';\nimport { AcUploadFc } from './upload';\nimport { AcUploadDraggerFc } from './upload-dragger';\nimport { AcUploadPictureFc } from './upload-picture';\nimport { AcUploadPictureCardFc } from './upload-picture-card';\n\nexport const widgets = {\n 'ac:checkable-tag': AcCheckableTagFc,\n 'ac:checkable-tag-list': AcCheckableTagListFc,\n 'ac:checkbox': AcCheckboxFc,\n 'ac:checkbox-group': AcCheckboxGroupFc,\n 'ac:code-flask': AcCodeFlaskFc,\n 'ac:date-picker': AcDatePickerFc,\n 'ac:editable-tag-group': AcEditableTagGroupFc,\n 'ac:input': AcInputFc,\n 'ac:input-copyable': AcInputCopyableFc,\n 'ac:input-hidden': AcInputHiddenFc,\n 'ac:input-number': AcInputNumberFc,\n 'ac:input-tags': AcInputTagsFc,\n 'ac:input-token': AcInputTokenFc,\n 'ac:markdown-editor': AcMarkdownEditorFc,\n 'ac:pre-select': AcPreSelectFc,\n 'ac:radio-group': AcRadioGroupFc,\n 'ac:range-picker': AcRangePickerFc,\n 'ac:rate': AcRateFc,\n 'ac:search': AcSearchFc,\n 'ac:select': AcSelectFc,\n 'ac:slider': AcSliderFc,\n 'ac:slider-range': AcSliderRangeFc,\n 'ac:switch': AcSwitchFc,\n 'ac:textarea': AcTextareaFc,\n 'ac:time-picker': AcTimePickerFc,\n 'ac:transfer': AcTransferFc,\n 'ac:tree-select': AcTreeSelectFc,\n 'ac:upload-dragger': AcUploadDraggerFc,\n 'ac:upload-picture': AcUploadPictureFc,\n 'ac:upload-picture-card': AcUploadPictureCardFc,\n 'ac:upload': AcUploadFc,\n};\n\nexport const initWidgets = (\n names?: string[] | null,\n externalWidgets?: Record<string, ReactComponent>\n) => {\n const keys = names?.length ? names : Object.keys(widgets);\n keys.forEach((key) => {\n const widget = widgets[key];\n if (widget) {\n NiceForm.defineWidget(key, widget);\n } else {\n console.warn(`[defineWidgets] widget ${key} not found!`);\n }\n });\n\n if (externalWidgets) {\n Object.keys(externalWidgets).forEach((key) => {\n const widget = externalWidgets[key];\n NiceForm.defineWidget(key, widget);\n });\n }\n};\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 14:09:01\n * @LastEditors: aric.zheng 1290657123@qq.com\n * @LastEditTime: 2025-10-29 15:08:25\n */\nimport ReactAntStatusSwitch from '@jswork/react-ant-status-switch';\nimport React, { FC } from 'react';\nimport { ReactAntStatusSwitchProps } from '@jswork/react-ant-status-switch/dist/components';\nimport nx from '@jswork/next';\n\nexport type AcTableStatusSwitcherProps = ReactAntStatusSwitchProps & {\n name: string;\n items: any[];\n model: any;\n params?: any;\n idKey?: string;\n updateKey?: string;\n updateApi?: string;\n onSuccess?: () => void;\n};\n\nconst defaultProps = {\n items: [],\n idKey: 'id',\n updateKey: 'status',\n};\n\nexport const AcTableStatusSwitcher: FC<AcTableStatusSwitcherProps> = (props) => {\n const {\n name,\n items,\n model,\n updateKey,\n idKey,\n updateApi,\n params,\n onSuccess,\n ...rest\n } = { ...defaultProps, ...props };\n const _apiPath = updateApi || `${name}_update`;\n const _onSuccess = onSuccess || (() => nx.$event.emit(`${name}:refetch`));\n const _currentStatus = nx.get(model, updateKey!);\n const handleStatusChange = (e) => {\n const id = nx.get(model, idKey!);\n const { value } = e.target;\n const payload = { id, [updateKey!]: value, ...params };\n nx.$event.emit(`${name}:draft`, { ...model, ...payload });\n nx.$api[_apiPath](payload).then(_onSuccess);\n };\n\n return (\n <ReactAntStatusSwitch\n items={items}\n value={_currentStatus}\n onChange={handleStatusChange}\n {...rest}\n />\n );\n};\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 14:09:01\n * @LastEditors: aric.zheng 1290657123@qq.com\n * @LastEditTime: 2025-10-29 15:49:36\n */\nimport React, { FC } from 'react';\nimport nx from '@jswork/next';\nimport { Switch, SwitchProps } from 'antd';\n\nexport type AcTableToggleSwitcherProps = SwitchProps & {\n name: string;\n model: any;\n updateKey: string;\n params?: any;\n idKey?: string;\n updateApi?: string;\n onSuccess?: () => void;\n};\n\nconst defaultProps = {\n items: [],\n idKey: 'id',\n};\n\nexport const AcTableToggleSwitcher: FC<AcTableToggleSwitcherProps> = (props) => {\n const {\n name,\n items,\n model,\n updateKey,\n idKey,\n updateApi,\n params,\n onSuccess,\n ...rest\n } = { ...defaultProps, ...props };\n const _apiPath = updateApi || `${name}_update`;\n const _onSuccess = onSuccess || (() => nx.$event.emit(`${name}:refetch`));\n const _currentValue = nx.get(model, updateKey);\n const handleStatusChange = (value) => {\n const id = nx.get(model, idKey!);\n const payload = { id, [updateKey]: value, ...params };\n nx.$event.emit(`${name}:draft`, { ...model, ...payload });\n nx.$api[_apiPath](payload).then(_onSuccess);\n };\n\n return (\n <Switch\n size=\"small\"\n defaultChecked={_currentValue}\n onChange={handleStatusChange}\n {...rest}\n />\n );\n};\n","import { AcTable } from './table';\n\ntype ExecuteFn = (command: string, data?: any) => void;\ntype ListenFn = (command: string, callback: any) => void;\ntype Payload = Record<string, any>;\n\nconst useCommand = (inName?: string) => {\n const name = inName || '@';\n const execute: ExecuteFn = (command, ...args) =>\n AcTable.event?.emit(`${name}:${command}`, ...args);\n const listen: ListenFn = (cmd, callback) => AcTable.event?.on(`${name}:${cmd}`, callback);\n\n // the command repository:\n const load = (payload: Payload) => execute('load', payload);\n const refetch = () => execute('refetch');\n const reset = () => execute('reset');\n const add = () => execute('add');\n const edit = (payload: Payload) => execute('edit', payload);\n const destroy = (payload: Payload) => execute('destroy', payload);\n const draft = (payload: Payload) => execute('draft', payload);\n\n return {\n listen,\n execute,\n load,\n refetch,\n reset,\n add,\n edit,\n destroy,\n draft,\n };\n};\n\nexport default useCommand;\n"],"mappings":"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","names":["React","Breadcrumb","ReactList","Breadcrumb","React","breadcrumbDefault","__name","item","index","items","last","length","label","rest","child","React","span","a","Breadcrumb","Item","key","cx","CLASS_NAME","AcBreadcrumb","React","Component","render","_a","props","className","value","items","template","onChange","ReactList","as","Breadcrumb","cx","__name","_AcBreadcrumb","__publicField","displayName","defaultProps","breadcrumbDefault","DownOutlined","Button","Checkbox","Dropdown","React","CLASS_NAME","locales","selectAll","AcCheckableDropdown","React","Component","overlayClass","id","state","visible","value","props","overlayRes","winBlankRes","t","__name","inKey","lang","doChange","inValue","onChange","target","setState","indeterminate","length","items","label","labels","map","val","find","item","join","menuItems","_value","key","Checkbox","checked","e","type","opt","shouldChecked","includes","_a","filtered","filter","componentDidMount","nx","DomEvent","on","window","overlay","document","querySelector","contains","componentDidUpdate","destroy","componentWillUnmount","_b","render","width","disabled","size","Dropdown","overlayClassName","open","menu","Button","className","style","onMouseEnter","span","DownOutlined","_AcCheckableDropdown","__publicField","displayName","formSchema","defaultProps","CloseOutlined","Tag","cx","React","CLASS_NAME","CheckableTag","Tag","AcCheckableTag","React","Component","state","value","Boolean","props","handleChange","__name","inEvent","onChange","target","setState","handleCloseClick","propagation","onCloseClick","stopPropagation","closeIcon","closeable","toggleable","view","CloseOutlined","onClick","shouldComponentUpdate","nextProps","render","_a","className","children","_value","cx","checked","_AcCheckableTag","__publicField","displayName","formSchema","defaultProps","disabled","AcCheckableTagFc","ReactList","Button","Space","cx","React","CLASS_NAME","locales","selectAll","AcCheckableTagList","React","Component","state","value","props","t","__name","inKey","lang","handleChange","inEvent","onChange","target","setState","handleClearAll","shouldComponentUpdate","nextProps","render","_a","className","items","disabled","label","Space","direction","cx","Button","size","onClick","ReactList","template","item","index","_value","isChecked","includes","AcCheckableTag","toggleable","closeable","propagation","checked","curSet","Set","method","key","_AcCheckableTagList","__publicField","displayName","formSchema","defaultProps","AcCheckableTagListFc","Checkbox","cx","React","CLASS_NAME","AcCheckbox","React","Component","state","value","props","handleChange","__name","inEvent","checked","target","onChange","setState","shouldComponentUpdate","nextProps","render","_a","className","defaultValue","_value","Checkbox","cx","_AcCheckbox","__publicField","displayName","formSchema","defaultProps","AcCheckboxFc","ReactList","Checkbox","cx","React","React","Checkbox","Select","Radio","Tree","TreeSelect","defaults","value","label","kv","__name","item","index","options","opts","__spreadValues","component","Component","rest","val","children","React","key","checkboxKv","args","Checkbox","selectKv","Select","Option","radioKv","isButton","otherProps","RadioComponent","Radio","Button","treeKv","cb","Tree","TreeNode","title","treeSelectKv","TreeSelect","CLASS_NAME","AcCheckboxGroup","React","Component","state","value","props","handleChange","__name","inEvent","onChange","onSearch","target","stdEvent","setState","shouldComponentUpdate","nextProps","render","_a","className","items","template","children","stateValue","Checkbox","Group","__spreadValues","cx","ReactList","_AcCheckboxGroup","__publicField","displayName","formSchema","defaultProps","checkboxKv","AcCheckboxGroupFc","React","ReactCodeFlask","CLASS_NAME","AcCodeFlask","React","Component","render","ReactCodeFlask","props","__name","_AcCodeFlask","__publicField","displayName","formSchema","defaultProps","AcCodeFlaskFc","ColorPicker","cx","React","CLASS_NAME","AcColorPicker","React","Component","state","value","props","handleChange","__name","inColor","onChange","toHexString","target","setState","handleClear","shouldComponentUpdate","inProps","render","_a","className","onClear","stateValue","ColorPicker","cx","undefined","_AcColorPicker","__publicField","displayName","formSchema","defaultProps","AcColorPickerFc","Button","message","Popconfirm","cx","React","Component","CLASS_NAME","locals","title","msgCancel","AcConfirmButton","Component","handleCancel","__name","message","info","t","key","lang","props","nx","get","computedChildren","type","children","childProps","React","a","Button","size","render","_a","className","onClick","_title","Popconfirm","onConfirm","e","onCancel","cx","__publicField","displayName","formSchema","defaultProps","_AcConfirmButton","React","dayjs","DatePicker","cx","CLASS_NAME","STD_FORMAT","DATA_FORMAT_HOOKS","date","datetime","time","AcDatePicker","React","Component","handleChange","__name","value","onChange","props","_event","target","dayjs","format","valueFormat","fmt","render","_a","className","rest","DatePicker","cx","_AcDatePicker","__publicField","displayName","formSchema","defaultProps","AcDatePickerFc","Button","Tag","cx","deepEqual","React","createRef","AutosizeInput","ReactList","cx","deepEqual","React","Component","CLASS_NAME","_a","ReactInteractiveList","Component","inProps","template","__name","item","index","props","value","state","items","isLteMin","splice","handleChange","cb","inValue","onChange","onError","min","max","target","setState","length","notify","isGteMax","listView","React","ReactList","createView","templateCreate","templateDefault","push","shouldComponentUpdate","deepEqual","render","className","forwardedRef","div","cx","ref","__publicField","displayName","defaultProps","AcInteractiveList","forwardRef","CLASS_NAME","AcEditableTagGroup","React","Component","inputRef","createRef","btnRef","rootForwardedRef","rootRef","imeStartRes","imeEndRes","state","value","props","ime","template","__name","item","index","cb","readOnly","Tag","key","AutosizeInput","ref","type","size","disabled","className","onChange","handleInputChange","bind","onBlur","handleInputBlur","onKeyDown","handleInputKeyDown","i","onClick","templateCreate","Button","actionCreate","templateDefault","push","handleChange","current","notify","actionFocusLast","inDelay","setTimeout","_a","latestInput","focus","delay","inIndex","inEvent","target","len","length","nx","unique","document","activeElement","filter","Boolean","triggers","includes","preventDefault","handleInterChange","inValue","inCallback","map","trim","setState","root","selector","els","querySelectorAll","componentDidMount","doc","DomEvent","on","componentWillUnmount","destroy","shouldComponentUpdate","nextProps","deepEqual","slice","render","min","max","stateValue","AcInteractiveList","cx","forwardedRef","items","_AcEditableTagGroup","__publicField","displayName","formSchema","defaultProps","AcEditableTagGroupFc","Input","cx","React","CLASS_NAME","AcInput","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","shouldComponentUpdate","inProps","complete","autoComplete","render","_a","className","stateValue","Input","cx","_AcInput","__publicField","displayName","formSchema","defaultProps","AcInputFc","LinkOutlined","Space","Typography","cx","React","CLASS_NAME","AcInputCopyable","React","Component","props","handleInputChange","__name","e","onChange","value","target","setState","state","copyView","Typography","Text","copyable","text","String","linkView","LinkOutlined","onClick","window","open","style","cursor","fontSize","shouldComponentUpdate","render","_a","className","valueType","rest","Space","Compact","cx","AcInput","Addon","_AcInputCopyable","__publicField","displayName","formSchema","defaultProps","AcInputCopyableFc","React","CLASS_NAME","AcInputHidden","React","Component","render","input","type","props","__name","_AcInputHidden","__publicField","displayName","formSchema","defaultProps","AcInputHiddenFc","InputNumber","cx","React","CLASS_NAME","AcInputNumber","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","shouldComponentUpdate","inProps","render","_a","className","stateValue","InputNumber","cx","_AcInputNumber","__publicField","displayName","formSchema","defaultProps","AcInputNumberFc","Tag","cx","fde","React","CLASS_NAME","TRIGGER_KEYS","AcInputTags","React","Component","inProps","inputRef","createRef","handleInputChange","__name","inEvent","value","target","setState","inputValue","handleInputKeyAction","code","items","isComposite","state","val","trim","idx","length","stopPropagation","handleTagRemove","preventDefault","includes","push","execChange","inIndex","inForce","disabled","props","newItems","filter","_","handleMouseEnter","_a","current","focus","inItems","onChange","slice","shouldComponentUpdate","nextProps","fde","render","className","div","data-disabled","cx","onMouseOver","onClick","map","item","Tag","closeIcon","onClose","bind","key","input","autoFocus","ref","onCompositionStart","onCompositionEnd","onInput","onKeyDown","_AcInputTags","__publicField","displayName","formSchema","defaultProps","AcInputTagsFc","LockOutlined","UnlockOutlined","Button","Input","Space","cx","nanoid","React","CLASS_NAME","AcInputToken","React","Component","rootRef","createRef","state","value","props","handleTokenCreate","__name","doChange","nanoid","handleTokenRemove","handleChange","inEvent","target","current","input","focus","inValue","onChange","setState","shouldComponentUpdate","nextProps","complete","autoComplete","tokenView","labelCreate","labelRemove","Space","Compact","Button","size","icon","LockOutlined","className","onClick","UnlockOutlined","render","_a","cx","Input","ref","Addon","_AcInputToken","__publicField","displayName","formSchema","defaultProps","AcInputTokenFc","MarkdownEditor","cx","React","CLASS_NAME","AcMarkdownEditor","React","Component","handleChange","__name","inValue","onChange","props","target","value","render","_a","className","safeValue","MarkdownEditor","data-component","cx","_AcMarkdownEditor","__publicField","displayName","formSchema","defaultProps","AcMarkdownEditorFc","cx","React","ReactList","Select","cx","React","CLASS_NAME","DEFAULT_KV","label","value","AcSelect","React","Component","state","props","handleChange","__name","inValue","onChange","onSearch","target","stdEvent","setState","template","args","kv","KvTmpl","__spreadValues","component","Select","Option","shouldComponentUpdate","nextProps","render","_a","className","_value","asProps","ReactList","allowEmpty","as","cx","_AcSelect","__publicField","displayName","formSchema","defaultProps","placeholder","items","selectKv","AcSelectFc","React","Input","cx","CLASS_NAME","AcSearch","React","Component","handleSearch","__name","inEvent","onSearch","props","target","value","complete","autoComplete","render","_a","className","Input","Search","__spreadValues","cx","_AcSearch","__publicField","displayName","formSchema","defaultProps","placeholder","AcSearchFc","CLASS_NAME","DEFAULT_VALUE","option","keyword","AcPreSelect","React","Component","state","value","props","handleFiledAction","__name","inField","inEvent","inCallback","_value","target","setState","handleChange","onChange","onSearch","handleSearch","addonView","items","selectOptions","AcSelect","bind","render","_a","className","searchable","inputOptions","AsTag","AcSearch","AcInput","computedProps","data-component","cx","addonBefore","_AcPreSelect","__publicField","displayName","formSchema","version","defaultProps","AcPreSelectFc","ReactList","Radio","cx","React","CLASS_NAME","AcRadioGroup","React","Component","state","value","props","handleChange","__name","inEvent","onChange","onSearch","target","setState","templateCallback","template","templateOptions","item","getDerivedStateFromProps","inProps","inState","render","_a","className","items","Radio","Group","__spreadValues","cx","ReactList","_AcRadioGroup","__publicField","displayName","formSchema","defaultProps","radioKv","AcRadioGroupFc","DatePicker","cx","moment","React","CLASS_NAME","STD_FORMAT","RangePicker","DatePicker","AcRangePicker","React","Component","handleChange","__name","inEvent","onChange","props","target","value","stringify","parse","inValue","format","map","item","moment","render","_a","className","defaultValue","cx","_AcRangePicker","__publicField","displayName","formSchema","defaultProps","AcRangePickerFc","Rate","cx","React","CLASS_NAME","AcRate","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Rate","cx","_AcRate","__publicField","displayName","formSchema","defaultProps","AcRateFc","Slider","cx","React","CLASS_NAME","AcSlider","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Slider","cx","_AcSlider","__publicField","displayName","formSchema","defaultProps","AcSliderFc","Slider","cx","React","CLASS_NAME","AcSliderRange","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","range","Slider","cx","_AcSliderRange","__publicField","displayName","formSchema","defaultProps","AcSliderRangeFc","Switch","cx","React","CLASS_NAME","AcSwitch","React","Component","state","value","Boolean","props","handleChange","__name","onChange","target","setState","shouldComponentUpdate","nextProps","render","_a","className","_value","Switch","checked","cx","_AcSwitch","__publicField","displayName","formSchema","defaultProps","AcSwitchFc","forwardRef","ref","ReactHarmonyEvents","nx","UrlSyncFlat","Table","cx","deepEqual","React","nx","Space","React","locales","edit","destroy","action","defaultProps","lang","actions","AcTableLinks","__name","props","name","as","model","asProps","extraBefore","extraAfter","__spreadValues","t","key","AsComponent","Space","handleEdit","_a","_b","nx","$event","emit","handleDestroy","items","React","a","onClick","AcConfirmButton","type","map","tableAction","args","rest","title","dataIndex","width","render","_","record","CLASS_NAME","AcTable","React","Component","props","harmonyEvents","eventBus","event","sync","UrlSyncFlat","defaultFetcher","fetchData","__name","page","size","overrideParams","_b","abortController","AbortController","params","propsParams","currentUrlParams","readInitialState","filterParams","nx","compactObject","__spreadValues","finalPage","finalSize","_","__","fetcherFilterParams","setState","isLoading","current","pageSize","schedule","__spreadProps","result","signal","aborted","dataSource","data","total","error","load","payload","rest","_page","state","_size","refetch","__async","reset","defaultCurrent","defaultPageSize","paramsReset","draft","rowKey","id","slice","index","findIndex","item","destroy","name","onDestroyComplete","$api","then","finally","add","_a","_c","_d","module","paramsAdd","pathAdd","qs","toQueryString","$nav","routerKey","edit","paramsEdit","pathEdit","_editPath","tmpl","handleOnRow","record","onMouseEnter","currentRowId","onMouseLeave","defaults","init","initFetcher","replace","calculateColumnsAction","columnsAction","columnsActionParams","lang","tableAction","calculateColumns","columnsFields","columns","length","dataPath","totalPath","fetcher","resourceId","createFetcher","URLSearchParams","toString","componentDidMount","ReactHarmonyEvents","create","componentDidUpdate","prevProps","deepEqual","componentWillUnmount","cancel","render","className","pagination","onPageChange","Table","cx","loading","onRow","showSizeChanger","onChange","_AcTable","__publicField","displayName","formSchema","events","defaultProps","Input","cx","React","CLASS_NAME","TextArea","Input","AcTextarea","React","Component","render","_a","props","className","defaultValue","cx","__name","_AcTextarea","__publicField","displayName","formSchema","defaultProps","AcTextareaFc","TimePicker","cx","dayjs","React","CLASS_NAME","STD_FORMAT","AcTimePicker","React","Component","handleChange","__name","inEvent","value","stringify","onChange","props","target","parse","inValue","format","dayjs","normalize","inValues","Object","keys","forEach","key","render","_a","className","defaultValue","values","TimePicker","cx","_AcTimePicker","__publicField","displayName","formSchema","defaultProps","AcTimePickerFc","Transfer","cx","React","defaults","label","transferLabel","__name","item","options","opts","__spreadValues","CLASS_NAME","AcTransfer","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","templateCallback","template","item","index","shouldComponentUpdate","nextProps","render","_a","className","items","_value","Transfer","cx","dataSource","targetKeys","rowKey","_AcTransfer","__publicField","displayName","formSchema","defaultProps","transferLabel","AcTransferFc","React","Tree","cx","CLASS_NAME","DEFAULT_KV","label","value","AcTree","React","Component","template","__name","args","kv","props","KvTmpl","__spreadValues","component","Tree","TreeNode","childView","items","itemsKey","nx","treeWalk","render","_a","className","children","directory","RootComp","DirectoryTree","length","cx","_AcTree","__publicField","displayName","formSchema","defaultProps","treeKv","TreeSelect","cx","React","CLASS_NAME","AcTreeSelect","React","Component","handleChange","__name","inValue","onChange","props","target","value","childView","items","template","itemsKey","nx","treeWalk","render","_a","className","treeData","TreeSelect","data-component","cx","treeNodeFilterProp","_AcTreeSelect","__publicField","displayName","formSchema","defaultProps","treeSelectKv","AcTreeSelectFc","UploadOutlined","Button","Upload","React","cx","CLASS_NAME","AcUpload","React","Component","handleChange","__name","inEvent","onChange","props","target","value","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","onError","render","_a","className","btnProps","Upload","cx","customRequest","Button","icon","UploadOutlined","children","_AcUpload","__publicField","displayName","formSchema","defaultProps","Promise","resolve","AcUploadFc","InboxOutlined","Upload","cx","React","CLASS_NAME","Dragger","Upload","AcUploadDragger","React","Component","handleChange","__name","inEvent","onChange","props","target","value","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","onError","render","_a","className","cx","listType","customRequest","p","InboxOutlined","_AcUploadDragger","__publicField","displayName","formSchema","defaultProps","Promise","resolve","AcUploadDraggerFc","React","UploadOutlined","Upload","Button","cx","loadScript","loadStyle","React","flushSync","Sortable","styleOpts","id","scriptOpts","styleURL","scriptURL","AcAbstractUpload","React","Component","inProps","rootRef","createRef","sortable","viewer","toFileList","__name","inUrls","transformURL","props","Array","isArray","filter","Boolean","map","item","uid","nx","gpid","url","handlePreview","file","_a","fileList","state","idx","indexOf","update","view","handleChange","inEvent","isDone","status","done","every","flushSync","setState","doChange","handleSortEnd","oldIndex","newIndex","newFileList","slice","splice","inValue","onChange","transformResponse","value","response","target","previewFile","blobURL","window","URL","createObjectURL","Promise","resolve","componentDidMount","__async","el","current","querySelector","mountSortable","mountViewer","shouldComponentUpdate","nextProps","Sortable","animation","draggable","ghostClass","chosenClass","dragClass","onEnd","all","loadStyle","loadScript","componentWillUnmount","_b","destroy","render","console","warn","_AcAbstractUpload","CLASS_NAME","AcUploadPicture","AcAbstractUpload","render","_a","props","className","value","onChange","fileList","state","React","div","cx","ref","rootRef","Upload","accept","name","listType","multiple","handleChange","onPreview","handlePreview","previewFile","Button","icon","UploadOutlined","length","__publicField","displayName","formSchema","defaultProps","maxCount","transformURL","__name","pid","includes","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPicture","AcUploadPictureFc","React","Space","Upload","cx","UploadOutlined","weibo2res","CLASS_NAME","toWeiboPid","__name","inItem","includes","weibo2res","pid","AcUploadPictureCard","AcAbstractUpload","render","_a","props","className","value","onChange","fileList","state","React","div","cx","ref","rootRef","Upload","listType","name","multiple","previewFile","onPreview","handlePreview","handleChange","Space","direction","UploadOutlined","span","__publicField","displayName","formSchema","defaultProps","transformURL","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPictureCard","AcUploadPictureCardFc","React","Checkbox","Radio","Select","raw","__name","item","index","options","component","Component","otherProps","React","key","value","checkboxRaw","args","Checkbox","selectRaw","Select","Option","radioRaw","opts","isButton","RadioComponent","Radio","Button","__spreadValues","React","Input","message","Modal","msg","__name","message","success","info","err","error","alert","title","Modal","content","confirm","Promise","resolve","onOk","onCancel","prompt","options","value","React","Input","type","placeholder","defaultValue","onChange","e","target","nx","nx","Space","React","Fragment","ArrowLeftOutlined","BulbOutlined","CheckOutlined","CloseOutlined","CopyOutlined","DownloadOutlined","EditOutlined","EyeOutlined","ImportOutlined","PlusOutlined","RedoOutlined","ReloadOutlined","SaveOutlined","SyncOutlined","Button","React","locals","create","edit","del","view","preview","save","export","imp","refresh","back","submit","cancel","sync","copy","iconMap","React","PlusOutlined","EditOutlined","CloseOutlined","EyeOutlined","BulbOutlined","SaveOutlined","DownloadOutlined","ImportOutlined","ReloadOutlined","ArrowLeftOutlined","CheckOutlined","RedoOutlined","SyncOutlined","CopyOutlined","t","__name","locale","key","_a","_b","ActionButton","action","lang","size","children","props","text","icon","Button","BtnCreate","BtnEdit","BtnDelete","BtnView","BtnPreview","BtnSave","BtnExport","BtnImport","BtnRefresh","BtnBack","BtnSubmit","BtnCancel","BtnSync","BtnCopy","defaultExtras","lang","actions","AcCardExtras","__name","props","name","as","extraBefore","extraAfter","asProps","__spreadValues","handleRefresh","_a","_b","nx","$event","emit","handleReset","handleAdd","handleBack","history","back","AsComponent","Space","items","refetch","React","BtnRefresh","onClick","reset","add","BtnCreate","BtnBack","map","action","Fragment","key","React","useEffect","readSearchString","writeSearchString","nx","Input","locales","placeholder","defaultProps","lang","queryKey","routerType","EMPTY_STR","AcExtraSearch","__name","props","_a","__spreadValues","name","rest","t","key","searchParams","readSearchString","defaultQuery","get","value","setValue","React","useState","defaultParams","Object","fromEntries","entries","handleSearchChange","e","q","target","handleSearch","_b","nx","$event","emit","__spreadProps","page","useEffect","on","delete","writeSearchString","destroy","Input","Search","size","enterButton","autoFocus","allowClear","onChange","onSearch","React","Button","Space","defaultProps","lang","actions","locales","ok","cancel","FormActions","React","forwardRef","props","ref","as","asProps","okText","cancelText","onOk","onCancel","okProps","cancelProps","buttonProps","__spreadValues","t","__name","key","AsComponent","Space","items","Button","htmlType","type","onClick","children","map","NiceForm","widgets","AcCheckableTagFc","AcCheckableTagListFc","AcCheckboxFc","AcCheckboxGroupFc","AcCodeFlaskFc","AcDatePickerFc","AcEditableTagGroupFc","AcInputFc","AcInputCopyableFc","AcInputHiddenFc","AcInputNumberFc","AcInputTagsFc","AcInputTokenFc","AcMarkdownEditorFc","AcPreSelectFc","AcRadioGroupFc","AcRangePickerFc","AcRateFc","AcSearchFc","AcSelectFc","AcSliderFc","AcSliderRangeFc","AcSwitchFc","AcTextareaFc","AcTimePickerFc","AcTransferFc","AcTreeSelectFc","AcUploadDraggerFc","AcUploadPictureFc","AcUploadPictureCardFc","AcUploadFc","initWidgets","__name","names","externalWidgets","length","Object","keys","forEach","key","widget","NiceForm","defineWidget","console","warn","ReactAntStatusSwitch","React","nx","defaultProps","items","idKey","updateKey","AcTableStatusSwitcher","__name","props","_a","__spreadValues","name","model","updateApi","params","onSuccess","rest","_apiPath","_onSuccess","nx","$event","emit","_currentStatus","get","handleStatusChange","e","id","value","target","payload","$api","then","React","ReactAntStatusSwitch","onChange","React","nx","Switch","defaultProps","items","idKey","AcTableToggleSwitcher","__name","props","_a","__spreadValues","name","model","updateKey","updateApi","params","onSuccess","rest","_apiPath","_onSuccess","nx","$event","emit","_currentValue","get","handleStatusChange","value","id","payload","$api","then","React","Switch","size","defaultChecked","onChange","useCommand","__name","inName","name","execute","command","args","_a","AcTable","event","emit","listen","cmd","callback","on","load","payload","refetch","reset","add","edit","destroy","draft","use_table_command_default"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/breadcrumb.tsx","../src/tpls/breadcrumb/index.tsx","../src/lib/checkable-dropdown.tsx","../src/lib/checkable-tag.tsx","../src/lib/checkable-tag-list.tsx","../src/lib/checkbox.tsx","../src/lib/checkbox-group.tsx","../src/tpls/kv/index.tsx","../src/lib/codeflask.tsx","../src/lib/color-picker.tsx","../src/lib/confirm-button.tsx","../src/lib/date-picker.tsx","../src/lib/editable-tag-group.tsx","../src/lib/interactive-list.tsx","../src/lib/input.tsx","../src/lib/input-copyable.tsx","../src/lib/input-hidden.tsx","../src/lib/input-number.tsx","../src/lib/input-tags.tsx","../src/lib/input-token.tsx","../src/lib/markdown-editor.tsx","../src/lib/pre-select.tsx","../src/lib/select.tsx","../src/lib/search.tsx","../src/lib/radio-group.tsx","../src/lib/range-picker.tsx","../src/lib/rate.tsx","../src/lib/slider.tsx","../src/lib/slider-range.tsx","../src/lib/switch.tsx","../src/lib/table.tsx","../src/lib/table-links.tsx","../src/lib/textarea.tsx","../src/lib/time-picker.tsx","../src/lib/transfer.tsx","../src/tpls/transfer/index.tsx","../src/lib/tree.tsx","../src/lib/tree-select.tsx","../src/lib/upload.tsx","../src/lib/upload-dragger.tsx","../src/lib/upload-picture.tsx","../src/lib/_abstract-upload.tsx","../src/lib/upload-picture-card.tsx","../src/tpls/raw/index.tsx","../src/main.ts","../src/lib/alert.tsx","../src/lib/card-extras.tsx","../src/lib/button.tsx","../src/lib/extra-search.tsx","../src/lib/form-actions.tsx","../src/lib/init-widgets.ts","../src/lib/table-status-switcher.tsx","../src/lib/table-toggle-switcher.tsx","../src/lib/use-table-command.ts"],"sourcesContent":["import React from 'react';\nimport { Breadcrumb, BreadcrumbProps } from 'antd';\nimport ReactList, { TemplateArgs } from '@jswork/react-list';\nimport { breadcrumbDefault } from '../tpls/breadcrumb';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\n// hack for react-list\n// Warning: [antd: Breadcrumb] Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children\n// @see: https://juejin.cn/post/6844903505832968206\n// ReactList['__ANT_BREADCRUMB_ITEM'] = true;\n\nconst CLASS_NAME = 'ac-breadcrumb';\n\nexport type AcBreadcrumbProps = {\n className?: string;\n items?: any[];\n template?: (args: TemplateArgs) => React.ReactNode;\n value?: number;\n onChange?: StdCallback;\n} & BreadcrumbProps;\n\nexport class AcBreadcrumb extends React.Component<AcBreadcrumbProps> {\n static displayName = CLASS_NAME;\n static defaultProps = {\n template: breadcrumbDefault,\n };\n\n render() {\n const { className, value, items, template, onChange, ...props } = this.props;\n return (\n <ReactList\n items={items || []}\n template={template}\n as={Breadcrumb}\n className={cx(className, CLASS_NAME)}\n {...props}\n />\n );\n }\n}\n\nexport const AcBreadcrumbFc = (props: AcBreadcrumbProps) => {\n return <AcBreadcrumb {...props} />;\n};\n\n\n","import { Breadcrumb } from 'antd';\nimport React from 'react';\n\nexport const breadcrumbDefault = ({ item, index, items }) => {\n const last = items?.length - 1 === index;\n const { label, ...rest } = item;\n const child = last ? <span {...rest}>{label}</span> : <a {...rest}>{label}</a>;\n return <Breadcrumb.Item key={index}>{child}</Breadcrumb.Item>;\n};\n","import { DownOutlined } from '@ant-design/icons';\nimport '@jswork/next-dom-event';\nimport { Button, Checkbox, Dropdown, MenuProps } from 'antd';\nimport { SizeType } from 'antd/es/config-provider/SizeContext';\nimport React from 'react';\nimport type { AppLocale, StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-dropdown';\nconst locales = { 'zh-CN': { selectAll: '全部' }, 'en-US': { selectAll: 'All' } };\n\nexport type AcCheckableDropdownProps = {\n className?: string;\n lang?: AppLocale;\n items?: any[];\n value?: any[];\n width?: number;\n size?: SizeType;\n disabled?: boolean;\n onChange?: StdCallback;\n};\n\nexport class AcCheckableDropdown extends React.Component<AcCheckableDropdownProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static id = 1;\n static defaultProps = {\n lang: 'zh-CN',\n items: [],\n value: [],\n width: 140,\n };\n\n private readonly overlayClass = `${CLASS_NAME}-overlay--${AcCheckableDropdown.id++}`;\n\n state = {\n visible: false,\n value: this.props.value,\n };\n\n private overlayRes: any;\n private winBlankRes: any;\n\n get indeterminate() {\n const { value } = this.state;\n return !!value?.length && value?.length < this.props.items!.length;\n }\n\n get label() {\n const { value } = this.state;\n const { items } = this.props;\n const labels = value?.map((val) => items?.find((item) => item.value === val).label);\n const isAll = value?.length === 0 || value?.length === items?.length;\n return isAll ? this.t('selectAll') : labels?.join(',');\n }\n\n get menuItems() {\n const { items } = this.props;\n const _value = this.state.value;\n return [\n {\n key: 'select_all',\n label: (\n <Checkbox\n indeterminate={this.indeterminate}\n checked={_value?.length === items?.length}\n onChange={(e) => {\n const checked = e.target.checked;\n const val = checked ? items?.map((item) => item.value) : [];\n this.doChange(val);\n }}>\n {this.t('selectAll')}\n </Checkbox>\n ),\n },\n { type: 'divider' },\n ...items!.map((opt) => {\n const shouldChecked = _value?.includes(opt.value);\n return {\n key: opt.value,\n label: (\n <Checkbox\n onChange={(e) => {\n const { checked } = e.target;\n const filtered = this.state.value?.filter((item) => item !== opt.value);\n const val = checked ? [...filtered!, opt.value] : filtered;\n this.doChange(val);\n }}\n checked={shouldChecked}>\n {opt.label}\n </Checkbox>\n ),\n };\n }),\n ] as MenuProps['items'];\n }\n\n t = (inKey: string) => {\n const { lang } = this.props;\n return locales[lang!][inKey] || inKey;\n };\n\n doChange = (inValue) => {\n const { onChange } = this.props;\n const target = { value: inValue };\n this.setState(target);\n onChange?.({ target });\n };\n\n componentDidMount() {\n // click blank, close overlay\n this.winBlankRes = nx.DomEvent.on(window as any, 'click', (e) => {\n const target = e.target as HTMLElement;\n const overlay = document.querySelector(`.${this.overlayClass}`) as HTMLDivElement;\n if (overlay && !overlay.contains(target)) {\n this.setState({ visible: false });\n }\n });\n }\n\n componentDidUpdate() {\n const { visible } = this.state;\n if (visible) {\n const overlay = document.querySelector(`.${this.overlayClass}`) as HTMLDivElement;\n if (overlay) {\n this.overlayRes = nx.DomEvent.on(overlay, 'mouseleave', () => {\n this.setState({ visible: false });\n this.overlayRes?.destroy();\n });\n }\n }\n }\n\n componentWillUnmount() {\n this.winBlankRes?.destroy();\n this.overlayRes?.destroy();\n }\n\n /**\n * todo: 有朝一日,找出原因\n * 这里的 button disabled 不能生效,除非在 dropdown 内层套一个 Fragment。\n */\n render() {\n const { width, disabled, size } = this.props;\n const { visible } = this.state;\n\n return (\n <Dropdown\n disabled={disabled}\n overlayClassName={this.overlayClass}\n open={visible}\n menu={{ items: this.menuItems }}>\n <>\n <Button\n className={`${CLASS_NAME}__btn`}\n style={{ width }}\n size={size}\n disabled={disabled}\n onMouseEnter={() => this.setState({ visible: true })}>\n <span className=\"is-label\">{this.label}</span>\n <DownOutlined />\n </Button>\n </>\n </Dropdown>\n );\n }\n}\n","import { CloseOutlined } from '@ant-design/icons';\nimport { Tag } from 'antd';\nimport { CheckableTagProps } from 'antd/es/tag';\nimport cx from 'classnames';\nimport React, { ReactNode } from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-tag';\nconst { CheckableTag } = Tag;\n\n/**\n * @see https://ant.design/components/tag-cn/#Tag.CheckableTag\n */\n\nexport type AcCheckableTagProps = {\n className?: string;\n value?: boolean;\n disabled?: boolean;\n closeable?: boolean;\n toggleable?: boolean;\n propagation?: boolean;\n onChange?: StdCallback;\n onCloseClick?: StdCallback;\n} & Omit<CheckableTagProps, 'checked'>;\n\nexport class AcCheckableTag extends React.Component<AcCheckableTagProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: false,\n closeable: false,\n disabled: false,\n toggleable: false,\n propagation: false,\n };\n\n state = {\n value: Boolean(this.props.value),\n };\n\n get closeIcon() {\n const { closeable, toggleable } = this.props;\n const { value } = this.state;\n let view: ReactNode = null;\n if (closeable) view = <CloseOutlined onClick={this.handleCloseClick} />;\n if (toggleable) view = value ? view : null;\n return view;\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckableTagProps>): boolean {\n const { value } = nextProps;\n if (value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n handleCloseClick = (inEvent) => {\n const { propagation, onCloseClick } = this.props;\n !propagation && inEvent.stopPropagation();\n onCloseClick?.(inEvent);\n };\n\n render() {\n const {\n className,\n value,\n onChange,\n onCloseClick,\n children,\n closeable,\n toggleable,\n propagation,\n ...props\n } = this.props;\n const _value = this.state.value;\n\n return (\n <CheckableTag\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n checked={_value}\n {...props}>\n {children}\n {this.closeIcon}\n </CheckableTag>\n );\n }\n}\n\nexport const AcCheckableTagFc = (props: AcCheckableTagProps) => {\n return <AcCheckableTag {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Button, Space } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { AcCheckableTag } from './checkable-tag';\nimport type { AppLocale, StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkable-tag-list';\nconst locales = {\n 'zh-CN': { selectAll: '全部' },\n 'en-US': { selectAll: 'All' },\n};\n\nexport type AcCheckableTagListProps = {\n /**\n * Main className.\n */\n className?: string;\n /**\n * The language key.\n */\n lang?: AppLocale;\n /**\n * The component data soruce.\n */\n items?: any[];\n /**\n * Runtime value.\n */\n value?: any[];\n /**\n * The event handler for `change`.\n */\n onChange?: StdCallback;\n /**\n * The disabled state.\n */\n disabled?: boolean;\n};\n\nexport class AcCheckableTagList extends React.Component<AcCheckableTagListProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n lang: 'zh-CN',\n value: [],\n };\n\n state = {\n value: this.props.value,\n };\n\n t = (inKey: string) => {\n const { lang } = this.props;\n return locales[lang!][inKey] || inKey;\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckableTagListProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n handleClearAll = () => {\n this.handleChange([]);\n };\n\n render() {\n const { className, items, value, onChange, disabled, ...props } = this.props;\n const label = this.t('selectAll');\n\n return (\n <Space direction=\"horizontal\" className={cx(CLASS_NAME, className)}>\n <Button\n disabled={disabled}\n size=\"small\"\n onClick={this.handleClearAll}\n className=\"ac-is-aside\">\n {label}\n </Button>\n <ReactList\n items={items || []}\n template={({ item, index }) => {\n const _value = this.state.value as any[];\n const isChecked = _value?.includes(item.value);\n return (\n <AcCheckableTag\n className=\"ac-is-item\"\n toggleable\n closeable\n propagation\n disabled={disabled}\n value={isChecked}\n onChange={(inEvent) => {\n const checked = inEvent.target.value;\n const curSet = new Set([..._value]);\n const method = checked ? 'add' : 'delete';\n curSet[method](item.value);\n // @ts-ignore\n this.handleChange([...curSet]);\n }}\n key={index}>\n {item.label}\n </AcCheckableTag>\n );\n }}\n {...props}\n />\n </Space>\n );\n }\n}\n\nexport const AcCheckableTagListFc = (props: AcCheckableTagListProps) => {\n return <AcCheckableTagList {...props} />;\n};\n","import { Checkbox, CheckboxProps } from 'antd';\nimport cx from 'classnames';\nimport React, { HTMLAttributes } from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkbox';\n\nexport type AcCheckboxProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & CheckboxProps &\n HTMLAttributes<any>;\n\nexport class AcCheckbox extends React.Component<AcCheckboxProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckboxProps>): boolean {\n const { value } = nextProps;\n if (value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { checked } = inEvent.target;\n const { onChange } = this.props;\n const target = { value: checked };\n\n this.setState(target, () => {\n onChange?.({ target });\n });\n };\n\n render() {\n const { className, onChange, value, defaultValue, ...props } = this.props;\n const _value = this.state.value;\n\n return (\n <Checkbox\n className={cx(CLASS_NAME, className)}\n checked={_value}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcCheckboxFc = (props: AcCheckboxProps) => {\n return <AcCheckbox {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Checkbox } from 'antd';\nimport { CheckboxGroupProps } from 'antd/es/checkbox';\nimport cx from 'classnames';\nimport React from 'react';\nimport { checkboxKv } from '../tpls/kv';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-checkbox-group';\n\nexport type AcCheckboxGroupProps = {\n className?: string;\n value?: any[];\n items?: any[];\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n} & CheckboxGroupProps;\n\nexport class AcCheckboxGroup extends React.Component<AcCheckboxGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n value: [],\n template: checkboxKv,\n };\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcCheckboxGroupProps>): boolean {\n const { value } = nextProps;\n const isNewValue = nextProps.value !== this.props.value;\n if (isNewValue && this.state.value !== value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange, onSearch } = this.props;\n const target = { value: inEvent };\n const stdEvent = { target };\n this.setState(target, () => {\n onChange?.(stdEvent);\n onSearch?.(stdEvent);\n });\n };\n\n render() {\n const { className, items, template, onChange, onSearch, children, value, ...props } =\n this.props;\n const { value: stateValue } = this.state;\n\n return (\n <Checkbox.Group\n className={cx(CLASS_NAME, className)}\n value={stateValue}\n onChange={this.handleChange}\n {...props}>\n <ReactList items={items || []} template={template} />\n </Checkbox.Group>\n );\n }\n}\n\nexport const AcCheckboxGroupFc = (props: AcCheckboxGroupProps) => {\n return <AcCheckboxGroup {...props} />;\n};\n","import React from 'react';\nimport { Checkbox, Select, Radio, Tree, TreeSelect } from 'antd';\n\ninterface Options {\n component: React.ComponentType<any>;\n value?: string;\n label?: string;\n\n [key: string]: any;\n}\n\nconst defaults = {\n value: 'value',\n label: 'label',\n};\n\n/**\n * KV component template, for key-value pair.\n * @param item\n * @param index\n * @param options\n */\nexport const kv = ({ item, index }, options: Options) => {\n const opts = { ...defaults, ...options };\n const { component: Component, value, label, ...rest } = opts;\n const val = item[value];\n const children = item[label];\n\n return (\n <Component key={index} value={val} {...rest}>\n {children}\n </Component>\n );\n};\n\n// checkboxKv\nexport const checkboxKv = (args) => {\n return kv(args, {\n component: Checkbox,\n });\n};\n\n// selectKv\nexport const selectKv = (args) => {\n return kv(args, {\n component: Select.Option,\n });\n};\n\n// radioKv\nexport const radioKv = (args, opts) => {\n const { isButton, ...otherProps } = opts || {};\n const RadioComponent = isButton ? Radio.Button : Radio;\n const radioProps = isButton ? otherProps : {};\n\n return kv(args, {\n component: RadioComponent,\n ...radioProps,\n });\n};\n\nexport const treeKv = ({ item }, cb) => {\n const { value, label, ...rest } = item;\n return (\n <Tree.TreeNode key={value} title={label} {...rest}>\n {cb?.()}\n </Tree.TreeNode>\n );\n};\n\nexport const treeSelectKv = ({ item }, cb) => {\n const { value, label } = item;\n return <TreeSelect.TreeNode key={value} value={value} title={label} children={cb?.()} />;\n};\n","import React from 'react';\nimport ReactCodeFlask from '@jswork/react-codeflask';\n\nconst CLASS_NAME = 'ac-codeflask';\n\nexport class AcCodeFlask extends React.Component {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n };\n\n render() {\n return <ReactCodeFlask {...this.props} />;\n }\n}\n\nexport const AcCodeFlaskFc = (props) => {\n return <AcCodeFlask {...props} />;\n};\n\n","import { ColorPicker, ColorPickerProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-color-picker';\n\nexport type AcColorPickerProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback<string>;\n} & Omit<ColorPickerProps, 'value' | 'onChange'>;\n\nexport class AcColorPicker extends React.Component<AcColorPickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = { value: this.props.value };\n\n shouldComponentUpdate(inProps: Readonly<AcColorPickerProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inColor) => {\n const { onChange } = this.props;\n const value = inColor ? inColor.toHexString() : '';\n const target = { value };\n this.setState({ value });\n onChange!({ target });\n };\n\n handleClear = () => {\n const { onChange } = this.props;\n const target = { value: '' };\n this.setState({ value: '' });\n onChange?.({ target });\n };\n\n render() {\n const { className, value, onChange, onClear, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <ColorPicker\n className={cx(CLASS_NAME, className)}\n value={stateValue || undefined}\n onChange={this.handleChange}\n onClear={this.handleClear}\n {...props}\n />\n );\n }\n}\n\nexport const AcColorPickerFc = (props: AcColorPickerProps) => {\n return <AcColorPicker {...props} />;\n};\n","import type { ButtonProps, PopconfirmProps } from 'antd';\nimport { Button, message, Popconfirm } from 'antd';\nimport cx from 'classnames';\nimport React, { Component } from 'react';\nimport type { AppLocale } from './types';\n\nconst CLASS_NAME = 'ac-confirm-button';\nconst locals = {\n 'zh-CN': {\n title: '确认执行这个操作?',\n msgCancel: '您取消了操作~',\n },\n 'en-US': {\n title: 'Are you sure to do this?',\n msgCancel: 'You canceled the operation~',\n },\n};\n\nexport interface AcConfirmButtonProps extends Omit<PopconfirmProps, 'title'> {\n className?: string;\n lang?: AppLocale;\n title?: string;\n type?: ButtonProps['type'] | 'raw' | 'anchor';\n childProps?: ButtonProps;\n onClick?: React.MouseEventHandler<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport class AcConfirmButton extends Component<AcConfirmButtonProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n\n static defaultProps = {\n lang: 'zh-CN',\n type: 'link',\n childProps: {},\n };\n\n get computedChildren() {\n const { type, children, childProps } = this.props;\n switch (type) {\n case 'raw':\n return children;\n case 'anchor':\n return <a {...childProps}>{children}</a>;\n default:\n return (\n <Button type={type} size=\"small\" {...childProps}>\n {children}\n </Button>\n );\n }\n }\n\n handleCancel = () => {\n void message.info(this.t('msgCancel'));\n };\n\n t = (key: string) => {\n const { lang } = this.props;\n return nx.get(locals, `${lang}.${key}`, key);\n };\n\n render() {\n const {\n className,\n onClick,\n type,\n children,\n childProps,\n lang,\n title: _title,\n ...props\n } = this.props;\n\n const title = _title || locals[lang!].title;\n\n return (\n <Popconfirm\n title={title}\n onConfirm={(e) => onClick?.(e as any)}\n onCancel={this.handleCancel}\n className={cx(CLASS_NAME, className)}\n {...props}>\n {this.computedChildren}\n </Popconfirm>\n );\n }\n}\n","import React from 'react';\nimport dayjs from 'dayjs';\nimport { DatePicker, DatePickerProps } from 'antd';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-date-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\nexport type AcDatePickerProps = Omit<DatePickerProps, 'value' | 'onChange' | 'ref'> & {\n className?: string;\n value?: any;\n onChange?: StdCallback<string>;\n};\n\nconst DATA_FORMAT_HOOKS = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n time: 'HH:mm:ss',\n};\n\nexport class AcDatePicker extends React.Component<AcDatePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps: AcDatePickerProps = {\n format: STD_FORMAT,\n };\n\n get valueFormat() {\n const { format } = this.props;\n return DATA_FORMAT_HOOKS[format as 'string'] || format;\n }\n\n get value() {\n const { value } = this.props;\n const fmt = this.valueFormat;\n\n if (value == null || value === '') return null;\n if (typeof value === 'string') return dayjs(value, fmt);\n return value;\n }\n\n handleChange = (value) => {\n const { onChange } = this.props;\n const _value = value ? dayjs(value).format(this.valueFormat) : '';\n const _event = { target: { value: _value } };\n onChange?.(_event);\n };\n\n render() {\n const { className, format, value, onChange, ...rest } = this.props;\n\n return (\n <DatePicker className={cx(CLASS_NAME, className)} value={this.value} onChange={this.handleChange} {...rest} />\n );\n }\n}\n\nexport const AcDatePickerFc = (props: AcDatePickerProps) => {\n return <AcDatePicker {...props} />;\n};\n\n\n","import '@jswork/next-dom-event';\nimport '@jswork/next-unique';\nimport { Button, Tag } from 'antd';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React, { createRef } from 'react';\nimport AutosizeInput from 'react-input-autosize';\nimport { AcInteractiveList } from './interactive-list';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\n\nexport type AcEditableTagGroupProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * Default value.\n */\n value?: any[];\n /**\n * The change handler.\n */\n onChange?: StdCallback;\n /**\n * The minimum tag number.\n */\n min?: number;\n /**\n * The maximum tags number.\n */\n max?: number;\n /**\n * If set readOnly.\n */\n readOnly?: boolean;\n /**\n * If set disabled.\n */\n disabled?: boolean;\n /**\n * Trigger key, default is `Space`.\n */\n triggers?: string[];\n};\n\nexport class AcEditableTagGroup extends React.Component<AcEditableTagGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n min: 0,\n max: 10,\n triggers: [' ', 'Tab'],\n };\n\n private inputRef = createRef<HTMLInputElement>();\n private btnRef = createRef<HTMLButtonElement>();\n private rootForwardedRef = createRef<HTMLDivElement>();\n private rootRef = createRef<any>();\n private imeStartRes;\n private imeEndRes;\n\n get latestInput(): HTMLInputElement {\n const root = this.rootForwardedRef.current!;\n const selector = `.${CLASS_NAME}__input input`;\n const els: NodeListOf<HTMLInputElement> = root.querySelectorAll(selector);\n return els[els.length - 1];\n }\n\n state = {\n value: this.props.value,\n ime: false,\n };\n\n template = ({ item, index }, cb) => {\n // TODO: tag.cloable will create ant-tag-hidden?\n const { readOnly } = this.props;\n return (\n <Tag key={index}>\n <AutosizeInput\n ref={this.inputRef}\n type=\"text\"\n size=\"small\"\n value={item}\n disabled={readOnly}\n readOnly={readOnly}\n className={`${CLASS_NAME}__input`}\n onChange={this.handleInputChange.bind(this, index)}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleInputKeyDown}\n />\n {!readOnly && <i className={`${CLASS_NAME}__close`} onClick={cb}></i>}\n </Tag>\n );\n };\n\n templateCreate = () => {\n const { readOnly } = this.props;\n if (readOnly) return null;\n return (\n <Button\n ref={this.btnRef}\n size=\"small\"\n type=\"dashed\"\n onClick={this.actionCreate}\n className={`${CLASS_NAME}__create`}>\n <i className={`${CLASS_NAME}__plus`}></i>\n 新增\n </Button>\n );\n };\n\n /**\n * Default item's value.\n */\n templateDefault = () => {\n return '';\n };\n\n /**\n * Add new default item.\n */\n actionCreate = () => {\n const { value } = this.state;\n value!.push(this.templateDefault());\n this.handleChange(value);\n this.rootRef.current!.notify(value);\n this.actionFocusLast();\n };\n\n /**\n * Focus latest input element if exists.\n * @param inDelay\n */\n actionFocusLast = (inDelay?: number) => {\n const delay = inDelay || 100;\n setTimeout(() => {\n this.latestInput?.focus();\n }, delay);\n };\n\n handleInputChange = (inIndex, inEvent) => {\n const { value } = this.state;\n value![inIndex] = inEvent.target.value;\n this.handleChange(value);\n };\n\n handleInputBlur = () => {\n let { value } = this.state;\n const len = value?.length;\n setTimeout(() => {\n value = nx.unique(value || []);\n if (document.activeElement !== this.latestInput) {\n value = value?.filter(Boolean);\n }\n this.handleChange(value);\n if (value?.length !== len) {\n this.actionFocusLast(100);\n }\n }, 10);\n };\n\n handleInputKeyDown = (inEvent) => {\n const { triggers } = this.props;\n const { ime } = this.state;\n if (triggers?.includes(inEvent.key)) {\n if (inEvent.key === ' ' && ime) return;\n inEvent.preventDefault();\n this.actionCreate();\n }\n };\n\n handleInterChange = (inEvent) => {\n const { value } = inEvent.target;\n this.handleChange(value);\n };\n\n handleChange = (inValue, inCallback?) => {\n const { onChange } = this.props;\n const value = inValue.map((item) => item.trim());\n const target = { value };\n this.setState(target, () => {\n onChange!({ target });\n inCallback?.(value);\n });\n };\n\n componentDidMount() {\n const doc = document as any;\n this.imeStartRes = nx.DomEvent.on(doc, 'compositionstart', () => this.setState({ ime: true }));\n this.imeEndRes = nx.DomEvent.on(doc, 'compositionend', () => this.setState({ ime: false }));\n }\n\n componentWillUnmount() {\n this.imeStartRes.destroy();\n this.imeEndRes.destroy();\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcEditableTagGroupProps>): boolean {\n const { value } = nextProps;\n if (!deepEqual(value, this.props.value)) {\n this.setState({ value: value!.slice() });\n }\n return true;\n }\n\n render() {\n const { className, value, onChange, min, max, triggers, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <AcInteractiveList\n className={cx(CLASS_NAME, className)}\n forwardedRef={this.rootForwardedRef}\n ref={this.rootRef}\n min={min}\n max={max}\n items={stateValue}\n template={this.template}\n templateCreate={this.templateCreate}\n templateDefault={this.templateDefault}\n onChange={this.handleInterChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcEditableTagGroupFc = (props: AcEditableTagGroupProps) => {\n return <AcEditableTagGroup {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React, { Component, HTMLAttributes } from 'react';\nimport type { StdCallback, StdEventTarget, TemplateCallbackWithItems } from './types';\n\nconst CLASS_NAME = 'ac-interactive-list';\n\nexport type ReactInteractiveListProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * The minimum size.\n */\n min: number;\n /**\n * The max size.\n */\n max: number;\n /**\n * The data source.\n */\n items: any[];\n /**\n * The data item template.\n */\n template: TemplateCallback;\n /**\n * The action of `create` component.\n */\n templateCreate: (...args) => React.ReactNode;\n /**\n * The empty create template.\n */\n templateDefault: () => React.ReactNode;\n /**\n * The change handler.\n */\n onChange: StdCallback;\n /**\n * When trigger max/min boundary.\n */\n onError: StdCallback;\n /**\n * Forwards a ref to the underlying div element.\n */\n forwardedRef: any;\n} & HTMLAttributes<any>;\n\ninterface ReactInteractiveListState {\n value: any[];\n}\n\nclass ReactInteractiveList extends Component<ReactInteractiveListProps, ReactInteractiveListState> {\n static displayName = CLASS_NAME;\n static defaultProps = {\n min: 0,\n max: 10,\n items: [],\n };\n\n get length() {\n const { value } = this.state;\n return value.length;\n }\n\n get isLteMin() {\n const { min } = this.props;\n return this.length <= min;\n }\n\n get isGteMax() {\n const { max } = this.props;\n return this.length >= max;\n }\n\n get listView() {\n const { value } = this.state;\n return <ReactList items={value} template={this.template} />;\n }\n\n get createView() {\n const { value } = this.state;\n const { templateCreate, templateDefault } = this.props;\n const cb = () => {\n if (this.isGteMax) return;\n value.push(templateDefault());\n this.handleChange(value);\n };\n return templateCreate({ items: value }, cb);\n }\n\n constructor(inProps) {\n super(inProps);\n const { items } = inProps;\n this.state = { value: [...items] };\n }\n\n shouldComponentUpdate(inProps) {\n const { items } = inProps;\n const isEqual = deepEqual(this.state.value, items);\n if (!isEqual) {\n this.setState({ value: [...items] });\n }\n return true;\n }\n\n template = ({ item, index }) => {\n const { template } = this.props;\n const { value } = this.state;\n const cb = () => {\n if (this.isLteMin) return;\n value.splice(index, 1);\n this.handleChange(value);\n };\n return template({ item, index, items: value }, cb);\n };\n\n handleChange = (inValue) => {\n const { onChange, onError, min, max } = this.props;\n const target = { value: inValue };\n this.setState(target, () => {\n onChange({ target });\n this.length < min && onError({ target: { value: 'EQ_MIN' } });\n this.length > max && onError({ target: { value: 'EQ_MAX' } });\n });\n };\n\n notify = (inValue) => {\n this.handleChange(inValue);\n };\n\n render() {\n const {\n className,\n forwardedRef,\n min,\n max,\n items,\n template,\n templateCreate,\n templateDefault,\n onChange,\n onError,\n ...props\n } = this.props;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={forwardedRef} {...props}>\n {this.listView}\n {this.createView}\n </div>\n );\n }\n}\n\nexport const AcInteractiveList = React.forwardRef((props: any, ref) => {\n return <ReactInteractiveList {...props} ref={ref} />;\n});\n","import { Input, InputProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input';\n\nexport type AcInputProps = {\n className?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n} & InputProps;\n\nexport class AcInput extends React.Component<AcInputProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n };\n\n state = { value: this.props.value };\n\n shouldComponentUpdate(inProps: Readonly<AcInputProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const { value } = inEvent.target;\n const target = { value };\n this.setState(target);\n onChange?.({ target });\n };\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n render() {\n const { className, value, autoComplete, onChange, ...props } = this.props;\n const { value: stateValue } = this.state;\n\n return (\n <Input\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n value={stateValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcInputFc = (props: AcInputProps) => {\n return <AcInput {...props} />;\n};\n","import { LinkOutlined } from '@ant-design/icons';\nimport { Space, Typography } from 'antd';\nimport cx from 'classnames';\nimport { ValueType } from 'rc-input/lib/interface';\nimport React from 'react';\nimport { AcInput, AcInputProps } from './input';\n\nconst CLASS_NAME = 'ac-input-copyable';\n\nexport type AcInputCopyableValueType = 'text' | 'link';\n\nexport interface AcInputCopyableProps extends AcInputProps {\n valueType?: AcInputCopyableValueType;\n}\n\ninterface AcInputCopyableState {\n value?: ValueType;\n}\n\nexport class AcInputCopyable extends React.Component<AcInputCopyableProps, AcInputCopyableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n valueType: 'text',\n };\n\n constructor(props: AcInputCopyableProps) {\n super(props);\n this.state = {\n value: props.value || '',\n };\n }\n\n get copyView() {\n const { value } = this.state;\n return <Typography.Text copyable={{ text: String(value) }} />;\n }\n\n get linkView() {\n const { value } = this.state;\n if (!value) return null;\n return (\n <LinkOutlined\n onClick={() => window.open(String(value), '_blank')}\n style={{ cursor: 'pointer', fontSize: 14 }}\n />\n );\n }\n\n shouldComponentUpdate(props: Readonly<AcInputProps>): boolean {\n const { value } = props;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleInputChange = (e) => {\n const { onChange } = this.props;\n const { value } = e.target;\n this.setState({ value });\n onChange?.(e);\n };\n\n render() {\n const { onChange, className, valueType = 'text', ...rest } = this.props;\n\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <AcInput onChange={this.handleInputChange} {...rest} />\n <Space.Addon>{this.copyView}</Space.Addon>\n {valueType === 'link' && <Space.Addon>{this.linkView}</Space.Addon>}\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputCopyableFc = (props: AcInputCopyableProps) => {\n return <AcInputCopyable {...props} />;\n};\n","import React from 'react';\nimport { InputProps } from 'antd';\n\nconst CLASS_NAME = 'ac-input-hidden';\n\nexport class AcInputHidden extends React.Component {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n render() {\n return <input type=\"hidden\" {...this.props} />;\n }\n}\n\nexport const AcInputHiddenFc = (props: InputProps) => {\n return <AcInputHidden {...props} />;\n};\n\n","import { InputNumber, InputNumberProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-number';\n\nexport type AcInputNumberProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & InputNumberProps;\n\nexport class AcInputNumber extends React.Component<AcInputNumberProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(inProps: Readonly<AcInputNumberProps>): boolean {\n const { value } = inProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target);\n onChange?.({ target });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { value: stateValue } = this.state;\n return (\n <InputNumber\n className={cx(CLASS_NAME, className)}\n value={stateValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcInputNumberFc = (props: AcInputNumberProps) => {\n return <AcInputNumber {...props} />;\n};\n","import { Tag } from 'antd';\nimport cx from 'classnames';\nimport fde from 'fast-deep-equal';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-tags';\nconst TRIGGER_KEYS = ['Tab', 'Enter', 'Space'];\n\n// @ https://cdpn.io/iamqamarali/fullpage/qyawoR?anon=true&view=\n\nexport type AcInputTagsProps = {\n className?: string;\n items?: string[];\n disabled?: boolean;\n onChange?: StdCallback;\n} & React.HTMLAttributes<HTMLDivElement>;\n\ntype State = {\n items?: string[];\n inputValue: string;\n isComposite: boolean;\n};\n\nexport class AcInputTags extends React.Component<AcInputTagsProps, State> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n disabled: false,\n };\n\n inputRef = React.createRef<HTMLInputElement>();\n\n constructor(inProps) {\n super(inProps);\n const { items } = inProps;\n this.state = {\n items,\n isComposite: false,\n inputValue: '',\n };\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcInputTagsProps>): boolean {\n const { items } = nextProps;\n if (!fde(items, this.props.items)) {\n this.setState({ items });\n }\n return true;\n }\n\n handleInputChange = (inEvent) => {\n const { value } = inEvent.target;\n this.setState({ inputValue: value });\n };\n\n handleInputKeyAction = (inEvent) => {\n const { code } = inEvent;\n const { value } = inEvent.target;\n const { items, isComposite } = this.state;\n const val = value.trim();\n const idx = items!.length - 1;\n inEvent.stopPropagation();\n\n if (isComposite) return false;\n if (code === 'Backspace') return this.handleTagRemove(idx);\n if (code === 'Tab') inEvent.preventDefault();\n if (TRIGGER_KEYS.includes(code)) {\n if (val) {\n if (!items!.includes(val)) {\n items!.push(val);\n this.setState({ inputValue: '' });\n this.execChange(items!);\n }\n }\n }\n };\n\n handleTagRemove = (inIndex, inForce?: boolean) => {\n const { disabled } = this.props;\n const { items, inputValue } = this.state;\n if (disabled) return;\n const newItems = items!.filter((_, idx) => idx !== inIndex);\n if (!inputValue || inForce) this.execChange(newItems);\n };\n\n handleMouseEnter = () => {\n this.inputRef.current?.focus();\n };\n\n execChange = (inItems) => {\n const { onChange } = this.props;\n this.setState({ items: (inItems || []).slice(0) }, () => {\n this.inputRef.current?.focus();\n onChange?.({ target: { value: inItems } });\n });\n };\n\n render() {\n const { className, onChange, disabled, ...props } = this.props;\n const { items, inputValue } = this.state;\n\n return (\n <div\n data-disabled={disabled}\n className={cx(CLASS_NAME, className)}\n onMouseOver={this.handleMouseEnter}\n onClick={this.handleMouseEnter}\n {...props}>\n {items!.map((item, idx) => {\n return (\n <Tag\n data-disabled={disabled}\n className={`${CLASS_NAME}__tag`}\n closeIcon\n onClose={this.handleTagRemove.bind(this, idx, true)}\n key={idx}>\n {item}\n </Tag>\n );\n })}\n <input\n disabled={disabled}\n autoFocus\n ref={this.inputRef}\n onCompositionStart={() => this.setState({ isComposite: true })}\n onCompositionEnd={() => this.setState({ isComposite: false })}\n onInput={this.handleInputChange}\n onKeyDown={this.handleInputKeyAction}\n value={inputValue}\n className={cx(`${CLASS_NAME}__input`, className)}\n />\n </div>\n );\n }\n}\n\nexport const AcInputTagsFc = (props: AcInputTagsProps) => {\n return <AcInputTags {...props} />;\n};\n","import { LockOutlined, UnlockOutlined } from '@ant-design/icons';\nimport { Button, Input, InputProps, Space } from 'antd';\nimport cx from 'classnames';\nimport { nanoid } from 'nanoid';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-input-token';\n\nexport type AcInputTokenProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n labelCreate?: string;\n labelRemove?: string;\n} & InputProps;\n\nexport class AcInputToken extends React.Component<AcInputTokenProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n labelCreate: '生成Token',\n labelRemove: '去掉Token',\n };\n\n private rootRef = React.createRef<any>();\n state = { value: this.props.value };\n\n shouldComponentUpdate(nextProps: Readonly<AcInputTokenProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n get tokenView() {\n const { labelCreate, labelRemove } = this.props;\n return (\n <Space.Compact>\n <Button\n size=\"small\"\n icon={<LockOutlined />}\n className={`${CLASS_NAME}__action`}\n onClick={this.handleTokenCreate}>\n {labelCreate}\n </Button>\n <Button\n size=\"small\"\n icon={<UnlockOutlined />}\n className={`${CLASS_NAME}__action`}\n onClick={this.handleTokenRemove}>\n {labelRemove}\n </Button>\n </Space.Compact>\n );\n }\n\n handleTokenCreate = () => {\n this.doChange(nanoid());\n };\n\n handleTokenRemove = () => {\n this.doChange('');\n };\n\n handleChange = (inEvent) => {\n const { value } = inEvent.target;\n this.doChange(value);\n this.rootRef.current.input.focus();\n };\n\n doChange = (inValue) => {\n const { onChange } = this.props;\n const target = { value: inValue };\n this.setState(target);\n onChange?.({ target });\n };\n\n render() {\n const { className, value, autoComplete, onChange, labelCreate, labelRemove, ...props } =\n this.props;\n\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <Input\n ref={this.rootRef}\n value={this.state.value}\n onChange={this.handleChange}\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n {...props}\n />\n <Space.Addon>{this.tokenView}</Space.Addon>\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputTokenFc = (props: AcInputTokenProps) => {\n return <AcInputToken {...props} />;\n};\n","import MarkdownEditor from '@uiw/react-markdown-editor';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-markdown-editor';\n\nexport type AcMarkdownEditorProps = {\n className?: string;\n value?: string;\n onChange?: StdCallback;\n} & React.ComponentProps<typeof MarkdownEditor>;\n\nexport class AcMarkdownEditor extends React.Component<AcMarkdownEditorProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inValue: string) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inValue } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n // 确保 value 不是 null 或 undefined\n const safeValue = value ?? '';\n\n return (\n <MarkdownEditor\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n value={safeValue}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcMarkdownEditorFc = (props: AcMarkdownEditorProps) => {\n return <AcMarkdownEditor {...props} />;\n};\n","import cx from 'classnames';\nimport React from 'react';\nimport { AcInput } from './input';\nimport { AcSelect } from './select';\nimport { AcSearch } from './search';\n\nconst CLASS_NAME = 'ac-pre-select';\nconst DEFAULT_VALUE = { option: null, keyword: '' };\n\nexport interface Value {\n option: string;\n keyword: string;\n}\n\nexport type AcPreSelectProps = {\n /**\n * The extended className for component.\n */\n className?: string;\n /**\n * Default value.\n */\n value?: Value;\n /**\n * Select options.\n */\n items?: any[];\n /**\n * The change handler.\n */\n onChange?: Function;\n /**\n * The handler for search.\n */\n onSearch?: Function;\n /**\n * If use search input.\n */\n searchable?: boolean;\n /**\n * The prefix select options.\n */\n selectOptions?: any;\n /**\n * The suffix input options.\n */\n inputOptions?: any;\n};\n\nexport class AcPreSelect extends React.Component<AcPreSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static version = '__VERSION__';\n static defaultProps = {\n searchable: false,\n };\n\n state = { value: this.props.value };\n\n get addonView() {\n const { items, selectOptions } = this.props;\n const { value } = this.state;\n\n return (\n <AcSelect\n value={value?.option}\n items={items}\n onChange={this.handleChange.bind(this, 'option')}\n {...selectOptions}\n />\n );\n }\n\n handleFiledAction = (inField, inEvent, inCallback) => {\n const { value } = this.state;\n const _value = value || DEFAULT_VALUE;\n _value![inField] = inEvent.target.value;\n const target = { value: _value };\n this.setState(target);\n inCallback!({ target });\n };\n\n handleChange = (inField, inEvent) => {\n this.handleFiledAction(inField, inEvent, this.props.onChange);\n if (inField === 'option') {\n this.handleFiledAction(inField, inEvent, this.props.onSearch);\n }\n };\n\n handleSearch = (inField, inEvent) => {\n this.handleFiledAction(inField, inEvent, this.props.onSearch);\n };\n\n render() {\n const {\n className,\n value,\n onChange,\n onSearch,\n searchable,\n selectOptions,\n inputOptions,\n ...props\n } = this.props;\n\n const AsTag = searchable ? AcSearch : AcInput;\n const _value = this.state.value;\n const computedProps = searchable\n ? { onSearch: this.handleSearch.bind(this, 'keyword') }\n : null;\n\n return (\n <AsTag\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n addonBefore={this.addonView}\n value={_value?.keyword}\n onChange={this.handleChange.bind(this, 'keyword')}\n {...computedProps}\n {...props}\n {...inputOptions}\n />\n );\n }\n}\n\n\nexport const AcPreSelectFc = (props: AcPreSelectProps) => {\n return <AcPreSelect {...props} />;\n};\n\n","import ReactList from '@jswork/react-list';\nimport { Select, SelectProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { kv as KvTmpl, selectKv } from '../tpls/kv';\nimport type { StdCallback, StdEventTarget, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-select';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\nexport type AcSelectProps = {\n className?: string;\n items?: any[];\n kv?: Record<string, string>;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n} & Omit<SelectProps, 'options'>;\n\nexport class AcSelect extends React.Component<AcSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n placeholder: '请选择',\n items: [],\n kv: DEFAULT_KV,\n template: selectKv,\n };\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcSelectProps>): boolean {\n const { value } = nextProps;\n const isNewValue = this.props.value !== value;\n if (isNewValue && value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inValue) => {\n const { onChange, onSearch } = this.props;\n const target = { value: inValue };\n const stdEvent: StdEventTarget = { target: { value: inValue } };\n this.setState(target, () => {\n onChange?.(stdEvent);\n onSearch?.(stdEvent);\n });\n };\n\n template = (args) => {\n const { template, kv } = this.props;\n if (kv === DEFAULT_KV) return template!(args);\n return KvTmpl(args, {\n component: Select.Option,\n ...kv,\n });\n };\n\n render() {\n const { className, onChange, onSearch, value, template, ...props } = this.props;\n const { value: _value } = this.state;\n const asProps = {\n onChange: this.handleChange,\n value: _value,\n } as any;\n\n return (\n <ReactList\n allowEmpty\n as={Select}\n className={cx(CLASS_NAME, className)}\n template={this.template}\n {...asProps}\n {...props}\n />\n );\n }\n}\n\nexport const AcSelectFc = (props: AcSelectProps) => {\n return <AcSelect {...props} />;\n};\n","import React from 'react';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { SearchProps } from 'antd/es/input';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-search';\n\nexport type AcSearchProps = {\n value?: string;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n autoComplete?: boolean;\n} & SearchProps;\n\nexport class AcSearch extends React.Component<AcSearchProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n autoComplete: false,\n placeholder: '输入关键字搜索',\n };\n\n get complete() {\n return this.props.autoComplete ? 'on' : 'off';\n }\n\n handleSearch = (inEvent) => {\n const { onSearch } = this.props;\n onSearch?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, autoComplete, onSearch, ...props } = this.props;\n return (\n <Input.Search\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n onSearch={this.handleSearch}\n {...props}\n />\n );\n }\n}\n\nexport const AcSearchFc = (props: AcSearchProps) => {\n return <AcSearch {...props} />;\n};\n","import ReactList from '@jswork/react-list';\nimport { Radio, RadioGroupProps } from 'antd';\nimport cx from 'classnames';\nimport React, { HTMLAttributes } from 'react';\nimport { radioKv } from '../tpls/kv';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-radio-group';\n\nexport type AcRadioGroupProps = {\n className?: string;\n value?: any;\n defaultValue?: any;\n items?: any[];\n onChange?: StdCallback;\n onSearch?: StdCallback;\n template?: TemplateCallback;\n templateOptions?: any;\n buttonStyle?: 'solid' | 'outline';\n} & RadioGroupProps &\n HTMLAttributes<any>;\n\nexport class AcRadioGroup extends React.Component<AcRadioGroupProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: radioKv,\n };\n\n get templateCallback() {\n const { template, templateOptions } = this.props;\n return (item) => template!(item, templateOptions);\n }\n\n state = { value: this.props.value };\n\n static getDerivedStateFromProps(inProps: Readonly<AcRadioGroupProps>, inState: any) {\n const { value } = inProps;\n if (value !== inState.value) return { value };\n return null;\n }\n\n handleChange = (inEvent) => {\n const { onChange, onSearch } = this.props;\n const { value } = inEvent.target;\n const target = { value };\n this.setState(target);\n onChange?.({ target });\n onSearch?.({ target });\n };\n\n render() {\n const { className, items, template, templateOptions, onChange, onSearch, ...props } =\n this.props;\n\n return (\n <Radio.Group className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props}>\n <ReactList items={items || []} template={this.templateCallback} />\n </Radio.Group>\n );\n }\n}\n\nexport const AcRadioGroupFc = (props: AcRadioGroupProps) => {\n return <AcRadioGroup {...props} />;\n};\n","import { DatePicker } from 'antd';\nimport { RangePickerProps } from 'antd/es/date-picker';\nimport cx from 'classnames';\nimport moment from 'dayjs';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-range-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\nconst { RangePicker } = DatePicker;\n\nexport type AcRangePickerProps = {\n className?: string;\n value?: any;\n defaultValue?: any;\n onChange?: StdCallback;\n} & RangePickerProps;\n\nexport class AcRangePicker extends React.Component<AcRangePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n format: STD_FORMAT,\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: this.stringify(inEvent) } });\n };\n\n parse = (inValue) => {\n const { format } = this.props;\n return inValue.map((item) => moment(item, format as string));\n };\n\n stringify = (inValue) => {\n if (!inValue) return [];\n const { format } = this.props;\n return inValue.map((item) => item.format(format as string));\n };\n\n render() {\n const { className, defaultValue, value, onChange, ...props } = this.props;\n if (defaultValue) props['defaultValue'] = this.parse(defaultValue);\n if (value) props['value'] = this.parse(value);\n\n return (\n <RangePicker className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />\n );\n }\n}\n\nexport const AcRangePickerFc = (props: AcRangePickerProps) => {\n return <AcRangePicker {...props} />;\n};\n","import { Rate, RateProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-rate';\n\nexport type AcRateProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & RateProps;\n\nexport class AcRate extends React.Component<AcRateProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return <Rate className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />;\n }\n}\n\nexport const AcRateFc = (props: AcRateProps) => {\n return <AcRate {...props} />;\n};\n","import { Slider, SliderSingleProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-slider';\n\nexport type AcSliderProps = {\n className?: string;\n onChange?: StdCallback;\n} & SliderSingleProps;\n\nexport class AcSlider extends React.Component<AcSliderProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return <Slider className={cx(CLASS_NAME, className)} onChange={this.handleChange} {...props} />;\n }\n}\n\nexport const AcSliderFc = (props: AcSliderProps) => {\n return <AcSlider {...props} />;\n};\n","import { Slider } from 'antd';\nimport { SliderRangeProps } from 'antd/es/slider';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-slider-range';\n\nexport type AcSliderRangeProps = {\n className?: string;\n range?: true;\n onChange?: StdCallback;\n} & Omit<SliderRangeProps, 'range'>;\n\nexport class AcSliderRange extends React.Component<AcSliderRangeProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n render() {\n const { className, range, onChange, ...props } = this.props;\n return (\n <Slider\n range={true}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSliderRangeFc = (props: AcSliderRangeProps) => {\n return <AcSliderRange {...props} />;\n};\n","import { Switch, SwitchProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-switch';\n\nexport type AcSwitchProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & SwitchProps;\n\nexport class AcSwitch extends React.Component<AcSwitchProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n state = {\n value: Boolean(this.props.value),\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcSwitchProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) this.setState({ value });\n return true;\n }\n\n handleChange = (value) => {\n const { onChange } = this.props;\n const target = { value };\n this.setState(target, () => onChange?.({ target }));\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const _value = this.state.value;\n\n return (\n <Switch\n checked={_value}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSwitchFc = React.forwardRef<AcSwitch, AcSwitchProps>((props, ref) => {\n return <AcSwitch {...props} ref={ref} />;\n});\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-03 07:11:26\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-11-01 10:44:40\n *\n *\n * 路由风格: /{module}/{name} eg: /admin/staff-roles\n * API资源风格: {module}_{name}_index eg: admin_staff-roles_index\n */\nimport type { EventMittNamespace } from '@jswork/event-mitt';\nimport { ReactHarmonyEvents } from '@jswork/harmony-events';\nimport nx from '@jswork/next';\nimport '@jswork/next-compact-object';\nimport '@jswork/next-create-fetcher';\nimport '@jswork/next-tmpl';\nimport UrlSyncFlat from '@jswork/url-sync-flat';\nimport { Table, TableProps } from 'antd';\nimport { ColumnsType } from 'antd/es/table';\nimport cx from 'classnames';\nimport deepEqual from 'fast-deep-equal';\nimport React from 'react';\nimport type { AppLocale, FetcherParams, FetcherResponse } from './types';\nimport { tableAction } from './table-links';\n\nconst CLASS_NAME = 'ac-table';\n\nexport type AcTableProps = TableProps & {\n /**\n * The identity name.\n * @default '@'\n */\n name: string;\n /**\n * The language.\n * @default 'zh-CN'\n */\n lang?: AppLocale;\n /**\n * The platform module name.\n * @default admin\n */\n module?: string;\n /**\n * The extra params when query data.\n */\n params?: Record<string, any>;\n /**\n * The extra params when redirect to add page.\n * `paramsAdd` will merge with `params` when redirect to add page.\n */\n paramsAdd?: Record<string, any>;\n /**\n * The extra params when redirect to edit page.\n * `paramsEdit` will merge with `paramsAdd` when redirect to edit page.\n */\n paramsEdit?: Record<string, any>;\n /**\n * The extra params when reset the page.\n */\n paramsReset?: Record<string, any>;\n /**\n * Use custom router path for add page.\n */\n pathAdd?: string;\n /**\n * Use custom router path for edit page.\n */\n pathEdit?: string;\n /**\n * Custom get standard data.\n * @param params { current: number; pageSize: number }\n * @returns Promise<{ data: any[]; total: number }>\n */\n fetcher?: (params: FetcherParams) => FetcherResponse;\n /**\n * @param page\n * @param size\n */\n onPageChange?: (page: number, size: number) => void;\n /**\n * When destroy complete.\n * @param model\n */\n onDestroyComplete?: (model: any) => void;\n /**\n * Default page.\n */\n defaultCurrent?: number;\n /**\n * Default page size.\n */\n defaultPageSize?: number;\n /**\n * Total data from backend.\n */\n total?: number;\n /**\n * The response data key.\n */\n dataPath?: string;\n /**\n * The response total key.\n */\n totalPath?: string;\n /**\n * Column fields for table.\n */\n columnsFields?: TableProps['columns'];\n /**\n * Column fields for table action.\n */\n columnsAction?: ColumnsType<any>;\n /**\n * The table action params.\n */\n columnsActionParams?: Record<string, any>;\n /**\n * The table columns.\n */\n columns?: TableProps['columns'];\n};\n\ntype AcTableState = {\n currentRowId: any;\n dataSource: TableProps['dataSource'];\n isLoading: boolean;\n current: any;\n pageSize: any;\n total: any;\n};\n\nexport class AcTable extends React.Component<AcTableProps, AcTableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n private harmonyEvents: ReactHarmonyEvents | null = null;\n static event: EventMittNamespace.EventMitt;\n static events = ['load', 'refetch', 'reset', 'add', 'edit', 'destroy', 'draft'];\n static defaultProps = {\n name: '@',\n lang: 'zh-CN',\n module: 'admin',\n rowKey: 'id',\n defaultCurrent: 1,\n defaultPageSize: 10,\n dataPath: 'rows',\n totalPath: 'total',\n columnsFields: [],\n params: {},\n };\n\n public eventBus: EventMittNamespace.EventMitt = AcTable.event;\n public sync = new UrlSyncFlat();\n private defaultFetcher: Function;\n\n get routerKey() {\n const { name } = this.props;\n return name.replace(/_/g, '-');\n }\n\n get calculateColumnsAction() {\n const { name, columnsAction, columnsActionParams, lang } = this.props;\n if (typeof columnsAction !== 'undefined') return columnsAction;\n return [tableAction({ name, lang, ...columnsActionParams })];\n }\n\n get calculateColumns() {\n const { columnsFields, columns } = this.props;\n if (columns && columns.length > 0) return columns;\n return [...columnsFields!, ...this.calculateColumnsAction] as TableProps['columns'];\n }\n\n constructor(props: AcTableProps) {\n super(props);\n const { defaultCurrent, defaultPageSize, params } = this.props;\n const defaults = { page: defaultCurrent, size: defaultPageSize, ...params };\n const init = this.sync.readInitialState({ defaults });\n\n this.state = {\n currentRowId: null,\n dataSource: [],\n isLoading: false,\n current: init.page,\n pageSize: init.size,\n total: 0,\n };\n this.initFetcher();\n }\n\n private initFetcher() {\n const { name, dataPath, totalPath, fetcher } = this.props;\n const resourceId = `${name}_index`;\n this.defaultFetcher = fetcher || nx.createFetcher(resourceId, { dataPath, totalPath });\n }\n\n private toQueryString(params?: Record<string, any>) {\n return params ? `?${new URLSearchParams(params).toString()}` : '';\n }\n\n async componentDidMount() {\n const { current, pageSize } = this.state;\n this.harmonyEvents = ReactHarmonyEvents.create(this);\n this.eventBus = AcTable.event;\n await this.fetchData(current, pageSize);\n }\n\n // params update\n async componentDidUpdate(prevProps: AcTableProps) {\n const { params } = this.props;\n if (!deepEqual(prevProps.params, params)) {\n void this.refetch();\n }\n }\n\n componentWillUnmount() {\n this.harmonyEvents?.destroy();\n this.sync.cancel();\n }\n\n fetchData = async (page: number, size: number, overrideParams?: Record<string, any> | null) => {\n const abortController = new AbortController();\n const { params: propsParams } = this.props; // 将 props.params 重命名以避免与局部变量冲突\n\n // 1. 获取当前 URL 中的所有参数作为基础\n const currentUrlParams = this.sync.readInitialState();\n\n // 2. 合并所有过滤/搜索参数:\n // 优先级:overrideParams > propsParams > currentUrlParams\n // 注意:这里不包含 page 和 size,它们将作为独立参数处理\n const filterParams = nx.compactObject(\n overrideParams === null\n ? propsParams\n : {\n ...currentUrlParams, // 从 URL 读取的现有参数\n ...propsParams, // 组件 props 中定义的固定参数\n ...overrideParams, // 动态传入的覆盖参数(例如搜索关键字)\n }\n );\n\n // 3. 确保 page 和 size 是明确的,并从 filterParams 中移除它们,\n // 以便传递给 fetcher 的 params 字段时不会重复\n const finalPage = page;\n const finalSize = size;\n const { page: _, size: __, ...fetcherFilterParams } = filterParams as Record<string, any>;\n\n // 4. 更新组件状态:加载中、当前页和每页大小\n this.setState({\n isLoading: true,\n current: finalPage,\n pageSize: finalSize,\n });\n\n // 5. 同步 URL 参数:合并所有过滤参数,并明确设置 page 和 size\n this.sync.schedule({\n ...filterParams, // 所有过滤参数\n page: finalPage, // 明确的当前页\n size: finalSize, // 明确的每页大小\n });\n\n try {\n // 6. 调用数据获取器,传递明确的 page/size 和过滤参数\n const result = await this.defaultFetcher({\n current: finalPage,\n pageSize: finalSize,\n params: fetcherFilterParams, // 仅传递过滤参数\n });\n\n if (!abortController.signal.aborted) {\n this.setState({\n dataSource: result.data || [],\n total: result.total ?? 0,\n });\n }\n } catch (error) {\n if (!abortController.signal.aborted) {\n this.setState({\n dataSource: [],\n total: 0,\n });\n }\n } finally {\n if (!abortController.signal.aborted) {\n this.setState({ isLoading: false });\n }\n }\n };\n\n /* ----- public eventBus methods start ----- */\n /**\n * Load data from backend.\n */\n public load = async (payload: Record<string, any>) => {\n const { page, size, ...rest } = payload;\n const _page = page || this.state.current;\n const _size = size || this.state.pageSize;\n await this.fetchData(_page, _size, rest);\n };\n /**\n * Refresh data use current state.\n */\n public refetch = async () => {\n const { current, pageSize } = this.state;\n await this.fetchData(current, pageSize);\n };\n\n /**\n * Reset to default state, and fetch data.\n */\n public reset = async () => {\n const { defaultCurrent, defaultPageSize, paramsReset } = this.props;\n this.setState(\n {\n current: defaultCurrent,\n pageSize: defaultPageSize,\n total: 0,\n dataSource: [],\n },\n () => {\n void this.fetchData(defaultCurrent!, defaultPageSize!, paramsReset);\n }\n );\n };\n\n /**\n * CURD(local): optimisticUpdate data before data fetch.\n */\n public draft = async (payload: Record<string, any>) => {\n const { rowKey } = this.props;\n const id = payload[rowKey as string];\n const dataSource = this.state.dataSource!.slice();\n const index = dataSource.findIndex((item) => item[rowKey as string] === id);\n if (index !== -1) {\n dataSource[index] = {\n ...dataSource[index],\n ...payload,\n };\n this.setState({ dataSource });\n }\n };\n\n /**\n * CURD(action): Delete data from backend.\n */\n public destroy = (item) => {\n const { name, onDestroyComplete } = this.props;\n this.setState({ isLoading: true });\n nx.$api[`${name}_destroy`](item)\n .then(this.refetch)\n .finally(() => {\n onDestroyComplete?.(item);\n this.setState({ isLoading: false });\n });\n };\n\n /**\n * CURD(page): Redirect to add page.\n */\n public add = () => {\n const { module, paramsAdd, pathAdd } = this.props;\n const qs = this.toQueryString(paramsAdd);\n if (pathAdd) return nx.$nav?.(pathAdd);\n nx.$nav?.(`/${module}/${this.routerKey}/add${qs}`);\n };\n\n /**\n * CURD(page): Redirect to edit page.\n */\n public edit = (item: any) => {\n const { module, rowKey, paramsEdit, pathEdit } = this.props;\n const qs = this.toQueryString(paramsEdit);\n if (pathEdit) {\n const _editPath = nx.tmpl(pathEdit, item);\n return nx.$nav?.(nx.tmpl(_editPath, item));\n }\n nx.$nav?.(`/${module}/${this.routerKey}/${item[rowKey as string]}/edit${qs}`);\n };\n\n /* ----- public eventBus methods end ----- */\n\n handleOnRow = (record) => {\n const { rowKey } = this.props;\n return {\n onMouseEnter: () => {\n this.setState({ currentRowId: record[rowKey as any] });\n },\n onMouseLeave: () => {\n this.setState({ currentRowId: null });\n },\n };\n };\n\n render() {\n const {\n className,\n pagination,\n onPageChange,\n params,\n paramsAdd,\n paramsEdit,\n paramsReset,\n fetcher,\n dataPath,\n totalPath,\n columnsFields,\n columnsAction,\n columns,\n ...rest\n } = this.props;\n const { dataSource, isLoading, current, pageSize, total } = this.state;\n\n return (\n <Table\n className={cx(className, CLASS_NAME)}\n loading={isLoading}\n dataSource={dataSource}\n onRow={this.handleOnRow}\n columns={this.calculateColumns}\n pagination={{\n total,\n current,\n pageSize,\n showSizeChanger: true,\n onChange: (page, size) => {\n onPageChange?.(page, size);\n this.setState({ current: page, pageSize: size }, () => {\n void this.fetchData(page, size);\n });\n },\n ...pagination,\n }}\n {...rest}\n />\n );\n }\n}\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-03 07:11:26\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 15:09:46\n */\nimport nx from '@jswork/next';\nimport { Space } from 'antd';\nimport React, { FC } from 'react';\nimport { AcConfirmButton } from './confirm-button';\nimport type { AppLocale } from './types';\n\nconst locales = {\n 'zh-CN': {\n edit: '编辑',\n destroy: '删除',\n action: '操作',\n },\n 'en-US': {\n edit: 'Edit',\n destroy: 'Destroy',\n action: 'Action',\n },\n};\n\nexport type AcTableLinksProps = {\n name: string;\n model: any;\n lang?: AppLocale;\n extraBefore?: React.ReactNode;\n extraAfter?: React.ReactNode;\n as?: React.ComponentType<any>;\n asProps?: any;\n actions?: string[];\n};\n\nexport type TableActionArgs = {\n name: string;\n lang?: AppLocale;\n [key: string]: any;\n}\n\nconst defaultProps = {\n lang: 'zh-CN' as const,\n actions: ['edit', 'destroy'],\n};\n\nexport const AcTableLinks: FC<AcTableLinksProps> = (props) => {\n const { name, as, lang, actions, model, asProps, extraBefore, extraAfter } = { ...defaultProps, ...props };\n const t = (key: string) => locales[lang][key];\n const AsComponent = as || Space;\n const handleEdit = () => nx.$event?.emit?.(`${name}:edit`, model);\n const handleDestroy = () => nx.$event?.emit?.(`${name}:destroy`, model);\n const items = {\n edit: (\n <a key=\"edit\" onClick={handleEdit}>\n {t('edit')}\n </a>\n ),\n destroy: (\n <AcConfirmButton key=\"destroy\" type=\"anchor\" lang={lang} onClick={handleDestroy}>\n {t('destroy')}\n </AcConfirmButton>\n ),\n };\n return (\n <AsComponent {...asProps}>\n {extraBefore}\n {actions.map((action) => items[action])}\n {extraAfter}\n </AsComponent>\n );\n};\n\nexport const tableAction = (args: TableActionArgs) => {\n const { name, lang, ...rest } = args;\n const t = (key: string) => locales[lang!][key];\n return {\n title: t('action'),\n dataIndex: '__action__',\n key: '__action__',\n width: 120,\n render: (_, record) => <AcTableLinks name={name} model={record} />,\n ...rest,\n };\n};\n","import { Input } from 'antd';\nimport { TextAreaProps } from 'antd/es/input';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-textarea';\nconst TextArea = Input.TextArea;\n\nexport type AcTextareaProps = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & TextAreaProps;\n\nexport class AcTextarea extends React.Component<AcTextareaProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n render() {\n const { className, defaultValue, ...props } = this.props;\n return <TextArea className={cx(CLASS_NAME, className)} {...props} />;\n }\n}\n\nexport const AcTextareaFc = (props: AcTextareaProps) => {\n return <AcTextarea {...props} />;\n};\n","import { TimePicker, TimePickerProps } from 'antd';\nimport cx from 'classnames';\nimport dayjs from 'dayjs';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-time-picker';\nconst STD_FORMAT = 'HH:mm:ss';\n\nexport type AcTimePickerProps = {\n className?: string;\n value?: string | dayjs.Dayjs;\n defaultValue?: string | dayjs.Dayjs;\n onChange?: StdCallback;\n} & Omit<TimePickerProps, 'value' | 'defaultValue' | 'onChange' | 'ref'>;\n\nexport class AcTimePicker extends React.Component<AcTimePickerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n format: STD_FORMAT,\n };\n\n handleChange = (inEvent) => {\n const value = this.stringify(inEvent);\n const { onChange } = this.props;\n onChange?.({ target: { value } });\n };\n\n parse = (inValue) => {\n const { format } = this.props;\n return dayjs(inValue, format as string);\n };\n\n stringify = (inValue) => {\n if (!inValue) return null;\n const { format } = this.props;\n return inValue.format(format as string);\n };\n\n normalize = (inValues) => {\n Object.keys(inValues).forEach((key) => {\n const value = inValues[key];\n if (value) inValues[key] = this.parse(value);\n else delete inValues[key];\n });\n return inValues;\n };\n\n render() {\n const { className, value, defaultValue, onChange, ...props } = this.props;\n const values = this.normalize({ value, defaultValue });\n\n return (\n <TimePicker\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...values}\n {...props}\n />\n );\n }\n}\n\nexport const AcTimePickerFc = (props: AcTimePickerProps) => {\n return <AcTimePicker {...props} />;\n};\n","import { Transfer, TransferProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { transferLabel } from '../tpls/transfer';\nimport type { StdCallback, TemplateCallback } from './types';\n\nconst CLASS_NAME = 'ac-transfer';\n\nexport type AcTransferProps = {\n className?: string;\n items?: any[];\n template: TemplateCallback;\n value?: any[];\n onChange?: StdCallback;\n} & TransferProps<any>;\n\nexport class AcTransfer extends React.Component<AcTransferProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: transferLabel,\n };\n\n get templateCallback(): any {\n const { template } = this.props;\n return (item: any) => template({ item, index: -1 });\n }\n\n state = {\n value: this.props.value,\n };\n\n shouldComponentUpdate(nextProps: Readonly<AcTransferProps>): boolean {\n const { value } = nextProps;\n const isNewValue = this.props.value !== value;\n if (isNewValue && value !== this.state.value) {\n this.setState({ value });\n }\n return true;\n }\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n const target = { value: inEvent };\n this.setState(target, () => onChange?.({ target }));\n };\n\n render() {\n const { className, value, onChange, items, template, ...props } = this.props;\n\n const _value = this.state.value;\n\n return (\n <Transfer\n className={cx(CLASS_NAME, className)}\n dataSource={items}\n render={this.templateCallback}\n targetKeys={_value}\n rowKey={(item) => item.value}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcTransferFc = (props: AcTransferProps) => {\n return <AcTransfer {...props} />;\n};\n","import React from 'react';\n\nconst defaults = {\n label: 'label',\n};\n\nexport const transferLabel = ({ item }, options?: any): React.ReactNode => {\n const opts = { ...defaults, ...options };\n return item[opts?.label];\n};\n","import React from 'react';\nimport { Tree, TreeProps } from 'antd';\nimport cx from 'classnames';\nimport '@jswork/next-tree-walk';\nimport { treeKv, kv as KvTmpl } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-tree';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\nexport type AcTreeProps = {\n className?: string;\n items?: any[];\n kv?: Record<string, string>;\n template?: any;\n itemsKey?: string | ((index: number, item: any) => any);\n directory?: boolean;\n} & TreeProps;\n\nexport class AcTree extends React.Component<AcTreeProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n directory: false,\n items: [],\n kv: DEFAULT_KV,\n template: treeKv,\n itemsKey: 'children',\n };\n\n get childView() {\n const { items, itemsKey } = this.props;\n return nx.treeWalk(items!, { template: this.template, itemsKey });\n }\n\n template = (args) => {\n const { template, kv } = this.props;\n if (kv === DEFAULT_KV) return template!(args);\n return KvTmpl(args, {\n component: Tree.TreeNode,\n ...kv,\n });\n };\n\n render() {\n const { className, children, items, template, itemsKey, directory, ...props } = this.props;\n const RootComp: any = directory ? Tree.DirectoryTree : Tree;\n\n if (items?.length === 0) return null;\n\n return (\n <RootComp className={cx(CLASS_NAME, className)} {...props}>\n {this.childView}\n </RootComp>\n );\n }\n}\n","import '@jswork/next-tree-walk';\nimport { TreeSelect, TreeSelectProps } from 'antd';\nimport cx from 'classnames';\nimport React from 'react';\nimport { treeSelectKv } from '../tpls/kv';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-tree-select';\n\n// @see: https://github.com/afeiship/react-ant-tree-select\n\nexport type AcTreeSelectProps = {\n className?: string;\n items?: any[];\n template?: any;\n itemsKey?: string | ((index: number, item: any) => any);\n onChange?: StdCallback;\n} & TreeSelectProps;\n\nexport class AcTreeSelect extends React.Component<AcTreeSelectProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n items: [],\n template: treeSelectKv,\n itemsKey: 'children',\n };\n\n get childView() {\n const { items, template, itemsKey } = this.props;\n return nx.treeWalk(items!, { template, itemsKey });\n }\n\n handleChange = (inValue) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inValue } });\n };\n\n render() {\n const { className, items, itemsKey, template, treeData, onChange, ...props } = this.props;\n\n return (\n <TreeSelect\n data-component={CLASS_NAME}\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n treeNodeFilterProp=\"title\"\n {...props}>\n {this.childView}\n </TreeSelect>\n );\n }\n}\n\nexport const AcTreeSelectFc = (props: AcTreeSelectProps) => {\n return <AcTreeSelect {...props} />;\n};\n","import { UploadOutlined } from '@ant-design/icons';\nimport type { ButtonProps, UploadProps } from 'antd';\nimport { Button, Upload } from 'antd';\nimport React from 'react';\nimport cx from 'classnames';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-upload';\ntype CustomRequest = (inEvent: any) => Promise<any>;\n\nexport type AcUploadProps = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n btnProps?: ButtonProps;\n} & UploadProps;\n\nexport class AcUpload extends React.Component<AcUploadProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n onRequest: (inEvent) => Promise.resolve(inEvent),\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n handleCustomRequest = (inRequestOption) => {\n const { onRequest } = this.props;\n const { file } = inRequestOption;\n onRequest!(file)\n .then((res) => inRequestOption.onSuccess(res, file))\n .catch((err) => inRequestOption.onError(err, file));\n };\n\n render() {\n const { className, value, onChange, btnProps, ...props } = this.props;\n return (\n <Upload\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n customRequest={this.handleCustomRequest}\n {...props}>\n <Button icon={<UploadOutlined />} children=\"点击上传\" {...btnProps} />\n </Upload>\n );\n }\n}\n\nexport const AcUploadFc = (props: AcUploadProps) => {\n return <AcUpload {...props} />;\n};\n","import { InboxOutlined } from '@ant-design/icons';\nimport { Upload } from 'antd';\nimport { DraggerProps } from 'antd/es/upload';\nimport cx from 'classnames';\nimport React from 'react';\nimport type { StdCallback } from './types';\n\nconst CLASS_NAME = 'ac-upload-dragger';\nconst { Dragger } = Upload;\ntype CustomRequest = (inEvent: any) => Promise<any>;\n\nexport type AcUploadDraggerProps = {\n className?: string;\n value?: any[];\n defaultValue?: any[];\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n} & DraggerProps;\n\nexport class AcUploadDragger extends React.Component<AcUploadDraggerProps> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n onRequest: (inEvent) => Promise.resolve(inEvent),\n };\n\n handleChange = (inEvent) => {\n const { onChange } = this.props;\n onChange?.({ target: { value: inEvent } });\n };\n\n handleCustomRequest = (inRequestOption) => {\n const { onRequest } = this.props;\n const { file } = inRequestOption;\n onRequest!(file)\n .then((res) => inRequestOption.onSuccess(res, file))\n .catch((err) => inRequestOption.onError(err, file));\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n return (\n <Dragger\n className={cx(CLASS_NAME, className)}\n listType=\"picture\"\n onChange={this.handleChange}\n customRequest={this.handleCustomRequest}\n {...props}>\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n <p className=\"ant-upload-text\">单击或拖动文件到此区域以上传</p>\n <p className=\"ant-upload-hint\">支持单个或批量上传,请不要上传公司数据或其他重要文件</p>\n </Dragger>\n );\n }\n}\n\nexport const AcUploadDraggerFc = (props: AcUploadDraggerProps) => {\n return <AcUploadDragger {...props} />;\n};\n","import React from 'react';\nimport { UploadOutlined } from '@ant-design/icons';\nimport { Upload, Button } from 'antd';\nimport cx from 'classnames';\nimport { AcAbstractUpload } from './_abstract-upload';\nimport '@jswork/next-gpid';\n\nconst CLASS_NAME = 'ac-upload-picture';\n\nexport class AcUploadPicture extends AcAbstractUpload {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n maxCount: 1,\n transformURL: (pid) => (pid.includes('://') ? pid : `https://tva1.js.work/large/${pid}.jpg`),\n transformResponse: (inFileList: any) => {\n return inFileList.map((item) => {\n return item.uid || item.pid || nx.gpid(item.url);\n });\n },\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { fileList } = this.state;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={this.rootRef}>\n <Upload\n accept=\"images/*\"\n name=\"pic1\"\n listType=\"picture\"\n multiple={false}\n onChange={this.handleChange}\n onPreview={this.handlePreview}\n previewFile={this.previewFile}\n fileList={fileList}\n {...props}>\n <Button icon={<UploadOutlined />}>上传({fileList.length})</Button>\n </Upload>\n </div>\n );\n }\n}\n\nexport const AcUploadPictureFc = (props) => {\n return <AcUploadPicture {...props} />;\n};\n\n","import { loadScript, loadStyle } from '@jswork/loadkit';\nimport { UploadFile } from 'antd';\nimport { DraggerProps } from 'antd/es/upload';\nimport { UploadChangeParam } from 'antd/es/upload/interface';\nimport React, { ReactNode } from 'react';\nimport { flushSync } from 'react-dom';\nimport Sortable from 'sortablejs';\nimport type { StdCallback } from './types';\n\nconst styleOpts = { id: 'viewer-style' };\nconst scriptOpts = { id: 'viewerjs' };\nconst styleURL = 'https://unpkg.com/viewerjs@1.11.1/dist/viewer.min.css';\nconst scriptURL = 'https://unpkg.com/viewerjs@1.11.1/dist/viewer.min.js';\n\nexport type AcAbstractUploadProps = {\n className?: string;\n value?: any[] | [];\n onChange?: StdCallback;\n transformResponse?: (inResponse: any) => any;\n transformURL?: (inPid) => string;\n} & DraggerProps;\n\ntype State = {\n fileList: any[];\n};\n\nexport class AcAbstractUpload extends React.Component<AcAbstractUploadProps, State> {\n protected rootRef = React.createRef<HTMLDivElement>();\n protected sortable: any = null;\n protected viewer: any = null;\n\n toFileList = (inUrls: any[] | any) => {\n const { transformURL } = this.props;\n const urls = Array.isArray(inUrls) ? inUrls : [inUrls].filter(Boolean);\n return urls.map((item) => {\n if (typeof item !== 'string') return item;\n return { uid: nx.gpid(item), url: transformURL!(item) };\n });\n };\n\n constructor(inProps: AcAbstractUploadProps) {\n super(inProps);\n this.state = {\n fileList: this.toFileList(inProps.value),\n };\n }\n\n async componentDidMount() {\n const { rootRef } = this;\n const root = rootRef.current as HTMLDivElement;\n const el = root.querySelector('.ant-upload-list');\n this.mountSortable(el);\n await this.mountViewer(el);\n }\n\n shouldComponentUpdate(nextProps: Readonly<AcAbstractUploadProps>): boolean {\n const { value } = nextProps;\n if (value !== this.props.value) {\n this.setState({ fileList: this.toFileList(value as any[]) });\n }\n return true;\n }\n\n mountSortable(el) {\n this.sortable = new Sortable(el, {\n animation: 150,\n draggable: '.ant-upload-list-item-container',\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n onEnd: this.handleSortEnd,\n });\n }\n\n async mountViewer(el) {\n await Promise.all([loadStyle(styleURL, styleOpts), loadScript(scriptURL, scriptOpts)]);\n this.viewer = new window['Viewer'](el);\n }\n\n componentWillUnmount() {\n this.sortable?.destroy();\n this.viewer?.destroy();\n }\n\n handlePreview = (file: UploadFile<any>) => {\n const { fileList } = this.state;\n const idx = fileList.indexOf(file);\n this.viewer?.update();\n this.viewer.view(idx);\n };\n\n handleChange = (inEvent: UploadChangeParam<UploadFile<any>>) => {\n const { fileList } = inEvent;\n const isDone = (file) => !file.status || file.status === 'done';\n const done = fileList.every(isDone);\n flushSync(() => this.setState({ fileList }));\n if (done) this.doChange(fileList);\n };\n\n handleSortEnd = (inEvent) => {\n const { oldIndex, newIndex } = inEvent;\n const { fileList } = this.state;\n const newFileList = fileList.slice();\n newFileList.splice(newIndex, 0, newFileList.splice(oldIndex, 1)[0]);\n this.doChange(newFileList);\n };\n\n doChange = (inValue) => {\n const { onChange, transformResponse } = this.props;\n const value = inValue.map((item) => item.response ?? item);\n onChange?.({ target: { value: transformResponse!(value) } });\n };\n\n previewFile = (file): Promise<string> => {\n const blobURL = window.URL.createObjectURL(file);\n return new Promise((resolve) => {\n resolve(blobURL);\n });\n };\n\n render(): ReactNode {\n // warning: if not implement, will throw error.\n console.warn('Please implement render method.');\n return null;\n }\n}\n","import React from 'react';\nimport { Space, Upload } from 'antd';\nimport cx from 'classnames';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport weibo2res from '@jswork/weibo2res';\nimport { AcAbstractUpload } from './_abstract-upload';\nimport '@jswork/next-gpid';\n\nconst CLASS_NAME = 'ac-upload-picture-card';\nconst toWeiboPid = (inItem) => {\n if (typeof inItem === 'string' && inItem.includes('sina.com.cn')) return weibo2res(inItem).pid;\n return null;\n};\n\nexport class AcUploadPictureCard extends AcAbstractUpload {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {\n value: [],\n transformURL: (pid) => (pid.includes('://') ? pid : `https://tva1.js.work/large/${pid}.jpg`),\n transformResponse: (inFileList: any) => {\n return inFileList.map((item) => {\n return toWeiboPid(item) || item.uid || item.pid || nx.gpid(item.url);\n });\n }\n };\n\n render() {\n const { className, value, onChange, ...props } = this.props;\n const { fileList } = this.state;\n\n return (\n <div className={cx(CLASS_NAME, className)} ref={this.rootRef}>\n <Upload\n className={cx(`${CLASS_NAME}__uploader`, className)}\n fileList={fileList}\n listType=\"picture-card\"\n name=\"pic1\"\n multiple\n previewFile={this.previewFile}\n onPreview={this.handlePreview}\n onChange={this.handleChange}\n {...props}>\n <Space direction=\"horizontal\">\n <UploadOutlined />\n <span>上传</span>\n </Space>\n </Upload>\n </div>\n );\n }\n}\n\nexport const AcUploadPictureCardFc = (props) => {\n return <AcUploadPictureCard {...props} />;\n};\n\n","import React from 'react';\nimport { Checkbox, Radio, Select } from 'antd';\n\ninterface Options {\n component: React.ComponentType<any>;\n\n [key: string]: any;\n}\n\n/**\n * Raw component template, for array of items.\n * @param item\n * @param index\n * @param options\n */\nexport const raw = ({ item, index }, options: Options) => {\n const { component: Component, ...otherProps } = options;\n\n return (\n <Component key={index} value={item} {...otherProps}>\n {item}\n </Component>\n );\n};\n\nexport const checkboxRaw = (args) => {\n return raw(args, {\n component: Checkbox,\n });\n};\n\nexport const selectRaw = (args) => {\n return raw(args, {\n component: Select.Option,\n });\n};\n\nexport const radioRaw = (args, opts) => {\n const { isButton, ...otherProps } = opts || {};\n const RadioComponent = isButton ? Radio.Button : Radio;\n const radioProps = isButton ? otherProps : {};\n\n return raw(args, {\n component: RadioComponent,\n ...radioProps,\n });\n};\n","import { AcBreadcrumb } from './lib/breadcrumb';\nimport { AcCheckableDropdown } from './lib/checkable-dropdown';\nimport { AcCheckableTag, AcCheckableTagFc } from './lib/checkable-tag';\nimport { AcCheckableTagList, AcCheckableTagListFc } from './lib/checkable-tag-list';\nimport { AcCheckbox, AcCheckboxFc } from './lib/checkbox';\nimport { AcCheckboxGroup, AcCheckboxGroupFc } from './lib/checkbox-group';\nimport { AcCodeFlask, AcCodeFlaskFc } from './lib/codeflask';\nimport { AcColorPicker, AcColorPickerFc } from './lib/color-picker';\nimport { AcConfirmButton } from './lib/confirm-button';\nimport { AcDatePicker, AcDatePickerFc } from './lib/date-picker';\nimport { AcEditableTagGroup, AcEditableTagGroupFc } from './lib/editable-tag-group';\nimport { AcInput, AcInputFc } from './lib/input';\nimport { AcInputCopyable, AcInputCopyableFc } from './lib/input-copyable';\nimport { AcInputHidden, AcInputHiddenFc } from './lib/input-hidden';\nimport { AcInputNumber, AcInputNumberFc } from './lib/input-number';\nimport { AcInputTags, AcInputTagsFc } from './lib/input-tags';\nimport { AcInputToken, AcInputTokenFc } from './lib/input-token';\nimport { AcMarkdownEditor, AcMarkdownEditorFc } from './lib/markdown-editor';\nimport { AcPreSelect, AcPreSelectFc } from './lib/pre-select';\nimport { AcRadioGroup, AcRadioGroupFc } from './lib/radio-group';\nimport { AcRangePicker, AcRangePickerFc } from './lib/range-picker';\nimport { AcRate, AcRateFc } from './lib/rate';\nimport { AcSearch, AcSearchFc } from './lib/search';\nimport { AcSelect, AcSelectFc } from './lib/select';\nimport { AcSlider, AcSliderFc } from './lib/slider';\nimport { AcSliderRange, AcSliderRangeFc } from './lib/slider-range';\nimport { AcSwitch, AcSwitchFc } from './lib/switch';\nimport { AcTable } from './lib/table';\nimport { AcTextarea, AcTextareaFc } from './lib/textarea';\nimport { AcTimePicker, AcTimePickerFc } from './lib/time-picker';\nimport { AcTransfer, AcTransferFc } from './lib/transfer';\nimport { AcTree } from './lib/tree';\nimport { AcTreeSelect, AcTreeSelectFc } from './lib/tree-select';\nimport { AcUpload, AcUploadFc } from './lib/upload';\nimport { AcUploadDragger, AcUploadDraggerFc } from './lib/upload-dragger';\nimport { AcUploadPicture, AcUploadPictureFc } from './lib/upload-picture';\nimport { AcUploadPictureCard, AcUploadPictureCardFc } from './lib/upload-picture-card';\nimport { breadcrumbDefault } from './tpls/breadcrumb';\nimport { checkboxKv, kv, radioKv, selectKv, treeKv, treeSelectKv } from './tpls/kv';\nimport { checkboxRaw, radioRaw, raw, selectRaw } from './tpls/raw';\nimport { transferLabel } from './tpls/transfer';\n\nimport type { AcBreadcrumbProps } from './lib/breadcrumb';\nimport type { AcCheckableDropdownProps } from './lib/checkable-dropdown';\nimport type { AcCheckableTagProps } from './lib/checkable-tag';\nimport type { AcCheckableTagListProps } from './lib/checkable-tag-list';\nimport type { AcCheckboxProps } from './lib/checkbox';\nimport type { AcCheckboxGroupProps } from './lib/checkbox-group';\nimport type { AcColorPickerProps } from './lib/color-picker';\nimport type { AcConfirmButtonProps } from './lib/confirm-button';\nimport type { AcDatePickerProps } from './lib/date-picker';\nimport type { AcEditableTagGroupProps } from './lib/editable-tag-group';\nimport type { AcInputProps } from './lib/input';\nimport type { AcInputNumberProps } from './lib/input-number';\nimport type { AcInputTagsProps } from './lib/input-tags';\nimport type { AcInputTokenProps } from './lib/input-token';\nimport type { AcMarkdownEditorProps } from './lib/markdown-editor';\nimport type { AcPreSelectProps } from './lib/pre-select';\nimport type { AcRadioGroupProps } from './lib/radio-group';\nimport type { AcRangePickerProps } from './lib/range-picker';\nimport type { AcRateProps } from './lib/rate';\nimport type { AcSearchProps } from './lib/search';\nimport type { AcSelectProps } from './lib/select';\nimport type { AcSliderProps } from './lib/slider';\nimport type { AcSliderRangeProps } from './lib/slider-range';\nimport type { AcSwitchProps } from './lib/switch';\nimport type { AcTableProps } from './lib/table';\nimport type { AcTextareaProps } from './lib/textarea';\nimport type { AcTimePickerProps } from './lib/time-picker';\nimport type { AcTransferProps } from './lib/transfer';\nimport type { AcTreeProps } from './lib/tree';\nimport type { AcTreeSelectProps } from './lib/tree-select';\nimport type { AcUploadProps } from './lib/upload';\nimport type { AcUploadDraggerProps } from './lib/upload-dragger';\n\nimport '@jswork/next';\nimport './lib/alert';\n\n// commands\nimport type { AcCardExtrasProps } from './lib/card-extras';\nimport { AcCardExtras } from './lib/card-extras';\nimport type { AcExtraSearchProps } from './lib/extra-search';\nimport { AcExtraSearch } from './lib/extra-search';\nimport type { FormActionsProps } from './lib/form-actions';\nimport { FormActions } from './lib/form-actions';\nimport { initWidgets } from './lib/init-widgets';\nimport type { AcTableLinksProps } from './lib/table-links';\nimport { AcTableLinks } from './lib/table-links';\nimport type { AcTableStatusSwitcherProps } from './lib/table-status-switcher';\nimport { AcTableStatusSwitcher } from './lib/table-status-switcher';\nimport type { AcTableToggleSwitcherProps } from './lib/table-toggle-switcher';\nimport { AcTableToggleSwitcher } from './lib/table-toggle-switcher';\nimport useTableCommand from './lib/use-table-command';\n\nexport * from './lib/button';\n\n// export all templates\nexport {\n // --- components ---\n AcBreadcrumb,\n // ---- types ----\n AcBreadcrumbProps,\n AcCardExtras,\n AcCardExtrasProps,\n AcCheckableDropdown,\n AcCheckableDropdownProps,\n AcCheckableTag,\n // --- fc components ---\n AcCheckableTagFc,\n AcCheckableTagList,\n AcCheckableTagListFc,\n AcCheckableTagListProps,\n AcCheckableTagProps,\n AcCheckbox,\n AcCheckboxFc,\n AcCheckboxGroup,\n AcCheckboxGroupFc,\n AcCheckboxGroupProps,\n AcCheckboxProps,\n AcCodeFlask,\n AcCodeFlaskFc,\n AcColorPicker,\n AcColorPickerFc,\n AcColorPickerProps,\n AcConfirmButton,\n AcConfirmButtonProps,\n AcDatePicker,\n AcDatePickerFc,\n AcDatePickerProps,\n AcEditableTagGroup,\n AcEditableTagGroupFc,\n AcEditableTagGroupProps,\n AcExtraSearch,\n AcExtraSearchProps,\n AcInput,\n AcInputCopyable,\n AcInputCopyableFc,\n AcInputFc,\n AcInputHidden,\n AcInputHiddenFc,\n AcInputNumber,\n AcInputNumberFc,\n AcInputNumberProps,\n AcInputProps,\n AcInputTags,\n AcInputTagsFc,\n AcInputTagsProps,\n AcInputToken,\n AcInputTokenFc,\n AcInputTokenProps,\n AcMarkdownEditor,\n AcMarkdownEditorFc,\n AcMarkdownEditorProps,\n AcPreSelect,\n AcPreSelectFc,\n AcPreSelectProps,\n AcRadioGroup,\n AcRadioGroupFc,\n AcRadioGroupProps,\n AcRangePicker,\n AcRangePickerFc,\n AcRangePickerProps,\n AcRate,\n AcRateFc,\n AcRateProps,\n AcSearch,\n AcSearchFc,\n AcSearchProps,\n AcSelect,\n AcSelectFc,\n AcSelectProps,\n AcSlider,\n AcSliderFc,\n AcSliderProps,\n AcSliderRange,\n AcSliderRangeFc,\n AcSliderRangeProps,\n AcSwitch,\n AcSwitchFc,\n AcSwitchProps,\n AcTable,\n AcTableLinks,\n AcTableLinksProps,\n AcTableProps,\n AcTableStatusSwitcher,\n AcTableStatusSwitcherProps,\n AcTableToggleSwitcher,\n AcTableToggleSwitcherProps,\n AcTextarea,\n AcTextareaFc,\n AcTextareaProps,\n AcTimePicker,\n AcTimePickerFc,\n AcTimePickerProps,\n AcTransfer,\n AcTransferFc,\n AcTransferProps,\n AcTree,\n AcTreeProps,\n AcTreeSelect,\n AcTreeSelectFc,\n AcTreeSelectProps,\n AcUpload,\n AcUploadDragger,\n AcUploadDraggerFc,\n AcUploadDraggerProps,\n AcUploadFc,\n AcUploadPicture,\n AcUploadPictureCard,\n AcUploadPictureCardFc,\n AcUploadPictureFc,\n AcUploadProps,\n // breadcrumb\n breadcrumbDefault,\n checkboxKv,\n checkboxRaw,\n FormActions,\n FormActionsProps,\n // ---- widgets ----\n initWidgets,\n // kv\n kv,\n radioKv,\n radioRaw,\n // raw\n raw,\n selectKv,\n selectRaw,\n // transfer\n transferLabel,\n treeKv,\n treeSelectKv,\n // ---- commands ----\n useTableCommand,\n};\n","import React from 'react';\nimport { Input, InputProps, message, Modal } from 'antd';\n\nexport const msg = (msg: string) => {\n return message.success(msg);\n};\n\nexport const info = (msg: string) => {\n return message.info(msg);\n};\n\nexport const err = (msg: string) => {\n return message.error(msg);\n};\n\nexport const alert = (msg: string, title?: String) => {\n return Modal.info({\n title: title || 'Tips',\n content: msg,\n });\n};\n\nexport const confirm = (msg: string, title?: String) => {\n return new Promise((resolve) => {\n Modal.confirm({\n title: title || 'Confirm',\n content: msg,\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n};\n\nexport const prompt = (msg: string, options?: InputProps) => {\n let value = '';\n return new Promise((resolve) => {\n Modal.confirm({\n title: msg || 'Prompt',\n content: (\n <Input\n type=\"text\"\n placeholder={msg}\n defaultValue={value}\n onChange={(e) => (value = e.target.value)}\n {...options}\n />\n ),\n onOk: () => resolve(value),\n onCancel: () => resolve(null),\n });\n });\n};\n\nnx.msg = msg;\nnx.info = info;\nnx.err = err;\nnx.alert = alert;\nnx.confirm = confirm;\nnx.prompt = prompt;\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-24 20:40:55\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 14:07:56\n */\nimport nx from '@jswork/next';\nimport { Space, SpaceProps } from 'antd';\nimport React, { FC, Fragment } from 'react';\nimport { BtnBack, BtnCreate, BtnRefresh } from './button';\nimport type { AppLocale } from './types';\n\nexport type AcCardExtrasProps = SpaceProps & {\n name: string;\n lang?: AppLocale;\n as?: React.ComponentType<any>;\n extraBefore?: React.ReactNode;\n extraAfter?: React.ReactNode;\n asProps?: any;\n actions?: string[];\n};\n\nconst defaultExtras = {\n lang: 'zh-CN' as const,\n actions: ['refetch', 'add'],\n};\n\nexport const AcCardExtras: FC<AcCardExtrasProps> = (props) => {\n const { name, lang, as, extraBefore, extraAfter, asProps, actions } = {\n ...defaultExtras,\n ...props,\n };\n const handleRefresh = () => nx.$event?.emit?.(`${name}:refetch`);\n const handleReset = () => nx.$event?.emit?.(`${name}:reset`);\n const handleAdd = () => nx.$event?.emit?.(`${name}:add`);\n const handleBack = () => history.back();\n const AsComponent = as || Space;\n const items = {\n refetch: <BtnRefresh lang={lang} onClick={handleRefresh} />,\n reset: <BtnRefresh lang={lang} onClick={handleReset} />,\n add: <BtnCreate lang={lang} onClick={handleAdd} />,\n back: <BtnBack lang={lang} onClick={handleBack} />,\n };\n\n return (\n <AsComponent {...asProps}>\n {extraBefore}\n {actions?.map((action) => (\n <Fragment key={action}>{items[action]}</Fragment>\n ))}\n {extraAfter}\n </AsComponent>\n );\n};\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-18 07:09:31\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-25 07:32:18\n */\nimport {\n ArrowLeftOutlined,\n BulbOutlined,\n CheckOutlined,\n CloseOutlined,\n CopyOutlined,\n DownloadOutlined,\n EditOutlined,\n EyeOutlined,\n ImportOutlined,\n PlusOutlined,\n RedoOutlined,\n ReloadOutlined,\n SaveOutlined,\n SyncOutlined,\n} from '@ant-design/icons';\nimport { Button, ButtonProps } from 'antd';\nimport React, { FC } from 'react';\nimport type { AppLocale } from './types';\ntype ActionType =\n | 'create'\n | 'edit'\n | 'del'\n | 'view'\n | 'preview'\n | 'save'\n | 'export'\n | 'imp'\n | 'refresh'\n | 'back'\n | 'submit'\n | 'cancel'\n | 'sync'\n | 'copy';\n\n// 文案\nconst locals: Record<AppLocale, Record<ActionType, string>> = {\n 'zh-CN': {\n create: '添加',\n edit: '编辑',\n del: '删除',\n view: '查看',\n preview: '预览',\n save: '保存',\n export: '导出',\n imp: '导入',\n refresh: '刷新',\n back: '返回',\n submit: '提交',\n cancel: '取消',\n sync: '同步',\n copy: '复制',\n },\n 'en-US': {\n create: 'Create',\n edit: 'Edit',\n del: 'Delete',\n view: 'View',\n preview: 'Preview',\n save: 'Save',\n export: 'Export',\n imp: 'Import',\n refresh: 'Refresh',\n back: 'Back',\n submit: 'Submit',\n cancel: 'Cancel',\n sync: 'Sync',\n copy: 'Copy',\n },\n};\n\n// 图标映射\nconst iconMap: Record<ActionType, React.ReactNode> = {\n create: <PlusOutlined />,\n edit: <EditOutlined />,\n del: <CloseOutlined />,\n view: <EyeOutlined />,\n preview: <BulbOutlined />,\n save: <SaveOutlined />,\n export: <DownloadOutlined />,\n imp: <ImportOutlined />,\n refresh: <ReloadOutlined />,\n back: <ArrowLeftOutlined />,\n submit: <CheckOutlined />,\n cancel: <RedoOutlined />,\n sync: <SyncOutlined />,\n copy: <CopyOutlined />,\n};\n\n// 国际化工具函数\nconst t = (locale: AppLocale, key: ActionType): string => {\n return locals[locale]?.[key] ?? key;\n};\n\n// 通用按钮组件\ninterface ActionButtonProps extends ButtonProps {\n action: ActionType;\n lang?: AppLocale;\n}\n\nconst ActionButton: FC<ActionButtonProps> = ({\n action,\n lang = 'zh-CN',\n size = 'small',\n children,\n ...props\n}) => {\n const text = children ?? t(lang, action);\n const icon = iconMap[action];\n return (\n <Button size={size} icon={icon} {...props}>\n {text}\n </Button>\n );\n};\n\n// 导出具体命名的按钮(保持 API 兼容)\nexport const BtnCreate = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"create\" {...props} />\n);\nexport const BtnEdit = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"edit\" {...props} />\n);\nexport const BtnDelete = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"del\" {...props} />\n);\nexport const BtnView = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"view\" {...props} />\n);\nexport const BtnPreview = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"preview\" {...props} />\n);\nexport const BtnSave = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"save\" {...props} />\n);\nexport const BtnExport = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"export\" {...props} />\n);\nexport const BtnImport = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"imp\" {...props} />\n);\nexport const BtnRefresh = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"refresh\" {...props} />\n);\nexport const BtnBack = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"back\" {...props} />\n);\nexport const BtnSubmit = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"submit\" {...props} />\n);\nexport const BtnCancel = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"cancel\" {...props} />\n);\nexport const BtnSync = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"sync\" {...props} />\n);\nexport const BtnCopy = (props: ButtonProps & { lang?: AppLocale }) => (\n <ActionButton action=\"copy\" {...props} />\n);\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 10:54:41\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-31 08:32:21\n */\nimport React, { FC, useEffect } from 'react';\nimport { readSearchString, writeSearchString } from '@jswork/url-sync-flat';\nimport nx from '@jswork/next';\nimport { Input } from 'antd';\nimport { SearchProps } from 'antd/es/input';\nimport type { AppLocale } from './types';\n\nexport type AcExtraSearchProps = SearchProps & {\n name: string;\n lang?: AppLocale;\n queryKey?: string;\n routerType?: 'hash' | 'browser';\n}\n\nconst locales = {\n 'zh-CN': {\n placeholder: '搜索',\n },\n 'en-US': {\n placeholder: 'Search',\n },\n};\n\nconst defaultProps = {\n lang: 'zh-CN',\n queryKey: 'keywords',\n routerType: 'hash' as const,\n};\n\nconst EMPTY_STR = '';\n\nexport const AcExtraSearch: FC<AcExtraSearchProps> = (props) => {\n const { name, lang, queryKey, routerType, ...rest } = { ...defaultProps, ...props };\n const t = (key: string) => locales[lang!][key];\n const searchParams = readSearchString(routerType);\n const defaultQuery = searchParams.get(queryKey) || '';\n const [value, setValue] = React.useState(defaultQuery);\n const defaultParams = Object.fromEntries((searchParams as any).entries() as Iterable<[string, string]>);\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const q = e.target.value;\n setValue(q);\n };\n\n const handleSearch = (q: string) => {\n setValue(q);\n nx.$event?.emit?.(`${name}:load`, { ...defaultParams, [queryKey]: q, page: 1 });\n };\n\n useEffect(() => {\n const res = nx.$event.on(`${name}:reset`, () => {\n setValue(EMPTY_STR);\n searchParams.delete(queryKey);\n writeSearchString(routerType, searchParams, true);\n });\n return res.destroy;\n }, []);\n\n return (\n <Input.Search\n size=\"small\"\n enterButton\n autoFocus\n allowClear\n value={value}\n placeholder={t('placeholder')}\n onChange={handleSearchChange}\n onSearch={handleSearch}\n {...rest}\n />\n );\n};\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-25 18:48:19\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-25 21:53:43\n */\nimport React, { RefObject } from 'react';\nimport { Button, ButtonProps, Space, SpaceProps } from 'antd';\nimport type { AppLocale } from './types';\n\nexport type FormActionsProps = SpaceProps & {\n lang?: AppLocale;\n actions?: string[];\n okText?: string;\n cancelText?: string;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void;\n okProps?: ButtonProps;\n cancelProps?: ButtonProps;\n buttonProps?: ButtonProps;\n as?: React.ComponentType<any>;\n asProps?: any;\n}\n\nconst defaultProps: FormActionsProps = {\n lang: 'zh-CN',\n actions: ['ok', 'cancel'],\n};\n\nconst locales = {\n 'zh-CN': {\n ok: '确认',\n cancel: '取消',\n },\n 'en-US': {\n ok: 'OK',\n cancel: 'Cancel',\n },\n};\n\nexport const FormActions = React.forwardRef((props: FormActionsProps, ref: RefObject<HTMLDivElement>) => {\n const {\n lang,\n as,\n asProps,\n actions,\n okText,\n cancelText,\n onOk,\n onCancel,\n okProps,\n cancelProps,\n buttonProps,\n } = { ...defaultProps, ...props };\n\n const t = (key: string) => locales[lang!][key];\n const AsComponent = as || Space;\n const items = {\n ok: <Button\n key=\"ok\"\n htmlType=\"submit\"\n type=\"primary\"\n onClick={onOk}\n children={okText || t('ok')}\n {...buttonProps}\n {...okProps}\n />,\n cancel: <Button\n key=\"cancel\"\n htmlType=\"reset\"\n onClick={onCancel}\n children={cancelText || t('cancel')}\n {...buttonProps}\n {...cancelProps}\n />,\n };\n\n return (\n <AsComponent {...asProps} ref={ref}>\n {actions!.map(key => items[key])}\n </AsComponent>\n );\n});\n","/**\n * @Author: aric 1290657123@qq.com\n * @Date: 2025-10-25 10:45:13\n * @LastEditors: aric 1290657123@qq.com\n * @LastEditTime: 2025-10-29 17:49:27\n */\nimport NiceForm, { ReactComponent } from '@ebay/nice-form-react';\nimport { AcCheckableTagFc } from './checkable-tag';\nimport { AcCheckableTagListFc } from './checkable-tag-list';\nimport { AcCheckboxFc } from './checkbox';\nimport { AcCheckboxGroupFc } from './checkbox-group';\nimport { AcCodeFlaskFc } from './codeflask';\nimport { AcDatePickerFc } from './date-picker';\nimport { AcEditableTagGroupFc } from './editable-tag-group';\nimport { AcInputFc } from './input';\nimport { AcInputCopyableFc } from './input-copyable';\nimport { AcInputHiddenFc } from './input-hidden';\nimport { AcInputNumberFc } from './input-number';\nimport { AcInputTagsFc } from './input-tags';\nimport { AcInputTokenFc } from './input-token';\nimport { AcMarkdownEditorFc } from './markdown-editor';\nimport { AcPreSelectFc } from './pre-select';\nimport { AcRadioGroupFc } from './radio-group';\nimport { AcRangePickerFc } from './range-picker';\nimport { AcRateFc } from './rate';\nimport { AcSearchFc } from './search';\nimport { AcSelectFc } from './select';\nimport { AcSliderFc } from './slider';\nimport { AcSliderRangeFc } from './slider-range';\nimport { AcSwitchFc } from './switch';\nimport { AcTextareaFc } from './textarea';\nimport { AcTimePickerFc } from './time-picker';\nimport { AcTransferFc } from './transfer';\nimport { AcTreeSelectFc } from './tree-select';\nimport { AcUploadFc } from './upload';\nimport { AcUploadDraggerFc } from './upload-dragger';\nimport { AcUploadPictureFc } from './upload-picture';\nimport { AcUploadPictureCardFc } from './upload-picture-card';\n\nexport const widgets = {\n 'ac:checkable-tag': AcCheckableTagFc,\n 'ac:checkable-tag-list': AcCheckableTagListFc,\n 'ac:checkbox': AcCheckboxFc,\n 'ac:checkbox-group': AcCheckboxGroupFc,\n 'ac:code-flask': AcCodeFlaskFc,\n 'ac:date-picker': AcDatePickerFc,\n 'ac:editable-tag-group': AcEditableTagGroupFc,\n 'ac:input': AcInputFc,\n 'ac:input-copyable': AcInputCopyableFc,\n 'ac:input-hidden': AcInputHiddenFc,\n 'ac:input-number': AcInputNumberFc,\n 'ac:input-tags': AcInputTagsFc,\n 'ac:input-token': AcInputTokenFc,\n 'ac:markdown-editor': AcMarkdownEditorFc,\n 'ac:pre-select': AcPreSelectFc,\n 'ac:radio-group': AcRadioGroupFc,\n 'ac:range-picker': AcRangePickerFc,\n 'ac:rate': AcRateFc,\n 'ac:search': AcSearchFc,\n 'ac:select': AcSelectFc,\n 'ac:slider': AcSliderFc,\n 'ac:slider-range': AcSliderRangeFc,\n 'ac:switch': AcSwitchFc,\n 'ac:textarea': AcTextareaFc,\n 'ac:time-picker': AcTimePickerFc,\n 'ac:transfer': AcTransferFc,\n 'ac:tree-select': AcTreeSelectFc,\n 'ac:upload-dragger': AcUploadDraggerFc,\n 'ac:upload-picture': AcUploadPictureFc,\n 'ac:upload-picture-card': AcUploadPictureCardFc,\n 'ac:upload': AcUploadFc,\n};\n\nexport const initWidgets = (\n names?: string[] | null,\n externalWidgets?: Record<string, ReactComponent>\n) => {\n const keys = names?.length ? names : Object.keys(widgets);\n keys.forEach((key) => {\n const widget = widgets[key];\n if (widget) {\n NiceForm.defineWidget(key, widget);\n } else {\n console.warn(`[defineWidgets] widget ${key} not found!`);\n }\n });\n\n if (externalWidgets) {\n Object.keys(externalWidgets).forEach((key) => {\n const widget = externalWidgets[key];\n NiceForm.defineWidget(key, widget);\n });\n }\n};\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 14:09:01\n * @LastEditors: aric.zheng 1290657123@qq.com\n * @LastEditTime: 2025-10-29 15:08:25\n */\nimport ReactAntStatusSwitch from '@jswork/react-ant-status-switch';\nimport React, { FC } from 'react';\nimport { ReactAntStatusSwitchProps } from '@jswork/react-ant-status-switch/dist/components';\nimport nx from '@jswork/next';\n\nexport type AcTableStatusSwitcherProps = ReactAntStatusSwitchProps & {\n name: string;\n items: any[];\n model: any;\n params?: any;\n idKey?: string;\n updateKey?: string;\n updateApi?: string;\n onSuccess?: () => void;\n};\n\nconst defaultProps = {\n items: [],\n idKey: 'id',\n updateKey: 'status',\n};\n\nexport const AcTableStatusSwitcher: FC<AcTableStatusSwitcherProps> = (props) => {\n const {\n name,\n items,\n model,\n updateKey,\n idKey,\n updateApi,\n params,\n onSuccess,\n ...rest\n } = { ...defaultProps, ...props };\n const _apiPath = updateApi || `${name}_update`;\n const _onSuccess = onSuccess || (() => nx.$event.emit(`${name}:refetch`));\n const _currentStatus = nx.get(model, updateKey!);\n const handleStatusChange = (e) => {\n const id = nx.get(model, idKey!);\n const { value } = e.target;\n const payload = { id, [updateKey!]: value, ...params };\n nx.$event.emit(`${name}:draft`, { ...model, ...payload });\n nx.$api[_apiPath](payload).then(_onSuccess);\n };\n\n return (\n <ReactAntStatusSwitch\n items={items}\n value={_currentStatus}\n onChange={handleStatusChange}\n {...rest}\n />\n );\n};\n","/**\n * @Author: aric.zheng 1290657123@qq.com\n * @Date: 2025-10-29 14:09:01\n * @LastEditors: aric.zheng 1290657123@qq.com\n * @LastEditTime: 2025-10-29 15:49:36\n */\nimport React, { FC } from 'react';\nimport nx from '@jswork/next';\nimport { Switch, SwitchProps } from 'antd';\n\nexport type AcTableToggleSwitcherProps = SwitchProps & {\n name: string;\n model: any;\n updateKey: string;\n params?: any;\n idKey?: string;\n updateApi?: string;\n onSuccess?: () => void;\n};\n\nconst defaultProps = {\n items: [],\n idKey: 'id',\n};\n\nexport const AcTableToggleSwitcher: FC<AcTableToggleSwitcherProps> = (props) => {\n const {\n name,\n items,\n model,\n updateKey,\n idKey,\n updateApi,\n params,\n onSuccess,\n ...rest\n } = { ...defaultProps, ...props };\n const _apiPath = updateApi || `${name}_update`;\n const _onSuccess = onSuccess || (() => nx.$event.emit(`${name}:refetch`));\n const _currentValue = nx.get(model, updateKey);\n const handleStatusChange = (value) => {\n const id = nx.get(model, idKey!);\n const payload = { id, [updateKey]: value, ...params };\n nx.$event.emit(`${name}:draft`, { ...model, ...payload });\n nx.$api[_apiPath](payload).then(_onSuccess);\n };\n\n return (\n <Switch\n size=\"small\"\n defaultChecked={_currentValue}\n onChange={handleStatusChange}\n {...rest}\n />\n );\n};\n","import { AcTable } from './table';\n\ntype ExecuteFn = (command: string, data?: any) => void;\ntype ListenFn = (command: string, callback: any) => void;\ntype Payload = Record<string, any>;\n\nconst useCommand = (inName?: string) => {\n const name = inName || '@';\n const execute: ExecuteFn = (command, ...args) =>\n AcTable.event?.emit(`${name}:${command}`, ...args);\n const listen: ListenFn = (cmd, callback) => AcTable.event?.on(`${name}:${cmd}`, callback);\n\n // the command repository:\n const load = (payload: Payload) => execute('load', payload);\n const refetch = () => execute('refetch');\n const reset = () => execute('reset');\n const add = () => execute('add');\n const edit = (payload: Payload) => execute('edit', payload);\n const destroy = (payload: Payload) => execute('destroy', payload);\n const draft = (payload: Payload) => execute('draft', payload);\n\n return {\n listen,\n execute,\n load,\n refetch,\n reset,\n add,\n edit,\n destroy,\n draft,\n };\n};\n\nexport default useCommand;\n"],"mappings":"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","names":["React","Breadcrumb","ReactList","Breadcrumb","React","breadcrumbDefault","__name","item","index","items","last","length","label","rest","child","React","span","a","Breadcrumb","Item","key","cx","CLASS_NAME","AcBreadcrumb","React","Component","render","_a","props","className","value","items","template","onChange","ReactList","as","Breadcrumb","cx","__name","_AcBreadcrumb","__publicField","displayName","defaultProps","breadcrumbDefault","DownOutlined","Button","Checkbox","Dropdown","React","CLASS_NAME","locales","selectAll","AcCheckableDropdown","React","Component","overlayClass","id","state","visible","value","props","overlayRes","winBlankRes","t","__name","inKey","lang","doChange","inValue","onChange","target","setState","indeterminate","length","items","label","labels","map","val","find","item","join","menuItems","_value","key","Checkbox","checked","e","type","opt","shouldChecked","includes","_a","filtered","filter","componentDidMount","nx","DomEvent","on","window","overlay","document","querySelector","contains","componentDidUpdate","destroy","componentWillUnmount","_b","render","width","disabled","size","Dropdown","overlayClassName","open","menu","Button","className","style","onMouseEnter","span","DownOutlined","_AcCheckableDropdown","__publicField","displayName","formSchema","defaultProps","CloseOutlined","Tag","cx","React","CLASS_NAME","CheckableTag","Tag","AcCheckableTag","React","Component","state","value","Boolean","props","handleChange","__name","inEvent","onChange","target","setState","handleCloseClick","propagation","onCloseClick","stopPropagation","closeIcon","closeable","toggleable","view","CloseOutlined","onClick","shouldComponentUpdate","nextProps","render","_a","className","children","_value","cx","checked","_AcCheckableTag","__publicField","displayName","formSchema","defaultProps","disabled","AcCheckableTagFc","ReactList","Button","Space","cx","React","CLASS_NAME","locales","selectAll","AcCheckableTagList","React","Component","state","value","props","t","__name","inKey","lang","handleChange","inEvent","onChange","target","setState","handleClearAll","shouldComponentUpdate","nextProps","render","_a","className","items","disabled","label","Space","direction","cx","Button","size","onClick","ReactList","template","item","index","_value","isChecked","includes","AcCheckableTag","toggleable","closeable","propagation","checked","curSet","Set","method","key","_AcCheckableTagList","__publicField","displayName","formSchema","defaultProps","AcCheckableTagListFc","Checkbox","cx","React","CLASS_NAME","AcCheckbox","React","Component","state","value","props","handleChange","__name","inEvent","checked","target","onChange","setState","shouldComponentUpdate","nextProps","render","_a","className","defaultValue","_value","Checkbox","cx","_AcCheckbox","__publicField","displayName","formSchema","defaultProps","AcCheckboxFc","ReactList","Checkbox","cx","React","React","Checkbox","Select","Radio","Tree","TreeSelect","defaults","value","label","kv","__name","item","index","options","opts","__spreadValues","component","Component","rest","val","children","React","key","checkboxKv","args","Checkbox","selectKv","Select","Option","radioKv","isButton","otherProps","RadioComponent","Radio","Button","treeKv","cb","Tree","TreeNode","title","treeSelectKv","TreeSelect","CLASS_NAME","AcCheckboxGroup","React","Component","state","value","props","handleChange","__name","inEvent","onChange","onSearch","target","stdEvent","setState","shouldComponentUpdate","nextProps","render","_a","className","items","template","children","stateValue","Checkbox","Group","__spreadValues","cx","ReactList","_AcCheckboxGroup","__publicField","displayName","formSchema","defaultProps","checkboxKv","AcCheckboxGroupFc","React","ReactCodeFlask","CLASS_NAME","AcCodeFlask","React","Component","render","ReactCodeFlask","props","__name","_AcCodeFlask","__publicField","displayName","formSchema","defaultProps","AcCodeFlaskFc","ColorPicker","cx","React","CLASS_NAME","AcColorPicker","React","Component","state","value","props","handleChange","__name","inColor","onChange","toHexString","target","setState","handleClear","shouldComponentUpdate","inProps","render","_a","className","onClear","stateValue","ColorPicker","cx","undefined","_AcColorPicker","__publicField","displayName","formSchema","defaultProps","AcColorPickerFc","Button","message","Popconfirm","cx","React","Component","CLASS_NAME","locals","title","msgCancel","AcConfirmButton","Component","handleCancel","__name","message","info","t","key","lang","props","nx","get","computedChildren","type","children","childProps","React","a","Button","size","render","_a","className","onClick","_title","Popconfirm","onConfirm","e","onCancel","cx","__publicField","displayName","formSchema","defaultProps","_AcConfirmButton","React","dayjs","DatePicker","cx","CLASS_NAME","STD_FORMAT","DATA_FORMAT_HOOKS","date","datetime","time","AcDatePicker","React","Component","handleChange","__name","value","onChange","props","_event","target","dayjs","format","valueFormat","fmt","render","_a","className","rest","DatePicker","cx","_AcDatePicker","__publicField","displayName","formSchema","defaultProps","AcDatePickerFc","Button","Tag","cx","deepEqual","React","createRef","AutosizeInput","ReactList","cx","deepEqual","React","Component","CLASS_NAME","_a","ReactInteractiveList","Component","inProps","template","__name","item","index","props","value","state","items","isLteMin","splice","handleChange","cb","inValue","onChange","onError","min","max","target","setState","length","notify","isGteMax","listView","React","ReactList","createView","templateCreate","templateDefault","push","shouldComponentUpdate","deepEqual","render","className","forwardedRef","div","cx","ref","__publicField","displayName","defaultProps","AcInteractiveList","forwardRef","CLASS_NAME","AcEditableTagGroup","React","Component","inputRef","createRef","btnRef","rootForwardedRef","rootRef","imeStartRes","imeEndRes","state","value","props","ime","template","__name","item","index","cb","readOnly","Tag","key","AutosizeInput","ref","type","size","disabled","className","onChange","handleInputChange","bind","onBlur","handleInputBlur","onKeyDown","handleInputKeyDown","i","onClick","templateCreate","Button","actionCreate","templateDefault","push","handleChange","current","notify","actionFocusLast","inDelay","setTimeout","_a","latestInput","focus","delay","inIndex","inEvent","target","len","length","nx","unique","document","activeElement","filter","Boolean","triggers","includes","preventDefault","handleInterChange","inValue","inCallback","map","trim","setState","root","selector","els","querySelectorAll","componentDidMount","doc","DomEvent","on","componentWillUnmount","destroy","shouldComponentUpdate","nextProps","deepEqual","slice","render","min","max","stateValue","AcInteractiveList","cx","forwardedRef","items","_AcEditableTagGroup","__publicField","displayName","formSchema","defaultProps","AcEditableTagGroupFc","Input","cx","React","CLASS_NAME","AcInput","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","shouldComponentUpdate","inProps","complete","autoComplete","render","_a","className","stateValue","Input","cx","_AcInput","__publicField","displayName","formSchema","defaultProps","AcInputFc","LinkOutlined","Space","Typography","cx","React","CLASS_NAME","AcInputCopyable","React","Component","props","handleInputChange","__name","e","onChange","value","target","setState","state","copyView","Typography","Text","copyable","text","String","linkView","LinkOutlined","onClick","window","open","style","cursor","fontSize","shouldComponentUpdate","render","_a","className","valueType","rest","Space","Compact","cx","AcInput","Addon","_AcInputCopyable","__publicField","displayName","formSchema","defaultProps","AcInputCopyableFc","React","CLASS_NAME","AcInputHidden","React","Component","render","input","type","props","__name","_AcInputHidden","__publicField","displayName","formSchema","defaultProps","AcInputHiddenFc","InputNumber","cx","React","CLASS_NAME","AcInputNumber","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","shouldComponentUpdate","inProps","render","_a","className","stateValue","InputNumber","cx","_AcInputNumber","__publicField","displayName","formSchema","defaultProps","AcInputNumberFc","Tag","cx","fde","React","CLASS_NAME","TRIGGER_KEYS","AcInputTags","React","Component","inProps","inputRef","createRef","handleInputChange","__name","inEvent","value","target","setState","inputValue","handleInputKeyAction","code","items","isComposite","state","val","trim","idx","length","stopPropagation","handleTagRemove","preventDefault","includes","push","execChange","inIndex","inForce","disabled","props","newItems","filter","_","handleMouseEnter","_a","current","focus","inItems","onChange","slice","shouldComponentUpdate","nextProps","fde","render","className","div","data-disabled","cx","onMouseOver","onClick","map","item","Tag","closeIcon","onClose","bind","key","input","autoFocus","ref","onCompositionStart","onCompositionEnd","onInput","onKeyDown","_AcInputTags","__publicField","displayName","formSchema","defaultProps","AcInputTagsFc","LockOutlined","UnlockOutlined","Button","Input","Space","cx","nanoid","React","CLASS_NAME","AcInputToken","React","Component","rootRef","createRef","state","value","props","handleTokenCreate","__name","doChange","nanoid","handleTokenRemove","handleChange","inEvent","target","current","input","focus","inValue","onChange","setState","shouldComponentUpdate","nextProps","complete","autoComplete","tokenView","labelCreate","labelRemove","Space","Compact","Button","size","icon","LockOutlined","className","onClick","UnlockOutlined","render","_a","cx","Input","ref","Addon","_AcInputToken","__publicField","displayName","formSchema","defaultProps","AcInputTokenFc","MarkdownEditor","cx","React","CLASS_NAME","AcMarkdownEditor","React","Component","handleChange","__name","inValue","onChange","props","target","value","render","_a","className","safeValue","MarkdownEditor","data-component","cx","_AcMarkdownEditor","__publicField","displayName","formSchema","defaultProps","AcMarkdownEditorFc","cx","React","ReactList","Select","cx","React","CLASS_NAME","DEFAULT_KV","label","value","AcSelect","React","Component","state","props","handleChange","__name","inValue","onChange","onSearch","target","stdEvent","setState","template","args","kv","KvTmpl","__spreadValues","component","Select","Option","shouldComponentUpdate","nextProps","render","_a","className","_value","asProps","ReactList","allowEmpty","as","cx","_AcSelect","__publicField","displayName","formSchema","defaultProps","placeholder","items","selectKv","AcSelectFc","React","Input","cx","CLASS_NAME","AcSearch","React","Component","handleSearch","__name","inEvent","onSearch","props","target","value","complete","autoComplete","render","_a","className","Input","Search","__spreadValues","cx","_AcSearch","__publicField","displayName","formSchema","defaultProps","placeholder","AcSearchFc","CLASS_NAME","DEFAULT_VALUE","option","keyword","AcPreSelect","React","Component","state","value","props","handleFiledAction","__name","inField","inEvent","inCallback","_value","target","setState","handleChange","onChange","onSearch","handleSearch","addonView","items","selectOptions","AcSelect","bind","render","_a","className","searchable","inputOptions","AsTag","AcSearch","AcInput","computedProps","data-component","cx","addonBefore","_AcPreSelect","__publicField","displayName","formSchema","version","defaultProps","AcPreSelectFc","ReactList","Radio","cx","React","CLASS_NAME","AcRadioGroup","React","Component","state","value","props","handleChange","__name","inEvent","onChange","onSearch","target","setState","templateCallback","template","templateOptions","item","getDerivedStateFromProps","inProps","inState","render","_a","className","items","Radio","Group","__spreadValues","cx","ReactList","_AcRadioGroup","__publicField","displayName","formSchema","defaultProps","radioKv","AcRadioGroupFc","DatePicker","cx","moment","React","CLASS_NAME","STD_FORMAT","RangePicker","DatePicker","AcRangePicker","React","Component","handleChange","__name","inEvent","onChange","props","target","value","stringify","parse","inValue","format","map","item","moment","render","_a","className","defaultValue","cx","_AcRangePicker","__publicField","displayName","formSchema","defaultProps","AcRangePickerFc","Rate","cx","React","CLASS_NAME","AcRate","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Rate","cx","_AcRate","__publicField","displayName","formSchema","defaultProps","AcRateFc","Slider","cx","React","CLASS_NAME","AcSlider","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Slider","cx","_AcSlider","__publicField","displayName","formSchema","defaultProps","AcSliderFc","Slider","cx","React","CLASS_NAME","AcSliderRange","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","range","Slider","cx","_AcSliderRange","__publicField","displayName","formSchema","defaultProps","AcSliderRangeFc","Switch","cx","React","CLASS_NAME","AcSwitch","React","Component","state","value","Boolean","props","handleChange","__name","onChange","target","setState","shouldComponentUpdate","nextProps","render","_a","className","_value","Switch","checked","cx","_AcSwitch","__publicField","displayName","formSchema","defaultProps","AcSwitchFc","forwardRef","ref","ReactHarmonyEvents","nx","UrlSyncFlat","Table","cx","deepEqual","React","nx","Space","React","locales","edit","destroy","action","defaultProps","lang","actions","AcTableLinks","__name","props","name","as","model","asProps","extraBefore","extraAfter","__spreadValues","t","key","AsComponent","Space","handleEdit","_a","_b","nx","$event","emit","handleDestroy","items","React","a","onClick","AcConfirmButton","type","map","tableAction","args","rest","title","dataIndex","width","render","_","record","CLASS_NAME","AcTable","React","Component","props","harmonyEvents","eventBus","event","sync","UrlSyncFlat","defaultFetcher","fetchData","__name","page","size","overrideParams","_b","abortController","AbortController","params","propsParams","currentUrlParams","readInitialState","filterParams","nx","compactObject","__spreadValues","finalPage","finalSize","_","__","fetcherFilterParams","setState","isLoading","current","pageSize","schedule","__spreadProps","result","signal","aborted","dataSource","data","total","error","load","payload","rest","_page","state","_size","refetch","__async","reset","defaultCurrent","defaultPageSize","paramsReset","draft","rowKey","id","slice","index","findIndex","item","destroy","name","onDestroyComplete","$api","then","finally","add","_a","_c","_d","module","paramsAdd","pathAdd","qs","toQueryString","$nav","routerKey","edit","paramsEdit","pathEdit","_editPath","tmpl","handleOnRow","record","onMouseEnter","currentRowId","onMouseLeave","defaults","init","initFetcher","replace","calculateColumnsAction","columnsAction","columnsActionParams","lang","tableAction","calculateColumns","columnsFields","columns","length","dataPath","totalPath","fetcher","resourceId","createFetcher","URLSearchParams","toString","componentDidMount","ReactHarmonyEvents","create","componentDidUpdate","prevProps","deepEqual","componentWillUnmount","cancel","render","className","pagination","onPageChange","Table","cx","loading","onRow","showSizeChanger","onChange","_AcTable","__publicField","displayName","formSchema","events","defaultProps","Input","cx","React","CLASS_NAME","TextArea","Input","AcTextarea","React","Component","render","_a","props","className","defaultValue","cx","__name","_AcTextarea","__publicField","displayName","formSchema","defaultProps","AcTextareaFc","TimePicker","cx","dayjs","React","CLASS_NAME","STD_FORMAT","AcTimePicker","React","Component","handleChange","__name","inEvent","value","stringify","onChange","props","target","parse","inValue","format","dayjs","normalize","inValues","Object","keys","forEach","key","render","_a","className","defaultValue","values","TimePicker","cx","_AcTimePicker","__publicField","displayName","formSchema","defaultProps","AcTimePickerFc","Transfer","cx","React","defaults","label","transferLabel","__name","item","options","opts","__spreadValues","CLASS_NAME","AcTransfer","React","Component","state","value","props","handleChange","__name","inEvent","onChange","target","setState","templateCallback","template","item","index","shouldComponentUpdate","nextProps","render","_a","className","items","_value","Transfer","cx","dataSource","targetKeys","rowKey","_AcTransfer","__publicField","displayName","formSchema","defaultProps","transferLabel","AcTransferFc","React","Tree","cx","CLASS_NAME","DEFAULT_KV","label","value","AcTree","React","Component","template","__name","args","kv","props","KvTmpl","__spreadValues","component","Tree","TreeNode","childView","items","itemsKey","nx","treeWalk","render","_a","className","children","directory","RootComp","DirectoryTree","length","cx","_AcTree","__publicField","displayName","formSchema","defaultProps","treeKv","TreeSelect","cx","React","CLASS_NAME","AcTreeSelect","React","Component","handleChange","__name","inValue","onChange","props","target","value","childView","items","template","itemsKey","nx","treeWalk","render","_a","className","treeData","TreeSelect","data-component","cx","treeNodeFilterProp","_AcTreeSelect","__publicField","displayName","formSchema","defaultProps","treeSelectKv","AcTreeSelectFc","UploadOutlined","Button","Upload","React","cx","CLASS_NAME","AcUpload","React","Component","handleChange","__name","inEvent","onChange","props","target","value","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","onError","render","_a","className","btnProps","Upload","cx","customRequest","Button","icon","UploadOutlined","children","_AcUpload","__publicField","displayName","formSchema","defaultProps","Promise","resolve","AcUploadFc","InboxOutlined","Upload","cx","React","CLASS_NAME","Dragger","Upload","AcUploadDragger","React","Component","handleChange","__name","inEvent","onChange","props","target","value","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","onError","render","_a","className","cx","listType","customRequest","p","InboxOutlined","_AcUploadDragger","__publicField","displayName","formSchema","defaultProps","Promise","resolve","AcUploadDraggerFc","React","UploadOutlined","Upload","Button","cx","loadScript","loadStyle","React","flushSync","Sortable","styleOpts","id","scriptOpts","styleURL","scriptURL","AcAbstractUpload","React","Component","inProps","rootRef","createRef","sortable","viewer","toFileList","__name","inUrls","transformURL","props","Array","isArray","filter","Boolean","map","item","uid","nx","gpid","url","handlePreview","file","_a","fileList","state","idx","indexOf","update","view","handleChange","inEvent","isDone","status","done","every","flushSync","setState","doChange","handleSortEnd","oldIndex","newIndex","newFileList","slice","splice","inValue","onChange","transformResponse","value","response","target","previewFile","blobURL","window","URL","createObjectURL","Promise","resolve","componentDidMount","__async","el","current","querySelector","mountSortable","mountViewer","shouldComponentUpdate","nextProps","Sortable","animation","draggable","ghostClass","chosenClass","dragClass","onEnd","all","loadStyle","loadScript","componentWillUnmount","_b","destroy","render","console","warn","_AcAbstractUpload","CLASS_NAME","AcUploadPicture","AcAbstractUpload","render","_a","props","className","value","onChange","fileList","state","React","div","cx","ref","rootRef","Upload","accept","name","listType","multiple","handleChange","onPreview","handlePreview","previewFile","Button","icon","UploadOutlined","length","__publicField","displayName","formSchema","defaultProps","maxCount","transformURL","__name","pid","includes","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPicture","AcUploadPictureFc","React","Space","Upload","cx","UploadOutlined","weibo2res","CLASS_NAME","toWeiboPid","__name","inItem","includes","weibo2res","pid","AcUploadPictureCard","AcAbstractUpload","render","_a","props","className","value","onChange","fileList","state","React","div","cx","ref","rootRef","Upload","listType","name","multiple","previewFile","onPreview","handlePreview","handleChange","Space","direction","UploadOutlined","span","__publicField","displayName","formSchema","defaultProps","transformURL","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPictureCard","AcUploadPictureCardFc","React","Checkbox","Radio","Select","raw","__name","item","index","options","component","Component","otherProps","React","key","value","checkboxRaw","args","Checkbox","selectRaw","Select","Option","radioRaw","opts","isButton","RadioComponent","Radio","Button","__spreadValues","React","Input","message","Modal","msg","__name","message","success","info","err","error","alert","title","Modal","content","confirm","Promise","resolve","onOk","onCancel","prompt","options","value","React","Input","type","placeholder","defaultValue","onChange","e","target","nx","nx","Space","React","Fragment","ArrowLeftOutlined","BulbOutlined","CheckOutlined","CloseOutlined","CopyOutlined","DownloadOutlined","EditOutlined","EyeOutlined","ImportOutlined","PlusOutlined","RedoOutlined","ReloadOutlined","SaveOutlined","SyncOutlined","Button","React","locals","create","edit","del","view","preview","save","export","imp","refresh","back","submit","cancel","sync","copy","iconMap","React","PlusOutlined","EditOutlined","CloseOutlined","EyeOutlined","BulbOutlined","SaveOutlined","DownloadOutlined","ImportOutlined","ReloadOutlined","ArrowLeftOutlined","CheckOutlined","RedoOutlined","SyncOutlined","CopyOutlined","t","__name","locale","key","_a","_b","ActionButton","action","lang","size","children","props","text","icon","Button","BtnCreate","BtnEdit","BtnDelete","BtnView","BtnPreview","BtnSave","BtnExport","BtnImport","BtnRefresh","BtnBack","BtnSubmit","BtnCancel","BtnSync","BtnCopy","defaultExtras","lang","actions","AcCardExtras","__name","props","name","as","extraBefore","extraAfter","asProps","__spreadValues","handleRefresh","_a","_b","nx","$event","emit","handleReset","handleAdd","handleBack","history","back","AsComponent","Space","items","refetch","React","BtnRefresh","onClick","reset","add","BtnCreate","BtnBack","map","action","Fragment","key","React","useEffect","readSearchString","writeSearchString","nx","Input","locales","placeholder","defaultProps","lang","queryKey","routerType","EMPTY_STR","AcExtraSearch","__name","props","_a","__spreadValues","name","rest","t","key","searchParams","readSearchString","defaultQuery","get","value","setValue","React","useState","defaultParams","Object","fromEntries","entries","handleSearchChange","e","q","target","handleSearch","_b","nx","$event","emit","__spreadProps","page","useEffect","on","delete","writeSearchString","destroy","Input","Search","size","enterButton","autoFocus","allowClear","onChange","onSearch","React","Button","Space","defaultProps","lang","actions","locales","ok","cancel","FormActions","React","forwardRef","props","ref","as","asProps","okText","cancelText","onOk","onCancel","okProps","cancelProps","buttonProps","__spreadValues","t","__name","key","AsComponent","Space","items","Button","htmlType","type","onClick","children","map","NiceForm","widgets","AcCheckableTagFc","AcCheckableTagListFc","AcCheckboxFc","AcCheckboxGroupFc","AcCodeFlaskFc","AcDatePickerFc","AcEditableTagGroupFc","AcInputFc","AcInputCopyableFc","AcInputHiddenFc","AcInputNumberFc","AcInputTagsFc","AcInputTokenFc","AcMarkdownEditorFc","AcPreSelectFc","AcRadioGroupFc","AcRangePickerFc","AcRateFc","AcSearchFc","AcSelectFc","AcSliderFc","AcSliderRangeFc","AcSwitchFc","AcTextareaFc","AcTimePickerFc","AcTransferFc","AcTreeSelectFc","AcUploadDraggerFc","AcUploadPictureFc","AcUploadPictureCardFc","AcUploadFc","initWidgets","__name","names","externalWidgets","length","Object","keys","forEach","key","widget","NiceForm","defineWidget","console","warn","ReactAntStatusSwitch","React","nx","defaultProps","items","idKey","updateKey","AcTableStatusSwitcher","__name","props","_a","__spreadValues","name","model","updateApi","params","onSuccess","rest","_apiPath","_onSuccess","nx","$event","emit","_currentStatus","get","handleStatusChange","e","id","value","target","payload","$api","then","React","ReactAntStatusSwitch","onChange","React","nx","Switch","defaultProps","items","idKey","AcTableToggleSwitcher","__name","props","_a","__spreadValues","name","model","updateKey","updateApi","params","onSuccess","rest","_apiPath","_onSuccess","nx","$event","emit","_currentValue","get","handleStatusChange","value","id","payload","$api","then","React","Switch","size","defaultChecked","onChange","useCommand","__name","inName","name","execute","command","args","_a","AcTable","event","emit","listen","cmd","callback","on","load","payload","refetch","reset","add","edit","destroy","draft","use_table_command_default"]}
|