@jswork/antd-components 1.0.94 → 1.0.95

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tpls/breadcrumb/index.tsx","../src/tpls/kv/index.tsx","../src/tpls/raw/index.tsx","../src/tpls/transfer/index.tsx","../src/lib/alert.tsx","../src/lib/breadcrumb.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/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-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/textarea.tsx","../src/lib/time-picker.tsx","../src/lib/transfer.tsx","../src/lib/tree.tsx","../src/lib/tree-select.tsx","../src/lib/upload-dragger.tsx","../src/lib/upload-picture.tsx","../src/lib/_abstract-upload.tsx","../src/lib/upload-picture-card.tsx","../src/lib/upload.tsx"],"names":["Breadcrumb","React","breadcrumbDefault","__name","item","index","items","child","length","span","label","a","href","value","Item","key","Checkbox","Select","Radio","Tree","TreeSelect","defaults","kv","options","opts","__spreadValues","component","Component","otherProps","val","children","checkboxKv","args","selectKv","Option","radioKv","isButton","RadioComponent","Button","treeKv","cb","itemProps","TreeNode","title","treeSelectKv","raw","checkboxRaw","selectRaw","radioRaw","transferLabel","nx","Input","Modal","alert","inMessage","inTitle","info","content","confirm","Promise","resolve","onOk","onCancel","prompt","inOptions","type","placeholder","defaultValue","onChange","e","target","noop","ReactList","cx","CLASS_NAME","AcBreadcrumb","render","_a","props","className","template","_AcBreadcrumb","__publicField","displayName","defaultProps","Dropdown","DownOutlined","locales","selectAll","AcCheckableDropdown","overlayClass","id","state","visible","overlayRes","winBlankRes","t","inKey","lang","doChange","inValue","setState","indeterminate","labels","map","find","join","menuItems","_value","checked","opt","shouldChecked","includes","filtered","filter","componentDidMount","DomEvent","on","window","overlay","document","querySelector","contains","componentDidUpdate","destroy","componentWillUnmount","_b","width","disabled","size","overlayClassName","open","menu","style","onMouseEnter","_AcCheckableDropdown","formSchema","Tag","CloseOutlined","CheckableTag","AcCheckableTag","Boolean","handleChange","inEvent","handleCloseClick","propagation","onCloseClick","stopPropagation","closeIcon","closeable","toggleable","view","onClick","shouldComponentUpdate","nextProps","_AcCheckableTag","Space","AcCheckableTagList","handleClearAll","direction","isChecked","curSet","Set","method","_AcCheckableTagList","AcCheckbox","_AcCheckbox","AcCheckboxGroup","onSearch","stdEvent","stateValue","Group","_AcCheckboxGroup","ReactCodeflask","AcCodeFlask","_AcCodeFlask","Popconfirm","message","locals","msgCancel","AcConfirmButton","handleCancel","get","computedChildren","childProps","_title","onConfirm","_AcConfirmButton","dayjs","DatePicker","STD_FORMAT","DATA_FORMAT_HOOKS","date","datetime","time","AcDatePicker","_event","format","valueFormat","fmt","rest","_AcDatePicker","createRef","AutosizeInput","deepEqual","_","ReactInteractiveList","constructor","inProps","isLteMin","splice","onError","min","max","notify","isGteMax","listView","createView","templateCreate","templateDefault","push","forwardedRef","div","ref","AcInteractiveList","forwardRef","AcEditableTagGroup","inputRef","btnRef","rootForwardedRef","rootRef","imeStartRes","imeEndRes","ime","readOnly","handleInputChange","bind","onBlur","handleInputBlur","onKeyDown","handleInputKeyDown","i","actionCreate","current","actionFocusLast","inDelay","setTimeout","latestInput","focus","delay","inIndex","len","uniq","activeElement","triggers","preventDefault","handleInterChange","inCallback","callback","trim","root","selector","els","querySelectorAll","doc","slice","_AcEditableTagGroup","AcInput","complete","autoComplete","_AcInput","AcInputHidden","input","_AcInputHidden","InputNumber","AcInputNumber","_AcInputNumber","fde","TRIGGER_KEYS","AcInputTags","inputValue","handleInputKeyAction","code","isComposite","idx","handleTagRemove","execChange","inForce","newItems","handleMouseEnter","inItems","data-disabled","onMouseOver","onClose","autoFocus","onCompositionStart","onCompositionEnd","onInput","_AcInputTags","UnlockOutlined","LockOutlined","nanoid","AcInputToken","handleTokenCreate","handleTokenRemove","tokenView","labelCreate","labelRemove","icon","addonAfter","_AcInputToken","DEFAULT_KV","AcSelect","KvTmpl","asProps","allowEmpty","as","_AcSelect","AcSearch","handleSearch","Search","_AcSearch","DEFAULT_VALUE","option","keyword","AcPreSelect","handleFiledAction","inField","addonView","selectOptions","searchable","inputOptions","AsTag","computedProps","data-component","addonBefore","_AcPreSelect","version","AcRadioGroup","templateCallback","templateOptions","getDerivedStateFromProps","inState","_AcRadioGroup","moment","RangePicker","AcRangePicker","stringify","parse","_AcRangePicker","Rate","AcRate","_AcRate","Slider","AcSlider","_AcSlider","AcSliderRange","range","_AcSliderRange","Switch","AcSwitch","_AcSwitch","TextArea","AcTextarea","_AcTextarea","TimePicker","AcTimePicker","normalize","inValues","Object","keys","forEach","values","_AcTimePicker","Transfer","AcTransfer","dataSource","targetKeys","rowKey","_AcTransfer","AcTree","childView","itemsKey","treeWalk","directory","RootComp","DirectoryTree","_AcTree","AcTreeSelect","treeData","treeNodeFilterProp","_AcTreeSelect","InboxOutlined","Upload","Dragger","AcUploadDragger","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","listType","customRequest","p","_AcUploadDragger","UploadOutlined","Sortable","loadScript","loadStyle","flushSync","styleOpts","scriptOpts","styleURL","scriptURL","AcAbstractUpload","sortable","viewer","toFileList","inUrls","transformURL","Array","isArray","uid","gpid","url","handlePreview","fileList","indexOf","update","isDone","status","done","every","handleSortEnd","oldIndex","newIndex","newFileList","transformResponse","response","previewFile","blobURL","URL","createObjectURL","__async","el","mountSortable","mountViewer","animation","draggable","ghostClass","chosenClass","dragClass","onEnd","all","console","warn","_AcAbstractUpload","AcUploadPicture","accept","name","multiple","onPreview","maxCount","pid","inFileList","_AcUploadPicture","weibo2res","toWeiboPid","inItem","AcUploadPictureCard","_AcUploadPictureCard","AcUpload","btnProps","_AcUpload"],"mappings":"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","sourcesContent":["import { Breadcrumb } from 'antd';\nimport React from 'react';\n\nexport const breadcrumbDefault = ({ item, index, items }) => {\n const last = items?.length - 1 === index;\n const child = last ? <span>{item.label}</span> : <a href={item.value}>{item.label}</a>;\n return <Breadcrumb.Item key={index}>{child}</Breadcrumb.Item>;\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, ...otherProps } = opts;\n const val = item[value];\n const children = item[label];\n\n return (\n <Component key={index} value={val} {...otherProps}>\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, ...itemProps } = item;\n return (\n <Tree.TreeNode key={value} title={label} {...itemProps}>\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 { 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 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 nx from '@jswork/next';\nimport { Input, InputProps, Modal } from 'antd';\n\ndeclare global {\n interface NxStatic {\n alert: typeof alert;\n confirm: typeof confirm;\n prompt: typeof prompt;\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.alert = alert;\nnx.confirm = confirm;\nnx.prompt = prompt;\n","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\ntype Props = {\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<Props> {\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 <Breadcrumb className={cx(className, CLASS_NAME)} {...props}>\n <ReactList items={items || []} template={template} />\n </Breadcrumb>\n );\n }\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 nx from '@jswork/next';\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\ntype Props = {\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<Props> {\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\ntype Props = {\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<Props> {\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<Props>): 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","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;\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & CheckboxProps &\n HTMLAttributes<any>;\n\nexport class AcCheckbox extends React.Component<Props> {\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<Props>): 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","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","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","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}\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\ntype Props = {\n className?: string;\n value?: any;\n onChange?: StdCallback;\n} & DatePickerProps;\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<Props> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps: Props = {\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","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 nx from '@jswork/next';\nimport _ from 'lodash';\nimport '@jswork/next-dom-event';\nimport { AcInteractiveList } from './interactive-list';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\ntype Props = {\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<Props> {\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 = _.uniq(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<Props>): 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","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\ntype Props = {\n className?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n} & InputProps;\n\nexport class AcInput extends React.Component<Props> {\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<Props>): 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","import React from 'react';\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & InputNumberProps;\n\nexport class AcInputNumber extends React.Component<Props> {\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<Props>): 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","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\ntype Props = {\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<Props, 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<Props>): 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","import React from 'react';\nimport noop from '@jswork/noop';\nimport { 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\ntype Props = {\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<Props> {\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<Props>): 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 <Button.Group>\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 </Button.Group>\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","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","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\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n autoComplete?: boolean;\n} & SearchProps;\n\nexport class AcSearch extends React.Component<Props> {\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","import React, { HTMLAttributes } from 'react';\nimport ReactList from '@jswork/react-list';\nimport noop from '@jswork/noop';\nimport { Radio } 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\ntype Props = {\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} & HTMLAttributes<any>;\n\nexport class AcRadioGroup extends React.Component<Props> {\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<Props>, 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","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\ntype Props = {\n className?: string;\n value?: any;\n defaultValue?: any;\n onChange?: StdCallback;\n} & RangePickerProps;\n\nexport class AcRangePicker extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & RateProps;\n\nexport class AcRate extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n onChange?: StdCallback;\n} & SliderSingleProps;\n\nexport class AcSlider extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n range?: true;\n onChange?: StdCallback;\n} & Omit<SliderRangeProps, 'range'>;\n\nexport class AcSliderRange extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & SwitchProps;\n\nexport class AcSwitch extends React.Component<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & TextAreaProps;\n\nexport class AcTextarea extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: string | dayjs.Dayjs;\n defaultValue?: string | dayjs.Dayjs;\n onChange?: StdCallback;\n} & Omit<TimePickerProps, 'value' | 'defaultValue'>;\n\nexport class AcTimePicker extends React.Component<Props> {\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","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\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\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<Props> {\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\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\ntype Props = {\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<Props> {\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","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\ntype Props = {\n className?: string;\n value?: any[];\n defaultValue?: any[];\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n} & DraggerProps;\n\nexport class AcUploadDragger extends React.Component<Props> {\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","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 nx from '@jswork/next';\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","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 nx from '@jswork/next';\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\ntype Props = {\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<Props, 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) {\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<Props>): 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 nx from '@jswork/next';\nimport weibo2res from '@jswork/weibo2res';\nimport '@jswork/next-gpid';\nimport { AcAbstractUpload } from './_abstract-upload';\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n btnProps?: ButtonProps;\n} & UploadProps;\n\nexport class AcUpload extends React.Component<Props> {\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"]}
1
+ {"version":3,"sources":["../src/tpls/breadcrumb/index.tsx","../src/tpls/kv/index.tsx","../src/tpls/raw/index.tsx","../src/tpls/transfer/index.tsx","../src/lib/alert.tsx","../src/lib/breadcrumb.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/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-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/textarea.tsx","../src/lib/time-picker.tsx","../src/lib/transfer.tsx","../src/lib/tree.tsx","../src/lib/tree-select.tsx","../src/lib/upload-dragger.tsx","../src/lib/upload-picture.tsx","../src/lib/_abstract-upload.tsx","../src/lib/upload-picture-card.tsx","../src/lib/upload.tsx"],"names":["Breadcrumb","React","breadcrumbDefault","__name","item","index","items","child","length","span","label","a","href","value","Item","key","Checkbox","Select","Radio","Tree","TreeSelect","defaults","kv","options","opts","__spreadValues","component","Component","otherProps","val","children","checkboxKv","args","selectKv","Option","radioKv","isButton","RadioComponent","Button","treeKv","cb","itemProps","TreeNode","title","treeSelectKv","raw","checkboxRaw","selectRaw","radioRaw","transferLabel","nx","Input","Modal","alert","inMessage","inTitle","info","content","confirm","Promise","resolve","onOk","onCancel","prompt","inOptions","type","placeholder","defaultValue","onChange","e","target","noop","ReactList","cx","CLASS_NAME","AcBreadcrumb","render","_a","props","className","template","_AcBreadcrumb","__publicField","displayName","defaultProps","Dropdown","DownOutlined","locales","selectAll","AcCheckableDropdown","overlayClass","id","state","visible","overlayRes","winBlankRes","t","inKey","lang","doChange","inValue","setState","indeterminate","labels","map","find","join","menuItems","_value","checked","opt","shouldChecked","includes","filtered","filter","componentDidMount","DomEvent","on","window","overlay","document","querySelector","contains","componentDidUpdate","destroy","componentWillUnmount","_b","width","disabled","size","overlayClassName","open","menu","style","onMouseEnter","_AcCheckableDropdown","formSchema","Tag","CloseOutlined","CheckableTag","AcCheckableTag","Boolean","handleChange","inEvent","handleCloseClick","propagation","onCloseClick","stopPropagation","closeIcon","closeable","toggleable","view","onClick","shouldComponentUpdate","nextProps","_AcCheckableTag","Space","AcCheckableTagList","handleClearAll","direction","isChecked","curSet","Set","method","_AcCheckableTagList","AcCheckbox","_AcCheckbox","AcCheckboxGroup","onSearch","stdEvent","stateValue","Group","_AcCheckboxGroup","ReactCodeflask","AcCodeFlask","_AcCodeFlask","Popconfirm","message","locals","msgCancel","AcConfirmButton","handleCancel","get","computedChildren","childProps","_title","onConfirm","_AcConfirmButton","dayjs","DatePicker","STD_FORMAT","DATA_FORMAT_HOOKS","date","datetime","time","AcDatePicker","_event","format","valueFormat","fmt","rest","_AcDatePicker","createRef","AutosizeInput","deepEqual","_","ReactInteractiveList","inProps","isLteMin","splice","onError","min","max","notify","isGteMax","listView","createView","templateCreate","templateDefault","push","forwardedRef","div","ref","AcInteractiveList","forwardRef","AcEditableTagGroup","inputRef","btnRef","rootForwardedRef","rootRef","imeStartRes","imeEndRes","ime","readOnly","handleInputChange","bind","onBlur","handleInputBlur","onKeyDown","handleInputKeyDown","i","actionCreate","current","actionFocusLast","inDelay","setTimeout","latestInput","focus","delay","inIndex","len","uniq","activeElement","triggers","preventDefault","handleInterChange","inCallback","callback","trim","root","selector","els","querySelectorAll","doc","slice","_AcEditableTagGroup","AcInput","complete","autoComplete","_AcInput","AcInputHidden","input","_AcInputHidden","InputNumber","AcInputNumber","_AcInputNumber","fde","TRIGGER_KEYS","AcInputTags","inputValue","handleInputKeyAction","code","isComposite","idx","handleTagRemove","execChange","inForce","newItems","handleMouseEnter","inItems","data-disabled","onMouseOver","onClose","autoFocus","onCompositionStart","onCompositionEnd","onInput","_AcInputTags","UnlockOutlined","LockOutlined","nanoid","AcInputToken","handleTokenCreate","handleTokenRemove","tokenView","labelCreate","labelRemove","icon","addonAfter","_AcInputToken","DEFAULT_KV","AcSelect","KvTmpl","asProps","allowEmpty","as","_AcSelect","AcSearch","handleSearch","Search","_AcSearch","DEFAULT_VALUE","option","keyword","AcPreSelect","handleFiledAction","inField","addonView","selectOptions","searchable","inputOptions","AsTag","computedProps","data-component","addonBefore","_AcPreSelect","version","AcRadioGroup","templateCallback","templateOptions","getDerivedStateFromProps","inState","_AcRadioGroup","moment","RangePicker","AcRangePicker","stringify","parse","_AcRangePicker","Rate","AcRate","_AcRate","Slider","AcSlider","_AcSlider","AcSliderRange","range","_AcSliderRange","Switch","AcSwitch","_AcSwitch","TextArea","AcTextarea","_AcTextarea","TimePicker","AcTimePicker","normalize","inValues","Object","keys","forEach","values","_AcTimePicker","Transfer","AcTransfer","dataSource","targetKeys","rowKey","_AcTransfer","AcTree","childView","itemsKey","treeWalk","directory","RootComp","DirectoryTree","_AcTree","AcTreeSelect","treeData","treeNodeFilterProp","_AcTreeSelect","InboxOutlined","Upload","Dragger","AcUploadDragger","handleCustomRequest","inRequestOption","onRequest","file","then","res","onSuccess","catch","err","listType","customRequest","p","_AcUploadDragger","UploadOutlined","Sortable","loadScript","loadStyle","flushSync","styleOpts","scriptOpts","styleURL","scriptURL","AcAbstractUpload","sortable","viewer","toFileList","inUrls","transformURL","Array","isArray","uid","gpid","url","handlePreview","fileList","indexOf","update","isDone","status","done","every","handleSortEnd","oldIndex","newIndex","newFileList","transformResponse","response","previewFile","blobURL","URL","createObjectURL","__async","el","mountSortable","mountViewer","animation","draggable","ghostClass","chosenClass","dragClass","onEnd","all","console","warn","_AcAbstractUpload","AcUploadPicture","accept","name","multiple","onPreview","maxCount","pid","inFileList","_AcUploadPicture","weibo2res","toWeiboPid","inItem","AcUploadPictureCard","_AcUploadPictureCard","AcUpload","btnProps","_AcUpload"],"mappings":"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","sourcesContent":["import { Breadcrumb } from 'antd';\nimport React from 'react';\n\nexport const breadcrumbDefault = ({ item, index, items }) => {\n const last = items?.length - 1 === index;\n const child = last ? <span>{item.label}</span> : <a href={item.value}>{item.label}</a>;\n return <Breadcrumb.Item key={index}>{child}</Breadcrumb.Item>;\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, ...otherProps } = opts;\n const val = item[value];\n const children = item[label];\n\n return (\n <Component key={index} value={val} {...otherProps}>\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, ...itemProps } = item;\n return (\n <Tree.TreeNode key={value} title={label} {...itemProps}>\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 { 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 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 nx from '@jswork/next';\nimport { Input, InputProps, Modal } from 'antd';\n\ndeclare global {\n interface NxStatic {\n alert: typeof alert;\n confirm: typeof confirm;\n prompt: typeof prompt;\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.alert = alert;\nnx.confirm = confirm;\nnx.prompt = prompt;\n","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\ntype Props = {\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<Props> {\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 <Breadcrumb className={cx(className, CLASS_NAME)} {...props}>\n <ReactList items={items || []} template={template} />\n </Breadcrumb>\n );\n }\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 nx from '@jswork/next';\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\ntype Props = {\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<Props> {\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\ntype Props = {\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<Props> {\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<Props>): 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","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;\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & CheckboxProps &\n HTMLAttributes<any>;\n\nexport class AcCheckbox extends React.Component<Props> {\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<Props>): 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","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","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","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}\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\ntype Props = {\n className?: string;\n value?: any;\n onChange?: StdCallback;\n} & DatePickerProps;\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<Props> {\n static displayName = CLASS_NAME;\n static formSchema = CLASS_NAME;\n static defaultProps: Props = {\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","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 nx from '@jswork/next';\nimport _ from 'lodash';\nimport '@jswork/next-dom-event';\nimport { AcInteractiveList } from './interactive-list';\n\nconst CLASS_NAME = 'ac-editable-tag-group';\ntype StdEventTarget = { target: { value: any } };\ntype StdCallback = (inEvent: StdEventTarget) => void;\n\ntype Props = {\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<Props> {\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 = _.uniq(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<Props>): 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","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\ntype Props = {\n className?: string;\n onChange?: StdCallback;\n autoComplete?: boolean;\n} & InputProps;\n\nexport class AcInput extends React.Component<Props> {\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<Props>): 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","import React from 'react';\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & InputNumberProps;\n\nexport class AcInputNumber extends React.Component<Props> {\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<Props>): 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","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\ntype Props = {\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<Props, 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<Props>): 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","import React from 'react';\nimport noop from '@jswork/noop';\nimport { 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\ntype Props = {\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<Props> {\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<Props>): 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 <Button.Group>\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 </Button.Group>\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","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","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\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n onSearch?: StdCallback;\n autoComplete?: boolean;\n} & SearchProps;\n\nexport class AcSearch extends React.Component<Props> {\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","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\ntype Props = {\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<Props> {\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<Props>, 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","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\ntype Props = {\n className?: string;\n value?: any;\n defaultValue?: any;\n onChange?: StdCallback;\n} & RangePickerProps;\n\nexport class AcRangePicker extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n} & RateProps;\n\nexport class AcRate extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n onChange?: StdCallback;\n} & SliderSingleProps;\n\nexport class AcSlider extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n range?: true;\n onChange?: StdCallback;\n} & Omit<SliderRangeProps, 'range'>;\n\nexport class AcSliderRange extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & SwitchProps;\n\nexport class AcSwitch extends React.Component<Props> {\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<Props>): 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","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\ntype Props = {\n className?: string;\n value?: boolean;\n onChange?: StdCallback;\n} & TextAreaProps;\n\nexport class AcTextarea extends React.Component<Props> {\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","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\ntype Props = {\n className?: string;\n value?: string | dayjs.Dayjs;\n defaultValue?: string | dayjs.Dayjs;\n onChange?: StdCallback;\n} & Omit<TimePickerProps, 'value' | 'defaultValue'>;\n\nexport class AcTimePicker extends React.Component<Props> {\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","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\ntype Props = {\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<Props> {\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<Props>): 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","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\ntype Props = {\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<Props> {\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\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\ntype Props = {\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<Props> {\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","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\ntype Props = {\n className?: string;\n value?: any[];\n defaultValue?: any[];\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n} & DraggerProps;\n\nexport class AcUploadDragger extends React.Component<Props> {\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","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 nx from '@jswork/next';\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","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 nx from '@jswork/next';\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\ntype Props = {\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<Props, 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) {\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<Props>): 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 nx from '@jswork/next';\nimport weibo2res from '@jswork/weibo2res';\nimport '@jswork/next-gpid';\nimport { AcAbstractUpload } from './_abstract-upload';\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","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\ntype Props = {\n className?: string;\n value?: number;\n onChange?: StdCallback;\n onRequest?: CustomRequest;\n btnProps?: ButtonProps;\n} & UploadProps;\n\nexport class AcUpload extends React.Component<Props> {\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"]}