@jswork/antd-components 1.0.215 → 1.0.217
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.cjs.js +1 -1
- package/dist/main.d.mts +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.esm.js +1 -1
- package/dist/main.esm.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/style.css.map +1 -1
- package/dist/style.scss +2 -1
- package/package.json +2 -1
- package/src/lib/confirm-button.tsx +9 -9
- package/src/lib/init-widgets.ts +7 -2
- package/src/lib/input-token.tsx +16 -14
- package/src/style.scss +2 -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/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/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 noop from '@jswork/noop';\nimport { Breadcrumb, BreadcrumbProps } from 'antd';\nimport ReactList, { TemplateArgs } from '@jswork/react-list';\nimport { breadcrumbDefault } from '../tpls/breadcrumb';\nimport cx from 'classnames';\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';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Checkbox, Dropdown, Button, MenuProps } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport '@jswork/next-dom-event';\nimport { SizeType } from 'antd/es/config-provider/SizeContext';\n\nconst CLASS_NAME = 'ac-checkable-dropdown';\nconst locales = { 'zh-CN': { selectAll: '全部' }, 'en-US': { selectAll: 'All' } };\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcCheckableDropdownProps = {\n className?: string;\n lang?: string;\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 onChange: noop,\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 React, { ReactNode } from 'react';\nimport noop from '@jswork/noop';\nimport { Tag } from 'antd';\nimport cx from 'classnames';\nimport { CheckableTagProps } from 'antd/es/tag';\nimport { CloseOutlined } from '@ant-design/icons';\n\nconst CLASS_NAME = 'ac-checkable-tag';\nconst { CheckableTag } = Tag;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n onCloseClick: noop,\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 React from 'react';\nimport noop from '@jswork/noop';\nimport cx from 'classnames';\nimport ReactList from '@jswork/react-list';\nimport { Space, Button } from 'antd';\nimport { AcCheckableTag } from './checkable-tag';\n\nconst CLASS_NAME = 'ac-checkable-tag-list';\nconst locales = {\n 'zh-CN': { selectAll: '全部' },\n 'en-US': { selectAll: 'All' },\n};\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcCheckableTagListProps = {\n /**\n * Main className.\n */\n className?: string;\n /**\n * The language key.\n */\n lang?: string;\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 onChange: noop,\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\n\nexport const AcCheckableTagListFc = (props: AcCheckableTagListProps) => {\n return <AcCheckableTagList {...props} />;\n};\n","import React, { HTMLAttributes } from 'react';\nimport noop from '@jswork/noop';\nimport { Checkbox, CheckboxProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-checkbox';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n\nexport const AcCheckboxFc = (props: AcCheckboxProps) => {\n return <AcCheckbox {...props} />;\n};\n\n","import React from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Checkbox } from 'antd';\nimport cx from 'classnames';\nimport { checkboxKv } from '../tpls/kv';\nimport { CheckboxGroupProps } from 'antd/es/checkbox';\n\nconst CLASS_NAME = 'ac-checkbox-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }) => React.ReactNode;\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 onChange: noop,\n onSearch: noop,\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\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 noop from '@jswork/noop';\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 onChange: noop,\n };\n\n render() {\n return <ReactCodeFlask {...this.props} />;\n }\n}\n\nexport const AcCodeFlaskFc = (props) => {\n return <AcCodeFlask {...props} />;\n};\n\n","import cx from 'classnames';\nimport React, { Component } from 'react';\nimport { Popconfirm, Button, message } from 'antd';\nimport type { PopconfirmProps, ButtonProps } from 'antd';\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?: string;\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 message.info(this.t('msgCancel'));\n };\n\n t = (inKey) => {\n const { lang } = this.props;\n return nx.get(locals, `${lang}.${inKey}`, inKey);\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';\n\nconst CLASS_NAME = 'ac-date-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\ntype StdEventTarget = { target: { value: string } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcDatePickerProps = Omit<DatePickerProps, 'value' | 'onChange' | 'ref'> & {\n className?: string;\n value?: any;\n onChange?: StdCallback;\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 cx from 'classnames';\nimport React, { createRef } from 'react';\nimport noop from '@jswork/noop';\nimport AutosizeInput from 'react-input-autosize';\nimport { Button, Tag } from 'antd';\nimport deepEqual from 'fast-deep-equal';\nimport '@jswork/next-dom-event';\nimport '@jswork/next-unique';\nimport { AcInteractiveList } from './interactive-list';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 callback = inCallback || noop;\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 callback(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\n","import noop from '@jswork/noop';\nimport ReactList from '@jswork/react-list';\nimport cx from 'classnames';\nimport React, { Component, HTMLAttributes } from 'react';\nimport deepEqual from 'fast-deep-equal';\n\nconst CLASS_NAME = 'ac-interactive-list';\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (\n item: { item: any; index: number; items: any[] },\n cb: any\n) => React.ReactNode;\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 template: noop,\n templateCreate: noop,\n templateDefault: noop,\n onChange: noop,\n onError: noop\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Input, InputProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-input';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import { 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\ninterface AcInputCopyableState {\n value?: ValueType;\n}\n\nexport class AcInputCopyable extends React.Component<AcInputProps, AcInputCopyableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n constructor(props) {\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 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, ...rest } = this.props;\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <AcInput onChange={this.handleInputChange} {...rest} />\n <Space.Addon>{this.copyView}</Space.Addon>\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputCopyableFc = (props: AcInputProps) => {\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { InputNumber, InputNumberProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-input-number';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Tag } from 'antd';\nimport cx from 'classnames';\nimport fde from 'fast-deep-equal';\n\nconst CLASS_NAME = 'ac-input-tags';\nconst TRIGGER_KEYS = ['Tab', 'Enter', 'Space'];\n\n// @ https://cdpn.io/iamqamarali/fullpage/qyawoR?anon=true&view=\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Space, Button, Input, InputProps } from 'antd';\nimport { UnlockOutlined, LockOutlined } from '@ant-design/icons';\nimport { nanoid } from 'nanoid';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-input-token';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 return (\n <Input\n ref={this.rootRef}\n value={this.state.value}\n onChange={this.handleChange}\n addonAfter={this.tokenView}\n className={cx(CLASS_NAME, className)}\n autoComplete={this.complete}\n {...props}\n />\n );\n }\n}\n\nexport const AcInputTokenFc = (props: AcInputTokenProps) => {\n return <AcInputToken {...props} />;\n};\n\n","import noop from '@jswork/noop';\nimport 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 onChange: noop,\n onSearch: noop,\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 React from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Select, SelectProps } from 'antd';\nimport cx from 'classnames';\nimport { selectKv, kv as KvTmpl } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-select';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }) => React.ReactNode;\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 onChange: noop,\n onSearch: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { SearchProps } from 'antd/es/input';\n\nconst CLASS_NAME = 'ac-search';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n onSearch: noop,\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\n\n","import React, { HTMLAttributes } from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Radio, RadioGroupProps } from 'antd';\nimport cx from 'classnames';\nimport { radioKv } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-radio-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }, opts?: any) => React.ReactNode;\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 & 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 onChange: noop,\n onSearch: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { DatePicker } from 'antd';\nimport cx from 'classnames';\nimport moment from 'dayjs';\nimport { RangePickerProps } from 'antd/es/date-picker';\n\nconst CLASS_NAME = 'ac-range-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\nconst { RangePicker } = DatePicker;\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcRangePickerFc = (props: AcRangePickerProps) => {\n return <AcRangePicker {...props} />;\n};\n\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Rate, RateProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-rate';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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 (\n <Rate\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcRateFc = (props: AcRateProps) => {\n return <AcRate {...props} />;\n};\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Slider, SliderSingleProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-slider';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop\n };\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 (\n <Slider\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSliderFc = (props: AcSliderProps) => {\n return <AcSlider {...props} />;\n};\n\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Slider } from 'antd';\nimport cx from 'classnames';\nimport { SliderRangeProps } from 'antd/es/slider';\n\nconst CLASS_NAME = 'ac-slider-range';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop\n };\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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Switch, SwitchProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-switch';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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","/**\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 { tableAction } from './table-links';\n\ntype NavigateFunction = import('react-router-dom').NavigateFunction;\n\ndeclare global {\n interface NxStatic {\n $event: any;\n $nav: NavigateFunction;\n $api: Record<string, any>;\n }\n}\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?: string;\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: {\n current: number;\n pageSize: number;\n params?: Record<string, any>;\n }) => Promise<{ data: any[]; total: number }>;\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';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n }\n}\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?: string;\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?: string;\n [key: string]: any;\n}\n\nconst defaultProps = {\n lang: 'zh-CN',\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { TextAreaProps } from 'antd/es/input';\n\nconst CLASS_NAME = 'ac-textarea';\nconst TextArea = Input.TextArea;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { TimePicker, TimePickerProps } from 'antd';\nimport cx from 'classnames';\nimport dayjs from 'dayjs';\n\nconst CLASS_NAME = 'ac-time-picker';\nconst STD_FORMAT = 'HH:mm:ss';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Transfer, TransferProps } from 'antd';\nimport cx from 'classnames';\nimport { transferLabel } from '../tpls/transfer';\n\nconst CLASS_NAME = 'ac-transfer';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any }, options?: any) => React.ReactNode;\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 onChange: noop\n };\n\n get templateCallback(): any {\n const { template } = this.props;\n return (item: any) => template({ item });\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\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 React from 'react';\nimport cx from 'classnames';\nimport noop from '@jswork/noop';\nimport { TreeSelect, TreeSelectProps } from 'antd';\nimport '@jswork/next-tree-walk';\nimport { treeSelectKv } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-tree-select';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 {\n className,\n items,\n itemsKey,\n template,\n treeData,\n onChange,\n ...props\n } = 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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Upload, Button } from 'antd';\nimport type { UploadProps, ButtonProps } from 'antd';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-upload';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { InboxOutlined } from '@ant-design/icons';\nimport { Upload } from 'antd';\nimport cx from 'classnames';\nimport { DraggerProps } from 'antd/es/upload';\n\nconst CLASS_NAME = 'ac-upload-dragger';\nconst { Dragger } = Upload;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\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 onChange: noop,\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 React, { ReactNode } from 'react';\nimport Sortable from 'sortablejs';\nimport { loadScript, loadStyle } from '@jswork/loadkit';\nimport { DraggerProps } from 'antd/es/upload';\nimport { UploadChangeParam } from 'antd/es/upload/interface';\nimport { UploadFile } from 'antd';\nimport { flushSync } from 'react-dom';\n\nimport '@jswork/next-gpid';\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\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 noop from '@jswork/noop';\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 onChange: noop,\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 { 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 { 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 { 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 { 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 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 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\ndeclare global {\n interface NxStatic {\n err: (inMessage: string) => any;\n msg: (inMessage: string) => any;\n info: (inMessage: string) => any;\n alert: (inMessage: string, inTitle?: String) => any;\n confirm: (inMessage: string, inTitle?: String) => any;\n prompt: (inMessage: string, inOptions?: InputProps) => any;\n }\n}\n\nexport const msg = (inMessage: string) => {\n return message.success(inMessage);\n};\n\nexport const info = (inMessage: string) => {\n return message.info(inMessage);\n};\n\nexport const err = (inMessage: string) => {\n return message.error(inMessage);\n};\n\n\nexport const alert = (inMessage: string, inTitle?: String) => {\n return Modal.info({\n title: inTitle || 'Tips',\n content: inMessage,\n });\n};\n\nexport const confirm = (inMessage: string, inTitle?: String) => {\n return new Promise((resolve) => {\n Modal.confirm({\n title: inTitle || 'Confirm',\n content: inMessage,\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n};\n\nexport const prompt = (inMessage: string, inOptions?: InputProps) => {\n let value = '';\n return new Promise((resolve) => {\n Modal.confirm({\n title: inMessage || 'Prompt',\n content: (\n <Input\n type=\"text\"\n placeholder={inMessage}\n defaultValue={value}\n onChange={(e) => (value = e.target.value)}\n {...inOptions}\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 { Space, SpaceProps } from 'antd';\nimport React, { FC, Fragment } from 'react';\nimport nx from '@jswork/next';\nimport { BtnBack, BtnCreate, BtnRefresh } from './button';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n }\n}\n\nexport type AcCardExtrasProps = SpaceProps & {\n name: string;\n lang?: string;\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',\n actions: ['refetch', 'add'],\n};\n\nexport const AcCardExtras: FC<AcCardExtrasProps> = (props) => {\n const { name, lang, as, extraBefore, extraAfter, asProps, actions } = { ...defaultExtras, ...props };\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) => <Fragment key={action}>{items[action]}</Fragment>)}\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 React, { FC } from 'react';\nimport { Button, ButtonProps } from 'antd';\nimport {\n ArrowLeftOutlined, BulbOutlined,\n CheckOutlined,\n CloseOutlined, CopyOutlined,\n DownloadOutlined,\n EditOutlined,\n EyeOutlined,\n ImportOutlined,\n PlusOutlined,\n RedoOutlined,\n ReloadOutlined,\n SaveOutlined,\n SyncOutlined,\n} from '@ant-design/icons';\n\nconst locals = {\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\nconst t = (locale: string, key: string) => {\n return locals[locale][key] || key;\n};\n\ntype AcButtonProps = ButtonProps & {\n lang?: string;\n}\n\nexport const BtnCreate: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<PlusOutlined />} children={t(lang, 'create')} {...props} />;\n};\n\nexport const BtnEdit: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<EditOutlined />} children={t(lang, 'edit')} {...props} />;\n};\n\nexport const BtnDelete: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CloseOutlined />} children={t(lang, 'del')} {...props} />;\n};\n\nexport const BtnView: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<EyeOutlined />} children={t(lang, 'view')} {...props} />;\n};\n\nexport const BtnPreview: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<BulbOutlined />} children={t(lang, 'preview')} {...props} />;\n};\n\nexport const BtnSave: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<SaveOutlined />} children={t(lang, 'save')} {...props} />;\n};\n\nexport const BtnExport: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<DownloadOutlined />} children={t(lang, 'export')} {...props} />;\n};\n\nexport const BtnImport: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ImportOutlined />} children={t(lang, 'imp')} {...props} />;\n};\n\nexport const BtnRefresh: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ReloadOutlined />} children={t(lang, 'refresh')} {...props} />;\n};\n\nexport const BtnBack: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ArrowLeftOutlined />} children={t(lang, 'back')} {...props} />;\n};\n\nexport const BtnSubmit: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CheckOutlined />} children={t(lang, 'submit')} {...props} />;\n};\n\nexport const BtnCancel: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<RedoOutlined />} children={t(lang, 'cancel')} {...props} />;\n};\n\nexport const BtnSync: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<SyncOutlined />} children={t(lang, 'sync')} {...props} />;\n};\n\nexport const BtnCopy: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CopyOutlined />} children={t(lang, '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';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n $api: Record<string, any>;\n }\n}\n\nexport type AcExtraSearchProps = SearchProps & {\n name: string;\n lang?: string;\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.entries());\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 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';\n\nexport type FormActionsProps = SpaceProps & {\n lang?: string;\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 { AcInputHiddenFc } from './input-hidden';\nimport { AcInputNumberFc } from './input-number';\nimport { AcInputTagsFc } from './input-tags';\nimport { AcInputTokenFc } from './input-token';\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 { AcUploadDraggerFc } from './upload-dragger';\nimport { AcUploadPictureFc } from './upload-picture';\nimport { AcUploadPictureCardFc } from './upload-picture-card';\nimport { AcUploadFc } from './upload';\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-hidden': AcInputHiddenFc,\n 'ac:input-number': AcInputNumberFc,\n 'ac:input-tags': AcInputTagsFc,\n 'ac:input-token': AcInputTokenFc,\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 = (names?: string[] | null, externalWidgets?: Record<string, ReactComponent>) => {\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\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\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\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\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) => 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 = () => execute('edit');\n const destroy = () => execute('destroy');\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","noop","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","noop","breadcrumbDefault","React","noop","Checkbox","Dropdown","Button","DownOutlined","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","noop","React","noop","Tag","cx","CloseOutlined","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","noop","AcCheckableTagFc","React","noop","cx","ReactList","Space","Button","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","noop","AcCheckableTagListFc","React","noop","Checkbox","cx","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","noop","AcCheckboxFc","React","ReactList","noop","Checkbox","cx","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","noop","AcCheckboxGroupFc","React","noop","ReactCodeFlask","CLASS_NAME","AcCodeFlask","React","Component","render","ReactCodeFlask","props","__name","_AcCodeFlask","__publicField","displayName","formSchema","defaultProps","onChange","noop","AcCodeFlaskFc","cx","React","Component","Popconfirm","Button","message","CLASS_NAME","locals","title","msgCancel","AcConfirmButton","Component","handleCancel","__name","message","info","t","inKey","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","cx","React","createRef","noop","AutosizeInput","Button","Tag","deepEqual","noop","ReactList","cx","React","Component","deepEqual","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","noop","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","callback","noop","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","React","noop","Input","cx","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","noop","AcInputFc","Space","Typography","cx","React","CLASS_NAME","AcInputCopyable","React","Component","props","handleInputChange","__name","e","onChange","value","target","setState","state","copyView","Typography","Text","copyable","text","String","shouldComponentUpdate","render","_a","className","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","React","noop","InputNumber","cx","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","noop","AcInputNumberFc","React","noop","Tag","cx","fde","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","noop","AcInputTagsFc","React","noop","Space","Button","Input","UnlockOutlined","LockOutlined","nanoid","cx","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","Input","ref","addonAfter","cx","_AcInputToken","__publicField","displayName","formSchema","defaultProps","noop","AcInputTokenFc","noop","cx","React","React","ReactList","noop","Select","cx","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","noop","AcSelectFc","React","noop","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","onChange","noop","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","noop","AcPreSelectFc","React","ReactList","noop","Radio","cx","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","noop","AcRadioGroupFc","React","noop","DatePicker","cx","moment","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","noop","AcRangePickerFc","React","noop","Rate","cx","CLASS_NAME","AcRate","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Rate","cx","_AcRate","__publicField","displayName","formSchema","defaultProps","noop","AcRateFc","React","noop","Slider","cx","CLASS_NAME","AcSlider","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Slider","cx","_AcSlider","__publicField","displayName","formSchema","defaultProps","noop","AcSliderFc","React","noop","Slider","cx","CLASS_NAME","AcSliderRange","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","range","Slider","cx","_AcSliderRange","__publicField","displayName","formSchema","defaultProps","noop","AcSliderRangeFc","React","noop","Switch","cx","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","noop","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","React","noop","Input","cx","CLASS_NAME","TextArea","Input","AcTextarea","React","Component","render","_a","props","className","defaultValue","cx","__name","_AcTextarea","__publicField","displayName","formSchema","defaultProps","onChange","noop","AcTextareaFc","React","noop","TimePicker","cx","dayjs","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","noop","AcTimePickerFc","React","noop","Transfer","cx","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","shouldComponentUpdate","nextProps","render","_a","className","items","_value","Transfer","cx","dataSource","targetKeys","rowKey","_AcTransfer","__publicField","displayName","formSchema","defaultProps","transferLabel","noop","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","React","cx","noop","TreeSelect","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","noop","AcTreeSelectFc","React","noop","Upload","Button","UploadOutlined","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","noop","Promise","resolve","AcUploadFc","React","noop","InboxOutlined","Upload","cx","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","noop","Promise","resolve","AcUploadDraggerFc","React","noop","UploadOutlined","Upload","Button","cx","React","Sortable","loadScript","loadStyle","flushSync","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","noop","maxCount","transformURL","__name","pid","includes","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPicture","AcUploadPictureFc","React","noop","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","noop","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","inMessage","message","success","info","err","error","alert","inTitle","Modal","title","content","confirm","Promise","resolve","onOk","onCancel","prompt","inOptions","value","React","Input","type","placeholder","defaultValue","onChange","e","target","nx","Space","React","Fragment","nx","React","Button","ArrowLeftOutlined","BulbOutlined","CheckOutlined","CloseOutlined","CopyOutlined","DownloadOutlined","EditOutlined","EyeOutlined","ImportOutlined","PlusOutlined","RedoOutlined","ReloadOutlined","SaveOutlined","SyncOutlined","locals","create","edit","del","view","preview","save","export","imp","refresh","back","submit","cancel","sync","copy","t","__name","locale","key","BtnCreate","_a","_b","lang","props","React","Button","size","icon","PlusOutlined","children","BtnEdit","EditOutlined","BtnDelete","CloseOutlined","BtnView","EyeOutlined","BtnPreview","BulbOutlined","BtnSave","SaveOutlined","BtnExport","DownloadOutlined","BtnImport","ImportOutlined","BtnRefresh","ReloadOutlined","BtnBack","ArrowLeftOutlined","BtnSubmit","CheckOutlined","BtnCancel","RedoOutlined","BtnSync","SyncOutlined","BtnCopy","CopyOutlined","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","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","AcInputHiddenFc","AcInputNumberFc","AcInputTagsFc","AcInputTokenFc","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/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/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 noop from '@jswork/noop';\nimport { Breadcrumb, BreadcrumbProps } from 'antd';\nimport ReactList, { TemplateArgs } from '@jswork/react-list';\nimport { breadcrumbDefault } from '../tpls/breadcrumb';\nimport cx from 'classnames';\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';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Checkbox, Dropdown, Button, MenuProps } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport '@jswork/next-dom-event';\nimport { SizeType } from 'antd/es/config-provider/SizeContext';\n\nconst CLASS_NAME = 'ac-checkable-dropdown';\nconst locales = { 'zh-CN': { selectAll: '全部' }, 'en-US': { selectAll: 'All' } };\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcCheckableDropdownProps = {\n className?: string;\n lang?: string;\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 onChange: noop,\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 React, { ReactNode } from 'react';\nimport noop from '@jswork/noop';\nimport { Tag } from 'antd';\nimport cx from 'classnames';\nimport { CheckableTagProps } from 'antd/es/tag';\nimport { CloseOutlined } from '@ant-design/icons';\n\nconst CLASS_NAME = 'ac-checkable-tag';\nconst { CheckableTag } = Tag;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n onCloseClick: noop,\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 React from 'react';\nimport noop from '@jswork/noop';\nimport cx from 'classnames';\nimport ReactList from '@jswork/react-list';\nimport { Space, Button } from 'antd';\nimport { AcCheckableTag } from './checkable-tag';\n\nconst CLASS_NAME = 'ac-checkable-tag-list';\nconst locales = {\n 'zh-CN': { selectAll: '全部' },\n 'en-US': { selectAll: 'All' },\n};\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcCheckableTagListProps = {\n /**\n * Main className.\n */\n className?: string;\n /**\n * The language key.\n */\n lang?: string;\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 onChange: noop,\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\n\nexport const AcCheckableTagListFc = (props: AcCheckableTagListProps) => {\n return <AcCheckableTagList {...props} />;\n};\n","import React, { HTMLAttributes } from 'react';\nimport noop from '@jswork/noop';\nimport { Checkbox, CheckboxProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-checkbox';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n\nexport const AcCheckboxFc = (props: AcCheckboxProps) => {\n return <AcCheckbox {...props} />;\n};\n\n","import React from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Checkbox } from 'antd';\nimport cx from 'classnames';\nimport { checkboxKv } from '../tpls/kv';\nimport { CheckboxGroupProps } from 'antd/es/checkbox';\n\nconst CLASS_NAME = 'ac-checkbox-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }) => React.ReactNode;\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 onChange: noop,\n onSearch: noop,\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\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 noop from '@jswork/noop';\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 onChange: noop,\n };\n\n render() {\n return <ReactCodeFlask {...this.props} />;\n }\n}\n\nexport const AcCodeFlaskFc = (props) => {\n return <AcCodeFlask {...props} />;\n};\n\n","import type { ButtonProps, PopconfirmProps } from 'antd';\nimport { Button, message, Popconfirm } from 'antd';\nimport cx from 'classnames';\nimport React, { Component } from 'react';\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?: string;\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';\n\nconst CLASS_NAME = 'ac-date-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\ntype StdEventTarget = { target: { value: string } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\nexport type AcDatePickerProps = Omit<DatePickerProps, 'value' | 'onChange' | 'ref'> & {\n className?: string;\n value?: any;\n onChange?: StdCallback;\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 cx from 'classnames';\nimport React, { createRef } from 'react';\nimport noop from '@jswork/noop';\nimport AutosizeInput from 'react-input-autosize';\nimport { Button, Tag } from 'antd';\nimport deepEqual from 'fast-deep-equal';\nimport '@jswork/next-dom-event';\nimport '@jswork/next-unique';\nimport { AcInteractiveList } from './interactive-list';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 callback = inCallback || noop;\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 callback(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\n","import noop from '@jswork/noop';\nimport ReactList from '@jswork/react-list';\nimport cx from 'classnames';\nimport React, { Component, HTMLAttributes } from 'react';\nimport deepEqual from 'fast-deep-equal';\n\nconst CLASS_NAME = 'ac-interactive-list';\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (\n item: { item: any; index: number; items: any[] },\n cb: any\n) => React.ReactNode;\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 template: noop,\n templateCreate: noop,\n templateDefault: noop,\n onChange: noop,\n onError: noop\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Input, InputProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-input';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import { 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\ninterface AcInputCopyableState {\n value?: ValueType;\n}\n\nexport class AcInputCopyable extends React.Component<AcInputProps, AcInputCopyableState> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps = {};\n\n constructor(props) {\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 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, ...rest } = this.props;\n return (\n <Space.Compact className={cx(CLASS_NAME, className)}>\n <AcInput onChange={this.handleInputChange} {...rest} />\n <Space.Addon>{this.copyView}</Space.Addon>\n </Space.Compact>\n );\n }\n}\n\nexport const AcInputCopyableFc = (props: AcInputProps) => {\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { InputNumber, InputNumberProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-input-number';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Tag } from 'antd';\nimport cx from 'classnames';\nimport fde from 'fast-deep-equal';\n\nconst CLASS_NAME = 'ac-input-tags';\nconst TRIGGER_KEYS = ['Tab', 'Enter', 'Space'];\n\n// @ https://cdpn.io/iamqamarali/fullpage/qyawoR?anon=true&view=\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import { LockOutlined, UnlockOutlined } from '@ant-design/icons';\nimport noop from '@jswork/noop';\nimport { Button, Input, InputProps, Space } from 'antd';\nimport cx from 'classnames';\nimport { nanoid } from 'nanoid';\nimport React from 'react';\n\nconst CLASS_NAME = 'ac-input-token';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 noop from '@jswork/noop';\nimport 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 onChange: noop,\n onSearch: noop,\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 React from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Select, SelectProps } from 'antd';\nimport cx from 'classnames';\nimport { selectKv, kv as KvTmpl } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-select';\nconst DEFAULT_KV = {\n label: 'label',\n value: 'value',\n};\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }) => React.ReactNode;\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 onChange: noop,\n onSearch: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { SearchProps } from 'antd/es/input';\n\nconst CLASS_NAME = 'ac-search';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n onSearch: noop,\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\n\n","import React, { HTMLAttributes } from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Radio, RadioGroupProps } from 'antd';\nimport cx from 'classnames';\nimport { radioKv } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-radio-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any; index: number }, opts?: any) => React.ReactNode;\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 & 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 onChange: noop,\n onSearch: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { DatePicker } from 'antd';\nimport cx from 'classnames';\nimport moment from 'dayjs';\nimport { RangePickerProps } from 'antd/es/date-picker';\n\nconst CLASS_NAME = 'ac-range-picker';\nconst STD_FORMAT = 'YYYY-MM-DD HH:mm:ss';\nconst { RangePicker } = DatePicker;\n\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcRangePickerFc = (props: AcRangePickerProps) => {\n return <AcRangePicker {...props} />;\n};\n\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Rate, RateProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-rate';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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 (\n <Rate\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcRateFc = (props: AcRateProps) => {\n return <AcRate {...props} />;\n};\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Slider, SliderSingleProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-slider';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop\n };\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 (\n <Slider\n className={cx(CLASS_NAME, className)}\n onChange={this.handleChange}\n {...props}\n />\n );\n }\n}\n\nexport const AcSliderFc = (props: AcSliderProps) => {\n return <AcSlider {...props} />;\n};\n\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Slider } from 'antd';\nimport cx from 'classnames';\nimport { SliderRangeProps } from 'antd/es/slider';\n\nconst CLASS_NAME = 'ac-slider-range';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop\n };\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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Switch, SwitchProps } from 'antd';\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-switch';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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","/**\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 { tableAction } from './table-links';\n\ntype NavigateFunction = import('react-router-dom').NavigateFunction;\n\ndeclare global {\n interface NxStatic {\n $event: any;\n $nav: NavigateFunction;\n $api: Record<string, any>;\n }\n}\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?: string;\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: {\n current: number;\n pageSize: number;\n params?: Record<string, any>;\n }) => Promise<{ data: any[]; total: number }>;\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';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n }\n}\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?: string;\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?: string;\n [key: string]: any;\n}\n\nconst defaultProps = {\n lang: 'zh-CN',\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 React from 'react';\nimport noop from '@jswork/noop';\nimport { Input } from 'antd';\nimport cx from 'classnames';\nimport { TextAreaProps } from 'antd/es/input';\n\nconst CLASS_NAME = 'ac-textarea';\nconst TextArea = Input.TextArea;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\n };\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { TimePicker, TimePickerProps } from 'antd';\nimport cx from 'classnames';\nimport dayjs from 'dayjs';\n\nconst CLASS_NAME = 'ac-time-picker';\nconst STD_FORMAT = 'HH:mm:ss';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Transfer, TransferProps } from 'antd';\nimport cx from 'classnames';\nimport { transferLabel } from '../tpls/transfer';\n\nconst CLASS_NAME = 'ac-transfer';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\ntype TemplateCallback = (item: { item: any }, options?: any) => React.ReactNode;\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 onChange: noop\n };\n\n get templateCallback(): any {\n const { template } = this.props;\n return (item: any) => template({ item });\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\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 React from 'react';\nimport cx from 'classnames';\nimport noop from '@jswork/noop';\nimport { TreeSelect, TreeSelectProps } from 'antd';\nimport '@jswork/next-tree-walk';\nimport { treeSelectKv } from '../tpls/kv';\n\nconst CLASS_NAME = 'ac-tree-select';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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 {\n className,\n items,\n itemsKey,\n template,\n treeData,\n onChange,\n ...props\n } = 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\n\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { Upload, Button } from 'antd';\nimport type { UploadProps, ButtonProps } from 'antd';\nimport { UploadOutlined } from '@ant-design/icons';\n\nimport cx from 'classnames';\n\nconst CLASS_NAME = 'ac-upload';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\nimport { InboxOutlined } from '@ant-design/icons';\nimport { Upload } from 'antd';\nimport cx from 'classnames';\nimport { DraggerProps } from 'antd/es/upload';\n\nconst CLASS_NAME = 'ac-upload-dragger';\nconst { Dragger } = Upload;\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 onChange: noop,\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\n","import React from 'react';\nimport noop from '@jswork/noop';\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 onChange: noop,\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 React, { ReactNode } from 'react';\nimport Sortable from 'sortablejs';\nimport { loadScript, loadStyle } from '@jswork/loadkit';\nimport { DraggerProps } from 'antd/es/upload';\nimport { UploadChangeParam } from 'antd/es/upload/interface';\nimport { UploadFile } from 'antd';\nimport { flushSync } from 'react-dom';\n\nimport '@jswork/next-gpid';\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\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\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 noop from '@jswork/noop';\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 onChange: noop,\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 { 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 { 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 { 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 { 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 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 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\ndeclare global {\n interface NxStatic {\n err: (inMessage: string) => any;\n msg: (inMessage: string) => any;\n info: (inMessage: string) => any;\n alert: (inMessage: string, inTitle?: String) => any;\n confirm: (inMessage: string, inTitle?: String) => any;\n prompt: (inMessage: string, inOptions?: InputProps) => any;\n }\n}\n\nexport const msg = (inMessage: string) => {\n return message.success(inMessage);\n};\n\nexport const info = (inMessage: string) => {\n return message.info(inMessage);\n};\n\nexport const err = (inMessage: string) => {\n return message.error(inMessage);\n};\n\n\nexport const alert = (inMessage: string, inTitle?: String) => {\n return Modal.info({\n title: inTitle || 'Tips',\n content: inMessage,\n });\n};\n\nexport const confirm = (inMessage: string, inTitle?: String) => {\n return new Promise((resolve) => {\n Modal.confirm({\n title: inTitle || 'Confirm',\n content: inMessage,\n onOk: () => resolve(true),\n onCancel: () => resolve(false),\n });\n });\n};\n\nexport const prompt = (inMessage: string, inOptions?: InputProps) => {\n let value = '';\n return new Promise((resolve) => {\n Modal.confirm({\n title: inMessage || 'Prompt',\n content: (\n <Input\n type=\"text\"\n placeholder={inMessage}\n defaultValue={value}\n onChange={(e) => (value = e.target.value)}\n {...inOptions}\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 { Space, SpaceProps } from 'antd';\nimport React, { FC, Fragment } from 'react';\nimport nx from '@jswork/next';\nimport { BtnBack, BtnCreate, BtnRefresh } from './button';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n }\n}\n\nexport type AcCardExtrasProps = SpaceProps & {\n name: string;\n lang?: string;\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',\n actions: ['refetch', 'add'],\n};\n\nexport const AcCardExtras: FC<AcCardExtrasProps> = (props) => {\n const { name, lang, as, extraBefore, extraAfter, asProps, actions } = { ...defaultExtras, ...props };\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) => <Fragment key={action}>{items[action]}</Fragment>)}\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 React, { FC } from 'react';\nimport { Button, ButtonProps } from 'antd';\nimport {\n ArrowLeftOutlined, BulbOutlined,\n CheckOutlined,\n CloseOutlined, CopyOutlined,\n DownloadOutlined,\n EditOutlined,\n EyeOutlined,\n ImportOutlined,\n PlusOutlined,\n RedoOutlined,\n ReloadOutlined,\n SaveOutlined,\n SyncOutlined,\n} from '@ant-design/icons';\n\nconst locals = {\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\nconst t = (locale: string, key: string) => {\n return locals[locale][key] || key;\n};\n\ntype AcButtonProps = ButtonProps & {\n lang?: string;\n}\n\nexport const BtnCreate: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<PlusOutlined />} children={t(lang, 'create')} {...props} />;\n};\n\nexport const BtnEdit: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<EditOutlined />} children={t(lang, 'edit')} {...props} />;\n};\n\nexport const BtnDelete: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CloseOutlined />} children={t(lang, 'del')} {...props} />;\n};\n\nexport const BtnView: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<EyeOutlined />} children={t(lang, 'view')} {...props} />;\n};\n\nexport const BtnPreview: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<BulbOutlined />} children={t(lang, 'preview')} {...props} />;\n};\n\nexport const BtnSave: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<SaveOutlined />} children={t(lang, 'save')} {...props} />;\n};\n\nexport const BtnExport: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<DownloadOutlined />} children={t(lang, 'export')} {...props} />;\n};\n\nexport const BtnImport: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ImportOutlined />} children={t(lang, 'imp')} {...props} />;\n};\n\nexport const BtnRefresh: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ReloadOutlined />} children={t(lang, 'refresh')} {...props} />;\n};\n\nexport const BtnBack: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<ArrowLeftOutlined />} children={t(lang, 'back')} {...props} />;\n};\n\nexport const BtnSubmit: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CheckOutlined />} children={t(lang, 'submit')} {...props} />;\n};\n\nexport const BtnCancel: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<RedoOutlined />} children={t(lang, 'cancel')} {...props} />;\n};\n\nexport const BtnSync: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<SyncOutlined />} children={t(lang, 'sync')} {...props} />;\n};\n\nexport const BtnCopy: FC<AcButtonProps> = ({ lang = 'zh-CN', ...props }) => {\n return <Button size=\"small\" icon={<CopyOutlined />} children={t(lang, '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';\n\ndeclare global {\n interface NxStatic {\n $event: any;\n $api: Record<string, any>;\n }\n}\n\nexport type AcExtraSearchProps = SearchProps & {\n name: string;\n lang?: string;\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.entries());\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 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';\n\nexport type FormActionsProps = SpaceProps & {\n lang?: string;\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 { 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: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\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\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\ndeclare global {\n interface NxStatic {\n $api: Record<string, any>;\n }\n}\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) => 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 = () => execute('edit');\n const destroy = () => execute('destroy');\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","noop","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","noop","breadcrumbDefault","React","noop","Checkbox","Dropdown","Button","DownOutlined","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","noop","React","noop","Tag","cx","CloseOutlined","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","noop","AcCheckableTagFc","React","noop","cx","ReactList","Space","Button","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","noop","AcCheckableTagListFc","React","noop","Checkbox","cx","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","noop","AcCheckboxFc","React","ReactList","noop","Checkbox","cx","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","noop","AcCheckboxGroupFc","React","noop","ReactCodeFlask","CLASS_NAME","AcCodeFlask","React","Component","render","ReactCodeFlask","props","__name","_AcCodeFlask","__publicField","displayName","formSchema","defaultProps","onChange","noop","AcCodeFlaskFc","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","cx","React","createRef","noop","AutosizeInput","Button","Tag","deepEqual","noop","ReactList","cx","React","Component","deepEqual","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","noop","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","callback","noop","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","React","noop","Input","cx","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","noop","AcInputFc","Space","Typography","cx","React","CLASS_NAME","AcInputCopyable","React","Component","props","handleInputChange","__name","e","onChange","value","target","setState","state","copyView","Typography","Text","copyable","text","String","shouldComponentUpdate","render","_a","className","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","React","noop","InputNumber","cx","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","noop","AcInputNumberFc","React","noop","Tag","cx","fde","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","noop","AcInputTagsFc","LockOutlined","UnlockOutlined","noop","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","noop","AcInputTokenFc","noop","cx","React","React","ReactList","noop","Select","cx","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","noop","AcSelectFc","React","noop","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","onChange","noop","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","noop","AcPreSelectFc","React","ReactList","noop","Radio","cx","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","noop","AcRadioGroupFc","React","noop","DatePicker","cx","moment","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","noop","AcRangePickerFc","React","noop","Rate","cx","CLASS_NAME","AcRate","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Rate","cx","_AcRate","__publicField","displayName","formSchema","defaultProps","noop","AcRateFc","React","noop","Slider","cx","CLASS_NAME","AcSlider","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","Slider","cx","_AcSlider","__publicField","displayName","formSchema","defaultProps","noop","AcSliderFc","React","noop","Slider","cx","CLASS_NAME","AcSliderRange","React","Component","handleChange","__name","inEvent","onChange","props","target","value","render","_a","className","range","Slider","cx","_AcSliderRange","__publicField","displayName","formSchema","defaultProps","noop","AcSliderRangeFc","React","noop","Switch","cx","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","noop","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","React","noop","Input","cx","CLASS_NAME","TextArea","Input","AcTextarea","React","Component","render","_a","props","className","defaultValue","cx","__name","_AcTextarea","__publicField","displayName","formSchema","defaultProps","onChange","noop","AcTextareaFc","React","noop","TimePicker","cx","dayjs","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","noop","AcTimePickerFc","React","noop","Transfer","cx","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","shouldComponentUpdate","nextProps","render","_a","className","items","_value","Transfer","cx","dataSource","targetKeys","rowKey","_AcTransfer","__publicField","displayName","formSchema","defaultProps","transferLabel","noop","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","React","cx","noop","TreeSelect","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","noop","AcTreeSelectFc","React","noop","Upload","Button","UploadOutlined","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","noop","Promise","resolve","AcUploadFc","React","noop","InboxOutlined","Upload","cx","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","noop","Promise","resolve","AcUploadDraggerFc","React","noop","UploadOutlined","Upload","Button","cx","React","Sortable","loadScript","loadStyle","flushSync","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","noop","maxCount","transformURL","__name","pid","includes","transformResponse","inFileList","map","item","uid","nx","gpid","url","_AcUploadPicture","AcUploadPictureFc","React","noop","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","noop","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","inMessage","message","success","info","err","error","alert","inTitle","Modal","title","content","confirm","Promise","resolve","onOk","onCancel","prompt","inOptions","value","React","Input","type","placeholder","defaultValue","onChange","e","target","nx","Space","React","Fragment","nx","React","Button","ArrowLeftOutlined","BulbOutlined","CheckOutlined","CloseOutlined","CopyOutlined","DownloadOutlined","EditOutlined","EyeOutlined","ImportOutlined","PlusOutlined","RedoOutlined","ReloadOutlined","SaveOutlined","SyncOutlined","locals","create","edit","del","view","preview","save","export","imp","refresh","back","submit","cancel","sync","copy","t","__name","locale","key","BtnCreate","_a","_b","lang","props","React","Button","size","icon","PlusOutlined","children","BtnEdit","EditOutlined","BtnDelete","CloseOutlined","BtnView","EyeOutlined","BtnPreview","BulbOutlined","BtnSave","SaveOutlined","BtnExport","DownloadOutlined","BtnImport","ImportOutlined","BtnRefresh","ReloadOutlined","BtnBack","ArrowLeftOutlined","BtnSubmit","CheckOutlined","BtnCancel","RedoOutlined","BtnSync","SyncOutlined","BtnCopy","CopyOutlined","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","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","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"]}
|