@next-bricks/form 0.17.5 → 0.17.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/{1646.27e1c127.js → 1646.38e38e59.js} +2 -2
- package/dist/chunks/{1646.27e1c127.js.map → 1646.38e38e59.js.map} +1 -1
- package/dist/chunks/{2179.b0d8286f.js → 2179.721df618.js} +2 -2
- package/dist/chunks/{6205.e4c2805d.js.map → 2179.721df618.js.map} +1 -1
- package/dist/chunks/3458.d68494f3.js +2 -0
- package/dist/chunks/3458.d68494f3.js.map +1 -0
- package/dist/chunks/{4049.2763572b.js → 4049.6bf60bf4.js} +2 -2
- package/dist/chunks/{4049.2763572b.js.map → 4049.6bf60bf4.js.map} +1 -1
- package/dist/chunks/5381.6727ec9a.js +2 -0
- package/dist/chunks/{5381.1918196f.js.map → 5381.6727ec9a.js.map} +1 -1
- package/dist/chunks/{5725.5ce29d79.js → 5725.fe510233.js} +2 -2
- package/dist/chunks/{7672.173af46d.js.map → 5725.fe510233.js.map} +1 -1
- package/dist/chunks/{6205.e4c2805d.js → 6205.b4483c98.js} +2 -2
- package/dist/chunks/{7164.9248fe3a.js.map → 6205.b4483c98.js.map} +1 -1
- package/dist/chunks/{6473.71593820.js → 6473.05851aa0.js} +2 -2
- package/dist/chunks/{6473.71593820.js.map → 6473.05851aa0.js.map} +1 -1
- package/dist/chunks/6660.97196e16.js +2 -0
- package/dist/chunks/{6660.df9ae169.js.map → 6660.97196e16.js.map} +1 -1
- package/dist/chunks/{7007.3625d844.js → 7007.cb88c5ea.js} +3 -3
- package/dist/chunks/{7007.3625d844.js.map → 7007.cb88c5ea.js.map} +1 -1
- package/dist/chunks/{7164.9248fe3a.js → 7164.fe28f9c1.js} +2 -2
- package/dist/chunks/{2179.b0d8286f.js.map → 7164.fe28f9c1.js.map} +1 -1
- package/dist/chunks/{7672.173af46d.js → 7672.20142710.js} +2 -2
- package/dist/chunks/{5725.5ce29d79.js.map → 7672.20142710.js.map} +1 -1
- package/dist/chunks/{7746.ac36f407.js → 7746.4034b92f.js} +2 -2
- package/dist/chunks/{7746.ac36f407.js.map → 7746.4034b92f.js.map} +1 -1
- package/dist/chunks/7782.c2f60c9d.js +2 -0
- package/dist/chunks/7782.c2f60c9d.js.map +1 -0
- package/dist/chunks/8177.03b061cb.js +2 -0
- package/dist/chunks/{6588.93c7e79c.js.map → 8177.03b061cb.js.map} +1 -1
- package/dist/chunks/8691.d1c61340.js +2 -0
- package/dist/chunks/8691.d1c61340.js.map +1 -0
- package/dist/chunks/eo-auto-complete.1744e41d.js +3 -0
- package/dist/chunks/{eo-auto-complete.b9e9cc9b.js.map → eo-auto-complete.1744e41d.js.map} +1 -1
- package/dist/chunks/eo-checkbox.869cf91e.js +3 -0
- package/dist/chunks/{eo-checkbox.437fb579.js.map → eo-checkbox.869cf91e.js.map} +1 -1
- package/dist/chunks/eo-dynamic-form-item.c96413c0.js +2 -0
- package/dist/chunks/{eo-dynamic-form-item.dc944ac8.js.map → eo-dynamic-form-item.c96413c0.js.map} +1 -1
- package/dist/chunks/{eo-form-item.ee3587d2.js → eo-form-item.879dcecf.js} +3 -3
- package/dist/chunks/{eo-form-item.ee3587d2.js.map → eo-form-item.879dcecf.js.map} +1 -1
- package/dist/chunks/eo-form.a644c12b.js +2 -0
- package/dist/chunks/{eo-form.3192c9c8.js.map → eo-form.a644c12b.js.map} +1 -1
- package/dist/chunks/eo-icon-select.28ff8a0e.js +3 -0
- package/dist/chunks/{eo-icon-select.c1fd49ee.js.map → eo-icon-select.28ff8a0e.js.map} +1 -1
- package/dist/chunks/eo-input.6c35ee55.js +3 -0
- package/dist/chunks/{eo-input.3f5f7abc.js.map → eo-input.6c35ee55.js.map} +1 -1
- package/dist/chunks/eo-radio.cf87a833.js +3 -0
- package/dist/chunks/{eo-radio.31ab90cd.js.map → eo-radio.cf87a833.js.map} +1 -1
- package/dist/chunks/eo-search.62ef5c2b.js +2 -0
- package/dist/chunks/{eo-search.b708170c.js.map → eo-search.62ef5c2b.js.map} +1 -1
- package/dist/chunks/eo-select.a011486e.js +3 -0
- package/dist/chunks/{eo-select.e8831203.js.map → eo-select.a011486e.js.map} +1 -1
- package/dist/chunks/eo-submit-buttons.3226b161.js +2 -0
- package/dist/chunks/{eo-submit-buttons.89422c1a.js.map → eo-submit-buttons.3226b161.js.map} +1 -1
- package/dist/chunks/eo-switch.8118e338.js +3 -0
- package/dist/chunks/{eo-switch.d655db5a.js.map → eo-switch.8118e338.js.map} +1 -1
- package/dist/chunks/eo-textarea.78311cbe.js +3 -0
- package/dist/chunks/{eo-textarea.b8fbe64c.js.map → eo-textarea.78311cbe.js.map} +1 -1
- package/dist/chunks/eo-upload-file.16caa8ae.js +2 -0
- package/dist/chunks/{eo-upload-file.5333340e.js.map → eo-upload-file.16caa8ae.js.map} +1 -1
- package/dist/chunks/{eo-upload-image.cc538980.js → eo-upload-image.0d644ef7.js} +2 -2
- package/dist/chunks/{eo-upload-image.cc538980.js.map → eo-upload-image.0d644ef7.js.map} +1 -1
- package/dist/chunks/main.cb2cf05c.js +2 -0
- package/dist/chunks/{main.46e65562.js.map → main.cb2cf05c.js.map} +1 -1
- package/dist/index.320fcf51.js +2 -0
- package/dist/index.320fcf51.js.map +1 -0
- package/dist/manifest.json +0 -20
- package/dist/types.json +0 -28
- package/dist-types/input/index.d.ts +4 -0
- package/package.json +4 -4
- package/dist/chunks/3458.0b13e21e.js +0 -2
- package/dist/chunks/3458.0b13e21e.js.map +0 -1
- package/dist/chunks/5381.1918196f.js +0 -2
- package/dist/chunks/6588.93c7e79c.js +0 -2
- package/dist/chunks/6660.df9ae169.js +0 -2
- package/dist/chunks/7782.5ae83019.js +0 -2
- package/dist/chunks/7782.5ae83019.js.map +0 -1
- package/dist/chunks/8691.959c9280.js +0 -2
- package/dist/chunks/8691.959c9280.js.map +0 -1
- package/dist/chunks/eo-auto-complete.b9e9cc9b.js +0 -3
- package/dist/chunks/eo-checkbox.437fb579.js +0 -3
- package/dist/chunks/eo-dynamic-form-item.dc944ac8.js +0 -2
- package/dist/chunks/eo-form.3192c9c8.js +0 -2
- package/dist/chunks/eo-icon-select.c1fd49ee.js +0 -3
- package/dist/chunks/eo-input.3f5f7abc.js +0 -3
- package/dist/chunks/eo-radio.31ab90cd.js +0 -3
- package/dist/chunks/eo-search.b708170c.js +0 -2
- package/dist/chunks/eo-select.e8831203.js +0 -3
- package/dist/chunks/eo-submit-buttons.89422c1a.js +0 -2
- package/dist/chunks/eo-switch.d655db5a.js +0 -3
- package/dist/chunks/eo-textarea.b8fbe64c.js +0 -3
- package/dist/chunks/eo-upload-file.5333340e.js +0 -2
- package/dist/chunks/main.46e65562.js +0 -2
- package/dist/index.932ccbc0.js +0 -2
- package/dist/index.932ccbc0.js.map +0 -1
- /package/dist/chunks/{7007.3625d844.js.LICENSE.txt → 7007.cb88c5ea.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-auto-complete.b9e9cc9b.js.LICENSE.txt → eo-auto-complete.1744e41d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-checkbox.437fb579.js.LICENSE.txt → eo-checkbox.869cf91e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-form-item.ee3587d2.js.LICENSE.txt → eo-form-item.879dcecf.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-icon-select.c1fd49ee.js.LICENSE.txt → eo-icon-select.28ff8a0e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-input.3f5f7abc.js.LICENSE.txt → eo-input.6c35ee55.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-radio.31ab90cd.js.LICENSE.txt → eo-radio.cf87a833.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-select.e8831203.js.LICENSE.txt → eo-select.a011486e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-switch.d655db5a.js.LICENSE.txt → eo-switch.8118e338.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-textarea.b8fbe64c.js.LICENSE.txt → eo-textarea.78311cbe.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/6588.93c7e79c.js","mappings":"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","sources":["webpack:///./src/input/index.tsx","webpack:///./src/textarea/calculateAutoSizeStyle.ts","webpack:///./src/textarea/index.tsx","webpack:///../../src/PubSub.ts","webpack:///../../src/FormStore.ts","webpack:///./src/form/index.tsx","webpack:///./src/form-item/index.tsx","webpack:///./src/utils/formatOptions.ts","webpack:///./src/radio/index.tsx","webpack:///./src/select/index.tsx","webpack:///./src/submit-buttons/index.tsx","webpack:///./src/checkbox/index.tsx","webpack:///./src/dynamic-form-item/i18n.ts","webpack:///./src/dynamic-form-item/index.tsx","webpack:///./src/search/index.tsx","webpack:///./src/icon-select/i18n.ts","webpack:///./src/icon-select/utils.ts","webpack:///./src/icon-select/index.tsx","webpack:///./src/upload/upload-image/i18n.ts","webpack:///./src/upload/upload-image/utils.ts","webpack:///./src/upload/upload-image/index.tsx","webpack:///./src/general-switch/index.tsx","webpack:///./src/upload/upload-file/i18n.ts","webpack:///./src/upload/upload-file/index.tsx","webpack:///./src/auto-complete/index.tsx","webpack:///./src/auto-complete/styles.shadow.css","webpack:///./src/checkbox/checkbox.shadow.css","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/form-item/FormItem.shadow.css","webpack:///./src/general-switch/styles.shadow.css","webpack:///./src/icon-select/styles.shadow.css","webpack:///./src/input/input.shadow.css","webpack:///./src/radio/index.shadow.css","webpack:///./src/search/styles.shadow.css","webpack:///./src/select/index.shadow.css","webpack:///./src/submit-buttons/index.shadow.css","webpack:///./src/textarea/textarea.shadow.css","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///./src/upload/upload-image/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useRef,\n forwardRef,\n createRef,\n useImperativeHandle,\n type ChangeEvent,\n type MouseEvent,\n type FocusEvent,\n type CSSProperties,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport { isNil } from \"lodash\";\nimport styleText from \"./input.shadow.css\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { ComponentSize, InputType } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface InputProps extends FormItemProps {\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n autoFocus?: boolean;\n type?: InputType;\n size?: ComponentSize;\n maxLength?: number;\n minLength?: number;\n validateState?: string;\n inputStyle?: CSSProperties;\n}\n\nexport interface InputEvents {\n change: CustomEvent<string>;\n}\n\nexport interface InputEventsMap {\n onChange: \"change\";\n}\n\n/**\n * 通用输入框构件\n * @author sailor\n *\n * @part addon-wrapper - 包裹输入组件、前缀、后缀、前置和后置的容器\n * @part affix-wrapper - 包裹输入组件、前缀和后缀的容器\n * @part input - 输入组件\n * @part clear-icon - 清除按钮\n * @part prefix - 输入框前缀容器\n * @part suffix - 输入框后缀容器\n * @part before-addon - 输入框前置容器\n * @part after-addon - 输入框后置容器\n *\n * @slot addonBefore - 输入框前置标签\n * @slot addonAfter - 输入框后置标签\n * @slot prefix - 输入框前缀图标\n * @slot suffix - 输入框后缀图标\n */\nexport\n@defineElement(\"eo-input\", {\n styleTexts: [styleText],\n alias: [\"form.general-input\"],\n})\nclass Input extends FormItemElementBase {\n #RCInputRef = createRef<RCInputRef>();\n\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 标签文字\n */\n @property() accessor label: string | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 正则校验规则\n */\n @property() accessor pattern: string | undefined;\n\n /**\n * 表单校验最大长度\n */\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n /**\n * 表单校验最小长度\n */\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 错误时显示消息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 输入框值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否只读\n */\n @property({ type: Boolean })\n accessor readonly: boolean | undefined;\n\n /**\n * 是否显示清除按钮\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 是否自动聚焦\n */\n @property({\n type: Boolean,\n })\n accessor autoFocus: boolean | undefined;\n\n /**\n * 类型\n * @default \"text\"\n */\n @property() accessor type: InputType | undefined;\n\n /**\n * 大小\n * @default \"medium\"\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 最小长度\n */\n @property({ type: Number })\n accessor minLength: number | undefined;\n\n /**\n * 最大长度\n */\n @property({ type: Number })\n accessor maxLength: number | undefined;\n\n /**\n * 输入框样式\n */\n @property({ attribute: false }) accessor inputStyle:\n | React.CSSProperties\n | undefined;\n\n /**\n * 值改变事件\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n handleInputChange = (value: string) => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n\n /**\n * focus\n */\n @method()\n focusInput() {\n return this.#RCInputRef.current?.focus();\n }\n\n /**\n * blur\n */\n @method()\n blurInput() {\n return this.#RCInputRef.current?.blur();\n }\n\n /**\n * 是否有 addonBefore 插槽\n */\n @property({ type: Boolean })\n accessor hasAddonBefore: boolean | undefined;\n\n /**\n * 是否有 addonAfter 插槽\n */\n @property({ type: Boolean })\n accessor hasAddonAfter: boolean | undefined;\n\n /**\n * 是否有 prefix 插槽\n */\n @property({ type: Boolean })\n accessor hasPrefix: boolean | undefined;\n\n /**\n * 是否有 suffix 插槽\n */\n @property({ type: Boolean })\n accessor hasSuffix: boolean | undefined;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n renderCallback = (ref: RCInputRef) => {\n (this.#RCInputRef as any).current = ref;\n const addonBefore = this.#getSlotByName(\"addonBefore\");\n const addonAfter = this.#getSlotByName(\"addonAfter\");\n const prefix = this.#getSlotByName(\"prefix\");\n const suffix = this.#getSlotByName(\"suffix\");\n\n addonBefore?.addEventListener(\"slotchange\", () => {\n this.hasAddonBefore = addonBefore.assignedElements().length > 0;\n });\n addonAfter?.addEventListener(\"slotchange\", () => {\n this.hasAddonAfter = addonAfter.assignedElements().length > 0;\n });\n suffix?.addEventListener(\"slotchange\", () => {\n this.hasSuffix = suffix.assignedElements().length > 0;\n });\n prefix?.addEventListener(\"slotchange\", () => {\n this.hasPrefix = prefix.assignedElements().length > 0;\n });\n };\n\n #getSlotByName(name: string): HTMLSlotElement {\n return this.shadowRoot?.querySelector(\n `slot[name='${name}']`\n ) as HTMLSlotElement;\n }\n\n render() {\n return (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n <RCInput\n formElement={this.getFormElement()}\n curElement={this}\n ref={this.renderCallback}\n name={this.name}\n label={this.label}\n required={this.required}\n pattern={this.pattern}\n min={this.min}\n max={this.max}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n validateState={this.validateState}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readOnly={this.readonly}\n clearable={this.clearable}\n autoFocus={this.autoFocus}\n type={this.type}\n size={this.size}\n minLength={this.minLength}\n maxLength={this.maxLength}\n inputStyle={this.inputStyle}\n trigger=\"handleInputChange\"\n onInputChange={this.handleInputChange}\n validator={this.validator}\n />\n );\n }\n}\n\nexport interface RCInputProps extends InputProps {\n onInputChange?: (value: string) => void;\n}\n\nexport interface RCInputRef {\n focus: (options?: FocusOptions) => void;\n blur: () => void;\n}\n\n// eslint-disable-next-line react/display-name\nexport const RCInput = forwardRef<RCInputRef, RCInputProps>((props, ref) => {\n const {\n placeholder,\n clearable,\n disabled,\n readOnly,\n autoFocus,\n size = \"medium\",\n type = \"text\",\n maxLength,\n minLength,\n validateState,\n onInputChange,\n inputStyle,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputAffixWrapperRef = useRef<HTMLInputElement>(null);\n\n const [value, setValue] = useState<string>();\n const [focused, setFocused] = useState<boolean>();\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n useImperativeHandle(ref, () => ({\n focus: (options?: FocusOptions) => {\n inputRef.current?.focus(options);\n },\n blur: () => {\n inputRef.current?.blur();\n },\n }));\n\n const handleInputAffixWrapperClick = (e: MouseEvent<HTMLElement>) => {\n if (inputAffixWrapperRef.current?.contains(e.target as Element)) {\n inputRef.current?.focus();\n }\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n };\n\n const handleFocus = (e: FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n };\n\n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n };\n\n const handleClear = (e: MouseEvent<HTMLElement>) => {\n setValue(\"\");\n onInputChange?.(\"\");\n };\n\n const getClearIcon = () => {\n if (!clearable) return null;\n\n const hidden = disabled || readOnly || !fixValue(value);\n return (\n <WrappedIcon\n className={classNames(\"input-clear-icon\", {\n \"input-clear-icon-hidden\": hidden,\n })}\n part=\"clear-icon\"\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleClear}\n />\n );\n };\n\n return (\n <WrappedFormItem {...props}>\n <div\n part=\"addon-wrapper\"\n className={classNames(\n \"input-addon-wrapper\",\n size && `input-addon-wrapper-size-${size}`,\n validateState && `input-addon-wrapper-status-${validateState}`\n )}\n style={inputStyle}\n >\n <span part=\"before-addon\" className=\"input-before-addon\">\n <slot name=\"addonBefore\" />\n </span>\n <span\n ref={inputAffixWrapperRef}\n part=\"affix-wrapper\"\n className={classNames(\"input-affix-wrapper\", {\n \"input-affix-wrapper-focused\": focused,\n \"input-affix-wrapper-disabled\": disabled,\n \"input-affix-wrapper-readOnly\": readOnly,\n })}\n onClick={handleInputAffixWrapperClick}\n >\n <span part=\"prefix\" className=\"input-prefix\">\n <slot name=\"prefix\" />\n </span>\n <input\n part=\"input\"\n placeholder={placeholder}\n autoFocus={autoFocus}\n maxLength={maxLength}\n minLength={minLength}\n ref={inputRef}\n className=\"input\"\n type={type}\n disabled={disabled}\n readOnly={readOnly}\n value={fixValue(value)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n <span part=\"suffix\" className=\"input-suffix\">\n {getClearIcon()}\n <slot name=\"suffix\" />\n </span>\n </span>\n <span part=\"after-addon\" className=\"input-after-addon\">\n <slot name=\"addonAfter\" />\n </span>\n </div>\n </WrappedFormItem>\n );\n});\n\nfunction fixValue<T>(value: T) {\n return isNil(value) ? \"\" : String(value);\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 8;\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport calculateAutoSizeStyle from \"./calculateAutoSizeStyle.js\";\nimport styleText from \"./textarea.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport \"@next-core/theme\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ntype AutoSize =\n | boolean\n | {\n minRows: number;\n maxRows: number;\n };\n\ninterface TextareaProps extends FormItemProps {\n name?: string;\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n textareaStyle?: React.CSSProperties;\n minLength?: number;\n maxLength?: number;\n autoSize?: AutoSize;\n validateState?: string;\n onInputChange: (value: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用多行文本输入框构件\n * @author sailor\n */\n@defineElement(\"eo-textarea\", {\n styleTexts: [styleText],\n alias: [\"form.general-textarea\"],\n})\nclass Textarea extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 标签文字\n */\n @property() accessor label: string | undefined;\n\n /**\n * 值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 最小长度\n */\n @property({\n type: Number,\n })\n accessor minLength: number | undefined;\n\n /**\n * 最大长度\n */\n @property({\n type: Number,\n })\n accessor maxLength: number | undefined;\n\n /**\n * 大小自适应\n */\n @property({\n attribute: false,\n })\n accessor autoSize: AutoSize | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 表单校验最大长度\n */\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n /**\n * 表单校验最小长度\n */\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 校验信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 自定义样式\n */\n @property({ attribute: false }) accessor textareaStyle:\n | React.CSSProperties\n | undefined;\n\n /**\n * @detail\n * @description 值改变事件\n */\n @event({ type: \"change\" })\n accessor #InputChangeEvent!: EventEmitter<string>;\n\n handleInputChange = (value: string) => {\n this.value = value;\n this.#InputChangeEvent.emit(value);\n };\n\n render() {\n return (\n <TextareaComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n placeholder={this.placeholder}\n disabled={this.disabled}\n minLength={this.minLength}\n maxLength={this.maxLength}\n autoSize={this.autoSize}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n textareaStyle={this.textareaStyle}\n validateState={this.validateState}\n max={this.max}\n min={this.min}\n message={this.message}\n trigger=\"handleInputChange\"\n onInputChange={this.handleInputChange}\n />\n );\n }\n}\n\nexport function TextareaComponent(props: TextareaProps) {\n const {\n name,\n placeholder,\n disabled,\n textareaStyle,\n minLength,\n maxLength,\n autoSize,\n validateState,\n onInputChange,\n } = props;\n const [value, setValue] = useState(props.value);\n const [autoSizeStyle, setAutoSizeStyle] = useState<React.CSSProperties>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const [minRows, maxRows] = React.useMemo(() => {\n if (autoSize && typeof autoSize === \"object\") {\n return [autoSize.minRows, autoSize.maxRows];\n }\n\n return [];\n }, [autoSize]);\n\n const setAutoSize = useCallback(() => {\n const textareaElement = textareaRef.current as HTMLTextAreaElement;\n if (textareaElement && autoSize) {\n const textareaStyles = calculateAutoSizeStyle(\n textareaElement,\n minRows,\n maxRows\n );\n\n setAutoSizeStyle(textareaStyles);\n }\n }, [autoSize, maxRows, minRows]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onInputChange(e.target.value);\n setAutoSize();\n };\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n setAutoSize();\n }, [maxRows, minRows, setAutoSize]);\n\n return (\n <WrappedFormItem {...props}>\n <textarea\n ref={textareaRef}\n className={classNames({\n error: validateState === \"error\",\n })}\n name={name}\n value={value}\n disabled={disabled}\n style={{\n height: 94,\n ...textareaStyle,\n ...autoSizeStyle,\n }}\n placeholder={placeholder}\n minLength={minLength}\n maxLength={maxLength}\n onChange={handleInputChange}\n />\n </WrappedFormItem>\n );\n}\n\nexport { Textarea };\n","import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n","import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\ninterface FieldDetail {\n name: string;\n label?: string;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()];\n }\n\n getAllValues() {\n return this.#formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const allFields = this.#getAllFields();\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n if (allFields.includes(k)) {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n }\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.#formData[name] = null;\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(true, results);\n return false;\n } else {\n callback(false, this.#formData);\n return this.#formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: React.ChangeEvent,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n","import React, { useMemo } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { AbstractForm, FormStore, MessageBody } from \"@next-shared/form\";\nimport { ComponentSize, Layout } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ninterface FormProps {\n values?: Record<string, any>;\n layout?: Layout;\n size?: ComponentSize;\n}\n\nexport interface FormEvents {\n valuesChange?: Event;\n validateSuccess?: Event;\n validateError?: Event;\n}\n\nexport interface FormMapEvents {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\n/**\n * 表单构件\n * @author sailor\n * @slot - 表单内容\n */\n@defineElement(\"eo-form\", {\n alias: [\"form.general-form\"],\n})\nclass Form extends ReactNextElement implements FormProps, AbstractForm {\n formStore: FormStore;\n #_values!: Record<string, unknown>;\n defaultEmitValuesChange = true;\n\n constructor() {\n super();\n this.formStore = FormStore.getInstance({\n onValuesChanged: this.handleValuesChange,\n });\n }\n\n get isFormElement(): true {\n return true;\n }\n\n set values(value: Record<string, unknown>) {\n this.#_values = value;\n\n this.#_setInitValue(value);\n }\n get values(): Record<string, unknown> {\n return this.#_values;\n }\n\n #_setInitValue(values: Record<string, unknown>) {\n this.formStore.setInitValue(values, this.defaultEmitValuesChange);\n }\n\n /**\n * 布局方式\n */\n @property() accessor layout: Layout | undefined;\n\n /**\n * 表单组件尺寸\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 表单值变更事件\n * @detail\n */\n @event({ type: \"values.change\" }) accessor #valuesChangeEvent!: EventEmitter<\n Record<string, unknown>\n >;\n handleValuesChange = (values: Record<string, unknown>) => {\n this.#valuesChangeEvent.emit(values);\n };\n\n /**\n * 表单验证成功时触发事件\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<\n MessageBody[]\n >;\n\n /**\n * 表单校验方法\n */\n @method()\n validate(): boolean | Record<string, unknown> {\n return this.formStore.validateFields((err, values) => {\n if (err) {\n this.#errorEvent.emit(values);\n } else {\n this.#successEvent.emit(values);\n }\n });\n }\n\n /**\n * 表单设置值方法\n */\n @method()\n setInitValue(values: Record<string, unknown>) {\n this.#_setInitValue(values);\n }\n\n /**\n * 表单重置值方法\n */\n @method()\n resetFields(name?: string) {\n this.formStore.resetFields(typeof name === \"string\" ? name : undefined);\n }\n\n /**\n * 获取表单值方法\n */\n @method()\n getFieldsValue(name?: string) {\n return this.formStore.getFieldsValue(\n typeof name === \"string\" ? name : undefined\n );\n }\n\n @property({\n attribute: false,\n })\n accessor formStyle: React.CSSProperties | undefined;\n\n /**\n * 校验表单字段方法\n */\n @method()\n validateField(name: string) {\n this.formStore.validateField(name);\n }\n\n /**\n * 重置表单校验状态方法\n */\n @method()\n resetValidateState() {\n this.formStore.resetValidateState();\n }\n\n render() {\n return (\n <FormComponent\n layout={this.layout}\n size={this.size}\n formStyle={this.formStyle}\n />\n );\n }\n}\n\ninterface FormComponentProps extends FormProps {\n formStyle?: React.CSSProperties;\n onValuesChange?: (value: Record<string, any>) => void;\n onValidateSuccess?: () => void;\n onValidateError?: () => void;\n}\n\nexport function FormComponent({\n layout = \"horizontal\",\n formStyle,\n}: FormComponentProps) {\n const computedStyle = useMemo((): React.CSSProperties => {\n switch (layout) {\n case \"vertical\": {\n return {\n display: \"flex\",\n flexDirection: \"column\",\n };\n }\n case \"inline\": {\n return {\n display: \"flex\",\n gap: 10,\n };\n }\n default:\n return {};\n }\n }, [layout]);\n\n return (\n <form>\n <slot\n style={{\n ...computedStyle,\n ...(formStyle ? formStyle : {}),\n }}\n />\n </form>\n );\n}\n\nexport { Form, FormProps };\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport {\n AbstractForm,\n FormItemElementBase,\n MessageBody,\n} from \"@next-shared/form\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport type { Form } from \"../form/index.jsx\";\nimport styleText from \"./FormItem.shadow.css\";\nimport classNames from \"classnames\";\nimport type { ComponentSize, Layout } from \"../interface.js\";\nimport \"@next-core/theme\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\ntype CurrentElement = HTMLElement & {\n size?: ComponentSize;\n validateState?: MessageBody | string;\n [key: string]: any;\n};\n\nexport interface FormItemProps {\n formElement?: AbstractForm | null;\n curElement?: CurrentElement;\n name?: string;\n label?: string;\n current?: HTMLElement;\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n labelCol?: string;\n wrapperCol?: string;\n message?: Record<string, string>;\n layout?: Layout;\n size?: ComponentSize;\n trigger?: string;\n valuePropsName?: string;\n notRender?: boolean;\n helpBrick?: { useBrick: UseSingleBrickConf | UseSingleBrickConf[] };\n labelBrick?: { useBrick: UseSingleBrickConf | UseSingleBrickConf[] };\n needValidate?: boolean;\n validator?: (value: any) => MessageBody | string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * 通用输入框构件\n * @author sailor\n */\n@defineElement(\"eo-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.general-form-item\"],\n})\nclass FormItem extends FormItemElementBase implements FormItemProps {\n @property({\n attribute: false,\n })\n accessor formElement: Form | undefined;\n\n @property({\n attribute: false,\n })\n accessor curElement: HTMLElement | undefined;\n\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n @property() accessor label: string | undefined;\n\n @property() accessor pattern: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 表单项是否必填\n * @group basicFormItem\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 初始值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 表单项 label 标签布局\n * @group ui\n */\n @property()\n accessor labelCol: string | undefined;\n\n /**\n * 表单项控件布局\n * @group ui\n */\n @property()\n accessor wrapperCol: string | undefined;\n\n @property() accessor valuePropsName: string | undefined;\n\n @property() accessor layout: Layout | undefined;\n\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 是否自动去除前后的空白字符\n * @default true\n * @group advancedFormItem\n */\n @property({\n type: Boolean,\n })\n accessor trim = true;\n\n /**\n * 事件触发方法名\n */\n @property()\n accessor trigger!: string;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n /**\n * 值变化时是否主动出发校验\n */\n @property({\n type: Boolean,\n })\n accessor needValidate: boolean | undefined;\n\n render() {\n if (this.notRender) return null;\n return (\n <FormItemComponent\n formElement={this.formElement}\n curElement={this.curElement}\n label={this.label}\n name={this.name}\n required={this.required}\n pattern={this.pattern}\n min={this.min}\n max={this.max}\n message={this.message}\n size={this.size || this.formElement?.size}\n layout={this.layout || this.formElement?.layout}\n trigger={this.trigger}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n valuePropsName={this.valuePropsName}\n needValidate={this.needValidate}\n validator={this.validator}\n />\n );\n }\n}\n\nexport { FormItem };\n\nexport function FormItemComponent(props: FormItemProps) {\n const {\n name,\n label,\n required,\n pattern,\n max,\n min,\n message,\n formElement,\n curElement,\n valuePropsName = \"value\",\n size,\n trigger = \"onChange\",\n layout = \"horizontal\",\n helpBrick,\n labelBrick,\n needValidate = true,\n validator,\n } = props;\n const formInstance = formElement?.formStore;\n\n const defaultValidateState = useRef<MessageBody>({\n message: \"\",\n type: \"normal\",\n });\n const [validateState, setValidateState] = useState<MessageBody>(\n defaultValidateState.current\n );\n\n useEffect(() => {\n if (!formInstance || !name || !curElement || curElement.$bindFormItem)\n return;\n const originTrigger = curElement[trigger];\n curElement[trigger] = (e: React.ChangeEvent) =>\n formInstance.onWatch(name, e, originTrigger, {\n needValidate,\n });\n curElement.$bindFormItem = true;\n\n formInstance.subscribe(`${name}.validate`, (_, detail) => {\n setValidateState(detail);\n curElement.validateState = detail.type;\n });\n formInstance.subscribe(`${name}.init.value`, (_, v) => {\n curElement[valuePropsName] = v;\n curElement.validateState = \"\";\n setValidateState({\n message: \"\",\n type: \"normal\",\n });\n });\n formInstance.subscribe(`${name}.reset.fields`, () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.fields\", () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.validate\", () => {\n setValidateState(defaultValidateState.current);\n curElement.validateState = defaultValidateState.current.type;\n });\n\n return () => {\n formInstance.removeField(name);\n formInstance.unsubscribe(`${name}.validate`);\n formInstance.unsubscribe(`${name}.init.value`);\n formInstance.unsubscribe(`${name}.reset.fields`);\n formInstance.unsubscribe(\"reset.fields\");\n };\n }, [curElement, formInstance, name, trigger, valuePropsName, needValidate]);\n\n useEffect(() => {\n if (!formInstance || !name || !curElement) return;\n formInstance.setField(name, {\n name,\n label,\n validate: {\n required,\n pattern,\n max,\n min,\n message,\n validator,\n },\n });\n\n if (layout === \"inline\") curElement.style.display = \"inline-block\";\n if (size) {\n curElement.size = formElement.size || size;\n }\n formInstance.setFieldsValueByInitData(name);\n }, [\n curElement,\n formElement,\n formInstance,\n label,\n layout,\n max,\n message,\n min,\n name,\n pattern,\n required,\n size,\n validator,\n ]);\n\n return (\n <div className={classNames(\"form-item\", layout)}>\n {label && (\n <div className=\"form-item-label-wrapper\">\n <div className=\"form-item-label\">\n <label>\n {required && <span className=\"required\">*</span>}\n {label}\n </label>\n {labelBrick?.useBrick ? (\n <ReactUseMultipleBricks {...labelBrick}></ReactUseMultipleBricks>\n ) : null}\n </div>\n </div>\n )}\n <div className=\"form-item-wrapper\">\n <div className=\"form-item-control\">\n <slot></slot>\n </div>\n {helpBrick?.useBrick ? (\n <ReactUseMultipleBricks {...helpBrick}></ReactUseMultipleBricks>\n ) : null}\n {formElement ? (\n <div\n className={classNames(\"message\", {\n error: validateState.type === \"error\",\n })}\n >\n {validateState?.type !== \"normal\" && validateState.message}\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n","import { get } from \"lodash\";\nimport {\n GeneralOption,\n GeneralComplexOption,\n GeneralGroupOption,\n} from \"../interface.js\";\n\nexport function formatOptions(\n options: GeneralOption[] = [],\n fields?: { label?: string; value?: string }\n) {\n return options.map((op) => {\n if (typeof op === \"number\" || typeof op === \"string\") {\n return { label: op, value: op };\n }\n if (typeof op === \"boolean\") {\n return { label: String(op), value: op };\n }\n if (fields) {\n return {\n ...op,\n label: get(op, fields.label || \"label\"),\n value: get(op, fields.value || \"value\"),\n };\n }\n return { ...op, label: op.label, value: op.value };\n }) as GeneralComplexOption[];\n}\n","import React, { CSSProperties } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type {\n RadioType,\n GeneralOption,\n GeneralComplexOption,\n UIType,\n RadioGroupButtonStyle,\n ComponentSize,\n} from \"../interface.js\";\nimport styleText from \"./index.shadow.css\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { isBoolean, isEqual } from \"lodash\";\n\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ninterface CustomOptions {\n url: string;\n description?: string;\n title: string;\n backgroundColor?: string;\n value: string;\n [propName: string]: any;\n}\n\nexport interface RadioProps {\n type?: RadioType;\n options: GeneralOption[] | CustomOptions[] | undefined;\n value?: any;\n disabled?: boolean;\n buttonStyle?: RadioGroupButtonStyle;\n size?: ComponentSize;\n ui?: UIType;\n useBrick?: UseSingleBrickConf;\n customStyle?: React.CSSProperties;\n}\nexport interface RadioEvents {\n change: CustomEvent<GeneralComplexOption>;\n optionsChange: CustomEvent<{\n options: GeneralComplexOption[];\n name: string;\n }>;\n}\nexport interface RadioEventsMapping {\n onValueChange: \"change\";\n onOptionsChange: \"optionsChange\";\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用单选构件\n * @author sailor\n */\n@defineElement(\"eo-radio\", {\n styleTexts: [styleText],\n alias: [\"form.general-radio\"],\n})\nclass Radio extends FormItemElementBase {\n /**\n * 下拉框字段名\n */\n @property() accessor name: string | undefined;\n\n /**\n * 单选框字段说明\n */\n @property() accessor label: string | undefined;\n\n /**\n * 单选框选项表\n * @required\n */\n @property({ attribute: false })\n accessor options: GeneralOption[] | undefined;\n\n /**\n * 单选框当前选中始值\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 单选框样式类型\n * @default \"default\"\n */\n @property()\n accessor type: RadioType | undefined;\n\n /**\n * UI样式\n * @default \"default\"\n */\n @property()\n accessor ui: UIType | undefined;\n\n /**\n * 大小,只对按钮样式生效\n * @default \"medium\"\n */\n @property()\n accessor size: ComponentSize | undefined;\n\n /**\n * 自定义radio的外层样式\n */\n @property({\n attribute: false,\n })\n accessor customStyle: React.CSSProperties | undefined;\n\n /**\n * 自定义radio的内容\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseSingleBrickConf | undefined;\n\n /**\n * 值变化事件\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n label: string;\n value: any;\n [key: string]: any;\n }>;\n\n /**\n * 选项列表变化事件\n */\n @event({ type: \"options.change\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n handleChange = (item: {\n label: string;\n value: any;\n [key: string]: any;\n }): void => {\n this.value = item.value;\n this.#changeEvent.emit(item);\n };\n\n #handleOptionsChange = (\n options: {\n label: string;\n value: any;\n [key: string]: any;\n },\n name: string\n ): void => {\n this.#optionsChange.emit({ options, name });\n };\n\n render() {\n return (\n <RadioComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n useBrick={this.useBrick}\n ui={this.ui}\n disabled={this.disabled}\n size={this.size}\n options={formatOptions(this.options)}\n type={this.type}\n value={this.value}\n required={this.required}\n message={this.message}\n onChange={this.handleChange}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleChange\"\n optionsChange={this.#handleOptionsChange}\n customStyle={this.customStyle}\n />\n );\n }\n}\n\ninterface RadioComponentProps extends RadioProps, FormItemProps {\n onChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n}\n\nexport function RadioComponent(props: RadioComponentProps) {\n const { name, disabled, type, customStyle, optionsChange, size } = props;\n const [value, setValue] = React.useState(props.value);\n const [options, setOptions] = React.useState(props.options);\n\n React.useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n React.useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options);\n optionsChange?.(props.options, name as string);\n }\n }, [name, options, optionsChange, props.options]);\n\n const handleChange = (\n e: React.ChangeEvent | React.MouseEvent,\n option: GeneralComplexOption\n ): void => {\n e.stopPropagation();\n setValue((option as GeneralComplexOption)?.value as any);\n props.onChange?.(option);\n };\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"radioGruop\", {\n dashboardRadioContainer: props.ui === \"dashboard\",\n })}\n >\n {options?.map((item: any, index: number) => {\n const icon = item.icon;\n const iconName = icon?.icon;\n const iconLib = icon?.lib;\n const iconStyle: CSSProperties = icon?.iconStyle;\n const key = isBoolean(item.value)\n ? item.value.toString()\n : item.value;\n const isDisabled = item.disabled || disabled;\n return (\n <label\n htmlFor={key}\n style={customStyle}\n className={classNames({\n disabledIconRadio: isDisabled,\n disabledCustomRadio: isDisabled,\n iconRadio: type === \"icon\",\n customRadio: type === \"custom\",\n specialIconRadio:\n type === \"icon-circle\" || type === \"icon-square\",\n defaultRadio: ![\n \"button\",\n \"icon\",\n \"custom\",\n \"icon-square\",\n \"icon-circle\",\n ].includes(type as string),\n buttonRadio: type === \"button\",\n [size || \"medium\"]: type === \"button\",\n })}\n key={key}\n onClick={(e) => !isDisabled && handleChange(e, item)}\n >\n <input\n type=\"radio\"\n name={name}\n disabled={isDisabled}\n checked={value === item.value}\n onChange={(e) => !isDisabled && handleChange(e, item)}\n />\n {type === \"icon\" ? (\n <div className={classNames({ content: true })}>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"32px\",\n ...iconStyle,\n }}\n />\n )}\n <div>{item.label}</div>\n </div>\n ) : type === \"custom\" ? (\n <div className={\"customContent\"}>\n {props.useBrick && (\n <ReactUseBrick\n useBrick={props.useBrick}\n data={item}\n ></ReactUseBrick>\n )}\n </div>\n ) : type === \"icon-circle\" || type === \"icon-square\" ? (\n <div\n className={classNames({\n iconContent:\n type === \"icon-circle\" || type === \"icon-square\",\n })}\n >\n {item.icon && (\n <div\n className={classNames({\n circleIcon: type === \"icon-circle\",\n squareIcon: type === \"icon-square\",\n })}\n >\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"46px\",\n ...iconStyle,\n }}\n />\n </div>\n )}\n <span title={item.label}>{item.label}</span>\n </div>\n ) : type === \"button\" ? (\n <div\n className={classNames(\"buttonContent\", {\n buttonRadioCheck: value === item.value,\n disabledButtonRadio: isDisabled,\n })}\n >\n <span>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"22px\",\n marginRight: \"4px\",\n verticalAlign: \"-0.25em\",\n ...iconStyle,\n }}\n />\n )}\n {item.label}\n </span>\n </div>\n ) : (\n <span className={classNames({ content: true })}>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n ...iconStyle,\n }}\n />\n )}\n {item.label}\n </span>\n )}\n </label>\n );\n })}\n </div>\n </WrappedFormItem>\n );\n}\nexport { Radio };\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { GeneralComplexOption, GeneralGroupOption } from \"../interface.js\";\nimport styleText from \"./index.shadow.css\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport type {\n Tag,\n TagProps,\n TagMapEvents,\n TagEvents,\n} from \"@next-bricks/basic/tag\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { isEmpty, isEqual } from \"lodash\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedTag = wrapBrick<Tag, TagProps, TagEvents, TagMapEvents>(\"eo-tag\", {\n onCheck: \"check\",\n onClose: \"close\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface SelectProps extends FormItemProps {\n value?: any;\n options: GeneralComplexOption[] | GeneralGroupOption[];\n placeholder?: string;\n multiple?: boolean;\n clearable?: boolean;\n disabled?: boolean;\n inputStyle?: React.CSSProperties;\n validateState?: string;\n onChange?: (value: any) => void;\n onValueChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n onFocus?: () => void;\n onSearch?: (value: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用下拉选择构件\n * @author julielai\n */\n@defineElement(\"eo-select\", {\n styleTexts: [styleText],\n alias: [\"form.general-select\"],\n})\nclass Select extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 选项列表\n * @required\n */\n @property({ attribute: false })\n accessor options: GeneralComplexOption[] | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否支持多选\n */\n @property({ type: Boolean })\n accessor multiple: boolean | undefined;\n\n /**\n * 是否支持清除\n * @default true\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * 下拉选择事件\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n value: string | string[];\n options: GeneralComplexOption[];\n }>;\n\n /**\n * 下拉框search事件\n */\n @event({ type: \"search\" }) accessor #searchEvent!: EventEmitter<{\n value: string;\n }>;\n\n /**\n * 下拉框focus事件\n */\n @event({ type: \"focus\" }) accessor #focusEvent!: EventEmitter<void>;\n\n /**\n * 选项列表变化事件\n */\n @event({ type: \"options.change\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n handleChange = (value: string | string[]): void => {\n this.value = value;\n const findOption = (value: any) =>\n (formatOptions(this.options) ?? []).find(\n (option) => option.value === value\n ) as GeneralComplexOption;\n const selectedOptions = Array.isArray(value)\n ? value.map((item) => findOption(item))\n : [findOption(value)];\n\n this.#changeEvent.emit({\n value,\n options: selectedOptions,\n });\n };\n\n private _handleOptionsChange = (\n options: {\n label: string;\n value: any;\n [key: string]: any;\n },\n name: string\n ): void => {\n Promise.resolve().then(() => {\n this.#optionsChange.emit({ options, name });\n });\n };\n\n handleSearch = (value: string) => {\n this.#searchEvent.emit({\n value,\n });\n };\n\n handleFocus = () => {\n this.#focusEvent.emit();\n };\n\n render() {\n return (\n <SelectComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n disabled={this.disabled}\n placeholder={this.placeholder}\n required={this.required}\n multiple={this.multiple}\n clearable={this.clearable}\n trigger=\"handleChange\"\n inputStyle={this.inputStyle}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n options={formatOptions(this.options)}\n onChange={this.handleChange}\n optionsChange={this._handleOptionsChange}\n onSearch={this.handleSearch}\n onFocus={this.handleFocus}\n />\n );\n }\n}\n\nexport function SelectComponent(props: SelectProps) {\n const {\n name,\n disabled,\n multiple,\n clearable = true,\n inputStyle,\n placeholder,\n validateState,\n optionsChange,\n onChange,\n onFocus,\n onValueChange,\n onSearch,\n } = props;\n const [inputValue, setInputValue] = useState<string>(\"\");\n const [selectValue, setSelectValue] = useState<any>(\n multiple ? [] : undefined\n );\n const [options, setOptions] = useState<any[]>(props.options ?? []);\n const [isDropHidden, setIsDropHidden] = useState<boolean>(true);\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [customSelectvalue, setCustomSelectValue] = useState<string[]>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n setIsFocused(false);\n setIsDropHidden(true);\n };\n document.addEventListener(\"click\", handleDocumentClick);\n return () => {\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n });\n\n useEffect(() => {\n setSelectValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options);\n optionsChange?.(props.options, name as string);\n }\n }, [name, options, optionsChange, props.options]);\n\n const handleChange = useCallback(\n (option: GeneralComplexOption): void => {\n let newValue;\n if (multiple) {\n newValue = (selectValue ?? []).includes(option.value)\n ? (selectValue as string[]).filter((item) => item !== option.value)\n : (((selectValue as any[]) ?? []).concat(option.value) as string[]);\n } else {\n newValue = option.value;\n }\n setSelectValue(newValue);\n onChange?.(newValue);\n onValueChange?.(newValue);\n !multiple && setIsDropHidden(true);\n setInputValue(\"\");\n },\n [multiple, selectValue, onChange]\n );\n\n const handleMultipleItemClose = useCallback(\n (closeValue: string | number | boolean) => {\n const newValue = (selectValue as string[]).filter(\n (item) => item !== closeValue\n );\n setSelectValue(newValue);\n onChange?.(newValue);\n },\n [onChange, selectValue]\n );\n\n const handleClear = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setSelectValue(undefined);\n onChange?.(undefined);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n const value = e.target.value;\n setInputValue(value);\n onSearch?.(value);\n };\n\n const computedOptions = React.useMemo(() => {\n return options.concat(\n customSelectvalue.map((item, index) => ({\n key: index,\n label: item,\n value: item,\n }))\n );\n }, [options, customSelectvalue]);\n\n const handleKeydown = useCallback(\n (e: KeyboardEvent): void => {\n if (e.code === \"Enter\" && inputValue) {\n if (!computedOptions.find((item: any) => item.value === inputValue)) {\n setCustomSelectValue(customSelectvalue.concat(inputValue));\n }\n handleChange({\n value: inputValue,\n label: inputValue,\n });\n setInputValue(\"\");\n }\n if (\n e.code === \"Backspace\" &&\n multiple &&\n inputValue === \"\" &&\n selectValue?.length\n ) {\n selectValue.pop();\n setSelectValue([...selectValue]);\n }\n },\n [\n computedOptions,\n customSelectvalue,\n handleChange,\n inputValue,\n multiple,\n selectValue,\n ]\n );\n\n const renderTag = useCallback(\n (list: Array<number | string | boolean>) => {\n const ellipsisInfo =\n list.length - 3 > 0\n ? {\n label: `+${list.length - 3}`,\n key: \"$$key\",\n value: \"\",\n closeable: false,\n }\n : null;\n const tagList: Array<GeneralComplexOption | string | number | boolean> =\n list.slice(0, 3);\n ellipsisInfo && tagList.push(ellipsisInfo);\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n\n return tagList.map((item) => {\n let option: GeneralComplexOption;\n if (typeof item === \"object\") {\n option = item;\n } else {\n option =\n allOptions.find((option: any) => option.value === item) ??\n ({} as GeneralComplexOption);\n option.closeable = !disabled && option.closeable;\n }\n return (\n <WrappedTag\n key={option.value as number}\n ellipsisWidth=\"100px\"\n color={disabled ? \"#ddd\" : undefined}\n closable={option.closeable}\n onCheck={() => {\n //\n }}\n onClose={() => handleMultipleItemClose(option.value)}\n >\n {option.label}\n </WrappedTag>\n );\n });\n },\n [handleMultipleItemClose, computedOptions, disabled]\n );\n\n const getLabel = useCallback(\n (value: any) => {\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n if (value !== undefined) {\n return (\n (multiple\n ? renderTag(value)\n : allOptions.find((item: any) => item.value === value)?.label) ?? \"\"\n );\n }\n return \"\";\n },\n [computedOptions, renderTag]\n );\n\n const renderLabel = useMemo(() => {\n return getLabel(selectValue) || (placeholder as string);\n }, [getLabel, placeholder, selectValue]);\n\n const isEmptyValue = useMemo(() => {\n return typeof selectValue === \"object\"\n ? isEmpty(selectValue)\n : selectValue === undefined;\n }, [selectValue]);\n\n useEffect(() => {\n window.addEventListener(\"keydown\", handleKeydown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeydown);\n };\n }, [handleKeydown]);\n\n const getSelectOption = (item: any): React.ReactNode => (\n <div\n key={item.value.toString()}\n className={classNames(\"select-item\", \"select-item-option\", {\n disabled: item.disabled,\n \"select-option-selected\":\n typeof selectValue !== \"object\"\n ? selectValue === item.value\n : (selectValue as any[]).includes(item.value),\n })}\n onClick={() => !item.disabled && handleChange(item)}\n >\n <div className=\"select-item-option-content\">\n <div className=\"option\">\n <span className=\"label\">{item.label}</span>\n </div>\n <div className=\"is-checked\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"check\",\n theme: \"outlined\",\n }}\n />\n </div>\n </div>\n </div>\n );\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"select\", {\n \"select-disabled\": disabled,\n \"select-allow-clear\": clearable,\n \"select-single\": !multiple,\n \"select-multiple\": multiple,\n })}\n style={inputStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div\n className={classNames(\"select-selector\", {\n \"selector-focused\": isFocused,\n \"is-error\": validateState === \"error\",\n })}\n onClick={() => {\n if (!disabled) {\n setIsDropHidden(!isDropHidden);\n setIsFocused(!isFocused);\n onFocus?.();\n inputRef.current && inputRef.current.focus();\n }\n }}\n onBlur={() => setInputValue(\"\")}\n >\n <div className=\"select-selection-overflow\">\n <div\n className=\"selected-item\"\n style={\n isEmptyValue\n ? { color: \"var(--antd-input-placeholder-color)\" }\n : {}\n }\n >\n <span className=\"label\">{renderLabel}</span>\n </div>\n {multiple && (\n <div className=\"selected-item\">\n <div className=\"select-selection-search\">\n <input\n type=\"text\"\n readOnly={!multiple}\n value={inputValue}\n ref={inputRef}\n className=\"select-selection-search-input\"\n onChange={handleInputChange}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"select-arrow\">\n {!isEmptyValue && isFocused && clearable ? (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onClick={(e) => handleClear(e)}\n />\n ) : (\n <span\n className={classNames(\n \"anticon\",\n \"anticon-down \",\n \"ant-select-suffix\",\n {\n focus: isFocused,\n }\n )}\n >\n <WrappedIcon icon=\"down\" lib=\"antd\" theme=\"outlined\" />\n </span>\n )}\n </span>\n </div>\n <div\n style={{ ...(isDropHidden ? { display: \"none\" } : {}) }}\n className=\"select-dropdown\"\n >\n <div className=\"dropdown-list\">\n <div>\n <div className=\"dropdown-inner\">\n {computedOptions.length > 0 ? (\n computedOptions.map((item: any) => {\n return item.options?.length ? (\n <div key={item.label} className=\"select-group-wrapper\">\n <div className=\"select-group-label\">{item.label}</div>\n {formatOptions(item.options).map((option: any) =>\n getSelectOption(option)\n )}\n </div>\n ) : (\n getSelectOption(item)\n );\n })\n ) : (\n <div className=\"empty-tips\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"warning\",\n theme: \"filled\",\n color: \"yellow\",\n }}\n style={{\n fontSize: 16,\n marginRight: 12,\n }}\n />\n 无数据\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </WrappedFormItem>\n );\n}\n\nexport { Select };\n","import React from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport styleText from \"./index.shadow.css\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type { ButtonType } from \"../interface.js\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\ninterface SubmitButtonsProps {\n curElement: HTMLElement;\n submitText?: string;\n submitType?: ButtonType;\n submitDisabled?: boolean;\n cancelText?: string;\n cancelType?: ButtonType;\n onSubmitClick?: (event: React.MouseEvent) => void;\n onCancelClick?: (event: React.MouseEvent) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 用于general-forms的通用按钮\n * @author zhendong\n */\n@defineElement(\"eo-submit-buttons\", {\n styleTexts: [styleText],\n alias: [\"form.submit-buttons\"],\n})\nclass SubmitButtons extends FormItemElementBase {\n /**\n * 提交按钮的文字\n * @default \"提交\"\n */\n @property() accessor submitText: string = \"提交\";\n\n /**\n * 取消按钮的文字,不设置则不显示取消按钮\n */\n @property()\n accessor cancelText: string | undefined;\n\n /**\n * 点击确定按钮后自动禁用\n */\n @property({ type: Boolean })\n accessor disableAfterClick: boolean | undefined;\n\n /**\n * 禁用提交按钮\n */\n @property({ type: Boolean }) accessor submitDisabled: boolean | undefined;\n\n /**\n * 提交按钮类型\n */\n @property() accessor submitType: ButtonType | undefined;\n\n /**\n * 取消按钮类型\n */\n @property() accessor cancelType: ButtonType | undefined;\n\n /**\n * 点击提交按钮触发的事件\n */\n @event({ type: \"submit\" }) accessor #submitEvent!: EventEmitter<void>;\n\n /**\n * 点击取消按钮触发的事件\n */\n @event({ type: \"cancel\" }) accessor #cancelEvent!: EventEmitter<void>;\n\n private _handleSubmitClick = (): void => {\n Promise.resolve().then(() => {\n this.#submitEvent.emit();\n if (this.getFormElement()) {\n (this.getFormElement() as any).validate();\n }\n if (this.disableAfterClick) {\n this.submitDisabled = true;\n }\n });\n };\n\n private _handleCancelClick = (): void => {\n Promise.resolve().then(() => {\n this.#cancelEvent.emit();\n });\n };\n\n render() {\n return (\n <ButtonsComponent\n curElement={this}\n submitDisabled={this.submitDisabled}\n submitText={this.submitText}\n submitType={this.submitType}\n cancelText={this.cancelText}\n cancelType={this.cancelType}\n onCancelClick={this._handleCancelClick}\n onSubmitClick={this._handleSubmitClick}\n />\n );\n }\n}\n\nexport function ButtonsComponent(props: SubmitButtonsProps) {\n return (\n <WrappedFormItem {...props}>\n {props.submitText && (\n <WrappedButton\n className={\"submitBtn\"}\n type={props.submitType || \"primary\"}\n onClick={props.onSubmitClick}\n disabled={props.submitDisabled}\n >\n {props.submitText}\n </WrappedButton>\n )}\n {props.cancelText && (\n <WrappedButton\n data-test-id=\"cancelBtn\"\n type={props.cancelType || \"text\"}\n onClick={props.onCancelClick}\n >\n {props.cancelText}\n </WrappedButton>\n )}\n </WrappedFormItem>\n );\n}\nexport { SubmitButtons };\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport styleText from \"./checkbox.shadow.css\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { isEqual } from \"lodash\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport type CheckboxType = \"default\" | \"icon\";\n\nexport declare type CheckboxValueType = string | number | boolean;\n\nexport interface CheckboxOptionType {\n label: React.ReactNode;\n value: any;\n style?: React.CSSProperties;\n disabled?: boolean;\n checkboxColor?: string;\n [propName: string]: any;\n}\n\nexport interface MenuIcon {\n [propName: string]: any;\n}\n\nexport interface OptionGroup {\n name: string;\n key: string;\n options: CheckboxOptionType[];\n}\n\nexport interface CheckboxProps extends FormItemProps {\n options?: CheckboxOptionType[];\n label?: string;\n value?: CheckboxValueType[];\n disabled?: boolean;\n type?: CheckboxType;\n isCustom?: boolean;\n onChange?: (value: CheckboxValueType[]) => void;\n optionsChange?: (options: CheckboxOptionType[], name: string) => void;\n}\n\n/**\n * 表单复选框构件\n * @author derrickma\n */\n@defineElement(\"eo-checkbox\", {\n styleTexts: [styleText],\n alias: [\"form.general-checkbox\"],\n})\nclass Checkbox extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n /**\n * 值\n */\n @property({ attribute: false })\n accessor value: CheckboxValueType[] | undefined;\n\n /**\n * 多选框选项表\n * @required\n */\n @property({ attribute: false })\n accessor options: CheckboxOptionType[] = [];\n\n /**\n * 类型\n * @default \"default\"\n */\n @property()\n accessor type: CheckboxType = \"default\";\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否为自定义\n * @default false\n */\n @property({ type: Boolean })\n accessor isCustom: boolean = false;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 复选框变化事件\n */\n @event({ type: \"change\" })\n accessor #checkboxChangeEvent!: EventEmitter<CheckboxOptionType[]>;\n\n handleCheckboxChange = (detail: CheckboxValueType[]) => {\n this.value = detail;\n const currentSelectOption = formatOptions(this.options).filter((item) =>\n detail.includes(item.value)\n );\n this.#checkboxChangeEvent.emit(currentSelectOption);\n };\n\n /**\n * 复选框变化事件\n */\n @event({ type: \"options.change\" })\n accessor #optionsChangeEvent!: EventEmitter<{\n options: CheckboxOptionType[];\n name: string;\n }>;\n\n #handleOptionsChange = (options: CheckboxOptionType[], name: string) => {\n this.#optionsChangeEvent.emit({\n options,\n name,\n });\n };\n\n render() {\n return (\n <CheckboxComponent\n curElement={this}\n formElement={this.getFormElement()}\n options={formatOptions(this.options)}\n label={this.label}\n name={this.name}\n value={this.value}\n type={this.type}\n disabled={this.disabled}\n isCustom={this.isCustom}\n required={this.required}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleCheckboxChange\"\n onChange={this.handleCheckboxChange}\n optionsChange={this.#handleOptionsChange}\n />\n );\n }\n}\n\nfunction CheckboxComponent(props: CheckboxProps) {\n const [values, setValues] = useState<CheckboxValueType[]>(props?.value ?? []);\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options || []);\n props.optionsChange?.(props.options ?? [], props.name as string);\n }\n }, [options, props, props.options]);\n\n useEffect(() => {\n setValues(props?.value || []);\n }, [props.value]);\n\n const handleInputClick = (\n e: React.ChangeEvent<HTMLInputElement>,\n item: CheckboxOptionType\n ) => {\n e.stopPropagation();\n let newValue: CheckboxValueType[] = [];\n if (e.target.checked) {\n newValue = [...values, item.value];\n }\n if (!e.target.checked && values?.includes(item.value)) {\n newValue = [...values];\n const index = newValue.findIndex((i) => i == item.value);\n newValue.splice(index, 1);\n }\n setValues(newValue);\n props.onChange?.(newValue);\n };\n\n const getIcon = (item: CheckboxOptionType) => {\n let iconNode = null;\n const { icon } = item;\n if (icon) {\n if (\"imgSrc\" in icon) {\n const mergedIcon: any = {\n ...icon,\n imgSrc: icon.imgSrc,\n imgStyle: {\n marginRight: \"8px\",\n verticalAlign: \"-0.42em\",\n ...icon.imgStyle,\n },\n };\n iconNode = icon && (\n <WrappedIcon {...(mergedIcon as GeneralIconProps)} />\n );\n } else {\n iconNode = icon && (\n <WrappedIcon\n {...(icon as GeneralIconProps)}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n }}\n />\n );\n }\n }\n return iconNode;\n };\n\n const IconCheckbox = (props: CheckboxProps) => {\n const { name, disabled = false, isCustom = false } = props;\n return (\n <>\n {options.map((item: any) => (\n <label\n key={item.value}\n className={\n disabled || item?.disabled\n ? classNames({\n disabledIconCheckbox: true,\n disabledIconCustomCheckbox: isCustom,\n })\n : classNames({\n iconCheckbox: true,\n iconCustomCheckbox: isCustom,\n })\n }\n >\n <div className={classNames({ inputBox: true })}>\n <input\n type=\"checkbox\"\n value={item.value}\n name={name}\n defaultChecked={values?.includes(item.value)}\n disabled={disabled || item?.disabled}\n onChange={(e) => handleInputClick(e, item)}\n />\n </div>\n <div className={classNames({ content: true })}>\n {item.icon && (\n <WrappedIcon\n {...(item.icon as GeneralIconProps)}\n style={{\n fontSize: isCustom ? \"52px\" : \"32px\",\n }}\n ></WrappedIcon>\n )}\n <div className={classNames({ text: true })}>\n {item.label || item.value}\n </div>\n </div>\n </label>\n ))}\n </>\n );\n };\n\n const CheckboxItem = (props: CheckboxProps) => {\n return (\n <div\n style={{\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n minHeight: \"32px\",\n }}\n >\n <div\n className={classNames({\n checkboxWrapper: true,\n })}\n >\n {options?.map((item: CheckboxOptionType) => {\n const disabled = item.disabled || props.disabled;\n return (\n <label\n key={item.value}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelDisabled: disabled,\n })}\n >\n <span\n style={{ color: item.checkboxColor }}\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputWrapperDisabled: disabled,\n checkboxInputCheck: values.includes(item.value),\n })}\n >\n <input\n onChange={(e) => !disabled && handleInputClick(e, item)}\n disabled={disabled}\n defaultChecked={values?.includes(item.value)}\n className={classNames({\n checkboxInput: true,\n checkboxInputDisabled: disabled,\n })}\n type=\"checkbox\"\n id={item.value}\n ></input>\n <span className={classNames({ checkboxInner: true })}></span>\n </span>\n\n <span className={classNames({ checkboxText: true })}>\n <slot>\n {getIcon(item)}\n {item.label}\n </slot>\n </span>\n </label>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n {props.type == \"icon\" ? (\n <IconCheckbox {...props}></IconCheckbox>\n ) : (\n <CheckboxItem {...props}></CheckboxItem>\n )}\n </WrappedFormItem>\n );\n}\n\nexport { Checkbox };\n","export enum K {\n UNIQUE = \"UNIQUE\",\n}\n\nconst en: Locale = {\n UNIQUE: \"{{ name }} can not repeat!\",\n};\n\nconst zh: Locale = {\n UNIQUE: \"{{ name }} 不能重复!\",\n};\n\nexport const NS = \"bricks/form/dynamic-form-item\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Form,\n FormEvents,\n FormMapEvents,\n FormProps,\n} from \"../form/index.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { UseBrickConf, UseSingleBrickConf } from \"@next-core/types\";\nimport styleText from \"./dynamic-form-item.shadow.css\";\nimport \"@next-core/theme\";\nimport { isEqual, flatten, omit, isEmpty } from \"lodash\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedForm = wrapBrick<Form, FormProps, FormEvents, FormMapEvents>(\n \"eo-form\",\n {\n onValuesChange: \"values.change\",\n onValidateSuccess: \"validate.success\",\n onValidateError: \"validate.error\",\n }\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport function uniqueValidatorFN(\n props: DynamicFormItemProps,\n properties: any,\n t: any\n) {\n return () => {\n const fieldValue = props?.curElement?.value?.map(\n (v: any) => v[properties.name as string]\n );\n if (new Set(fieldValue).size !== fieldValue.length) {\n return (\n (properties.message as any)?.unique ??\n t(K.UNIQUE, { name: properties.label ?? properties.name })\n );\n }\n return \"\";\n };\n}\n\ntype DynamicFormValuesItem = Record<string, any>;\n\ninterface DynamicFormItemProps extends FormItemProps {\n form?: Form;\n useBrick?: UseBrickConf;\n value?: DynamicFormValuesItem[];\n validateState?: string;\n needValidate?: boolean;\n onChange?: (value: DynamicFormValuesItem[]) => void;\n onValuesChange?: (values: DynamicFormValuesItem[]) => void;\n}\n\n/**\n * 动态表单\n * @author sailor\n */\n@defineElement(\"eo-dynamic-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.dynamic-form-item\"],\n})\nclass DynamicFormItem extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: DynamicFormValuesItem[] | undefined;\n\n /**\n * 动态表单子项构件列表\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseBrickConf | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<DynamicFormValuesItem[]>;\n\n handleDynamicFormChange = (values: DynamicFormValuesItem[]) => {\n this.value = values;\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n };\n\n render() {\n return (\n <DynamicFormItemComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n useBrick={this.useBrick}\n value={this.value}\n validateState={this.validateState}\n needValidate={false}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleDynamicFormChange\"\n onChange={this.handleDynamicFormChange}\n onValuesChange={this.handleDynamicFormChange}\n />\n );\n }\n}\n\nexport function DynamicFormItemComponent(props: DynamicFormItemProps) {\n const { t } = useTranslation(NS);\n\n const formWrapperRef = useRef<HTMLDivElement>(null);\n const [values, setValues] = useState<DynamicFormValuesItem[]>(\n props.value ?? []\n );\n\n const [bricks, setBricks] = useState<UseSingleBrickConf[]>([]);\n\n const bricksOfNoLabel = useMemo(\n () => bricks.map((brick: any) => omit(brick, \"properties.label\")),\n [bricks]\n );\n\n const handleAddItem = () => {\n setValues(values.concat({}));\n };\n\n useEffect(() => {\n if (!isEqual(props.value, values)) {\n setValues(props.value ?? []);\n }\n }, [props.value]);\n\n useEffect(() => {\n if (props.useBrick) {\n const parsedUseBrick: UseSingleBrickConf[] = flatten(\n new Array(props.useBrick)\n );\n\n setBricks(\n parsedUseBrick.map((brick) => {\n const { properties = {} } = brick;\n if (properties.unique) {\n let parsedValidator: any = [\n uniqueValidatorFN(props, properties, t),\n ];\n if (properties.validator) {\n parsedValidator = [\n ...flatten(new Array(properties.validator)),\n ...parsedValidator,\n ];\n }\n return {\n ...brick,\n properties: {\n ...brick.properties,\n validator: parsedValidator,\n },\n };\n } else {\n return brick;\n }\n })\n );\n }\n }, [props.useBrick, props.curElement]);\n\n const validate = () => {\n const formWrapper = formWrapperRef.current;\n const forms = formWrapper?.querySelectorAll(\n \".dynamic-form\"\n ) as unknown as Form[];\n const result: Array<boolean | Record<string, unknown>> = [];\n if (forms.length) {\n forms.forEach((item) => {\n result.push(item.validate());\n });\n }\n return result.every(Boolean) ? \"\" : \"动态表单校验失败\";\n };\n\n const handleValuesChange = useCallback(\n (value: CustomEvent<DynamicFormValuesItem>, index: number) => {\n props.onChange?.(\n values.map((item, i) => {\n if (i === index) {\n return value.detail.allValues;\n }\n return item;\n })\n );\n },\n [props, values]\n );\n\n const handleRemoveItem = useCallback(\n (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n setValues(newValues);\n props.onChange?.(newValues);\n },\n [props, values]\n );\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validate}>\n <div className=\"dynamic-form-wrapper\" ref={formWrapperRef}>\n {values.map((value, index) => {\n return (\n <div className=\"dynamic-form-item\" key={index}>\n {!isEmpty(bricks) && (\n <WrappedForm\n layout=\"vertical\"\n formStyle={{ flexDirection: \"row\", alignItems: \"flex-start\" }}\n className=\"dynamic-form\"\n values={value}\n defaultEmitValuesChange={false}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onValuesChange={(value) => handleValuesChange(value, index)}\n >\n <ReactUseMultipleBricks\n useBrick={\n (index === 0\n ? bricks\n : bricksOfNoLabel) as UseSingleBrickConf[]\n }\n data={value}\n />\n <div className=\"remove-btn-wrapper\">\n <WrappedIcon\n lib=\"easyops\"\n category=\"assets-inventory\"\n icon=\"out\"\n className=\"remove-btn\"\n onClick={() => handleRemoveItem(index)}\n />\n </div>\n </WrappedForm>\n )}\n </div>\n );\n })}\n <WrappedButton\n className=\"add-btn\"\n icon={{\n category: \"assets-inventory\",\n icon: \"xin\",\n lib: \"easyops\",\n }}\n type=\"dashed\"\n buttonStyle={{\n width: \"100%\",\n }}\n onClick={handleAddItem}\n >\n 添加\n </WrappedButton>\n </div>\n <slot name=\"helpSlot\"></slot>\n </WrappedFormItem>\n );\n}\n\nexport { DynamicFormItem };\n","import React, { useEffect, useState, useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { debounce } from \"lodash\";\nimport {\n Input,\n InputEvents,\n InputEventsMap,\n InputProps,\n} from \"../input/index.jsx\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onChange: \"change\",\n }\n);\n\nexport interface SearchProps {\n value?: string;\n placeholder?: string;\n autoFocus?: boolean;\n clearable?: boolean;\n trim?: boolean;\n debounceTime?: number;\n}\n\nexport interface SearchEvents {\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\nexport interface SearchEventsMap {\n onChange: \"change\";\n onSearch: \"search\";\n}\n\n/**\n * 搜索框\n */\nexport\n@defineElement(\"eo-search\", {\n styleTexts: [styleText],\n alias: [\"form.general-search\"],\n})\nclass GeneralSearch extends ReactNextElement implements SearchProps {\n /**\n * 搜索框的值\n */\n @property()\n accessor value: string = \"\";\n\n /**\n * 提示语\n */\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否自动聚焦\n */\n @property({\n type: Boolean,\n })\n accessor autoFocus: boolean | undefined;\n\n /**\n * 可以点击清除图标删除内容\n */\n @property({\n type: Boolean,\n })\n accessor clearable: boolean | undefined;\n\n /**\n * 是否剔除前后空格\n */\n @property({\n type: Boolean,\n })\n accessor trim: boolean | undefined;\n\n /**\n * 默认延迟时间\n */\n @property({\n type: Number,\n })\n accessor debounceTime: number = 0;\n\n /**\n * 输入的搜索字符,输入变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<string>;\n #handleChange = (value: string) => {\n this.value = value;\n };\n #handleDebouncedChange = (value: string) => {\n this.#change.emit(this.trim ? value?.trim() : value);\n };\n\n /**\n * 搜索时触发\n */\n @event({ type: \"search\" })\n accessor #search!: EventEmitter<string>;\n #handleSearch = (value: string) => {\n this.#search.emit(this.trim ? value?.trim() : value);\n };\n\n render() {\n return (\n <GeneralSearchComponent\n value={this.value}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n clearable={this.clearable}\n debounceTime={this.debounceTime}\n onChange={this.#handleChange}\n onSearch={this.#handleSearch}\n onDebouncedChange={this.#handleDebouncedChange}\n />\n );\n }\n}\n\ninterface SearchComponentProps extends SearchProps {\n onSearch?: (value: string) => void;\n onChange?: (value: string) => void;\n onDebouncedChange?: (value: string) => void;\n}\n\nexport function GeneralSearchComponent(props: SearchComponentProps) {\n const {\n placeholder,\n autoFocus,\n clearable,\n debounceTime,\n onDebouncedChange,\n onChange,\n onSearch,\n } = props;\n\n const [value, setValue] = useState<string>();\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const _onDebouncedChange = useMemo(() => {\n return debounceTime\n ? debounce(onDebouncedChange!, debounceTime)\n : onDebouncedChange;\n }, [debounceTime]);\n\n const handleSearch = () => {\n onSearch?.(value!);\n };\n\n const handleChange = (e: CustomEvent<string>) => {\n setValue(e.detail);\n onChange?.(e.detail);\n _onDebouncedChange?.(e.detail);\n };\n\n return (\n <WrappedInput\n type=\"text\"\n autoFocus={autoFocus}\n clearable={clearable}\n placeholder={placeholder}\n value={value}\n onChange={handleChange as any}\n onKeyDown={(e) => e.key === \"Enter\" && handleSearch()}\n >\n <WrappedIcon\n slot=\"suffix\"\n className=\"search-button\"\n lib=\"antd\"\n icon=\"search\"\n theme=\"outlined\"\n onClick={() => handleSearch()}\n onMouseDown={(e) => e.preventDefault()}\n />\n </WrappedInput>\n );\n}\n","export enum K {\n ICON = \"ICON\",\n COLOR = \"COLOR\",\n SELECT_ICON = \"SELECT_ICON\",\n SEARCH_PLACEHOLDER = \"SEARCH_PLACEHOLDER\",\n}\n\nconst en: Locale = {\n ICON: \"Icon\",\n COLOR: \"Color\",\n SELECT_ICON: \"Select Icon\",\n SEARCH_PLACEHOLDER: \"input keyword to search\",\n};\n\nconst zh: Locale = {\n ICON: \"图标\",\n COLOR: \"颜色\",\n SELECT_ICON: \"选择图标\",\n SEARCH_PLACEHOLDER: \"输入关键字搜索\",\n};\n\nexport const NS = \"bricks/form/icon-select\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","export enum Colors {\n green = \"green\",\n red = \"red\",\n blue = \"blue\",\n orange = \"orange\",\n cyan = \"cyan\",\n purple = \"purple\",\n geekblue = \"geekblue\",\n gray = \"gray\",\n}\n\nexport const COLORS_MAP: Record<\n Colors,\n { color: string; background: string; borderColor: string }\n> = {\n [Colors.green]: {\n color: \"var(--theme-green-color)\",\n background: \"var(--theme-green-background)\",\n borderColor: \"var(--theme-green-border-color)\",\n },\n [Colors.red]: {\n color: \"var(--theme-red-color)\",\n background: \"var(--theme-red-background)\",\n borderColor: \"var(--theme-red-border-color)\",\n },\n [Colors.blue]: {\n color: \"var(--theme-blue-color)\",\n background: \"var(--theme-blue-background)\",\n borderColor: \"var(--theme-blue-border-color)\",\n },\n [Colors.orange]: {\n color: \"var(--theme-orange-color)\",\n background: \"var(--theme-orange-background)\",\n borderColor: \"var(--theme-orange-border-color)\",\n },\n [Colors.cyan]: {\n color: \"var(--theme-cyan-color)\",\n background: \"var(--theme-cyan-background)\",\n borderColor: \"var(--theme-cyan-border-color)\",\n },\n [Colors.purple]: {\n color: \"var(--theme-purple-color)\",\n background: \"var(--theme-purple-background)\",\n borderColor: \"var(--theme-purple-border-color)\",\n },\n [Colors.geekblue]: {\n color: \"var(--theme-geekblue-color)\",\n background: \"var(--theme-geekblue-background)\",\n borderColor: \"var(--theme-geekblue-border-color)\",\n },\n [Colors.gray]: {\n color: \"var(--theme-gray-color)\",\n background: \"var(--theme-gray-background)\",\n borderColor: \"var(--theme-gray-border-color)\",\n },\n};\n\n/**\n * 如果提供的颜色值是平台提供的规范颜色,则转换为使用平台规范的颜色定义,包括color、background、borderColor,不是的话则原样输出。\n * @param color {string} 颜色值\n * @return {color:string;background:string;borderColor:string;} 返回处理后的对应颜色值\n */\nexport function getColor(color?: string): {\n color: string;\n background: string;\n borderColor: string;\n} {\n if (!color) {\n return {\n color: \"var(--antd-avatar-color)\",\n background: \"var(--antd-avatar-bg)\",\n borderColor: \"var(--antd-avatar-color)\",\n };\n }\n return (\n COLORS_MAP[color as Colors] ?? {\n color,\n background: color,\n borderColor: color,\n }\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport classNames from \"classnames\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport type {\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping,\n} from \"../radio/index.js\";\nimport type {\n GeneralSearch,\n SearchProps,\n SearchEvents,\n SearchEventsMap,\n} from \"../search/index.js\";\nimport type {\n getLibs as _getLibs,\n LibInfo,\n IconInfo,\n} from \"@next-bricks/icons/data-providers/get-libs\";\nimport type { searchIcons as _searchIcons } from \"@next-bricks/icons/data-providers/search-icons\";\nimport { COLORS_MAP, getColor } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst getLibs = unwrapProvider<typeof _getLibs>(\"icons.get-libs\");\nconst searchIcons = unwrapProvider<typeof _searchIcons>(\"icons.search-icons\");\nconst WrappedGeneralRadio = wrapBrick<\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping\n>(\"eo-radio\", {\n onValueChange: \"change\",\n onOptionsChange: \"optionsChange\",\n});\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedModal = wrapBrick<Modal, ModalProps, ModalEvents, ModalMapEvents>(\n \"eo-modal\",\n {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n }\n);\nconst WrappedSearch = wrapBrick<\n GeneralSearch,\n SearchProps,\n SearchEvents,\n SearchEventsMap\n>(\"eo-search\", {\n onChange: \"change\",\n onSearch: \"search\",\n});\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ntype Icon = GeneralIconProps & { color?: string };\n\nexport interface IconSelectProps {\n name?: string;\n label?: string;\n value?: Icon;\n disabled?: boolean;\n required?: boolean;\n message?: Record<string, string>;\n}\n\n/**\n * 图标选择构件\n */\nexport\n@defineElement(\"eo-icon-select\", {\n styleTexts: [styleText],\n alias: [\"form.icon-select\"],\n})\nclass IconSelect extends FormItemElementBase implements IconSelectProps {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: Icon | undefined;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<Icon | undefined>;\n handleChange = (value?: Icon) => {\n this.value = value;\n this.#change.emit(value);\n };\n\n render() {\n return (\n <IconSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n disabled={this.disabled}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n onChange={this.handleChange}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst emptyIcon = {\n lib: \"easyops\",\n icon: \"empty-icon\",\n category: \"common\",\n} as Icon;\n\ninterface IconSelectComponentProps extends FormItemProps, IconSelectProps {\n onChange?: (value?: Icon) => void;\n}\n\nexport function IconSelectComponent(props: IconSelectComponentProps) {\n const { t } = useTranslation(NS);\n const { disabled, onChange } = props;\n\n const modalRef = useRef<Modal>(null);\n\n const [iconLibs, setIconLibs] = useState<LibInfo[]>([]);\n const [searchParams, setSearchParams] = useState<{\n q?: string;\n lib?: string;\n }>({});\n const [iconList, setIconList] = useState<IconInfo[]>([]);\n\n useEffect(() => {\n getLibs().then((libs) => {\n setIconLibs(libs);\n setSearchParams({ ...searchParams, lib: libs[0].lib });\n });\n }, []);\n\n const handleSearchIcons = (params: { q?: string; lib?: string }) => {\n searchIcons({ lib: params.lib, q: params.q, page: 1, pageSize: 100 }).then(\n (result) => setIconList(result.list)\n );\n };\n\n const [previewIcon, setPreviewIcon] = useState<GeneralIconProps>();\n const [previewColor, setPreviewColor] = useState<string>();\n\n useEffect(() => {\n setPreviewIcon(props.value?.lib ? props.value : undefined);\n setPreviewColor(props.value?.color);\n }, [props.value]);\n\n const [selectedIcon, setSelectedIcon] = useState<GeneralIconProps>();\n const [selectedColor, setSelectedColor] = useState<string>();\n\n const clearSelect = () => {\n setSelectedIcon(undefined);\n setSelectedColor(undefined);\n };\n\n const handleModalOpen = () => {\n setSelectedIcon(previewIcon);\n setSelectedColor(previewColor);\n handleSearchIcons(searchParams);\n };\n\n const handleModalClose = () => {\n clearSelect();\n };\n\n const handleModalConfirm = () => {\n setPreviewIcon(selectedIcon);\n setPreviewColor(selectedColor);\n const newValue = selectedIcon?.lib\n ? { ...selectedIcon, color: selectedColor }\n : undefined;\n onChange?.(newValue);\n modalRef.current?.close();\n };\n\n const handleIconSelect = (icon: GeneralIconProps) => {\n setSelectedIcon(icon);\n };\n\n const handleColorSelect = (color?: string) => {\n setSelectedColor(color);\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n <span\n onClick={() => !disabled && modalRef.current?.open()}\n className={classNames(\"show-icon\", {\n disabled: disabled,\n })}\n style={{ backgroundColor: getColor(previewColor).background }}\n >\n <WrappedGeneralIcon\n {...(previewIcon || emptyIcon)}\n style={{ color: getColor(previewColor).color }}\n />\n </span>\n <WrappedModal\n ref={modalRef}\n modalTitle={t(K.SELECT_ICON)!}\n width=\"778px\"\n maskClosable={false}\n closeWhenConfirm={false}\n onConfirm={handleModalConfirm}\n onClose={handleModalClose}\n onOpen={handleModalOpen}\n >\n <div className=\"preview-container\">\n <div\n className=\"show-area\"\n style={{ backgroundColor: getColor(selectedColor).background }}\n >\n <WrappedGeneralIcon\n {...(selectedIcon || emptyIcon)}\n style={{ color: getColor(selectedColor).color }}\n />\n {selectedIcon && (\n <div className=\"delete-wrapper\" onClick={() => clearSelect()}>\n <div className=\"delete-icon\">\n <WrappedGeneralIcon\n lib=\"easyops\"\n category=\"default\"\n icon=\"delete\"\n style={{ color: \"var(--theme-red-color)\" }}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"preview-icon-name\">{selectedIcon?.icon}</span>\n </div>\n <div className=\"select-icon-container\">\n {\n <>\n <span className=\"label\">{t(K.COLOR)}:</span>\n <div className=\"select-color-area\">\n {Object.keys(COLORS_MAP).map((item) => {\n return (\n <div\n className=\"color-box\"\n style={{ backgroundColor: getColor(item).color }}\n key={item}\n onClick={() => handleColorSelect(item)}\n />\n );\n })}\n <div\n className=\"color-box empty-color\"\n onClick={() => handleColorSelect(undefined)}\n >\n <div className=\"empty-line\" />\n </div>\n </div>\n </>\n }\n <span className=\"label\">{t(K.ICON)}:</span>\n <div className=\"select-icon-area\">\n <div className=\"select-icon-search-bar\">\n <WrappedSearch\n value={searchParams.q}\n placeholder={t(K.SEARCH_PLACEHOLDER)!}\n onSearch={(e) => {\n const newSearchParams = { ...searchParams, q: e.detail };\n setSearchParams(newSearchParams);\n handleSearchIcons(newSearchParams);\n }}\n />\n <WrappedGeneralRadio\n options={iconLibs?.map((lib) => {\n return {\n label: lib.title,\n value: lib.lib,\n };\n })}\n value={searchParams.lib}\n onValueChange={(e) => {\n const newSearchParams = {\n ...searchParams,\n lib: e.detail.value as string,\n };\n setSearchParams(newSearchParams);\n handleSearchIcons(newSearchParams);\n }}\n />\n </div>\n <div className=\"icon-area\">\n {iconList.map((iconInfo) => {\n return (\n <div\n key={JSON.stringify(iconInfo.icon)}\n title={iconInfo.title}\n className=\"icon-container\"\n onClick={() => {\n handleIconSelect(iconInfo.icon);\n }}\n >\n <WrappedGeneralIcon {...iconInfo.icon} />\n <div className=\"icon-name\">{iconInfo.title}</div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </WrappedModal>\n </WrappedFormItem>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n};\n\nexport const NS = \"bricks/form/upload-image\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import { pipes } from \"@next-core/pipes\";\nimport { FileData } from \"../utils.js\";\n\nexport interface ImageData extends FileData {\n url?: string;\n}\n\nexport const getImage = (\n file: string | File,\n revokeUrl?: boolean\n): Promise<HTMLImageElement> => {\n return new Promise((resolve, reject) => {\n let url = \"\";\n if (typeof file === \"string\") {\n url = file;\n } else if (file instanceof Blob && file.type.startsWith(\"image/\")) {\n url = URL.createObjectURL(file);\n } else {\n reject(new Error(\"not Image\"));\n }\n const image = new Image();\n image.src = url;\n image.onload = () => {\n revokeUrl && URL.revokeObjectURL(url);\n resolve(image);\n };\n image.onerror = (error) => reject(error);\n });\n};\n\nexport const imageValidator = async (\n file: File,\n limit?: { width?: number; height?: number }\n) => {\n return new Promise((resolve, reject) => {\n if (file && limit) {\n getImage(file, true).then((image) => {\n (limit.width ? image.naturalWidth < limit.width : true) &&\n (limit.height ? image.naturalHeight < limit.height : true)\n ? resolve(file)\n : reject(new Error(\"Wrong image size!\"));\n });\n } else {\n resolve(file);\n }\n });\n};\n\nexport const userDataProcessor = async (file: File) => {\n const image = await getImage(file);\n return {\n url: image.src,\n name: file.name,\n naturalWidth: image.naturalWidth,\n naturalHeight: image.naturalHeight,\n size: pipes.unitFormat(file.size, \"bytes\").join(\"\"),\n };\n};\n","import React, { useEffect, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport classNames from \"classnames\";\nimport { UploadActions, ItemActions, Upload } from \"../Upload.js\";\nimport { userDataProcessor, imageValidator, type ImageData } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadImageProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: ImageData[];\n bucketName: string;\n multiple?: boolean;\n}\n\n/**\n * 上传图片构件\n */\nexport\n@defineElement(\"eo-upload-image\", {\n styleTexts: [styleText],\n alias: [\"form.upload-image\"],\n})\nclass UploadImage extends FormItemElementBase implements UploadImageProps {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: ImageData[] | undefined;\n\n /**\n * 对象存储桶名字\n */\n @property()\n accessor bucketName!: string;\n\n /**\n * 是否支持选定的多张图片\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<ImageData[]>;\n handleChange = (imageList: ImageData[]) => {\n this.value = imageList;\n this.#change.emit(imageList);\n };\n\n render() {\n return (\n <UploadImageComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n message={this.message}\n bucketName={this.bucketName}\n multiple={this.multiple}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n onChange={this.handleChange}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\ninterface UploadImageComponentProps extends UploadImageProps, FormItemProps {\n onChange?: (imageList: ImageData[]) => void;\n}\n\nexport function UploadImageComponent(props: UploadImageComponentProps) {\n const { value, bucketName, multiple, onChange } = props;\n const { t } = useTranslation(NS);\n\n const handleChange = (images: ImageData[]) => {\n const processedImages = images?.map((image) => {\n const url =\n image.url ??\n (image.response\n ? `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${bucketName}/object/${\n image.response.data.objectName\n }`\n : undefined);\n return {\n ...image,\n url,\n };\n });\n onChange?.(processedImages);\n };\n\n const itemRender = (\n fileData: ImageData,\n fileDataList: ImageData[],\n actions: ItemActions\n ) => {\n const {\n uid,\n file,\n url,\n name,\n userData,\n status = \"done\",\n errors,\n } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\"image-item\", {\n \"image-item-done\": status === \"done\",\n \"image-item-uploading\": status === \"uploading\",\n \"image-item-error\": status === \"error\",\n })}\n >\n <div className=\"image-item-inner\">\n <img className=\"image\" src={userData?.url || url} />\n <div className=\"infos\">\n <div className=\"file-name\">{name}</div>\n {status === \"uploading\" && <div className=\"progress\"></div>}\n <div className=\"more-info\">\n {status === \"done\" && userData && (\n <div className=\"image-size\">\n {`LeaderBoard ${userData?.naturalWidth}*${userData?.naturalHeight}`}\n </div>\n )}\n {status === \"error\" && (\n <div className=\"error-info\">\n {errors\n ?.map((v) => {\n return v instanceof Error ? v.message : v;\n })\n .join(\" \")}\n </div>\n )}\n {(status === \"done\" || status === \"error\") && userData?.size && (\n <div className=\"file-size\">{userData.size}</div>\n )}\n </div>\n </div>\n <div className=\"operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: ImageData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n autoUpload={true}\n uploadName=\"file\"\n action={`${getBasePath()}api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/${bucketName}/object`}\n method=\"PUT\"\n accept=\"image/*\"\n multiple={multiple}\n beforeUploadValidators={[(file) => imageValidator(file)]}\n beforeUploadUserDataProcessor={userDataProcessor}\n onChange={handleChange}\n >\n {(fileDataList: ImageData[], uploadActions: UploadActions) => {\n return (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { ComponentSize } from \"../interface.js\";\nimport classNames from \"classnames\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface SwitchProps extends FormItemProps {\n curElement: HTMLElement;\n onSwitch: (value: boolean) => void;\n disabled?: boolean;\n size?: ComponentSize;\n value?: boolean;\n checkedText?: string;\n unCheckedText?: string;\n checkedIcon?: GeneralIconProps;\n unCheckedIcon?: GeneralIconProps;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 构件 eo-switch\n * @author zhendonghuang\n */\nexport\n@defineElement(\"eo-switch\", {\n styleTexts: [styleText],\n alias: [\"form.general-switch\"],\n})\nclass GeneralSwitch extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 初始值\n */\n @property({ type: Boolean })\n accessor value: boolean | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 按钮大小,目前只支持small和非small两种大小。\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 选中时的文本\n */\n @property() accessor checkedText: string | undefined;\n\n /**\n * 非选中时的文本\n */\n @property() accessor unCheckedText: string | undefined;\n\n /**\n * 选中时的图标\n */\n @property({\n attribute: false,\n })\n accessor checkedIcon: GeneralIconProps | undefined;\n\n /**\n * 非选中时的文本\n */\n @property({\n attribute: false,\n })\n accessor unCheckedIcon: GeneralIconProps | undefined;\n\n /**\n * 开关改变时触发\n */\n @event({ type: \"switch\" }) accessor #switchEvent!: EventEmitter<boolean>;\n\n handleSwitch = (value: boolean) => {\n Promise.resolve().then(() => {\n this.#switchEvent.emit(value);\n });\n };\n render() {\n return (\n <GeneralSwitchComponent\n formElement={this.getFormElement()}\n curElement={this}\n disabled={this.disabled}\n size={this.size}\n value={this.value}\n onSwitch={this.handleSwitch}\n checkedText={this.checkedText}\n unCheckedText={this.unCheckedText}\n checkedIcon={this.checkedIcon}\n unCheckedIcon={this.unCheckedIcon}\n name={this.name}\n label={this.label}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleSwitch\"\n />\n );\n }\n}\n\nexport function GeneralSwitchComponent(props: SwitchProps) {\n const {\n unCheckedIcon,\n checkedIcon,\n checkedText,\n unCheckedText,\n value,\n disabled,\n size,\n } = props;\n const [checked, setChecked] = useState<boolean>();\n useEffect(() => {\n setChecked(value);\n }, [value]);\n const handleSwitchChange = () => {\n props.onSwitch(!checked);\n setChecked(!checked);\n };\n return (\n <WrappedFormItem {...props}>\n <button\n disabled={disabled}\n className={classNames(size, {\n \"switch-checked\": checked,\n \"switch-disabled\": disabled,\n })}\n onClick={handleSwitchChange}\n >\n <div className=\"switch-handle\"></div>\n <span className=\"switch-inner\">\n {checkedIcon && checked && (\n <WrappedGeneralIcon {...checkedIcon}></WrappedGeneralIcon>\n )}\n {unCheckedIcon && !checked && (\n <WrappedGeneralIcon {...unCheckedIcon}></WrappedGeneralIcon>\n )}\n\n {checked ? checkedText : unCheckedText}\n </span>\n </button>\n </WrappedFormItem>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n DRAG_UPLOAD_TEXT = \"DRAG_UPLOAD_TEXT\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n DRAG_UPLOAD_TEXT: \"Drag files here or <strong>click to upload</strong>\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n DRAG_UPLOAD_TEXT: \"将文件拖动到此处或<strong>点击上传</strong>\",\n};\n\nexport const NS = \"bricks/form/eo-upload-file\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, { useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EasyOpsIcon,\n EasyOpsIconProps,\n} from \"@next-bricks/icons/easyops-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { Trans } from \"react-i18next\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { ItemActions, UploadActions, Upload } from \"../Upload.js\";\nimport { FileData } from \"../utils.js\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsIcon = wrapBrick<EasyOpsIcon, EasyOpsIconProps>(\n \"eo-easyops-icon\"\n);\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadFileProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: FileData[];\n multiple?: boolean;\n accept?: string;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n uploadDraggable?: boolean;\n draggableUploadTip?: string;\n autoUpload?: boolean;\n url?: string;\n method?: string;\n uploadName?: string;\n}\n\n/**\n * 上传文件\n */\nexport\n@defineElement(\"eo-upload-file\", {\n styleTexts: [styleText],\n})\nclass EoUploadFile extends FormItemElementBase implements UploadFileProps {\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: FileData[] | undefined;\n\n /**\n * 是否支持多选\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 接受上传的文件类型,多个之间用 `,` 连接\n */\n @property()\n accessor accept: string | undefined;\n\n /**\n * 最大上传数量\n */\n @property({\n type: Number,\n })\n accessor maxCount: number | undefined;\n\n /**\n * 超出最大上传数量时文件的保留方式\n */\n @property()\n accessor overMaxCountMode: \"ignore\" | \"replace\" = \"replace\";\n\n /**\n * 是否可以拖拽上传\n */\n @property({\n type: Boolean,\n })\n accessor uploadDraggable: boolean | undefined;\n\n /**\n * 拖拽上传的提示信息\n */\n @property()\n accessor draggableUploadTip: string | undefined;\n\n /**\n * 是否自动上传\n */\n @property({\n type: Boolean,\n })\n accessor autoUpload: boolean = false;\n\n /**\n * 自动上传的地址\n */\n @property()\n accessor url: string | undefined;\n\n /**\n * 自动上传的方法\n */\n @property()\n accessor method: string = \"POST\";\n\n /**\n * 自动上传的文件参数名\n */\n @property()\n accessor uploadName: string = \"file\";\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<FileData[]>;\n handleChange = (fileDataList: FileData[]) => {\n this.value = fileDataList;\n this.#change.emit(fileDataList);\n };\n\n render() {\n return (\n <EoUploadFileComponent\n formElement={this.getFormElement()}\n curElement={this}\n label={this.label}\n name={this.name}\n required={this.required}\n message={this.message}\n value={this.value}\n multiple={this.multiple}\n accept={this.accept}\n maxCount={this.maxCount}\n overMaxCountMode={this.overMaxCountMode}\n uploadDraggable={this.uploadDraggable}\n draggableUploadTip={this.draggableUploadTip}\n autoUpload={this.autoUpload}\n url={this.url}\n method={this.method}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n uploadName={this.uploadName}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\nconst fileTextIcon = {\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst loadingIcon = {\n lib: \"antd\",\n icon: \"loading\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\ninterface UploadFileComponentProps extends UploadFileProps, FormItemProps {\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function EoUploadFileComponent(props: UploadFileComponentProps) {\n const {\n value,\n multiple,\n accept,\n maxCount,\n overMaxCountMode,\n uploadDraggable,\n draggableUploadTip,\n autoUpload,\n url,\n method,\n uploadName,\n onChange,\n } = props;\n const { t } = useTranslation(NS);\n const theme = useCurrentTheme();\n\n const [isDragOver, setIsDragOver] = useState(false);\n\n const handleChange = (fileDataList: FileData[]) => {\n onChange?.(fileDataList);\n };\n\n const itemRender = (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => {\n const { uid, file, name, userData, status = \"done\", errors } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\n \"upload-item-container\",\n status && `upload-item-container-${status}`\n )}\n >\n <div className=\"upload-item-inner\">\n <WrappedIcon\n className={classNames(\n \"upload-item-icon\",\n status === \"uploading\" && \"upload-icon\"\n )}\n {...(status === \"uploading\" ? loadingIcon : fileTextIcon)}\n />\n <div className=\"upload-item-infos\">\n <div className=\"upload-item-file-name\">{name}</div>\n </div>\n <div className=\"upload-item-operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: FileData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n multiple={multiple}\n accept={accept}\n maxCount={maxCount}\n overMaxCountMode={overMaxCountMode}\n autoUpload={autoUpload}\n action={url}\n method={method}\n uploadName={uploadName}\n onChange={handleChange}\n >\n {(fileDataList: FileData[], uploadActions: UploadActions) => {\n return uploadDraggable ? (\n <div\n className={classNames(\n \"upload-drag-button\",\n isDragOver && \"upload-drag-button-drag-over\"\n )}\n onClick={uploadActions.upload}\n onDragEnter={(e) => {\n e.preventDefault();\n setIsDragOver(true);\n }}\n onDragOver={(e) => {\n e.preventDefault();\n }}\n onDragLeave={(e) => {\n setIsDragOver(false);\n }}\n onDrop={(e) => {\n e.preventDefault();\n setIsDragOver(false);\n e.dataTransfer.files?.length &&\n uploadActions.uploadFiles(e.dataTransfer.files);\n }}\n >\n <div className=\"upload-drag-button-inner\">\n <WrappedEasyopsIcon\n className=\"upload-drag-button-icon\"\n category=\"colored-common\"\n icon={theme == \"dark-v2\" ? \"upload-dark\" : \"upload-light\"}\n />\n <div className=\"upload-drag-text\">\n <Trans\n i18nKey={t(K.DRAG_UPLOAD_TEXT)}\n components={{\n total: <strong />,\n }}\n />\n </div>\n {draggableUploadTip && (\n <div className=\"upload-drag-tip\">{draggableUploadTip}</div>\n )}\n </div>\n </div>\n ) : (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","import React, {\n useEffect,\n useRef,\n useMemo,\n useState,\n type ChangeEvent,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { cloneDeep, isEqual, toLower } from \"lodash\";\nimport {\n Input,\n InputEvents,\n InputEventsMap,\n InputProps,\n} from \"../input/index.jsx\";\nimport classNames from \"classnames\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onChange: \"change\",\n },\n);\n\ninterface EoAutoCompleteComponentProps extends FormItemProps {\n curElement?: HTMLElement;\n value?: any;\n options?: string[] | OptionType[];\n placeholder?: string;\n inputStyle?: React.CSSProperties;\n disabled?: boolean;\n filterByCaption?: boolean;\n onChange?: (value: any) => void;\n}\nexport interface Option {\n label: string;\n caption?: string;\n value: any;\n}\n\nexport interface OptionGroup {\n label: string;\n options: Option[];\n}\n\nexport type OptionType = Option | OptionGroup;\n\n/**\n * 构件 `eo-auto-complete`\n */\nexport\n@defineElement(\"eo-auto-complete\", {\n styleTexts: [styleText],\n})\nclass EoAutoComplete extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * 选项列表\n * @required\n */\n @property({ attribute: false })\n accessor options: string[] | OptionType[] | undefined;\n\n /**\n * 搜索时是否根据caption过滤options\n */\n @property({ type: Boolean }) accessor filterByCaption: boolean | undefined;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n /**\n * 正则校验规则\n */\n @property() accessor pattern: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 值改变事件\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n handleInputChange = (value: string) => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n\n render() {\n return (\n <EoAutoCompleteComponent\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n disabled={this.disabled}\n inputStyle={this.inputStyle}\n required={this.required}\n message={this.message}\n value={this.value}\n options={this.options}\n validator={this.validator}\n pattern={this.pattern}\n filterByCaption={this.filterByCaption}\n onChange={this.handleInputChange}\n />\n );\n }\n}\n\nexport function EoAutoCompleteComponent(props: EoAutoCompleteComponentProps) {\n const {\n onChange,\n curElement,\n inputStyle = { width: 200 },\n disabled,\n placeholder,\n filterByCaption,\n } = props;\n const [options, setOptions] = useState(props.options || []);\n const [filteredOptions, setFilteredOptions] = useState<any[]>([]);\n const [active, setActive] = useState(false);\n const [value, setValue] = useState<string>(\"\");\n const inputRef = useRef<any>();\n\n const originalOptions: OptionType[] = useMemo(() => {\n const walkOptions = (options: (OptionType | string)[]): OptionType[] => {\n return formatOptions(options)?.map((op) => {\n if (\"options\" in op && Array.isArray(op.options)) {\n return { ...op, options: walkOptions(op.options) } as OptionGroup;\n } else {\n return op;\n }\n });\n };\n\n return walkOptions(options);\n }, [options]);\n\n const handleChange = (e: CustomEvent<string>) => {\n setValue(e.detail);\n const search = (options: OptionType[]) => {\n for (let i = options.length - 1; i >= 0; i--) {\n const option = options[i] as OptionGroup;\n if (option.options?.length) {\n search(option.options);\n }\n if (\n !option.options?.length &&\n !toLower(option.label).includes(toLower(e.detail)) &&\n (!filterByCaption ||\n !toLower((option as any).caption).includes(toLower(e.detail)))\n ) {\n options.splice(i, 1);\n }\n }\n return options;\n };\n const result = search(cloneDeep(originalOptions));\n setActive(!!result.length);\n setFilteredOptions(result);\n onChange?.(e.detail);\n };\n useEffect(() => {\n if (!isEqual(props.options, options)) {\n setOptions(props.options || []);\n }\n }, [props.options]);\n\n useEffect(() => {\n setValue(props.value || \"\");\n }, [props.value]);\n\n useEffect(() => {\n setFilteredOptions(originalOptions);\n }, [originalOptions]);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n if (!curElement?.contains(e.target as HTMLElement)) {\n setActive(false);\n inputRef.current?.blur();\n }\n };\n document.addEventListener(\"click\", handleDocumentClick);\n return () => {\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n }, []);\n\n const renderLabel = (option: Option, index: number) => {\n return (\n <div\n key={`${option.label}_${index}`}\n className={classNames(\"optionContainer\", {\n selectedOption: value === option.value,\n })}\n onClick={() => {\n setValue(option.value);\n setActive(false);\n onChange?.(option.value);\n }}\n >\n <div className=\"label\">{option.label}</div>\n {option.caption && <div className=\"caption\">{option.caption}</div>}\n </div>\n );\n };\n\n return (\n <WrappedFormItem {...props}>\n <div>\n <WrappedInput\n ref={inputRef}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n inputStyle={inputStyle}\n onFocus={() => {\n setActive(!!filteredOptions.length);\n }}\n onChange={handleChange as any}\n />\n {active && (\n <div className=\"dropDownWrapper\">\n {filteredOptions.map((f: any, index) =>\n f.options?.length ? (\n <div key={`${f.label}_${index}`} className=\"groupWrapper\">\n <div className={\"groupItem\"}>{f.label}</div>\n {f.options.map((option: any, i: number) =>\n renderLabel(option, i),\n )}\n </div>\n ) : (\n renderLabel(f, index)\n ),\n )}\n </div>\n )}\n </div>\n </WrappedFormItem>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}.optionContainer{display:flex;flex-direction:column;margin:2px 4px;padding:5px 12px;cursor:pointer;border-radius:6px}.optionContainer .label{line-height:22px}.optionContainer .caption{font-size:var(--auxiliary-font-size-small);color:var(--color-secondary-text);line-height:20px}.optionContainer:hover{background-color:var(--antd-select-item-active-bg)}.groupWrapper .optionContainer{padding-left:24px}.groupItem{color:var(--antd-text-color-secondary);font-size:12px;margin:2px 4px;padding:5px 12px}.selectedOption{color:var(--color-brand);background-color:var(--v8-top-menu-item-selected-bg)}.dropDownWrapper{max-height:256px;overflow:scroll;background-color:var(--antd-select-dropdown-bg);box-shadow:var(--antd-box-shadow-base);z-index:1050;margin-top:5px;padding:4px 2px;border-radius:4px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.checkboxWrapper{flex:auto;max-width:100%;box-sizing:border-box}.checkboxLabel{margin-left:16px;font-size:14px;line-height:1.57;display:inline-flex;align-items:baseline;cursor:pointer;line-height:22px;text-align:center;box-sizing:22px}.checkboxLabel:first-child{margin-left:0px}.checkboxLabelDisabled{cursor:not-allowed;color:var(--text-color-disabled)}.checkboxInputWrapper{position:relative;top:0.2em}.checkboxInputWrapperDisabled{cursor:not-allowed}.checkboxLabel .checkboxInput{height:16px;width:16px;z-index:1;cursor:pointer;margin:0px}.checkboxLabel .checkboxInput[type=\"checkbox\"]:checked{color:black;background-color:red}.checkboxLabel .checkboxInner{background:red}.checkboxLabel .checkboxInputDisabled{cursor:not-allowed}.checkboxLabel .checkboxText{padding:0 8px}.iconCheckbox,\n.disabledIconCheckbox{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconCustomCheckbox,\n.disabledIconCustomCheckbox{width:186px;height:114px;margin:0 15px 20px 0}.disabledIconCheckbox,\n.disabledIconCustomCheckbox{cursor:not-allowed}.disabledIconCheckbox .content .text, .disabledIconCustomCheckbox .content .text{color:var(--antd-checkbox-custom-type-disabled-color)}.content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.inputBox{padding:5px;text-align:right;line-height:15px}.inputBox input[type=\"checkbox\"]::before{content:\"\";position:absolute;width:100%;height:100%;border-radius:6px;border:1px solid var(--antd-checkbox-custom-type-item-border-color);top:0;left:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dynamic-form-wrapper{border-radius:6px;padding:16px;background:var(--color-fill-bg-base-1)}.remove-btn{cursor:pointer;justify-content:center;display:flex;align-items:center;width:16px;height:16px;border:1px solid;border-radius:50%;line-height:12px;padding:2px;margin-left:8px}.remove-btn-wrapper{padding-top:4px}.dynamic-form > *:not(.remove-btn-wrapper){flex:1;margin-right:4px}.add-btn{width:calc(100% - 34px)}.dynamic-form-item:first-child .dynamic-form:has(*[label]) .remove-btn-wrapper{margin-top:22px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.form-item{display:flex;box-sizing:border-box;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\";vertical-align:top}.form-item.vertical{flex-direction:column}.form-item.vertical > .form-item-label-wrapper{text-align:left;line-height:1;margin-bottom:8px}.required{color:#ff4d4f;margin-right:4px}.form-item-label-wrapper{display:inline-block;white-space:nowrap;line-height:34px;text-align:right;vertical-align:middle;flex-grow:0;padding-right:8px}.form-item-label{display:flex;align-items:center}.form-item-label > label{margin-right:6px}.form-item-wrapper{flex:1 1 0;line-height:32px}.form-item-control{flex:1}.message{min-height:22px}.message.error{clear:both;min-height:23px;margin-top:-2px;color:var(--antd-error-color);font-size:14px;line-height:1.5715;transition:color 0.3s cubic-bezier(0.215,0.61,0.355,1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}button{line-height:22px;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;box-sizing:border-box;min-width:44px;height:22px;line-height:22px;vertical-align:middle;background-color:var(--text-color-disabled);border:0;border-radius:100px;cursor:pointer;transition:all 0.2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-checked{background-color:var(--antd-switch-color)}.switch-handle{position:absolute;top:2px;left:2px;width:18px;height:18px;transition:all 0.2s ease-in-out}.switch-checked .switch-handle{left:calc(100% - 18px - 2px)}.switch-checked .switch-inner{margin:0 25px 0 7px}.switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--antd-switch-bg);border-radius:9px;box-shadow:0 2px 4px 0 rgba(0,35,11,0.2);transition:all 0.2s ease-in-out;content:\"\"}.switch-inner{display:flex;align-items:center;margin:0 7px 0 25px;transition:margin 0.2s;color:#fff}.switch-disabled{cursor:not-allowed;opacity:0.4}.small{min-width:28px;height:16px;line-height:16px}.small .switch-handle{width:12px;height:12px}.small.switch-checked .switch-handle{left:calc(100% - 12px - 2px)}.small .switch-inner{margin:0 7px 0 18px}.small.switch-checked .switch-inner{margin:0 18px 0 7px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.show-icon{display:grid;justify-items:center;align-items:center;width:54px;height:54px;font-size:27px;line-height:54px;border-radius:50%;cursor:pointer}.show-icon.disabled{cursor:not-allowed}.preview-container{display:grid;justify-items:center;margin-bottom:20px}.show-area{display:grid;justify-items:center;align-items:center;position:relative;font-size:35px;height:70px;width:70px;border-radius:50%}.delete-wrapper{display:grid;justify-items:center;align-items:center;position:absolute;top:0;cursor:pointer;width:100%;height:100%;border-radius:50%;background-color:rgba(0,0,0,0.15);opacity:0;transition:opacity 0.3s}.show-area:hover .delete-wrapper{opacity:1}.delete-icon{display:grid;justify-items:center;align-items:center;font-size:14px;background:#ffffff;width:36px;height:36px;border-radius:50%;border:1px solid rgba(238,239,243,1)}.delete-icon:focus{background-color:#f2f2f2}.preview-icon-name{text-align:center}.select-icon-container{display:grid;grid-template-columns:80px auto;grid-row-gap:20px;row-gap:20px}.label{text-align:right;line-height:32px;font-size:14px;font-weight:400;color:rgba(102,102,102,1)}.select-color-area{display:flex}.color-box{width:38px;height:38px;border-radius:var(--larger-border-radius);cursor:pointer}.empty-color{border:var(--border-width-double-base) solid var(--color-border-divider-line);background-color:var(--color-info-white);position:relative;overflow:hidden}.empty-line{background:var(--palette-red-6);position:absolute;transform:translateX(-10px) rotate(-45deg);width:50px;margin:19px 0;height:var(--border-width-double-base)}.color-box:not(:last-child){margin-right:30px}.color-box:first-child{margin-left:22px}.select-icon-area{margin-left:22px}.select-icon-search-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.icon-area{padding-top:20px;display:grid;grid-template-columns:repeat(8,12.5%);overflow:auto;width:616px;height:218px;font-size:20px;background:var(--color-fill-bg-base-4);border-radius:var(--larger-border-radius)}.icon-container{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;color:var(--color-normal-text);height:50px}.icon-container:hover{cursor:pointer;color:var(--color-brand)}.icon-container .icon-name{width:100%;text-align:center;font-size:10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;visibility:hidden}.icon-container:hover .icon-name{visibility:visible}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.input-addon-wrapper{display:table;width:100%;line-height:22px;--input-affix-wrapper-padding:4px 10px}.input-addon-wrapper-size-large{--input-affix-wrapper-padding:8px 10px}.input-addon-wrapper-size-small{--input-affix-wrapper-padding:0 10px}.input-before-addon,\n.input-after-addon{display:table-cell;position:relative;padding:0 11px;font-size:14px;line-height:1;text-align:center;width:0;color:var(--text-color-default);background-color:var(--theme-gray-background);border:1px solid var(--color-border-divider-line);border-radius:var(--antd-button-border-radius);transition:all 0.3s}.input-before-addon{right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.input-after-addon{left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host(:not([has-addon-before])) .input-before-addon{display:none}:host(:not([has-addon-after])) .input-after-addon{display:none}.input-affix-wrapper{display:inline-flex;position:relative;padding:var(--input-affix-wrapper-padding);border-radius:var(--antd-button-border-radius);width:100%;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s,box-shadow 0.3s;overflow:visible}:host([has-addon-before]) .input-affix-wrapper{border-top-left-radius:0;border-bottom-left-radius:0}:host([has-addon-after]) .input-affix-wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.input-affix-wrapper:not(.input-affix-wrapper-disabled):hover{border-color:var(--antd-input-hover-border-color);z-index:1}.input-affix-wrapper:focus,\n.input-affix-wrapper-focused{border-color:var(--antd-input-focus-border-color);box-shadow:0 0 0 2px rgba(0,113,235,0.2);z-index:1}.input-affix-wrapper-disabled{cursor:not-allowed;color:var(--text-color-disabled);background-color:var(--theme-gray-background)}.input{flex:1;padding:0;margin:0;border:none;outline:none;font-size:14px;line-height:22px;color:inherit;background-color:transparent;cursor:inherit}.input::placeholder{color:var(--text-color-disabled);-webkit-user-select:none;-moz-user-select:none;user-select:none}.input:placeholder-shown{text-overflow:ellipsis}.input-prefix,\n.input-suffix{display:flex;flex:none;align-items:center}.input-prefix{margin-right:4px}.input-suffix{margin-left:4px}:host(:not([has-prefix])) .input-prefix{display:none}:host(:not([has-suffix])) .input-suffix:not(:has(:not(slot))){display:none}.input-clear-icon{margin-left:4px;font-size:12px;color:var(--text-color-disabled);cursor:pointer}:host([has-suffix]) .input-clear-icon{margin-right:4px}.input-clear-icon:hover{color:var(--antd-text-color-secondary)}.input-clear-icon-hidden{visibility:hidden}.input-addon-wrapper-status-error .input-affix-wrapper{border-color:var(--antd-error-color)}.input-addon-wrapper-status-error\n .input-affix-wrapper:not(.input-affix-wrapper-disabled):hover{border-color:var(--antd-error-color)}.input-addon-wrapper-status-error .input-affix-wrapper:focus,\n.input-addon-wrapper-status-error .input-affix-wrapper-focused{border-color:var(--antd-error-color);box-shadow:0 0 0 2px var(--antd-error-color-fade-20)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.radioGruop{display:inline-block}.defaultRadio{position:relative;display:inline-flex;align-items:center;margin-right:12px;text-align:center;cursor:pointer}.iconRadio{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconRadio > input[type=\"radio\"]{width:0px;height:0px}.defaultRadio > input[type=\"radio\"]{width:16px;height:16px;vertical-align:middle;margin-top:0px}.iconRadio > input[type=\"radio\"]:checked ~ .content{border-color:var(--color-brand);color:var(--color-brand)}.iconRadio .content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text);border-radius:var(--larger-border-radius);border:var(--border-width-base) solid var(--color-border-divider-line)}.defaultRadio .content{display:flex;align-items:center}.iconRadio:not(.disabledIconRadio):hover .content{border-color:var(--color-brand-hover)}.buttonRadio{position:relative;display:inline-block;height:32px;margin:0;padding:0;color:var(--antd-btn-default-color);font-size:14px;line-height:30px;background:var(--antd-btn-default-bg);border:1px solid var(--antd-border-color-base);border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color 0.3s,background 0.3s,border-color 0.3s,box-shadow 0.3s}.buttonContent{display:inline-block;height:100%;padding:0 15px}.buttonContent:not(.disabledButtonRadio):not(.buttonRadioCheck):hover{color:var(--antd-radio-dot-color)}.buttonRadio > input[type=\"radio\"]{width:0;height:0;position:absolute}.buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-radio-solid-checked-color);background:var(--antd-radio-dot-color);border-color:var(--antd-radio-dot-color)}.buttonRadioCheck.disabledButtonRadio{color:var(--color-normal-text);background-color:var(--color-border-divider-line)}.buttonRadio:first-child{border-radius:3px 0 0 3px;border-left:1px solid var(--antd-border-color-base)}.buttonRadio:last-child{border-radius:0 3px 3px 0}.specialIconRadio{position:relative;display:inline-block;width:auto;margin-right:80px;text-align:center;cursor:pointer;line-height:1}.specialIconRadio > input[type=\"radio\"]{width:0;height:0}.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent,\n.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent .circleIcon,\n.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent .squareIcon{border-color:var(--color-brand);color:var(--color-brand);border-width:var(--border-width-double-base)}.specialIconRadio:not(.disabledIconRadio):hover .iconContent .circleIcon,\n.specialIconRadio:not(.disabledIconRadio):hover .iconContent .squareIcon{border-color:var(--color-brand-hover)}.specialIconRadio .iconContent{color:var(--color-normal-text)}.specialIconRadio .iconContent > span{width:93px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.specialIconRadio .iconContent .circleIcon{border-radius:50%}.specialIconRadio .iconContent .circleIcon,\n.specialIconRadio .iconContent .squareIcon{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto auto 6px;background:var(--color-fill-bg-container-1);border:var(--border-width-base) solid var(--color-border-divider-line);width:94px;height:94px;font-size:46px;box-sizing:border-box}.disabledButtonRadio,\n.disabledCustomRadio{cursor:not-allowed}.disabledButtonRadio{background-color:var(--antd-input-disabled-bg)}.disabledIconRadio .content,\n.disabledIconRadio .iconContent{color:var(--color-disabled-text)}.disabledIconRadio .iconContent .circleIcon,\n.disabledIconRadio .iconContent .squareIcon{background:var(--color-fill-bg-base-1);border-color:var(--color-border-divider-line)}.dashboardRadioContainer{border-radius:6px;border:none;background-color:var(--antd-dashboard-radio-bg)}.dashboardRadioContainer .buttonRadio{background:var(--antd-dashboard-radio-item-bg);font-size:14px;color:var(--antd-dashboard-radio-item-color);border:none;height:28px;margin:2px}.buttonRadio:not(:last-child)::after{position:absolute;top:50%;right:-1px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 4px);background-color:var(--antd-border-color-base);transition:background-color 0.3s;content:\"\";transform:translateY(-50%)}.buttonRadioCheck::before,\n.buttonRadio:has(.buttonRadioCheck):after{position:absolute;top:50%;left:0px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 8px);background-color:var(--antd-dashboard-radio-item-checked-border-color);transition:background-color 0.3s;content:\"\";transform:translateY(-50%)}.dashboardRadioContainer .buttonContent:not(.disabledButtonRadio):hover{color:var(--antd-dashboard-radio-item-checked-color)}.dashboardRadioContainer .buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-dashboard-radio-item-checked-color);background-color:var(--antd-dashboard-radio-item-checked-bg);border-radius:6px;font-weight:var(--font-weight-500)}.customRadio{position:relative;display:inline-block;width:212px;height:271px;margin-right:12px;text-align:center;cursor:pointer}.customRadio > input[type=\"radio\"]{width:0;height:0}.customRadio > input[type=\"radio\"]:checked ~ .customContent{box-shadow:var(--hover-shadow)}.customRadio .customContent{position:absolute;width:100%;height:100%;top:0;color:var(--color-normal-text);border-radius:var(--larger-border-radius)}.customRadio.disabledCustomRadio{cursor:not-allowed}.customRadio:not(.disabledIconRadio):hover .customContent{box-shadow:var(--hover-shadow)}.tooltipIconContent{margin-left:4px;display:inline-block}.buttonRadio.small{height:26px;font-size:13px;line-height:26px}.buttonRadio.medium{height:32px;font-size:14px}.buttonRadio.large{height:40px;font-size:18px;line-height:40px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-input{display:block}.search-button{width:16px;font-size:16px;color:var(--color-secondary-text);cursor:pointer}.search-button:hover{color:var(--color-normal-text)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.select{width:100%;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;position:relative;display:inline-block;cursor:pointer;min-width:100px}.select-selector{position:relative;border:1px solid var(--antd-border-color-base);border-radius:3px;box-sizing:border-box;background-color:var(--antd-component-background);transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1);padding-right:24px}.select:not(.select-disabled):hover .select-selector{border-color:var(--antd-input-hover-border-color);z-index:1}.select-multiple .select-selector{min-height:30px;height:auto}.select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;padding-left:12px}.selected-item{display:flex;flex:none;align-self:center;max-width:100%;height:30px;line-height:30px}.selected-item .label{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.selector-focused{border-color:var(--antd-input-focus-border-color);border-width:1px;outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}.select-selection-search{display:block;padding-right:22px}.select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:30px;cursor:pointer;color:var(--antd-text-color)}.select-disabled .select-selector{color:var(--text-color-disabled);background:var(--antd-input-disabled-bg);cursor:not-allowed}.select-disabled .select-selection-search-input{cursor:not-allowed}.select-selector.is-error{border-color:var(--antd-error-color)}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-arrow{display:inline-block;color:inherit;font-style:normal;line-height:0;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:53%;right:11px;width:12px;height:12px;margin-top:-6px;color:var(--text-color-disabled);font-size:12px;line-height:1;text-align:center}.anticon{vertical-align:top;transition:0.4s rotate ease}.anticon.focus{rotate:-180deg}.select-dropdown{margin:0;padding:0;margin-top:5px;color:var(--antd-text-color);font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\",;position:absolute;top:100%;left:0px;width:100%;z-index:1050;box-sizing:border-box;padding:4px 2px;overflow:hidden;font-size:14px;font-variant:initial;background-color:var(--antd-select-dropdown-bg);border-radius:4px;outline:none;box-shadow:var(--antd-box-shadow-base)}.dropdown-list{max-height:256px;overflow-y:scroll;overflow-anchor:none}.dropdown-inner{display:flex;flex-direction:column}.select-item{position:relative;display:block;padding:5px 12px;color:var(--antd-text-color);font-weight:normal;font-size:14px;line-height:22px;cursor:pointer;transition:background 0.3s ease;margin:2px}.select-item-option{display:flex;border-radius:6px;margin:2px}.select-item-option.disabled{cursor:not-allowed;color:var(--color-disabled-text);background:var(--antd-input-disabled-bg)}.select-item-option:hover{background-color:var(--antd-select-item-active-bg)}.select-item-option-content{position:relative;flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-item-option-content .option{display:flex;align-items:center;justify-content:space-between;margin-right:22px}.dropdown-list .option .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:8px}.select-option-selected{color:var(--color-brand);background-color:var(--v8-top-menu-item-selected-bg)}.select-option-hover{background-color:var(--antd-select-item-active-bg)}.is-checked{display:none;position:absolute;right:0px;top:0}.select-option-selected .is-checked{display:block}.empty-tips{display:flex;text-align:center;justify-content:center;font-size:14px;color:var(--palette-gray-5)}.select-group-wrapper .select-group-label{padding-left:12px;color:var(--antd-text-color-secondary);font-size:12px;cursor:default}.select-group-wrapper .select-item-option{padding-left:24px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.submitBtn{margin-right:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `textarea{width:100%;padding:4px 11px;color:var(--antd-input-color);background:var(--antd-input-bg);box-sizing:border-box;border-radius:var(--antd-button-border-radius);border:1px solid var(--antd-input-border-color)}textarea:not(:disabled):hover{border:1px solid var(--antd-input-hover-border-color)}textarea:not(:disabled):focus{border:1px solid var(--antd-input-focus-border-color);outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}textarea:disabled{cursor:not-allowed;color:var(--text-color-disabled);background:var(--antd-input-disabled-bg);resize:none}textarea::placeholder{color:var(--antd-input-placeholder-color)}textarea.error{border-color:var(--antd-error-color)}textarea.error:hover{border-color:var(--antd-error-color)}textarea.error:focus{border-color:var(--antd-error-color)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.image-item{padding:12px 20px;border-radius:var(--larger-border-radius);cursor:pointer}.image-item-inner{position:relative;display:flex;gap:12px}.image{width:38px;height:38px}.infos{flex:1;display:flex;flex-direction:column}.file-name{font-size:14px;font-weight:var(--font-weight-500);color:var(--text-color-default);line-height:20px;margin-bottom:4px}.progress{width:100%;height:4px;background:#ffffff;border-radius:var(--small-border-radius);margin:8px 0}.more-info{display:flex;align-items:center;gap:10px}.image-size{font-size:12px;color:var(--text-color-default);line-height:18px}.file-size{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.progress-info{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.error-info{font-size:12px;color:var(--color-error);line-height:18px}.operators{position:absolute;top:0;right:0}.delete-icon{opacity:0;font-size:16px}.image-item-done{background:var(--antd-upload-list-type-picture-bg);border:1px solid var(--antd-upload-list-type-picture-border-color)}.image-item-done:hover{background:var(--palette-blue-1);border-color:var(--palette-blue-1)}.image-item-done:hover .delete-icon{opacity:1}.image-item-done .delete-icon{color:var(--text-color-disabled)}.image-item-done .delete-icon:hover{color:var(--color-error)}.image-item-uploading{background:var(--antd-upload-list-type-picture-bg);border:1px dashed var(--antd-upload-list-type-picture-border-color)}.image-item-uploading:hover{background:var(--antd-upload-list-type-picture-hover-bg);border-color:var(--antd-upload-list-type-picture-hover-bg)}.image-item-uploading:hover .delete-icon{opacity:1}.image-item-uploading .delete-icon{color:var(--text-color-disabled)}.image-item-uploading .delete-icon:hover{color:var(--text-color-default)}.image-item-error{background:var(--palette-red-1);border:1px solid var(--theme-orangered-border-color)}.image-item-error .delete-icon{opacity:1;color:var(--color-error)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["_Input","defineElement","property","event","method","createDecorators","WrappedIcon","wrapBrick","WrappedFormItem","_dec","styleTexts","styleText","alias","_dec2","_dec3","_dec4","type","Boolean","_dec5","_dec6","Number","_dec7","_dec8","attribute","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_dec25","_dec26","_dec27","_RCInputRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_changeEvent","_T","_U","_V","_W","_X","_getSlotByName","WeakSet","Input","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","get","_get_changeEvent2","set","_set_changeEvent2","writable","value","createRef","_initProto","_init_name","_init_label","_init_required","_init_pattern","_init_max","_init_min","_init_message","_init_value","_init_placeholder","_init_disabled","_init_readonly","_init_clearable","_init_autoFocus","_init_type","_init_size","_init_minLength","_init_maxLength","_init_inputStyle","_init_changeEvent","_defineProperty","this","_classPrivateFieldGet","emit","_init_hasAddonBefore","_init_hasAddonAfter","_init_hasPrefix","_init_hasSuffix","_init_validator","ref","current","addonBefore","_classPrivateMethodGet","_getSlotByName2","call","addonAfter","prefix","suffix","addEventListener","hasAddonBefore","assignedElements","length","hasAddonAfter","hasSuffix","hasPrefix","name","v","_classPrivateFieldSet","label","required","pattern","max","min","message","placeholder","disabled","readonly","clearable","autoFocus","size","minLength","maxLength","inputStyle","focusInput","_classPrivateFieldGet2","focus","blurInput","_classPrivateFieldGet3","blur","validator","render","React","RCInput","formElement","getFormElement","curElement","renderCallback","notRender","helpBrick","validateState","readOnly","trigger","onInputChange","handleInputChange","_set_changeEvent","_get_changeEvent","_this$shadowRoot","shadowRoot","querySelector","concat","_class","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","forwardRef","props","inputRef","useRef","inputAffixWrapperRef","setValue","useState","focused","setFocused","useEffect","useImperativeHandle","options","_inputRef$current","_inputRef$current2","handleClear","part","className","classNames","style","onClick","_inputAffixWrapperRef","_inputRef$current3","contains","target","fixValue","onChange","onFocus","onBlur","getClearIcon","hidden","lib","icon","theme","onMouseDown","preventDefault","isNil","String","hiddenTextarea","_Textarea","SIZING_STYLE","_InputChangeEvent","Textarea","_get_InputChangeEvent2","_set_InputChangeEvent2","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","autoSize","textareaStyle","TextareaComponent","_set_InputChangeEvent","_get_InputChangeEvent","autoSizeStyle","setAutoSizeStyle","textareaRef","minRows","maxRows","setAutoSize","useCallback","textareaElement","textareaStyles","uiTextNode","undefined","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","getPropertyValue","join","overflowY","minHeight","maxHeight","height","scrollHeight","singleRowHeight","Math","resize","calculateAutoSizeStyle","error","_objectSpread","_topics","_subUid","PubSub","publish","topic","subscribers","len","func","subscribe","fn","_this$subUid","token","toString","push","unsubscribe","m","remove","item","uid","Field","detail","field","_fields","_options","_formData","_initData","_getAllFields","FormStore","static","instance","super","Map","setField","getAllValues","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet4","allFields","_getAllFields2","newFormData","Object","entries","forEach","_ref","k","includes","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","removeField","delete","validateFields","callback","results","validateField","some","result","_classPrivateFieldGet5","fieldDetail","validate","validateValue","messageBody","getName","valid","isEmpty","RegExp","test","_result","parsedValidator","_v","Array","isArray","getValueFromEvent","checked","resetValidateState","onWatch","_options$needValidate","_value","needValidate","_options$needValidate2","keys","_Form","_values","_setInitValue","_valuesChangeEvent","_successEvent","_errorEvent","Form","ReactNextElement","_get_errorEvent2","_set_errorEvent2","_get_successEvent2","_set_successEvent2","_get_valuesChangeEvent2","_set_valuesChangeEvent2","_init_layout","_init_valuesChangeEvent","_init_successEvent","_init_errorEvent","_init_formStyle","formStore","getInstance","handleValuesChange","isFormElement","_setInitValue2","layout","err","formStyle","FormComponent","defaultEmitValuesChange","_set_valuesChangeEvent","_get_valuesChangeEvent","_set_successEvent","_get_successEvent","_set_errorEvent","_get_errorEvent","computedStyle","useMemo","display","flexDirection","gap","_FormItem","FormItem","_init_formElement","_init_curElement","_init_labelCol","_init_wrapperCol","_init_valuePropsName","_init_trim","_init_trigger","_init_needValidate","labelCol","wrapperCol","valuePropsName","trim","_this$formElement","_this$formElement2","FormItemComponent","labelBrick","formInstance","defaultValidateState","setValidateState","$bindFormItem","originTrigger","useBrick","ReactUseMultipleBricks","formatOptions","fields","op","_Radio","WrappedGeneralIcon","_optionsChange","_handleOptionsChange","Radio","_get_optionsChange2","_set_optionsChange2","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_optionsChange","ui","customStyle","RadioComponent","handleChange","optionsChange","_set_optionsChange","_get_optionsChange","setOptions","isEqual","option","_props$onChange","stopPropagation","dashboardRadioContainer","index","iconName","iconLib","iconStyle","key","isBoolean","isDisabled","htmlFor","disabledIconRadio","disabledCustomRadio","iconRadio","customRadio","specialIconRadio","defaultRadio","buttonRadio","content","fontSize","ReactUseBrick","data","iconContent","circleIcon","squareIcon","title","buttonRadioCheck","disabledButtonRadio","marginRight","verticalAlign","_Select","WrappedTag","onCheck","onClose","_searchEvent","_focusEvent","Select","_get_focusEvent2","_set_focusEvent2","_get_searchEvent2","_set_searchEvent2","_init_multiple","_init_searchEvent","_init_focusEvent","findOption","_formatOptions","find","selectedOptions","Promise","resolve","then","multiple","SelectComponent","onSearch","handleSearch","handleFocus","_set_searchEvent","_get_searchEvent","_set_focusEvent","_get_focusEvent","_props$options","onValueChange","inputValue","setInputValue","selectValue","setSelectValue","isDropHidden","setIsDropHidden","isFocused","setIsFocused","customSelectvalue","setCustomSelectValue","handleDocumentClick","removeEventListener","newValue","filter","handleMultipleItemClose","closeValue","computedOptions","handleKeydown","code","pop","renderTag","list","ellipsisInfo","closeable","tagList","slice","allOptions","reduce","pre","cur","_allOptions$find","ellipsisWidth","color","closable","getLabel","_ref2","_allOptions$find2","renderLabel","isEmptyValue","getSelectOption","_item$options","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","SubmitButtons","_get_cancelEvent2","_set_cancelEvent2","_get_submitEvent2","_set_submitEvent2","_init_submitText","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","submitDisabled","submitText","cancelText","submitType","cancelType","ButtonsComponent","onCancelClick","_handleCancelClick","onSubmitClick","_handleSubmitClick","_set_submitEvent","_get_submitEvent","_set_cancelEvent","_get_cancelEvent","_Checkbox","_checkboxChangeEvent","_optionsChangeEvent","Checkbox","_get_optionsChangeEvent2","_set_optionsChangeEvent2","_get_checkboxChangeEvent2","_set_checkboxChangeEvent2","_init_isCustom","_init_checkboxChangeEvent","currentSelectOption","_init_optionsChangeEvent","isCustom","CheckboxComponent","handleCheckboxChange","_set_checkboxChangeEvent","_get_checkboxChangeEvent","_set_optionsChangeEvent","_get_optionsChangeEvent","_props$value","setValues","_props$optionsChange","handleInputClick","findIndex","i","splice","IconCheckbox","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","position","alignItems","checkboxWrapper","checkboxLabel","checkboxLabelDisabled","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","id","checkboxInner","checkboxText","iconNode","mergedIcon","imgSrc","imgStyle","getIcon","K","NS","initializeReactI18n","en","UNIQUE","zh","_DynamicFormItem","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","uniqueValidatorFN","properties","t","_props$curElement","_unique","_properties$message","_properties$label","fieldValue","Set","unique","DynamicFormItem","_this$getFormElement","DynamicFormItemComponent","handleDynamicFormChange","useTranslation","formWrapperRef","bricks","setBricks","bricksOfNoLabel","brick","omit","_props$value2","parsedUseBrick","flatten","handleRemoveItem","_props$onChange2","newValues","formWrapper","forms","querySelectorAll","every","category","buttonStyle","width","handleAddItem","_GeneralSearch","WrappedInput","_change","_handleChange","_handleDebouncedChange","_search","_handleSearch","GeneralSearch","_get_search2","_set_search2","_get_change2","_set_change2","_init_debounceTime","_init_change","_init_search","debounceTime","GeneralSearchComponent","onDebouncedChange","_set_change","_get_change","_set_search","_get_search","_onDebouncedChange","debounce","onKeyDown","slot","Colors","COLORS_MAP","green","background","borderColor","red","blue","orange","cyan","purple","geekblue","gray","getColor","_COLORS_MAP","ICON","COLOR","SELECT_ICON","SEARCH_PLACEHOLDER","_IconSelect","getLibs","unwrapProvider","searchIcons","WrappedGeneralRadio","onOptionsChange","WrappedModal","onConfirm","onCancel","onOpen","WrappedSearch","IconSelect","IconSelectComponent","emptyIcon","modalRef","iconLibs","setIconLibs","searchParams","setSearchParams","iconList","setIconList","libs","handleSearchIcons","params","q","page","pageSize","previewIcon","setPreviewIcon","previewColor","setPreviewColor","selectedIcon","setSelectedIcon","selectedColor","setSelectedColor","clearSelect","handleColorSelect","_modalRef$current2","open","backgroundColor","modalTitle","maskClosable","closeWhenConfirm","handleModalConfirm","_modalRef$current","close","handleModalClose","handleModalOpen","newSearchParams","iconInfo","JSON","stringify","getImage","file","revokeUrl","reject","url","Blob","startsWith","URL","createObjectURL","Error","image","Image","src","onload","revokeObjectURL","onerror","imageValidator","_asyncToGenerator","limit","naturalWidth","naturalHeight","_x","_x2","apply","userDataProcessor","pipes","unitFormat","_x3","UPLOAD","FILE_UPLOADING","_UploadImage","UploadImage","_init_bucketName","imageList","bucketName","UploadImageComponent","defaultUploadIcon","deleteIcon","closeIcon","curValue","status","Upload","itemRender","fileData","fileDataList","actions","userData","errors","fileList","autoUpload","uploadName","action","getBasePath","accept","beforeUploadValidators","beforeUploadUserDataProcessor","images","processedImages","_image$url","response","objectName","uploadActions","upload","_GeneralSwitch","_switchEvent","GeneralSwitch","_get_switchEvent2","_set_switchEvent2","_init_checkedText","_init_unCheckedText","_init_checkedIcon","_init_unCheckedIcon","_init_switchEvent","checkedText","unCheckedText","checkedIcon","unCheckedIcon","GeneralSwitchComponent","onSwitch","handleSwitch","_set_switchEvent","_get_switchEvent","setChecked","handleSwitchChange","DRAG_UPLOAD_TEXT","_EoUploadFile","WrappedEasyopsIcon","EoUploadFile","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","maxCount","overMaxCountMode","uploadDraggable","draggableUploadTip","EoUploadFileComponent","fileTextIcon","loadingIcon","useCurrentTheme","isDragOver","setIsDragOver","onDragEnter","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","files","uploadFiles","Trans","i18nKey","components","total","_EoAutoComplete","EoAutoComplete","_init_filterByCaption","filterByCaption","EoAutoCompleteComponent","filteredOptions","setFilteredOptions","active","setActive","originalOptions","walkOptions","selectedOption","caption","search","_option$options","_option$options2","toLower","cloneDeep","f","_f$options","___CSS_LOADER_EXPORT___","module","receiver","privateSet","TypeError","obj","add"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/8177.03b061cb.js","mappings":"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","sources":["webpack:///./src/input/index.tsx","webpack:///./src/textarea/calculateAutoSizeStyle.ts","webpack:///./src/textarea/index.tsx","webpack:///../../src/PubSub.ts","webpack:///../../src/FormStore.ts","webpack:///./src/form/index.tsx","webpack:///./src/form-item/index.tsx","webpack:///./src/utils/formatOptions.ts","webpack:///./src/radio/index.tsx","webpack:///./src/select/index.tsx","webpack:///./src/submit-buttons/index.tsx","webpack:///./src/checkbox/index.tsx","webpack:///./src/dynamic-form-item/i18n.ts","webpack:///./src/dynamic-form-item/index.tsx","webpack:///./src/search/index.tsx","webpack:///./src/icon-select/i18n.ts","webpack:///./src/icon-select/utils.ts","webpack:///./src/icon-select/index.tsx","webpack:///./src/upload/upload-image/i18n.ts","webpack:///./src/upload/upload-image/utils.ts","webpack:///./src/upload/upload-image/index.tsx","webpack:///./src/general-switch/index.tsx","webpack:///./src/upload/upload-file/i18n.ts","webpack:///./src/upload/upload-file/index.tsx","webpack:///./src/auto-complete/index.tsx","webpack:///./src/auto-complete/styles.shadow.css","webpack:///./src/checkbox/checkbox.shadow.css","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/form-item/FormItem.shadow.css","webpack:///./src/general-switch/styles.shadow.css","webpack:///./src/icon-select/styles.shadow.css","webpack:///./src/input/input.shadow.css","webpack:///./src/radio/index.shadow.css","webpack:///./src/search/styles.shadow.css","webpack:///./src/select/index.shadow.css","webpack:///./src/submit-buttons/index.shadow.css","webpack:///./src/textarea/textarea.shadow.css","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///./src/upload/upload-image/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useRef,\n forwardRef,\n createRef,\n useImperativeHandle,\n type ChangeEvent,\n type MouseEvent,\n type FocusEvent,\n type CSSProperties,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport { isNil } from \"lodash\";\nimport styleText from \"./input.shadow.css\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { ComponentSize, InputType } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface InputProps extends FormItemProps {\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n readOnly?: boolean;\n clearable?: boolean;\n autoFocus?: boolean;\n type?: InputType;\n size?: ComponentSize;\n maxLength?: number;\n minLength?: number;\n validateState?: string;\n inputStyle?: CSSProperties;\n}\n\nexport interface InputEvents {\n change: CustomEvent<string>;\n}\n\nexport interface InputEventsMap {\n onChange: \"change\";\n}\n\n/**\n * 通用输入框构件\n * @author sailor\n *\n * @part addon-wrapper - 包裹输入组件、前缀、后缀、前置和后置的容器\n * @part affix-wrapper - 包裹输入组件、前缀和后缀的容器\n * @part input - 输入组件\n * @part clear-icon - 清除按钮\n * @part prefix - 输入框前缀容器\n * @part suffix - 输入框后缀容器\n * @part before-addon - 输入框前置容器\n * @part after-addon - 输入框后置容器\n *\n * @slot addonBefore - 输入框前置标签\n * @slot addonAfter - 输入框后置标签\n * @slot prefix - 输入框前缀图标\n * @slot suffix - 输入框后缀图标\n */\nexport\n@defineElement(\"eo-input\", {\n styleTexts: [styleText],\n alias: [\"form.general-input\"],\n})\nclass Input extends FormItemElementBase {\n #RCInputRef = createRef<RCInputRef>();\n\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 标签文字\n */\n @property() accessor label: string | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 正则校验规则\n */\n @property() accessor pattern: string | undefined;\n\n /**\n * 表单校验最大长度\n */\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n /**\n * 表单校验最小长度\n */\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 错误时显示消息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 输入框值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否只读\n */\n @property({ type: Boolean })\n accessor readonly: boolean | undefined;\n\n /**\n * 是否显示清除按钮\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 是否自动聚焦\n */\n @property({\n type: Boolean,\n })\n accessor autoFocus: boolean | undefined;\n\n /**\n * 类型\n * @default \"text\"\n */\n @property() accessor type: InputType | undefined;\n\n /**\n * 大小\n * @default \"medium\"\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 最小长度\n */\n @property({ type: Number })\n accessor minLength: number | undefined;\n\n /**\n * 最大长度\n */\n @property({ type: Number })\n accessor maxLength: number | undefined;\n\n /**\n * 输入框样式\n */\n @property({ attribute: false }) accessor inputStyle:\n | React.CSSProperties\n | undefined;\n\n /**\n * 值改变事件\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n handleInputChange = (value: string) => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n\n /**\n * focus\n */\n @method()\n focusInput() {\n return this.#RCInputRef.current?.focus();\n }\n\n /**\n * blur\n */\n @method()\n blurInput() {\n return this.#RCInputRef.current?.blur();\n }\n\n /**\n * 是否有 addonBefore 插槽\n * @internal\n */\n @property({ type: Boolean })\n accessor hasAddonBefore: boolean | undefined;\n\n /**\n * 是否有 addonAfter 插槽\n * @internal\n */\n @property({ type: Boolean })\n accessor hasAddonAfter: boolean | undefined;\n\n /**\n * 是否有 prefix 插槽\n * @internal\n */\n @property({ type: Boolean })\n accessor hasPrefix: boolean | undefined;\n\n /**\n * 是否有 suffix 插槽\n * @internal\n */\n @property({ type: Boolean })\n accessor hasSuffix: boolean | undefined;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n renderCallback = (ref: RCInputRef) => {\n (this.#RCInputRef as any).current = ref;\n const addonBefore = this.#getSlotByName(\"addonBefore\");\n const addonAfter = this.#getSlotByName(\"addonAfter\");\n const prefix = this.#getSlotByName(\"prefix\");\n const suffix = this.#getSlotByName(\"suffix\");\n\n addonBefore?.addEventListener(\"slotchange\", () => {\n this.hasAddonBefore = addonBefore.assignedElements().length > 0;\n });\n addonAfter?.addEventListener(\"slotchange\", () => {\n this.hasAddonAfter = addonAfter.assignedElements().length > 0;\n });\n suffix?.addEventListener(\"slotchange\", () => {\n this.hasSuffix = suffix.assignedElements().length > 0;\n });\n prefix?.addEventListener(\"slotchange\", () => {\n this.hasPrefix = prefix.assignedElements().length > 0;\n });\n };\n\n #getSlotByName(name: string): HTMLSlotElement {\n return this.shadowRoot?.querySelector(\n `slot[name='${name}']`\n ) as HTMLSlotElement;\n }\n\n render() {\n return (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n <RCInput\n formElement={this.getFormElement()}\n curElement={this}\n ref={this.renderCallback}\n name={this.name}\n label={this.label}\n required={this.required}\n pattern={this.pattern}\n min={this.min}\n max={this.max}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n validateState={this.validateState}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readOnly={this.readonly}\n clearable={this.clearable}\n autoFocus={this.autoFocus}\n type={this.type}\n size={this.size}\n minLength={this.minLength}\n maxLength={this.maxLength}\n inputStyle={this.inputStyle}\n trigger=\"handleInputChange\"\n onInputChange={this.handleInputChange}\n validator={this.validator}\n />\n );\n }\n}\n\nexport interface RCInputProps extends InputProps {\n onInputChange?: (value: string) => void;\n}\n\nexport interface RCInputRef {\n focus: (options?: FocusOptions) => void;\n blur: () => void;\n}\n\n// eslint-disable-next-line react/display-name\nexport const RCInput = forwardRef<RCInputRef, RCInputProps>((props, ref) => {\n const {\n placeholder,\n clearable,\n disabled,\n readOnly,\n autoFocus,\n size = \"medium\",\n type = \"text\",\n maxLength,\n minLength,\n validateState,\n onInputChange,\n inputStyle,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputAffixWrapperRef = useRef<HTMLInputElement>(null);\n\n const [value, setValue] = useState<string>();\n const [focused, setFocused] = useState<boolean>();\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n useImperativeHandle(ref, () => ({\n focus: (options?: FocusOptions) => {\n inputRef.current?.focus(options);\n },\n blur: () => {\n inputRef.current?.blur();\n },\n }));\n\n const handleInputAffixWrapperClick = (e: MouseEvent<HTMLElement>) => {\n if (inputAffixWrapperRef.current?.contains(e.target as Element)) {\n inputRef.current?.focus();\n }\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n };\n\n const handleFocus = (e: FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n };\n\n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n };\n\n const handleClear = (e: MouseEvent<HTMLElement>) => {\n setValue(\"\");\n onInputChange?.(\"\");\n };\n\n const getClearIcon = () => {\n if (!clearable) return null;\n\n const hidden = disabled || readOnly || !fixValue(value);\n return (\n <WrappedIcon\n className={classNames(\"input-clear-icon\", {\n \"input-clear-icon-hidden\": hidden,\n })}\n part=\"clear-icon\"\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleClear}\n />\n );\n };\n\n return (\n <WrappedFormItem {...props}>\n <div\n part=\"addon-wrapper\"\n className={classNames(\n \"input-addon-wrapper\",\n size && `input-addon-wrapper-size-${size}`,\n validateState && `input-addon-wrapper-status-${validateState}`\n )}\n style={inputStyle}\n >\n <span part=\"before-addon\" className=\"input-before-addon\">\n <slot name=\"addonBefore\" />\n </span>\n <span\n ref={inputAffixWrapperRef}\n part=\"affix-wrapper\"\n className={classNames(\"input-affix-wrapper\", {\n \"input-affix-wrapper-focused\": focused,\n \"input-affix-wrapper-disabled\": disabled,\n \"input-affix-wrapper-readOnly\": readOnly,\n })}\n onClick={handleInputAffixWrapperClick}\n >\n <span part=\"prefix\" className=\"input-prefix\">\n <slot name=\"prefix\" />\n </span>\n <input\n part=\"input\"\n placeholder={placeholder}\n autoFocus={autoFocus}\n maxLength={maxLength}\n minLength={minLength}\n ref={inputRef}\n className=\"input\"\n type={type}\n disabled={disabled}\n readOnly={readOnly}\n value={fixValue(value)}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n <span part=\"suffix\" className=\"input-suffix\">\n {getClearIcon()}\n <slot name=\"suffix\" />\n </span>\n </span>\n <span part=\"after-addon\" className=\"input-after-addon\">\n <slot name=\"addonAfter\" />\n </span>\n </div>\n </WrappedFormItem>\n );\n});\n\nfunction fixValue<T>(value: T) {\n return isNil(value) ? \"\" : String(value);\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 8;\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport calculateAutoSizeStyle from \"./calculateAutoSizeStyle.js\";\nimport styleText from \"./textarea.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport \"@next-core/theme\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ntype AutoSize =\n | boolean\n | {\n minRows: number;\n maxRows: number;\n };\n\ninterface TextareaProps extends FormItemProps {\n name?: string;\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n textareaStyle?: React.CSSProperties;\n minLength?: number;\n maxLength?: number;\n autoSize?: AutoSize;\n validateState?: string;\n onInputChange: (value: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用多行文本输入框构件\n * @author sailor\n */\n@defineElement(\"eo-textarea\", {\n styleTexts: [styleText],\n alias: [\"form.general-textarea\"],\n})\nclass Textarea extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 标签文字\n */\n @property() accessor label: string | undefined;\n\n /**\n * 值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 最小长度\n */\n @property({\n type: Number,\n })\n accessor minLength: number | undefined;\n\n /**\n * 最大长度\n */\n @property({\n type: Number,\n })\n accessor maxLength: number | undefined;\n\n /**\n * 大小自适应\n */\n @property({\n attribute: false,\n })\n accessor autoSize: AutoSize | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 表单校验最大长度\n */\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n /**\n * 表单校验最小长度\n */\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 校验信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 自定义样式\n */\n @property({ attribute: false }) accessor textareaStyle:\n | React.CSSProperties\n | undefined;\n\n /**\n * @detail\n * @description 值改变事件\n */\n @event({ type: \"change\" })\n accessor #InputChangeEvent!: EventEmitter<string>;\n\n handleInputChange = (value: string) => {\n this.value = value;\n this.#InputChangeEvent.emit(value);\n };\n\n render() {\n return (\n <TextareaComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n placeholder={this.placeholder}\n disabled={this.disabled}\n minLength={this.minLength}\n maxLength={this.maxLength}\n autoSize={this.autoSize}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n textareaStyle={this.textareaStyle}\n validateState={this.validateState}\n max={this.max}\n min={this.min}\n message={this.message}\n trigger=\"handleInputChange\"\n onInputChange={this.handleInputChange}\n />\n );\n }\n}\n\nexport function TextareaComponent(props: TextareaProps) {\n const {\n name,\n placeholder,\n disabled,\n textareaStyle,\n minLength,\n maxLength,\n autoSize,\n validateState,\n onInputChange,\n } = props;\n const [value, setValue] = useState(props.value);\n const [autoSizeStyle, setAutoSizeStyle] = useState<React.CSSProperties>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const [minRows, maxRows] = React.useMemo(() => {\n if (autoSize && typeof autoSize === \"object\") {\n return [autoSize.minRows, autoSize.maxRows];\n }\n\n return [];\n }, [autoSize]);\n\n const setAutoSize = useCallback(() => {\n const textareaElement = textareaRef.current as HTMLTextAreaElement;\n if (textareaElement && autoSize) {\n const textareaStyles = calculateAutoSizeStyle(\n textareaElement,\n minRows,\n maxRows\n );\n\n setAutoSizeStyle(textareaStyles);\n }\n }, [autoSize, maxRows, minRows]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onInputChange(e.target.value);\n setAutoSize();\n };\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n setAutoSize();\n }, [maxRows, minRows, setAutoSize]);\n\n return (\n <WrappedFormItem {...props}>\n <textarea\n ref={textareaRef}\n className={classNames({\n error: validateState === \"error\",\n })}\n name={name}\n value={value}\n disabled={disabled}\n style={{\n height: 94,\n ...textareaStyle,\n ...autoSizeStyle,\n }}\n placeholder={placeholder}\n minLength={minLength}\n maxLength={maxLength}\n onChange={handleInputChange}\n />\n </WrappedFormItem>\n );\n}\n\nexport { Textarea };\n","import { remove } from \"lodash\";\n\nexport class PubSub {\n #topics: Record<string, { token: string; func: Function }[]> = {};\n #subUid = 0;\n\n publish(topic: string, body: any): void {\n if (!this.#topics[topic]) {\n return;\n }\n const subscribers = this.#topics[topic];\n let len = subscribers ? subscribers.length : 0;\n while (len--) {\n subscribers[len].func(topic, body);\n }\n }\n\n subscribe(topic: string, fn: (topic: string, detail: any) => void): string {\n if (!this.#topics[topic]) {\n this.#topics[topic] = [];\n }\n const token = (++this.#subUid).toString();\n this.#topics[topic].push({\n token: token,\n func: fn,\n });\n return token;\n }\n\n unsubscribe(token: string): void {\n for (const m in this.#topics) {\n if (this.#topics[m]) {\n remove(this.#topics[m], (item) => item.token === token);\n }\n }\n }\n}\n","import { isEmpty, isNil } from \"lodash\";\nimport { PubSub } from \"./PubSub.js\";\n\ninterface FormStoreOptions {\n onValuesChanged?: (data: any) => void;\n}\n\ninterface FieldDetail {\n name: string;\n label?: string;\n originProps?: Record<string, any>;\n validate: Validate;\n [k: string]: any;\n}\n\nexport interface MessageBody {\n message: string;\n type: string;\n}\n\nexport interface WatchOptions {\n needValidate?: boolean;\n}\n\ninterface Validate {\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n message?: {\n required?: string;\n pattern?: string;\n min?: string;\n max?: string;\n };\n validator?: (value: any) => MessageBody | string;\n}\n\nlet uid = 0;\n\nclass Field {\n field: string;\n detail: FieldDetail;\n constructor(name: string, detail: FieldDetail) {\n this.field = name;\n this.detail = detail;\n }\n}\n\nexport class FormStore extends PubSub {\n static uid: number;\n static instance: Map<number, FormStore> = new Map();\n static getInstance(options?: FormStoreOptions): FormStore {\n if (!this.instance.get(uid)) {\n this.uid = uid;\n this.instance.set(this.uid, new FormStore(options));\n uid += 1;\n }\n return this.instance.get(this.uid) as FormStore;\n }\n\n #fields: Map<string, Field> = new Map();\n #options: FormStoreOptions | undefined;\n #formData!: Record<string, unknown>;\n #initData: Record<string, unknown> | undefined;\n\n constructor(options?: FormStoreOptions) {\n super();\n this.#formData = {};\n this.#options = options;\n }\n\n setField(name: string, detail: FieldDetail) {\n this.#fields.set(name, new Field(name, detail));\n }\n #getAllFields() {\n return [...this.#fields.keys()];\n }\n\n getAllValues() {\n return this.#formData;\n }\n\n setInitValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n this.#initData = values;\n this.setFieldsValue(values, isEmitValuseChange);\n }\n\n setFieldsValueByInitData(name: string) {\n const value = this.#initData?.[name];\n if (!isNil(value)) {\n this.#formData[name] = value;\n this.publish(`${name}.init.value`, value);\n }\n }\n\n setFieldsValue(values: Record<string, unknown>, isEmitValuseChange = true) {\n const allFields = this.#getAllFields();\n const newFormData: Record<string, unknown> = {\n ...this.#formData,\n };\n Object.entries(values).forEach(([k, v]) => {\n if (allFields.includes(k)) {\n newFormData[k] = v;\n this.#initData && (this.#initData[k] = v);\n this.publish(`${k}.init.value`, v);\n }\n });\n this.#formData = newFormData;\n\n if (isEmitValuseChange) {\n this.#options?.onValuesChanged?.({\n changedValues: values,\n allValues: this.getAllValues(),\n });\n }\n }\n\n resetFields(name?: string) {\n if (name) {\n this.#formData[name] = null;\n this.publish(`${name}.reset.fields`, null);\n } else {\n this.#formData = {};\n this.publish(\"reset.fields\", null);\n }\n }\n\n getFieldsValue(name?: string) {\n if (name) {\n return this.#formData[name];\n }\n return this.getAllValues();\n }\n\n removeField(name: string) {\n this.#fields.delete(name);\n }\n\n validateFields(\n callback: (err: boolean, value: any) => void\n ): boolean | Record<string, unknown> {\n const allFields = this.#getAllFields();\n const results: Array<MessageBody | undefined> = [];\n allFields.forEach((name) => {\n const field = this.#fields.get(name);\n if (field) {\n results.push(this.validateField(field.detail));\n }\n });\n\n if (results.some((result) => result?.type !== \"normal\")) {\n callback(true, results);\n return false;\n } else {\n callback(false, this.#formData);\n return this.#formData;\n }\n }\n\n validateField(field: string | FieldDetail) {\n const fieldDetail =\n typeof field === \"string\" ? this.#fields.get(field)?.detail : field;\n if (!fieldDetail) return;\n const { name, label, validate } = fieldDetail;\n const validateValue = this.#formData[name];\n\n const messageBody = (message: string, type = \"error\") => {\n return {\n type,\n message,\n };\n };\n\n const getName = () => label ?? name;\n\n const valid = (validate: Validate, value: string): MessageBody => {\n const { required, pattern, message, min, max, validator } = validate;\n const label = getName();\n\n if (\n required &&\n (typeof value === \"object\"\n ? isEmpty(value)\n : typeof value === \"number\"\n ? false\n : !value)\n ) {\n return messageBody(message?.required || `${label}为必填项`);\n }\n\n if (pattern) {\n const reg = new RegExp(pattern);\n if (!reg.test(value)) {\n return messageBody(\n message?.pattern || `${label}没有匹配正则 ${pattern}`\n );\n }\n }\n\n if (min && (!value || value.length < min)) {\n return messageBody(message?.min || `${label}至少包含 ${min} 个字符`);\n }\n\n if (max && value && value.length > max) {\n return messageBody(message?.max || `${label}不能超过 ${max} 个字符`);\n }\n\n if (validator) {\n let result = \"\";\n let parsedValidator = [];\n if (Array.isArray(validator)) {\n parsedValidator = validator;\n } else {\n parsedValidator.push(validator);\n }\n\n for (const v of parsedValidator) {\n result = v(value);\n\n if (result) {\n break;\n }\n }\n return typeof result === \"string\"\n ? messageBody(result, result ? \"error\" : \"normal\")\n : (result as MessageBody);\n }\n\n return messageBody(\"\", \"normal\");\n };\n\n const result = valid(validate, validateValue as string);\n this.publish(`${name}.validate`, result);\n return result;\n }\n\n getValueFromEvent(e: React.ChangeEvent): any {\n if (!e || !e.target) {\n return e;\n }\n const target = e.target as HTMLInputElement;\n return target.type === \"checkbox\" ? target.checked : target.value;\n }\n\n resetValidateState() {\n this.publish(`reset.validate`, null);\n }\n\n onWatch(\n name: string,\n event: React.ChangeEvent,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n const value = this.getValueFromEvent(event);\n\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n\n onChange(\n name: string,\n value: any,\n callback?: (v: string) => void,\n options?: WatchOptions\n ) {\n const field = this.#fields.get(name);\n\n if (field) {\n this.setFieldsValue({\n [name]: value,\n });\n\n if (options?.needValidate ?? true) {\n this.validateField(field.detail);\n }\n callback?.(value);\n }\n }\n}\n","import React, { useMemo } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { AbstractForm, FormStore, MessageBody } from \"@next-shared/form\";\nimport { ComponentSize, Layout } from \"../interface.js\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\ninterface FormProps {\n values?: Record<string, any>;\n layout?: Layout;\n size?: ComponentSize;\n}\n\nexport interface FormEvents {\n valuesChange?: Event;\n validateSuccess?: Event;\n validateError?: Event;\n}\n\nexport interface FormMapEvents {\n onValuesChange: \"values.change\";\n onValidateSuccess: \"validate.success\";\n onValidateError: \"validate.error\";\n}\n\n/**\n * 表单构件\n * @author sailor\n * @slot - 表单内容\n */\n@defineElement(\"eo-form\", {\n alias: [\"form.general-form\"],\n})\nclass Form extends ReactNextElement implements FormProps, AbstractForm {\n formStore: FormStore;\n #_values!: Record<string, unknown>;\n defaultEmitValuesChange = true;\n\n constructor() {\n super();\n this.formStore = FormStore.getInstance({\n onValuesChanged: this.handleValuesChange,\n });\n }\n\n get isFormElement(): true {\n return true;\n }\n\n set values(value: Record<string, unknown>) {\n this.#_values = value;\n\n this.#_setInitValue(value);\n }\n get values(): Record<string, unknown> {\n return this.#_values;\n }\n\n #_setInitValue(values: Record<string, unknown>) {\n this.formStore.setInitValue(values, this.defaultEmitValuesChange);\n }\n\n /**\n * 布局方式\n */\n @property() accessor layout: Layout | undefined;\n\n /**\n * 表单组件尺寸\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 表单值变更事件\n * @detail\n */\n @event({ type: \"values.change\" }) accessor #valuesChangeEvent!: EventEmitter<\n Record<string, unknown>\n >;\n handleValuesChange = (values: Record<string, unknown>) => {\n this.#valuesChangeEvent.emit(values);\n };\n\n /**\n * 表单验证成功时触发事件\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<\n MessageBody[]\n >;\n\n /**\n * 表单校验方法\n */\n @method()\n validate(): boolean | Record<string, unknown> {\n return this.formStore.validateFields((err, values) => {\n if (err) {\n this.#errorEvent.emit(values);\n } else {\n this.#successEvent.emit(values);\n }\n });\n }\n\n /**\n * 表单设置值方法\n */\n @method()\n setInitValue(values: Record<string, unknown>) {\n this.#_setInitValue(values);\n }\n\n /**\n * 表单重置值方法\n */\n @method()\n resetFields(name?: string) {\n this.formStore.resetFields(typeof name === \"string\" ? name : undefined);\n }\n\n /**\n * 获取表单值方法\n */\n @method()\n getFieldsValue(name?: string) {\n return this.formStore.getFieldsValue(\n typeof name === \"string\" ? name : undefined\n );\n }\n\n @property({\n attribute: false,\n })\n accessor formStyle: React.CSSProperties | undefined;\n\n /**\n * 校验表单字段方法\n */\n @method()\n validateField(name: string) {\n this.formStore.validateField(name);\n }\n\n /**\n * 重置表单校验状态方法\n */\n @method()\n resetValidateState() {\n this.formStore.resetValidateState();\n }\n\n render() {\n return (\n <FormComponent\n layout={this.layout}\n size={this.size}\n formStyle={this.formStyle}\n />\n );\n }\n}\n\ninterface FormComponentProps extends FormProps {\n formStyle?: React.CSSProperties;\n onValuesChange?: (value: Record<string, any>) => void;\n onValidateSuccess?: () => void;\n onValidateError?: () => void;\n}\n\nexport function FormComponent({\n layout = \"horizontal\",\n formStyle,\n}: FormComponentProps) {\n const computedStyle = useMemo((): React.CSSProperties => {\n switch (layout) {\n case \"vertical\": {\n return {\n display: \"flex\",\n flexDirection: \"column\",\n };\n }\n case \"inline\": {\n return {\n display: \"flex\",\n gap: 10,\n };\n }\n default:\n return {};\n }\n }, [layout]);\n\n return (\n <form>\n <slot\n style={{\n ...computedStyle,\n ...(formStyle ? formStyle : {}),\n }}\n />\n </form>\n );\n}\n\nexport { Form, FormProps };\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport {\n AbstractForm,\n FormItemElementBase,\n MessageBody,\n} from \"@next-shared/form\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport type { Form } from \"../form/index.jsx\";\nimport styleText from \"./FormItem.shadow.css\";\nimport classNames from \"classnames\";\nimport type { ComponentSize, Layout } from \"../interface.js\";\nimport \"@next-core/theme\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\ntype CurrentElement = HTMLElement & {\n size?: ComponentSize;\n validateState?: MessageBody | string;\n [key: string]: any;\n};\n\nexport interface FormItemProps {\n formElement?: AbstractForm | null;\n curElement?: CurrentElement;\n name?: string;\n label?: string;\n current?: HTMLElement;\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n labelCol?: string;\n wrapperCol?: string;\n message?: Record<string, string>;\n layout?: Layout;\n size?: ComponentSize;\n trigger?: string;\n valuePropsName?: string;\n notRender?: boolean;\n helpBrick?: { useBrick: UseSingleBrickConf | UseSingleBrickConf[] };\n labelBrick?: { useBrick: UseSingleBrickConf | UseSingleBrickConf[] };\n needValidate?: boolean;\n validator?: (value: any) => MessageBody | string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * 通用输入框构件\n * @author sailor\n */\n@defineElement(\"eo-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.general-form-item\"],\n})\nclass FormItem extends FormItemElementBase implements FormItemProps {\n @property({\n attribute: false,\n })\n accessor formElement: Form | undefined;\n\n @property({\n attribute: false,\n })\n accessor curElement: HTMLElement | undefined;\n\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n @property() accessor label: string | undefined;\n\n @property() accessor pattern: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * 表单项是否必填\n * @group basicFormItem\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 初始值\n */\n @property() accessor value: string | undefined;\n\n /**\n * 表单项 label 标签布局\n * @group ui\n */\n @property()\n accessor labelCol: string | undefined;\n\n /**\n * 表单项控件布局\n * @group ui\n */\n @property()\n accessor wrapperCol: string | undefined;\n\n @property() accessor valuePropsName: string | undefined;\n\n @property() accessor layout: Layout | undefined;\n\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 是否自动去除前后的空白字符\n * @default true\n * @group advancedFormItem\n */\n @property({\n type: Boolean,\n })\n accessor trim = true;\n\n /**\n * 事件触发方法名\n */\n @property()\n accessor trigger!: string;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n /**\n * 值变化时是否主动出发校验\n */\n @property({\n type: Boolean,\n })\n accessor needValidate: boolean | undefined;\n\n render() {\n if (this.notRender) return null;\n return (\n <FormItemComponent\n formElement={this.formElement}\n curElement={this.curElement}\n label={this.label}\n name={this.name}\n required={this.required}\n pattern={this.pattern}\n min={this.min}\n max={this.max}\n message={this.message}\n size={this.size || this.formElement?.size}\n layout={this.layout || this.formElement?.layout}\n trigger={this.trigger}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n valuePropsName={this.valuePropsName}\n needValidate={this.needValidate}\n validator={this.validator}\n />\n );\n }\n}\n\nexport { FormItem };\n\nexport function FormItemComponent(props: FormItemProps) {\n const {\n name,\n label,\n required,\n pattern,\n max,\n min,\n message,\n formElement,\n curElement,\n valuePropsName = \"value\",\n size,\n trigger = \"onChange\",\n layout = \"horizontal\",\n helpBrick,\n labelBrick,\n needValidate = true,\n validator,\n } = props;\n const formInstance = formElement?.formStore;\n\n const defaultValidateState = useRef<MessageBody>({\n message: \"\",\n type: \"normal\",\n });\n const [validateState, setValidateState] = useState<MessageBody>(\n defaultValidateState.current\n );\n\n useEffect(() => {\n if (!formInstance || !name || !curElement || curElement.$bindFormItem)\n return;\n const originTrigger = curElement[trigger];\n curElement[trigger] = (e: React.ChangeEvent) =>\n formInstance.onWatch(name, e, originTrigger, {\n needValidate,\n });\n curElement.$bindFormItem = true;\n\n formInstance.subscribe(`${name}.validate`, (_, detail) => {\n setValidateState(detail);\n curElement.validateState = detail.type;\n });\n formInstance.subscribe(`${name}.init.value`, (_, v) => {\n curElement[valuePropsName] = v;\n curElement.validateState = \"\";\n setValidateState({\n message: \"\",\n type: \"normal\",\n });\n });\n formInstance.subscribe(`${name}.reset.fields`, () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.fields\", () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.validate\", () => {\n setValidateState(defaultValidateState.current);\n curElement.validateState = defaultValidateState.current.type;\n });\n\n return () => {\n formInstance.removeField(name);\n formInstance.unsubscribe(`${name}.validate`);\n formInstance.unsubscribe(`${name}.init.value`);\n formInstance.unsubscribe(`${name}.reset.fields`);\n formInstance.unsubscribe(\"reset.fields\");\n };\n }, [curElement, formInstance, name, trigger, valuePropsName, needValidate]);\n\n useEffect(() => {\n if (!formInstance || !name || !curElement) return;\n formInstance.setField(name, {\n name,\n label,\n validate: {\n required,\n pattern,\n max,\n min,\n message,\n validator,\n },\n });\n\n if (layout === \"inline\") curElement.style.display = \"inline-block\";\n if (size) {\n curElement.size = formElement.size || size;\n }\n formInstance.setFieldsValueByInitData(name);\n }, [\n curElement,\n formElement,\n formInstance,\n label,\n layout,\n max,\n message,\n min,\n name,\n pattern,\n required,\n size,\n validator,\n ]);\n\n return (\n <div className={classNames(\"form-item\", layout)}>\n {label && (\n <div className=\"form-item-label-wrapper\">\n <div className=\"form-item-label\">\n <label>\n {required && <span className=\"required\">*</span>}\n {label}\n </label>\n {labelBrick?.useBrick ? (\n <ReactUseMultipleBricks {...labelBrick}></ReactUseMultipleBricks>\n ) : null}\n </div>\n </div>\n )}\n <div className=\"form-item-wrapper\">\n <div className=\"form-item-control\">\n <slot></slot>\n </div>\n {helpBrick?.useBrick ? (\n <ReactUseMultipleBricks {...helpBrick}></ReactUseMultipleBricks>\n ) : null}\n {formElement ? (\n <div\n className={classNames(\"message\", {\n error: validateState.type === \"error\",\n })}\n >\n {validateState?.type !== \"normal\" && validateState.message}\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n","import { get } from \"lodash\";\nimport {\n GeneralOption,\n GeneralComplexOption,\n GeneralGroupOption,\n} from \"../interface.js\";\n\nexport function formatOptions(\n options: GeneralOption[] = [],\n fields?: { label?: string; value?: string }\n) {\n return options.map((op) => {\n if (typeof op === \"number\" || typeof op === \"string\") {\n return { label: op, value: op };\n }\n if (typeof op === \"boolean\") {\n return { label: String(op), value: op };\n }\n if (fields) {\n return {\n ...op,\n label: get(op, fields.label || \"label\"),\n value: get(op, fields.value || \"value\"),\n };\n }\n return { ...op, label: op.label, value: op.value };\n }) as GeneralComplexOption[];\n}\n","import React, { CSSProperties } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type {\n RadioType,\n GeneralOption,\n GeneralComplexOption,\n UIType,\n RadioGroupButtonStyle,\n ComponentSize,\n} from \"../interface.js\";\nimport styleText from \"./index.shadow.css\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { isBoolean, isEqual } from \"lodash\";\n\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ninterface CustomOptions {\n url: string;\n description?: string;\n title: string;\n backgroundColor?: string;\n value: string;\n [propName: string]: any;\n}\n\nexport interface RadioProps {\n type?: RadioType;\n options: GeneralOption[] | CustomOptions[] | undefined;\n value?: any;\n disabled?: boolean;\n buttonStyle?: RadioGroupButtonStyle;\n size?: ComponentSize;\n ui?: UIType;\n useBrick?: UseSingleBrickConf;\n customStyle?: React.CSSProperties;\n}\nexport interface RadioEvents {\n change: CustomEvent<GeneralComplexOption>;\n optionsChange: CustomEvent<{\n options: GeneralComplexOption[];\n name: string;\n }>;\n}\nexport interface RadioEventsMapping {\n onValueChange: \"change\";\n onOptionsChange: \"optionsChange\";\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用单选构件\n * @author sailor\n */\n@defineElement(\"eo-radio\", {\n styleTexts: [styleText],\n alias: [\"form.general-radio\"],\n})\nclass Radio extends FormItemElementBase {\n /**\n * 下拉框字段名\n */\n @property() accessor name: string | undefined;\n\n /**\n * 单选框字段说明\n */\n @property() accessor label: string | undefined;\n\n /**\n * 单选框选项表\n * @required\n */\n @property({ attribute: false })\n accessor options: GeneralOption[] | undefined;\n\n /**\n * 单选框当前选中始值\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 单选框样式类型\n * @default \"default\"\n */\n @property()\n accessor type: RadioType | undefined;\n\n /**\n * UI样式\n * @default \"default\"\n */\n @property()\n accessor ui: UIType | undefined;\n\n /**\n * 大小,只对按钮样式生效\n * @default \"medium\"\n */\n @property()\n accessor size: ComponentSize | undefined;\n\n /**\n * 自定义radio的外层样式\n */\n @property({\n attribute: false,\n })\n accessor customStyle: React.CSSProperties | undefined;\n\n /**\n * 自定义radio的内容\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseSingleBrickConf | undefined;\n\n /**\n * 值变化事件\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n label: string;\n value: any;\n [key: string]: any;\n }>;\n\n /**\n * 选项列表变化事件\n */\n @event({ type: \"options.change\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n handleChange = (item: {\n label: string;\n value: any;\n [key: string]: any;\n }): void => {\n this.value = item.value;\n this.#changeEvent.emit(item);\n };\n\n #handleOptionsChange = (\n options: {\n label: string;\n value: any;\n [key: string]: any;\n },\n name: string\n ): void => {\n this.#optionsChange.emit({ options, name });\n };\n\n render() {\n return (\n <RadioComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n useBrick={this.useBrick}\n ui={this.ui}\n disabled={this.disabled}\n size={this.size}\n options={formatOptions(this.options)}\n type={this.type}\n value={this.value}\n required={this.required}\n message={this.message}\n onChange={this.handleChange}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleChange\"\n optionsChange={this.#handleOptionsChange}\n customStyle={this.customStyle}\n />\n );\n }\n}\n\ninterface RadioComponentProps extends RadioProps, FormItemProps {\n onChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n}\n\nexport function RadioComponent(props: RadioComponentProps) {\n const { name, disabled, type, customStyle, optionsChange, size } = props;\n const [value, setValue] = React.useState(props.value);\n const [options, setOptions] = React.useState(props.options);\n\n React.useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n React.useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options);\n optionsChange?.(props.options, name as string);\n }\n }, [name, options, optionsChange, props.options]);\n\n const handleChange = (\n e: React.ChangeEvent | React.MouseEvent,\n option: GeneralComplexOption\n ): void => {\n e.stopPropagation();\n setValue((option as GeneralComplexOption)?.value as any);\n props.onChange?.(option);\n };\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"radioGruop\", {\n dashboardRadioContainer: props.ui === \"dashboard\",\n })}\n >\n {options?.map((item: any, index: number) => {\n const icon = item.icon;\n const iconName = icon?.icon;\n const iconLib = icon?.lib;\n const iconStyle: CSSProperties = icon?.iconStyle;\n const key = isBoolean(item.value)\n ? item.value.toString()\n : item.value;\n const isDisabled = item.disabled || disabled;\n return (\n <label\n htmlFor={key}\n style={customStyle}\n className={classNames({\n disabledIconRadio: isDisabled,\n disabledCustomRadio: isDisabled,\n iconRadio: type === \"icon\",\n customRadio: type === \"custom\",\n specialIconRadio:\n type === \"icon-circle\" || type === \"icon-square\",\n defaultRadio: ![\n \"button\",\n \"icon\",\n \"custom\",\n \"icon-square\",\n \"icon-circle\",\n ].includes(type as string),\n buttonRadio: type === \"button\",\n [size || \"medium\"]: type === \"button\",\n })}\n key={key}\n onClick={(e) => !isDisabled && handleChange(e, item)}\n >\n <input\n type=\"radio\"\n name={name}\n disabled={isDisabled}\n checked={value === item.value}\n onChange={(e) => !isDisabled && handleChange(e, item)}\n />\n {type === \"icon\" ? (\n <div className={classNames({ content: true })}>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"32px\",\n ...iconStyle,\n }}\n />\n )}\n <div>{item.label}</div>\n </div>\n ) : type === \"custom\" ? (\n <div className={\"customContent\"}>\n {props.useBrick && (\n <ReactUseBrick\n useBrick={props.useBrick}\n data={item}\n ></ReactUseBrick>\n )}\n </div>\n ) : type === \"icon-circle\" || type === \"icon-square\" ? (\n <div\n className={classNames({\n iconContent:\n type === \"icon-circle\" || type === \"icon-square\",\n })}\n >\n {item.icon && (\n <div\n className={classNames({\n circleIcon: type === \"icon-circle\",\n squareIcon: type === \"icon-square\",\n })}\n >\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"46px\",\n ...iconStyle,\n }}\n />\n </div>\n )}\n <span title={item.label}>{item.label}</span>\n </div>\n ) : type === \"button\" ? (\n <div\n className={classNames(\"buttonContent\", {\n buttonRadioCheck: value === item.value,\n disabledButtonRadio: isDisabled,\n })}\n >\n <span>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"22px\",\n marginRight: \"4px\",\n verticalAlign: \"-0.25em\",\n ...iconStyle,\n }}\n />\n )}\n {item.label}\n </span>\n </div>\n ) : (\n <span className={classNames({ content: true })}>\n {icon && (\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n ...iconStyle,\n }}\n />\n )}\n {item.label}\n </span>\n )}\n </label>\n );\n })}\n </div>\n </WrappedFormItem>\n );\n}\nexport { Radio };\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { GeneralComplexOption, GeneralGroupOption } from \"../interface.js\";\nimport styleText from \"./index.shadow.css\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport type {\n Tag,\n TagProps,\n TagMapEvents,\n TagEvents,\n} from \"@next-bricks/basic/tag\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { isEmpty, isEqual } from \"lodash\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedTag = wrapBrick<Tag, TagProps, TagEvents, TagMapEvents>(\"eo-tag\", {\n onCheck: \"check\",\n onClose: \"close\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface SelectProps extends FormItemProps {\n value?: any;\n options: GeneralComplexOption[] | GeneralGroupOption[];\n placeholder?: string;\n multiple?: boolean;\n clearable?: boolean;\n disabled?: boolean;\n inputStyle?: React.CSSProperties;\n validateState?: string;\n onChange?: (value: any) => void;\n onValueChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n onFocus?: () => void;\n onSearch?: (value: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用下拉选择构件\n * @author julielai\n */\n@defineElement(\"eo-select\", {\n styleTexts: [styleText],\n alias: [\"form.general-select\"],\n})\nclass Select extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 选项列表\n * @required\n */\n @property({ attribute: false })\n accessor options: GeneralComplexOption[] | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否支持多选\n */\n @property({ type: Boolean })\n accessor multiple: boolean | undefined;\n\n /**\n * 是否支持清除\n * @default true\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * 下拉选择事件\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n value: string | string[];\n options: GeneralComplexOption[];\n }>;\n\n /**\n * 下拉框search事件\n */\n @event({ type: \"search\" }) accessor #searchEvent!: EventEmitter<{\n value: string;\n }>;\n\n /**\n * 下拉框focus事件\n */\n @event({ type: \"focus\" }) accessor #focusEvent!: EventEmitter<void>;\n\n /**\n * 选项列表变化事件\n */\n @event({ type: \"options.change\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n handleChange = (value: string | string[]): void => {\n this.value = value;\n const findOption = (value: any) =>\n (formatOptions(this.options) ?? []).find(\n (option) => option.value === value\n ) as GeneralComplexOption;\n const selectedOptions = Array.isArray(value)\n ? value.map((item) => findOption(item))\n : [findOption(value)];\n\n this.#changeEvent.emit({\n value,\n options: selectedOptions,\n });\n };\n\n private _handleOptionsChange = (\n options: {\n label: string;\n value: any;\n [key: string]: any;\n },\n name: string\n ): void => {\n Promise.resolve().then(() => {\n this.#optionsChange.emit({ options, name });\n });\n };\n\n handleSearch = (value: string) => {\n this.#searchEvent.emit({\n value,\n });\n };\n\n handleFocus = () => {\n this.#focusEvent.emit();\n };\n\n render() {\n return (\n <SelectComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n disabled={this.disabled}\n placeholder={this.placeholder}\n required={this.required}\n multiple={this.multiple}\n clearable={this.clearable}\n trigger=\"handleChange\"\n inputStyle={this.inputStyle}\n validateState={this.validateState}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n options={formatOptions(this.options)}\n onChange={this.handleChange}\n optionsChange={this._handleOptionsChange}\n onSearch={this.handleSearch}\n onFocus={this.handleFocus}\n />\n );\n }\n}\n\nexport function SelectComponent(props: SelectProps) {\n const {\n name,\n disabled,\n multiple,\n clearable = true,\n inputStyle,\n placeholder,\n validateState,\n optionsChange,\n onChange,\n onFocus,\n onValueChange,\n onSearch,\n } = props;\n const [inputValue, setInputValue] = useState<string>(\"\");\n const [selectValue, setSelectValue] = useState<any>(\n multiple ? [] : undefined\n );\n const [options, setOptions] = useState<any[]>(props.options ?? []);\n const [isDropHidden, setIsDropHidden] = useState<boolean>(true);\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [customSelectvalue, setCustomSelectValue] = useState<string[]>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n setIsFocused(false);\n setIsDropHidden(true);\n };\n document.addEventListener(\"click\", handleDocumentClick);\n return () => {\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n });\n\n useEffect(() => {\n setSelectValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options);\n optionsChange?.(props.options, name as string);\n }\n }, [name, options, optionsChange, props.options]);\n\n const handleChange = useCallback(\n (option: GeneralComplexOption): void => {\n let newValue;\n if (multiple) {\n newValue = (selectValue ?? []).includes(option.value)\n ? (selectValue as string[]).filter((item) => item !== option.value)\n : (((selectValue as any[]) ?? []).concat(option.value) as string[]);\n } else {\n newValue = option.value;\n }\n setSelectValue(newValue);\n onChange?.(newValue);\n onValueChange?.(newValue);\n !multiple && setIsDropHidden(true);\n setInputValue(\"\");\n },\n [multiple, selectValue, onChange]\n );\n\n const handleMultipleItemClose = useCallback(\n (closeValue: string | number | boolean) => {\n const newValue = (selectValue as string[]).filter(\n (item) => item !== closeValue\n );\n setSelectValue(newValue);\n onChange?.(newValue);\n },\n [onChange, selectValue]\n );\n\n const handleClear = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setSelectValue(undefined);\n onChange?.(undefined);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n const value = e.target.value;\n setInputValue(value);\n onSearch?.(value);\n };\n\n const computedOptions = React.useMemo(() => {\n return options.concat(\n customSelectvalue.map((item, index) => ({\n key: index,\n label: item,\n value: item,\n }))\n );\n }, [options, customSelectvalue]);\n\n const handleKeydown = useCallback(\n (e: KeyboardEvent): void => {\n if (e.code === \"Enter\" && inputValue) {\n if (!computedOptions.find((item: any) => item.value === inputValue)) {\n setCustomSelectValue(customSelectvalue.concat(inputValue));\n }\n handleChange({\n value: inputValue,\n label: inputValue,\n });\n setInputValue(\"\");\n }\n if (\n e.code === \"Backspace\" &&\n multiple &&\n inputValue === \"\" &&\n selectValue?.length\n ) {\n selectValue.pop();\n setSelectValue([...selectValue]);\n }\n },\n [\n computedOptions,\n customSelectvalue,\n handleChange,\n inputValue,\n multiple,\n selectValue,\n ]\n );\n\n const renderTag = useCallback(\n (list: Array<number | string | boolean>) => {\n const ellipsisInfo =\n list.length - 3 > 0\n ? {\n label: `+${list.length - 3}`,\n key: \"$$key\",\n value: \"\",\n closeable: false,\n }\n : null;\n const tagList: Array<GeneralComplexOption | string | number | boolean> =\n list.slice(0, 3);\n ellipsisInfo && tagList.push(ellipsisInfo);\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n\n return tagList.map((item) => {\n let option: GeneralComplexOption;\n if (typeof item === \"object\") {\n option = item;\n } else {\n option =\n allOptions.find((option: any) => option.value === item) ??\n ({} as GeneralComplexOption);\n option.closeable = !disabled && option.closeable;\n }\n return (\n <WrappedTag\n key={option.value as number}\n ellipsisWidth=\"100px\"\n color={disabled ? \"#ddd\" : undefined}\n closable={option.closeable}\n onCheck={() => {\n //\n }}\n onClose={() => handleMultipleItemClose(option.value)}\n >\n {option.label}\n </WrappedTag>\n );\n });\n },\n [handleMultipleItemClose, computedOptions, disabled]\n );\n\n const getLabel = useCallback(\n (value: any) => {\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n if (value !== undefined) {\n return (\n (multiple\n ? renderTag(value)\n : allOptions.find((item: any) => item.value === value)?.label) ?? \"\"\n );\n }\n return \"\";\n },\n [computedOptions, renderTag]\n );\n\n const renderLabel = useMemo(() => {\n return getLabel(selectValue) || (placeholder as string);\n }, [getLabel, placeholder, selectValue]);\n\n const isEmptyValue = useMemo(() => {\n return typeof selectValue === \"object\"\n ? isEmpty(selectValue)\n : selectValue === undefined;\n }, [selectValue]);\n\n useEffect(() => {\n window.addEventListener(\"keydown\", handleKeydown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeydown);\n };\n }, [handleKeydown]);\n\n const getSelectOption = (item: any): React.ReactNode => (\n <div\n key={item.value.toString()}\n className={classNames(\"select-item\", \"select-item-option\", {\n disabled: item.disabled,\n \"select-option-selected\":\n typeof selectValue !== \"object\"\n ? selectValue === item.value\n : (selectValue as any[]).includes(item.value),\n })}\n onClick={() => !item.disabled && handleChange(item)}\n >\n <div className=\"select-item-option-content\">\n <div className=\"option\">\n <span className=\"label\">{item.label}</span>\n </div>\n <div className=\"is-checked\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"check\",\n theme: \"outlined\",\n }}\n />\n </div>\n </div>\n </div>\n );\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"select\", {\n \"select-disabled\": disabled,\n \"select-allow-clear\": clearable,\n \"select-single\": !multiple,\n \"select-multiple\": multiple,\n })}\n style={inputStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div\n className={classNames(\"select-selector\", {\n \"selector-focused\": isFocused,\n \"is-error\": validateState === \"error\",\n })}\n onClick={() => {\n if (!disabled) {\n setIsDropHidden(!isDropHidden);\n setIsFocused(!isFocused);\n onFocus?.();\n inputRef.current && inputRef.current.focus();\n }\n }}\n onBlur={() => setInputValue(\"\")}\n >\n <div className=\"select-selection-overflow\">\n <div\n className=\"selected-item\"\n style={\n isEmptyValue\n ? { color: \"var(--antd-input-placeholder-color)\" }\n : {}\n }\n >\n <span className=\"label\">{renderLabel}</span>\n </div>\n {multiple && (\n <div className=\"selected-item\">\n <div className=\"select-selection-search\">\n <input\n type=\"text\"\n readOnly={!multiple}\n value={inputValue}\n ref={inputRef}\n className=\"select-selection-search-input\"\n onChange={handleInputChange}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"select-arrow\">\n {!isEmptyValue && isFocused && clearable ? (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onClick={(e) => handleClear(e)}\n />\n ) : (\n <span\n className={classNames(\n \"anticon\",\n \"anticon-down \",\n \"ant-select-suffix\",\n {\n focus: isFocused,\n }\n )}\n >\n <WrappedIcon icon=\"down\" lib=\"antd\" theme=\"outlined\" />\n </span>\n )}\n </span>\n </div>\n <div\n style={{ ...(isDropHidden ? { display: \"none\" } : {}) }}\n className=\"select-dropdown\"\n >\n <div className=\"dropdown-list\">\n <div>\n <div className=\"dropdown-inner\">\n {computedOptions.length > 0 ? (\n computedOptions.map((item: any) => {\n return item.options?.length ? (\n <div key={item.label} className=\"select-group-wrapper\">\n <div className=\"select-group-label\">{item.label}</div>\n {formatOptions(item.options).map((option: any) =>\n getSelectOption(option)\n )}\n </div>\n ) : (\n getSelectOption(item)\n );\n })\n ) : (\n <div className=\"empty-tips\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"warning\",\n theme: \"filled\",\n color: \"yellow\",\n }}\n style={{\n fontSize: 16,\n marginRight: 12,\n }}\n />\n 无数据\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </WrappedFormItem>\n );\n}\n\nexport { Select };\n","import React from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport styleText from \"./index.shadow.css\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type { ButtonType } from \"../interface.js\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\ninterface SubmitButtonsProps {\n curElement: HTMLElement;\n submitText?: string;\n submitType?: ButtonType;\n submitDisabled?: boolean;\n cancelText?: string;\n cancelType?: ButtonType;\n onSubmitClick?: (event: React.MouseEvent) => void;\n onCancelClick?: (event: React.MouseEvent) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 用于general-forms的通用按钮\n * @author zhendong\n */\n@defineElement(\"eo-submit-buttons\", {\n styleTexts: [styleText],\n alias: [\"form.submit-buttons\"],\n})\nclass SubmitButtons extends FormItemElementBase {\n /**\n * 提交按钮的文字\n * @default \"提交\"\n */\n @property() accessor submitText: string = \"提交\";\n\n /**\n * 取消按钮的文字,不设置则不显示取消按钮\n */\n @property()\n accessor cancelText: string | undefined;\n\n /**\n * 点击确定按钮后自动禁用\n */\n @property({ type: Boolean })\n accessor disableAfterClick: boolean | undefined;\n\n /**\n * 禁用提交按钮\n */\n @property({ type: Boolean }) accessor submitDisabled: boolean | undefined;\n\n /**\n * 提交按钮类型\n */\n @property() accessor submitType: ButtonType | undefined;\n\n /**\n * 取消按钮类型\n */\n @property() accessor cancelType: ButtonType | undefined;\n\n /**\n * 点击提交按钮触发的事件\n */\n @event({ type: \"submit\" }) accessor #submitEvent!: EventEmitter<void>;\n\n /**\n * 点击取消按钮触发的事件\n */\n @event({ type: \"cancel\" }) accessor #cancelEvent!: EventEmitter<void>;\n\n private _handleSubmitClick = (): void => {\n Promise.resolve().then(() => {\n this.#submitEvent.emit();\n if (this.getFormElement()) {\n (this.getFormElement() as any).validate();\n }\n if (this.disableAfterClick) {\n this.submitDisabled = true;\n }\n });\n };\n\n private _handleCancelClick = (): void => {\n Promise.resolve().then(() => {\n this.#cancelEvent.emit();\n });\n };\n\n render() {\n return (\n <ButtonsComponent\n curElement={this}\n submitDisabled={this.submitDisabled}\n submitText={this.submitText}\n submitType={this.submitType}\n cancelText={this.cancelText}\n cancelType={this.cancelType}\n onCancelClick={this._handleCancelClick}\n onSubmitClick={this._handleSubmitClick}\n />\n );\n }\n}\n\nexport function ButtonsComponent(props: SubmitButtonsProps) {\n return (\n <WrappedFormItem {...props}>\n {props.submitText && (\n <WrappedButton\n className={\"submitBtn\"}\n type={props.submitType || \"primary\"}\n onClick={props.onSubmitClick}\n disabled={props.submitDisabled}\n >\n {props.submitText}\n </WrappedButton>\n )}\n {props.cancelText && (\n <WrappedButton\n data-test-id=\"cancelBtn\"\n type={props.cancelType || \"text\"}\n onClick={props.onCancelClick}\n >\n {props.cancelText}\n </WrappedButton>\n )}\n </WrappedFormItem>\n );\n}\nexport { SubmitButtons };\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport styleText from \"./checkbox.shadow.css\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { isEqual } from \"lodash\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport type CheckboxType = \"default\" | \"icon\";\n\nexport declare type CheckboxValueType = string | number | boolean;\n\nexport interface CheckboxOptionType {\n label: React.ReactNode;\n value: any;\n style?: React.CSSProperties;\n disabled?: boolean;\n checkboxColor?: string;\n [propName: string]: any;\n}\n\nexport interface MenuIcon {\n [propName: string]: any;\n}\n\nexport interface OptionGroup {\n name: string;\n key: string;\n options: CheckboxOptionType[];\n}\n\nexport interface CheckboxProps extends FormItemProps {\n options?: CheckboxOptionType[];\n label?: string;\n value?: CheckboxValueType[];\n disabled?: boolean;\n type?: CheckboxType;\n isCustom?: boolean;\n onChange?: (value: CheckboxValueType[]) => void;\n optionsChange?: (options: CheckboxOptionType[], name: string) => void;\n}\n\n/**\n * 表单复选框构件\n * @author derrickma\n */\n@defineElement(\"eo-checkbox\", {\n styleTexts: [styleText],\n alias: [\"form.general-checkbox\"],\n})\nclass Checkbox extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n /**\n * 值\n */\n @property({ attribute: false })\n accessor value: CheckboxValueType[] | undefined;\n\n /**\n * 多选框选项表\n * @required\n */\n @property({ attribute: false })\n accessor options: CheckboxOptionType[] = [];\n\n /**\n * 类型\n * @default \"default\"\n */\n @property()\n accessor type: CheckboxType = \"default\";\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否为自定义\n * @default false\n */\n @property({ type: Boolean })\n accessor isCustom: boolean = false;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 复选框变化事件\n */\n @event({ type: \"change\" })\n accessor #checkboxChangeEvent!: EventEmitter<CheckboxOptionType[]>;\n\n handleCheckboxChange = (detail: CheckboxValueType[]) => {\n this.value = detail;\n const currentSelectOption = formatOptions(this.options).filter((item) =>\n detail.includes(item.value)\n );\n this.#checkboxChangeEvent.emit(currentSelectOption);\n };\n\n /**\n * 复选框变化事件\n */\n @event({ type: \"options.change\" })\n accessor #optionsChangeEvent!: EventEmitter<{\n options: CheckboxOptionType[];\n name: string;\n }>;\n\n #handleOptionsChange = (options: CheckboxOptionType[], name: string) => {\n this.#optionsChangeEvent.emit({\n options,\n name,\n });\n };\n\n render() {\n return (\n <CheckboxComponent\n curElement={this}\n formElement={this.getFormElement()}\n options={formatOptions(this.options)}\n label={this.label}\n name={this.name}\n value={this.value}\n type={this.type}\n disabled={this.disabled}\n isCustom={this.isCustom}\n required={this.required}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleCheckboxChange\"\n onChange={this.handleCheckboxChange}\n optionsChange={this.#handleOptionsChange}\n />\n );\n }\n}\n\nfunction CheckboxComponent(props: CheckboxProps) {\n const [values, setValues] = useState<CheckboxValueType[]>(props?.value ?? []);\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options || []);\n props.optionsChange?.(props.options ?? [], props.name as string);\n }\n }, [options, props, props.options]);\n\n useEffect(() => {\n setValues(props?.value || []);\n }, [props.value]);\n\n const handleInputClick = (\n e: React.ChangeEvent<HTMLInputElement>,\n item: CheckboxOptionType\n ) => {\n e.stopPropagation();\n let newValue: CheckboxValueType[] = [];\n if (e.target.checked) {\n newValue = [...values, item.value];\n }\n if (!e.target.checked && values?.includes(item.value)) {\n newValue = [...values];\n const index = newValue.findIndex((i) => i == item.value);\n newValue.splice(index, 1);\n }\n setValues(newValue);\n props.onChange?.(newValue);\n };\n\n const getIcon = (item: CheckboxOptionType) => {\n let iconNode = null;\n const { icon } = item;\n if (icon) {\n if (\"imgSrc\" in icon) {\n const mergedIcon: any = {\n ...icon,\n imgSrc: icon.imgSrc,\n imgStyle: {\n marginRight: \"8px\",\n verticalAlign: \"-0.42em\",\n ...icon.imgStyle,\n },\n };\n iconNode = icon && (\n <WrappedIcon {...(mergedIcon as GeneralIconProps)} />\n );\n } else {\n iconNode = icon && (\n <WrappedIcon\n {...(icon as GeneralIconProps)}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n }}\n />\n );\n }\n }\n return iconNode;\n };\n\n const IconCheckbox = (props: CheckboxProps) => {\n const { name, disabled = false, isCustom = false } = props;\n return (\n <>\n {options.map((item: any) => (\n <label\n key={item.value}\n className={\n disabled || item?.disabled\n ? classNames({\n disabledIconCheckbox: true,\n disabledIconCustomCheckbox: isCustom,\n })\n : classNames({\n iconCheckbox: true,\n iconCustomCheckbox: isCustom,\n })\n }\n >\n <div className={classNames({ inputBox: true })}>\n <input\n type=\"checkbox\"\n value={item.value}\n name={name}\n defaultChecked={values?.includes(item.value)}\n disabled={disabled || item?.disabled}\n onChange={(e) => handleInputClick(e, item)}\n />\n </div>\n <div className={classNames({ content: true })}>\n {item.icon && (\n <WrappedIcon\n {...(item.icon as GeneralIconProps)}\n style={{\n fontSize: isCustom ? \"52px\" : \"32px\",\n }}\n ></WrappedIcon>\n )}\n <div className={classNames({ text: true })}>\n {item.label || item.value}\n </div>\n </div>\n </label>\n ))}\n </>\n );\n };\n\n const CheckboxItem = (props: CheckboxProps) => {\n return (\n <div\n style={{\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n minHeight: \"32px\",\n }}\n >\n <div\n className={classNames({\n checkboxWrapper: true,\n })}\n >\n {options?.map((item: CheckboxOptionType) => {\n const disabled = item.disabled || props.disabled;\n return (\n <label\n key={item.value}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelDisabled: disabled,\n })}\n >\n <span\n style={{ color: item.checkboxColor }}\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputWrapperDisabled: disabled,\n checkboxInputCheck: values.includes(item.value),\n })}\n >\n <input\n onChange={(e) => !disabled && handleInputClick(e, item)}\n disabled={disabled}\n defaultChecked={values?.includes(item.value)}\n className={classNames({\n checkboxInput: true,\n checkboxInputDisabled: disabled,\n })}\n type=\"checkbox\"\n id={item.value}\n ></input>\n <span className={classNames({ checkboxInner: true })}></span>\n </span>\n\n <span className={classNames({ checkboxText: true })}>\n <slot>\n {getIcon(item)}\n {item.label}\n </slot>\n </span>\n </label>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n {props.type == \"icon\" ? (\n <IconCheckbox {...props}></IconCheckbox>\n ) : (\n <CheckboxItem {...props}></CheckboxItem>\n )}\n </WrappedFormItem>\n );\n}\n\nexport { Checkbox };\n","export enum K {\n UNIQUE = \"UNIQUE\",\n}\n\nconst en: Locale = {\n UNIQUE: \"{{ name }} can not repeat!\",\n};\n\nconst zh: Locale = {\n UNIQUE: \"{{ name }} 不能重复!\",\n};\n\nexport const NS = \"bricks/form/dynamic-form-item\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Form,\n FormEvents,\n FormMapEvents,\n FormProps,\n} from \"../form/index.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { UseBrickConf, UseSingleBrickConf } from \"@next-core/types\";\nimport styleText from \"./dynamic-form-item.shadow.css\";\nimport \"@next-core/theme\";\nimport { isEqual, flatten, omit, isEmpty } from \"lodash\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nconst WrappedForm = wrapBrick<Form, FormProps, FormEvents, FormMapEvents>(\n \"eo-form\",\n {\n onValuesChange: \"values.change\",\n onValidateSuccess: \"validate.success\",\n onValidateError: \"validate.error\",\n }\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport function uniqueValidatorFN(\n props: DynamicFormItemProps,\n properties: any,\n t: any\n) {\n return () => {\n const fieldValue = props?.curElement?.value?.map(\n (v: any) => v[properties.name as string]\n );\n if (new Set(fieldValue).size !== fieldValue.length) {\n return (\n (properties.message as any)?.unique ??\n t(K.UNIQUE, { name: properties.label ?? properties.name })\n );\n }\n return \"\";\n };\n}\n\ntype DynamicFormValuesItem = Record<string, any>;\n\ninterface DynamicFormItemProps extends FormItemProps {\n form?: Form;\n useBrick?: UseBrickConf;\n value?: DynamicFormValuesItem[];\n validateState?: string;\n needValidate?: boolean;\n onChange?: (value: DynamicFormValuesItem[]) => void;\n onValuesChange?: (values: DynamicFormValuesItem[]) => void;\n}\n\n/**\n * 动态表单\n * @author sailor\n */\n@defineElement(\"eo-dynamic-form-item\", {\n styleTexts: [styleText],\n alias: [\"form.dynamic-form-item\"],\n})\nclass DynamicFormItem extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n /**\n * 字段说明\n */\n @property() accessor label: string | undefined;\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: DynamicFormValuesItem[] | undefined;\n\n /**\n * 动态表单子项构件列表\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseBrickConf | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<DynamicFormValuesItem[]>;\n\n handleDynamicFormChange = (values: DynamicFormValuesItem[]) => {\n this.value = values;\n this.#changeEvent.emit(values);\n this.getFormElement()?.resetValidateState();\n };\n\n render() {\n return (\n <DynamicFormItemComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n required={this.required}\n useBrick={this.useBrick}\n value={this.value}\n validateState={this.validateState}\n needValidate={false}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleDynamicFormChange\"\n onChange={this.handleDynamicFormChange}\n onValuesChange={this.handleDynamicFormChange}\n />\n );\n }\n}\n\nexport function DynamicFormItemComponent(props: DynamicFormItemProps) {\n const { t } = useTranslation(NS);\n\n const formWrapperRef = useRef<HTMLDivElement>(null);\n const [values, setValues] = useState<DynamicFormValuesItem[]>(\n props.value ?? []\n );\n\n const [bricks, setBricks] = useState<UseSingleBrickConf[]>([]);\n\n const bricksOfNoLabel = useMemo(\n () => bricks.map((brick: any) => omit(brick, \"properties.label\")),\n [bricks]\n );\n\n const handleAddItem = () => {\n setValues(values.concat({}));\n };\n\n useEffect(() => {\n if (!isEqual(props.value, values)) {\n setValues(props.value ?? []);\n }\n }, [props.value]);\n\n useEffect(() => {\n if (props.useBrick) {\n const parsedUseBrick: UseSingleBrickConf[] = flatten(\n new Array(props.useBrick)\n );\n\n setBricks(\n parsedUseBrick.map((brick) => {\n const { properties = {} } = brick;\n if (properties.unique) {\n let parsedValidator: any = [\n uniqueValidatorFN(props, properties, t),\n ];\n if (properties.validator) {\n parsedValidator = [\n ...flatten(new Array(properties.validator)),\n ...parsedValidator,\n ];\n }\n return {\n ...brick,\n properties: {\n ...brick.properties,\n validator: parsedValidator,\n },\n };\n } else {\n return brick;\n }\n })\n );\n }\n }, [props.useBrick, props.curElement]);\n\n const validate = () => {\n const formWrapper = formWrapperRef.current;\n const forms = formWrapper?.querySelectorAll(\n \".dynamic-form\"\n ) as unknown as Form[];\n const result: Array<boolean | Record<string, unknown>> = [];\n if (forms.length) {\n forms.forEach((item) => {\n result.push(item.validate());\n });\n }\n return result.every(Boolean) ? \"\" : \"动态表单校验失败\";\n };\n\n const handleValuesChange = useCallback(\n (value: CustomEvent<DynamicFormValuesItem>, index: number) => {\n props.onChange?.(\n values.map((item, i) => {\n if (i === index) {\n return value.detail.allValues;\n }\n return item;\n })\n );\n },\n [props, values]\n );\n\n const handleRemoveItem = useCallback(\n (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n setValues(newValues);\n props.onChange?.(newValues);\n },\n [props, values]\n );\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validate}>\n <div className=\"dynamic-form-wrapper\" ref={formWrapperRef}>\n {values.map((value, index) => {\n return (\n <div className=\"dynamic-form-item\" key={index}>\n {!isEmpty(bricks) && (\n <WrappedForm\n layout=\"vertical\"\n formStyle={{ flexDirection: \"row\", alignItems: \"flex-start\" }}\n className=\"dynamic-form\"\n values={value}\n defaultEmitValuesChange={false}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n onValuesChange={(value) => handleValuesChange(value, index)}\n >\n <ReactUseMultipleBricks\n useBrick={\n (index === 0\n ? bricks\n : bricksOfNoLabel) as UseSingleBrickConf[]\n }\n data={value}\n />\n <div className=\"remove-btn-wrapper\">\n <WrappedIcon\n lib=\"easyops\"\n category=\"assets-inventory\"\n icon=\"out\"\n className=\"remove-btn\"\n onClick={() => handleRemoveItem(index)}\n />\n </div>\n </WrappedForm>\n )}\n </div>\n );\n })}\n <WrappedButton\n className=\"add-btn\"\n icon={{\n category: \"assets-inventory\",\n icon: \"xin\",\n lib: \"easyops\",\n }}\n type=\"dashed\"\n buttonStyle={{\n width: \"100%\",\n }}\n onClick={handleAddItem}\n >\n 添加\n </WrappedButton>\n </div>\n <slot name=\"helpSlot\"></slot>\n </WrappedFormItem>\n );\n}\n\nexport { DynamicFormItem };\n","import React, { useEffect, useState, useMemo } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { debounce } from \"lodash\";\nimport {\n Input,\n InputEvents,\n InputEventsMap,\n InputProps,\n} from \"../input/index.jsx\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onChange: \"change\",\n }\n);\n\nexport interface SearchProps {\n value?: string;\n placeholder?: string;\n autoFocus?: boolean;\n clearable?: boolean;\n trim?: boolean;\n debounceTime?: number;\n}\n\nexport interface SearchEvents {\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\nexport interface SearchEventsMap {\n onChange: \"change\";\n onSearch: \"search\";\n}\n\n/**\n * 搜索框\n */\nexport\n@defineElement(\"eo-search\", {\n styleTexts: [styleText],\n alias: [\"form.general-search\"],\n})\nclass GeneralSearch extends ReactNextElement implements SearchProps {\n /**\n * 搜索框的值\n */\n @property()\n accessor value: string = \"\";\n\n /**\n * 提示语\n */\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否自动聚焦\n */\n @property({\n type: Boolean,\n })\n accessor autoFocus: boolean | undefined;\n\n /**\n * 可以点击清除图标删除内容\n */\n @property({\n type: Boolean,\n })\n accessor clearable: boolean | undefined;\n\n /**\n * 是否剔除前后空格\n */\n @property({\n type: Boolean,\n })\n accessor trim: boolean | undefined;\n\n /**\n * 默认延迟时间\n */\n @property({\n type: Number,\n })\n accessor debounceTime: number = 0;\n\n /**\n * 输入的搜索字符,输入变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<string>;\n #handleChange = (value: string) => {\n this.value = value;\n };\n #handleDebouncedChange = (value: string) => {\n this.#change.emit(this.trim ? value?.trim() : value);\n };\n\n /**\n * 搜索时触发\n */\n @event({ type: \"search\" })\n accessor #search!: EventEmitter<string>;\n #handleSearch = (value: string) => {\n this.#search.emit(this.trim ? value?.trim() : value);\n };\n\n render() {\n return (\n <GeneralSearchComponent\n value={this.value}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n clearable={this.clearable}\n debounceTime={this.debounceTime}\n onChange={this.#handleChange}\n onSearch={this.#handleSearch}\n onDebouncedChange={this.#handleDebouncedChange}\n />\n );\n }\n}\n\ninterface SearchComponentProps extends SearchProps {\n onSearch?: (value: string) => void;\n onChange?: (value: string) => void;\n onDebouncedChange?: (value: string) => void;\n}\n\nexport function GeneralSearchComponent(props: SearchComponentProps) {\n const {\n placeholder,\n autoFocus,\n clearable,\n debounceTime,\n onDebouncedChange,\n onChange,\n onSearch,\n } = props;\n\n const [value, setValue] = useState<string>();\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const _onDebouncedChange = useMemo(() => {\n return debounceTime\n ? debounce(onDebouncedChange!, debounceTime)\n : onDebouncedChange;\n }, [debounceTime]);\n\n const handleSearch = () => {\n onSearch?.(value!);\n };\n\n const handleChange = (e: CustomEvent<string>) => {\n setValue(e.detail);\n onChange?.(e.detail);\n _onDebouncedChange?.(e.detail);\n };\n\n return (\n <WrappedInput\n type=\"text\"\n autoFocus={autoFocus}\n clearable={clearable}\n placeholder={placeholder}\n value={value}\n onChange={handleChange as any}\n onKeyDown={(e) => e.key === \"Enter\" && handleSearch()}\n >\n <WrappedIcon\n slot=\"suffix\"\n className=\"search-button\"\n lib=\"antd\"\n icon=\"search\"\n theme=\"outlined\"\n onClick={() => handleSearch()}\n onMouseDown={(e) => e.preventDefault()}\n />\n </WrappedInput>\n );\n}\n","export enum K {\n ICON = \"ICON\",\n COLOR = \"COLOR\",\n SELECT_ICON = \"SELECT_ICON\",\n SEARCH_PLACEHOLDER = \"SEARCH_PLACEHOLDER\",\n}\n\nconst en: Locale = {\n ICON: \"Icon\",\n COLOR: \"Color\",\n SELECT_ICON: \"Select Icon\",\n SEARCH_PLACEHOLDER: \"input keyword to search\",\n};\n\nconst zh: Locale = {\n ICON: \"图标\",\n COLOR: \"颜色\",\n SELECT_ICON: \"选择图标\",\n SEARCH_PLACEHOLDER: \"输入关键字搜索\",\n};\n\nexport const NS = \"bricks/form/icon-select\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","export enum Colors {\n green = \"green\",\n red = \"red\",\n blue = \"blue\",\n orange = \"orange\",\n cyan = \"cyan\",\n purple = \"purple\",\n geekblue = \"geekblue\",\n gray = \"gray\",\n}\n\nexport const COLORS_MAP: Record<\n Colors,\n { color: string; background: string; borderColor: string }\n> = {\n [Colors.green]: {\n color: \"var(--theme-green-color)\",\n background: \"var(--theme-green-background)\",\n borderColor: \"var(--theme-green-border-color)\",\n },\n [Colors.red]: {\n color: \"var(--theme-red-color)\",\n background: \"var(--theme-red-background)\",\n borderColor: \"var(--theme-red-border-color)\",\n },\n [Colors.blue]: {\n color: \"var(--theme-blue-color)\",\n background: \"var(--theme-blue-background)\",\n borderColor: \"var(--theme-blue-border-color)\",\n },\n [Colors.orange]: {\n color: \"var(--theme-orange-color)\",\n background: \"var(--theme-orange-background)\",\n borderColor: \"var(--theme-orange-border-color)\",\n },\n [Colors.cyan]: {\n color: \"var(--theme-cyan-color)\",\n background: \"var(--theme-cyan-background)\",\n borderColor: \"var(--theme-cyan-border-color)\",\n },\n [Colors.purple]: {\n color: \"var(--theme-purple-color)\",\n background: \"var(--theme-purple-background)\",\n borderColor: \"var(--theme-purple-border-color)\",\n },\n [Colors.geekblue]: {\n color: \"var(--theme-geekblue-color)\",\n background: \"var(--theme-geekblue-background)\",\n borderColor: \"var(--theme-geekblue-border-color)\",\n },\n [Colors.gray]: {\n color: \"var(--theme-gray-color)\",\n background: \"var(--theme-gray-background)\",\n borderColor: \"var(--theme-gray-border-color)\",\n },\n};\n\n/**\n * 如果提供的颜色值是平台提供的规范颜色,则转换为使用平台规范的颜色定义,包括color、background、borderColor,不是的话则原样输出。\n * @param color {string} 颜色值\n * @return {color:string;background:string;borderColor:string;} 返回处理后的对应颜色值\n */\nexport function getColor(color?: string): {\n color: string;\n background: string;\n borderColor: string;\n} {\n if (!color) {\n return {\n color: \"var(--antd-avatar-color)\",\n background: \"var(--antd-avatar-bg)\",\n borderColor: \"var(--antd-avatar-color)\",\n };\n }\n return (\n COLORS_MAP[color as Colors] ?? {\n color,\n background: color,\n borderColor: color,\n }\n );\n}\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport classNames from \"classnames\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport type {\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping,\n} from \"../radio/index.js\";\nimport type {\n GeneralSearch,\n SearchProps,\n SearchEvents,\n SearchEventsMap,\n} from \"../search/index.js\";\nimport type {\n getLibs as _getLibs,\n LibInfo,\n IconInfo,\n} from \"@next-bricks/icons/data-providers/get-libs\";\nimport type { searchIcons as _searchIcons } from \"@next-bricks/icons/data-providers/search-icons\";\nimport { COLORS_MAP, getColor } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst getLibs = unwrapProvider<typeof _getLibs>(\"icons.get-libs\");\nconst searchIcons = unwrapProvider<typeof _searchIcons>(\"icons.search-icons\");\nconst WrappedGeneralRadio = wrapBrick<\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping\n>(\"eo-radio\", {\n onValueChange: \"change\",\n onOptionsChange: \"optionsChange\",\n});\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedModal = wrapBrick<Modal, ModalProps, ModalEvents, ModalMapEvents>(\n \"eo-modal\",\n {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n }\n);\nconst WrappedSearch = wrapBrick<\n GeneralSearch,\n SearchProps,\n SearchEvents,\n SearchEventsMap\n>(\"eo-search\", {\n onChange: \"change\",\n onSearch: \"search\",\n});\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ntype Icon = GeneralIconProps & { color?: string };\n\nexport interface IconSelectProps {\n name?: string;\n label?: string;\n value?: Icon;\n disabled?: boolean;\n required?: boolean;\n message?: Record<string, string>;\n}\n\n/**\n * 图标选择构件\n */\nexport\n@defineElement(\"eo-icon-select\", {\n styleTexts: [styleText],\n alias: [\"form.icon-select\"],\n})\nclass IconSelect extends FormItemElementBase implements IconSelectProps {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: Icon | undefined;\n\n /**\n * 是否禁用\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<Icon | undefined>;\n handleChange = (value?: Icon) => {\n this.value = value;\n this.#change.emit(value);\n };\n\n render() {\n return (\n <IconSelectComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n disabled={this.disabled}\n message={this.message}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n onChange={this.handleChange}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst emptyIcon = {\n lib: \"easyops\",\n icon: \"empty-icon\",\n category: \"common\",\n} as Icon;\n\ninterface IconSelectComponentProps extends FormItemProps, IconSelectProps {\n onChange?: (value?: Icon) => void;\n}\n\nexport function IconSelectComponent(props: IconSelectComponentProps) {\n const { t } = useTranslation(NS);\n const { disabled, onChange } = props;\n\n const modalRef = useRef<Modal>(null);\n\n const [iconLibs, setIconLibs] = useState<LibInfo[]>([]);\n const [searchParams, setSearchParams] = useState<{\n q?: string;\n lib?: string;\n }>({});\n const [iconList, setIconList] = useState<IconInfo[]>([]);\n\n useEffect(() => {\n getLibs().then((libs) => {\n setIconLibs(libs);\n setSearchParams({ ...searchParams, lib: libs[0].lib });\n });\n }, []);\n\n const handleSearchIcons = (params: { q?: string; lib?: string }) => {\n searchIcons({ lib: params.lib, q: params.q, page: 1, pageSize: 100 }).then(\n (result) => setIconList(result.list)\n );\n };\n\n const [previewIcon, setPreviewIcon] = useState<GeneralIconProps>();\n const [previewColor, setPreviewColor] = useState<string>();\n\n useEffect(() => {\n setPreviewIcon(props.value?.lib ? props.value : undefined);\n setPreviewColor(props.value?.color);\n }, [props.value]);\n\n const [selectedIcon, setSelectedIcon] = useState<GeneralIconProps>();\n const [selectedColor, setSelectedColor] = useState<string>();\n\n const clearSelect = () => {\n setSelectedIcon(undefined);\n setSelectedColor(undefined);\n };\n\n const handleModalOpen = () => {\n setSelectedIcon(previewIcon);\n setSelectedColor(previewColor);\n handleSearchIcons(searchParams);\n };\n\n const handleModalClose = () => {\n clearSelect();\n };\n\n const handleModalConfirm = () => {\n setPreviewIcon(selectedIcon);\n setPreviewColor(selectedColor);\n const newValue = selectedIcon?.lib\n ? { ...selectedIcon, color: selectedColor }\n : undefined;\n onChange?.(newValue);\n modalRef.current?.close();\n };\n\n const handleIconSelect = (icon: GeneralIconProps) => {\n setSelectedIcon(icon);\n };\n\n const handleColorSelect = (color?: string) => {\n setSelectedColor(color);\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n <span\n onClick={() => !disabled && modalRef.current?.open()}\n className={classNames(\"show-icon\", {\n disabled: disabled,\n })}\n style={{ backgroundColor: getColor(previewColor).background }}\n >\n <WrappedGeneralIcon\n {...(previewIcon || emptyIcon)}\n style={{ color: getColor(previewColor).color }}\n />\n </span>\n <WrappedModal\n ref={modalRef}\n modalTitle={t(K.SELECT_ICON)!}\n width=\"778px\"\n maskClosable={false}\n closeWhenConfirm={false}\n onConfirm={handleModalConfirm}\n onClose={handleModalClose}\n onOpen={handleModalOpen}\n >\n <div className=\"preview-container\">\n <div\n className=\"show-area\"\n style={{ backgroundColor: getColor(selectedColor).background }}\n >\n <WrappedGeneralIcon\n {...(selectedIcon || emptyIcon)}\n style={{ color: getColor(selectedColor).color }}\n />\n {selectedIcon && (\n <div className=\"delete-wrapper\" onClick={() => clearSelect()}>\n <div className=\"delete-icon\">\n <WrappedGeneralIcon\n lib=\"easyops\"\n category=\"default\"\n icon=\"delete\"\n style={{ color: \"var(--theme-red-color)\" }}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"preview-icon-name\">{selectedIcon?.icon}</span>\n </div>\n <div className=\"select-icon-container\">\n {\n <>\n <span className=\"label\">{t(K.COLOR)}:</span>\n <div className=\"select-color-area\">\n {Object.keys(COLORS_MAP).map((item) => {\n return (\n <div\n className=\"color-box\"\n style={{ backgroundColor: getColor(item).color }}\n key={item}\n onClick={() => handleColorSelect(item)}\n />\n );\n })}\n <div\n className=\"color-box empty-color\"\n onClick={() => handleColorSelect(undefined)}\n >\n <div className=\"empty-line\" />\n </div>\n </div>\n </>\n }\n <span className=\"label\">{t(K.ICON)}:</span>\n <div className=\"select-icon-area\">\n <div className=\"select-icon-search-bar\">\n <WrappedSearch\n value={searchParams.q}\n placeholder={t(K.SEARCH_PLACEHOLDER)!}\n onSearch={(e) => {\n const newSearchParams = { ...searchParams, q: e.detail };\n setSearchParams(newSearchParams);\n handleSearchIcons(newSearchParams);\n }}\n />\n <WrappedGeneralRadio\n options={iconLibs?.map((lib) => {\n return {\n label: lib.title,\n value: lib.lib,\n };\n })}\n value={searchParams.lib}\n onValueChange={(e) => {\n const newSearchParams = {\n ...searchParams,\n lib: e.detail.value as string,\n };\n setSearchParams(newSearchParams);\n handleSearchIcons(newSearchParams);\n }}\n />\n </div>\n <div className=\"icon-area\">\n {iconList.map((iconInfo) => {\n return (\n <div\n key={JSON.stringify(iconInfo.icon)}\n title={iconInfo.title}\n className=\"icon-container\"\n onClick={() => {\n handleIconSelect(iconInfo.icon);\n }}\n >\n <WrappedGeneralIcon {...iconInfo.icon} />\n <div className=\"icon-name\">{iconInfo.title}</div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </WrappedModal>\n </WrappedFormItem>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n};\n\nexport const NS = \"bricks/form/upload-image\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import { pipes } from \"@next-core/pipes\";\nimport { FileData } from \"../utils.js\";\n\nexport interface ImageData extends FileData {\n url?: string;\n}\n\nexport const getImage = (\n file: string | File,\n revokeUrl?: boolean\n): Promise<HTMLImageElement> => {\n return new Promise((resolve, reject) => {\n let url = \"\";\n if (typeof file === \"string\") {\n url = file;\n } else if (file instanceof Blob && file.type.startsWith(\"image/\")) {\n url = URL.createObjectURL(file);\n } else {\n reject(new Error(\"not Image\"));\n }\n const image = new Image();\n image.src = url;\n image.onload = () => {\n revokeUrl && URL.revokeObjectURL(url);\n resolve(image);\n };\n image.onerror = (error) => reject(error);\n });\n};\n\nexport const imageValidator = async (\n file: File,\n limit?: { width?: number; height?: number }\n) => {\n return new Promise((resolve, reject) => {\n if (file && limit) {\n getImage(file, true).then((image) => {\n (limit.width ? image.naturalWidth < limit.width : true) &&\n (limit.height ? image.naturalHeight < limit.height : true)\n ? resolve(file)\n : reject(new Error(\"Wrong image size!\"));\n });\n } else {\n resolve(file);\n }\n });\n};\n\nexport const userDataProcessor = async (file: File) => {\n const image = await getImage(file);\n return {\n url: image.src,\n name: file.name,\n naturalWidth: image.naturalWidth,\n naturalHeight: image.naturalHeight,\n size: pipes.unitFormat(file.size, \"bytes\").join(\"\"),\n };\n};\n","import React, { useEffect, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport classNames from \"classnames\";\nimport { UploadActions, ItemActions, Upload } from \"../Upload.js\";\nimport { userDataProcessor, imageValidator, type ImageData } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadImageProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: ImageData[];\n bucketName: string;\n multiple?: boolean;\n}\n\n/**\n * 上传图片构件\n */\nexport\n@defineElement(\"eo-upload-image\", {\n styleTexts: [styleText],\n alias: [\"form.upload-image\"],\n})\nclass UploadImage extends FormItemElementBase implements UploadImageProps {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: ImageData[] | undefined;\n\n /**\n * 对象存储桶名字\n */\n @property()\n accessor bucketName!: string;\n\n /**\n * 是否支持选定的多张图片\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<ImageData[]>;\n handleChange = (imageList: ImageData[]) => {\n this.value = imageList;\n this.#change.emit(imageList);\n };\n\n render() {\n return (\n <UploadImageComponent\n formElement={this.getFormElement()}\n curElement={this}\n name={this.name}\n label={this.label}\n value={this.value}\n required={this.required}\n message={this.message}\n bucketName={this.bucketName}\n multiple={this.multiple}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n onChange={this.handleChange}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\ninterface UploadImageComponentProps extends UploadImageProps, FormItemProps {\n onChange?: (imageList: ImageData[]) => void;\n}\n\nexport function UploadImageComponent(props: UploadImageComponentProps) {\n const { value, bucketName, multiple, onChange } = props;\n const { t } = useTranslation(NS);\n\n const handleChange = (images: ImageData[]) => {\n const processedImages = images?.map((image) => {\n const url =\n image.url ??\n (image.response\n ? `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${bucketName}/object/${\n image.response.data.objectName\n }`\n : undefined);\n return {\n ...image,\n url,\n };\n });\n onChange?.(processedImages);\n };\n\n const itemRender = (\n fileData: ImageData,\n fileDataList: ImageData[],\n actions: ItemActions\n ) => {\n const {\n uid,\n file,\n url,\n name,\n userData,\n status = \"done\",\n errors,\n } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\"image-item\", {\n \"image-item-done\": status === \"done\",\n \"image-item-uploading\": status === \"uploading\",\n \"image-item-error\": status === \"error\",\n })}\n >\n <div className=\"image-item-inner\">\n <img className=\"image\" src={userData?.url || url} />\n <div className=\"infos\">\n <div className=\"file-name\">{name}</div>\n {status === \"uploading\" && <div className=\"progress\"></div>}\n <div className=\"more-info\">\n {status === \"done\" && userData && (\n <div className=\"image-size\">\n {`LeaderBoard ${userData?.naturalWidth}*${userData?.naturalHeight}`}\n </div>\n )}\n {status === \"error\" && (\n <div className=\"error-info\">\n {errors\n ?.map((v) => {\n return v instanceof Error ? v.message : v;\n })\n .join(\" \")}\n </div>\n )}\n {(status === \"done\" || status === \"error\") && userData?.size && (\n <div className=\"file-size\">{userData.size}</div>\n )}\n </div>\n </div>\n <div className=\"operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: ImageData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n autoUpload={true}\n uploadName=\"file\"\n action={`${getBasePath()}api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/${bucketName}/object`}\n method=\"PUT\"\n accept=\"image/*\"\n multiple={multiple}\n beforeUploadValidators={[(file) => imageValidator(file)]}\n beforeUploadUserDataProcessor={userDataProcessor}\n onChange={handleChange}\n >\n {(fileDataList: ImageData[], uploadActions: UploadActions) => {\n return (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { ComponentSize } from \"../interface.js\";\nimport classNames from \"classnames\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\ninterface SwitchProps extends FormItemProps {\n curElement: HTMLElement;\n onSwitch: (value: boolean) => void;\n disabled?: boolean;\n size?: ComponentSize;\n value?: boolean;\n checkedText?: string;\n unCheckedText?: string;\n checkedIcon?: GeneralIconProps;\n unCheckedIcon?: GeneralIconProps;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 构件 eo-switch\n * @author zhendonghuang\n */\nexport\n@defineElement(\"eo-switch\", {\n styleTexts: [styleText],\n alias: [\"form.general-switch\"],\n})\nclass GeneralSwitch extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 初始值\n */\n @property({ type: Boolean })\n accessor value: boolean | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 按钮大小,目前只支持small和非small两种大小。\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * 选中时的文本\n */\n @property() accessor checkedText: string | undefined;\n\n /**\n * 非选中时的文本\n */\n @property() accessor unCheckedText: string | undefined;\n\n /**\n * 选中时的图标\n */\n @property({\n attribute: false,\n })\n accessor checkedIcon: GeneralIconProps | undefined;\n\n /**\n * 非选中时的文本\n */\n @property({\n attribute: false,\n })\n accessor unCheckedIcon: GeneralIconProps | undefined;\n\n /**\n * 开关改变时触发\n */\n @event({ type: \"switch\" }) accessor #switchEvent!: EventEmitter<boolean>;\n\n handleSwitch = (value: boolean) => {\n Promise.resolve().then(() => {\n this.#switchEvent.emit(value);\n });\n };\n render() {\n return (\n <GeneralSwitchComponent\n formElement={this.getFormElement()}\n curElement={this}\n disabled={this.disabled}\n size={this.size}\n value={this.value}\n onSwitch={this.handleSwitch}\n checkedText={this.checkedText}\n unCheckedText={this.unCheckedText}\n checkedIcon={this.checkedIcon}\n unCheckedIcon={this.unCheckedIcon}\n name={this.name}\n label={this.label}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n trigger=\"handleSwitch\"\n />\n );\n }\n}\n\nexport function GeneralSwitchComponent(props: SwitchProps) {\n const {\n unCheckedIcon,\n checkedIcon,\n checkedText,\n unCheckedText,\n value,\n disabled,\n size,\n } = props;\n const [checked, setChecked] = useState<boolean>();\n useEffect(() => {\n setChecked(value);\n }, [value]);\n const handleSwitchChange = () => {\n props.onSwitch(!checked);\n setChecked(!checked);\n };\n return (\n <WrappedFormItem {...props}>\n <button\n disabled={disabled}\n className={classNames(size, {\n \"switch-checked\": checked,\n \"switch-disabled\": disabled,\n })}\n onClick={handleSwitchChange}\n >\n <div className=\"switch-handle\"></div>\n <span className=\"switch-inner\">\n {checkedIcon && checked && (\n <WrappedGeneralIcon {...checkedIcon}></WrappedGeneralIcon>\n )}\n {unCheckedIcon && !checked && (\n <WrappedGeneralIcon {...unCheckedIcon}></WrappedGeneralIcon>\n )}\n\n {checked ? checkedText : unCheckedText}\n </span>\n </button>\n </WrappedFormItem>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n DRAG_UPLOAD_TEXT = \"DRAG_UPLOAD_TEXT\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n DRAG_UPLOAD_TEXT: \"Drag files here or <strong>click to upload</strong>\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n DRAG_UPLOAD_TEXT: \"将文件拖动到此处或<strong>点击上传</strong>\",\n};\n\nexport const NS = \"bricks/form/eo-upload-file\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, { useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EasyOpsIcon,\n EasyOpsIconProps,\n} from \"@next-bricks/icons/easyops-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { Trans } from \"react-i18next\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { ItemActions, UploadActions, Upload } from \"../Upload.js\";\nimport { FileData } from \"../utils.js\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsIcon = wrapBrick<EasyOpsIcon, EasyOpsIconProps>(\n \"eo-easyops-icon\"\n);\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadFileProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: FileData[];\n multiple?: boolean;\n accept?: string;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n uploadDraggable?: boolean;\n draggableUploadTip?: string;\n autoUpload?: boolean;\n url?: string;\n method?: string;\n uploadName?: string;\n}\n\n/**\n * 上传文件\n */\nexport\n@defineElement(\"eo-upload-file\", {\n styleTexts: [styleText],\n})\nclass EoUploadFile extends FormItemElementBase implements UploadFileProps {\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: FileData[] | undefined;\n\n /**\n * 是否支持多选\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 接受上传的文件类型,多个之间用 `,` 连接\n */\n @property()\n accessor accept: string | undefined;\n\n /**\n * 最大上传数量\n */\n @property({\n type: Number,\n })\n accessor maxCount: number | undefined;\n\n /**\n * 超出最大上传数量时文件的保留方式\n */\n @property()\n accessor overMaxCountMode: \"ignore\" | \"replace\" = \"replace\";\n\n /**\n * 是否可以拖拽上传\n */\n @property({\n type: Boolean,\n })\n accessor uploadDraggable: boolean | undefined;\n\n /**\n * 拖拽上传的提示信息\n */\n @property()\n accessor draggableUploadTip: string | undefined;\n\n /**\n * 是否自动上传\n */\n @property({\n type: Boolean,\n })\n accessor autoUpload: boolean = false;\n\n /**\n * 自动上传的地址\n */\n @property()\n accessor url: string | undefined;\n\n /**\n * 自动上传的方法\n */\n @property()\n accessor method: string = \"POST\";\n\n /**\n * 自动上传的文件参数名\n */\n @property()\n accessor uploadName: string = \"file\";\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<FileData[]>;\n handleChange = (fileDataList: FileData[]) => {\n this.value = fileDataList;\n this.#change.emit(fileDataList);\n };\n\n render() {\n return (\n <EoUploadFileComponent\n formElement={this.getFormElement()}\n curElement={this}\n label={this.label}\n name={this.name}\n required={this.required}\n message={this.message}\n value={this.value}\n multiple={this.multiple}\n accept={this.accept}\n maxCount={this.maxCount}\n overMaxCountMode={this.overMaxCountMode}\n uploadDraggable={this.uploadDraggable}\n draggableUploadTip={this.draggableUploadTip}\n autoUpload={this.autoUpload}\n url={this.url}\n method={this.method}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n uploadName={this.uploadName}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\nconst fileTextIcon = {\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst loadingIcon = {\n lib: \"antd\",\n icon: \"loading\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\ninterface UploadFileComponentProps extends UploadFileProps, FormItemProps {\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function EoUploadFileComponent(props: UploadFileComponentProps) {\n const {\n value,\n multiple,\n accept,\n maxCount,\n overMaxCountMode,\n uploadDraggable,\n draggableUploadTip,\n autoUpload,\n url,\n method,\n uploadName,\n onChange,\n } = props;\n const { t } = useTranslation(NS);\n const theme = useCurrentTheme();\n\n const [isDragOver, setIsDragOver] = useState(false);\n\n const handleChange = (fileDataList: FileData[]) => {\n onChange?.(fileDataList);\n };\n\n const itemRender = (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => {\n const { uid, file, name, userData, status = \"done\", errors } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\n \"upload-item-container\",\n status && `upload-item-container-${status}`\n )}\n >\n <div className=\"upload-item-inner\">\n <WrappedIcon\n className={classNames(\n \"upload-item-icon\",\n status === \"uploading\" && \"upload-icon\"\n )}\n {...(status === \"uploading\" ? loadingIcon : fileTextIcon)}\n />\n <div className=\"upload-item-infos\">\n <div className=\"upload-item-file-name\">{name}</div>\n </div>\n <div className=\"upload-item-operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: FileData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n multiple={multiple}\n accept={accept}\n maxCount={maxCount}\n overMaxCountMode={overMaxCountMode}\n autoUpload={autoUpload}\n action={url}\n method={method}\n uploadName={uploadName}\n onChange={handleChange}\n >\n {(fileDataList: FileData[], uploadActions: UploadActions) => {\n return uploadDraggable ? (\n <div\n className={classNames(\n \"upload-drag-button\",\n isDragOver && \"upload-drag-button-drag-over\"\n )}\n onClick={uploadActions.upload}\n onDragEnter={(e) => {\n e.preventDefault();\n setIsDragOver(true);\n }}\n onDragOver={(e) => {\n e.preventDefault();\n }}\n onDragLeave={(e) => {\n setIsDragOver(false);\n }}\n onDrop={(e) => {\n e.preventDefault();\n setIsDragOver(false);\n e.dataTransfer.files?.length &&\n uploadActions.uploadFiles(e.dataTransfer.files);\n }}\n >\n <div className=\"upload-drag-button-inner\">\n <WrappedEasyopsIcon\n className=\"upload-drag-button-icon\"\n category=\"colored-common\"\n icon={theme == \"dark-v2\" ? \"upload-dark\" : \"upload-light\"}\n />\n <div className=\"upload-drag-text\">\n <Trans\n i18nKey={t(K.DRAG_UPLOAD_TEXT)}\n components={{\n total: <strong />,\n }}\n />\n </div>\n {draggableUploadTip && (\n <div className=\"upload-drag-tip\">{draggableUploadTip}</div>\n )}\n </div>\n </div>\n ) : (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","import React, {\n useEffect,\n useRef,\n useMemo,\n useState,\n type ChangeEvent,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { cloneDeep, isEqual, toLower } from \"lodash\";\nimport {\n Input,\n InputEvents,\n InputEventsMap,\n InputProps,\n} from \"../input/index.jsx\";\nimport classNames from \"classnames\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onChange: \"change\",\n },\n);\n\ninterface EoAutoCompleteComponentProps extends FormItemProps {\n curElement?: HTMLElement;\n value?: any;\n options?: string[] | OptionType[];\n placeholder?: string;\n inputStyle?: React.CSSProperties;\n disabled?: boolean;\n filterByCaption?: boolean;\n onChange?: (value: any) => void;\n}\nexport interface Option {\n label: string;\n caption?: string;\n value: any;\n}\n\nexport interface OptionGroup {\n label: string;\n options: Option[];\n}\n\nexport type OptionType = Option | OptionGroup;\n\n/**\n * 构件 `eo-auto-complete`\n */\nexport\n@defineElement(\"eo-auto-complete\", {\n styleTexts: [styleText],\n})\nclass EoAutoComplete extends FormItemElementBase {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * 选项列表\n * @required\n */\n @property({ attribute: false })\n accessor options: string[] | OptionType[] | undefined;\n\n /**\n * 搜索时是否根据caption过滤options\n */\n @property({ type: Boolean }) accessor filterByCaption: boolean | undefined;\n\n /**\n * 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n /**\n * 正则校验规则\n */\n @property() accessor pattern: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 值改变事件\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n handleInputChange = (value: string) => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n\n render() {\n return (\n <EoAutoCompleteComponent\n curElement={this}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n disabled={this.disabled}\n inputStyle={this.inputStyle}\n required={this.required}\n message={this.message}\n value={this.value}\n options={this.options}\n validator={this.validator}\n pattern={this.pattern}\n filterByCaption={this.filterByCaption}\n onChange={this.handleInputChange}\n />\n );\n }\n}\n\nexport function EoAutoCompleteComponent(props: EoAutoCompleteComponentProps) {\n const {\n onChange,\n curElement,\n inputStyle = { width: 200 },\n disabled,\n placeholder,\n filterByCaption,\n } = props;\n const [options, setOptions] = useState(props.options || []);\n const [filteredOptions, setFilteredOptions] = useState<any[]>([]);\n const [active, setActive] = useState(false);\n const [value, setValue] = useState<string>(\"\");\n const inputRef = useRef<any>();\n\n const originalOptions: OptionType[] = useMemo(() => {\n const walkOptions = (options: (OptionType | string)[]): OptionType[] => {\n return formatOptions(options)?.map((op) => {\n if (\"options\" in op && Array.isArray(op.options)) {\n return { ...op, options: walkOptions(op.options) } as OptionGroup;\n } else {\n return op;\n }\n });\n };\n\n return walkOptions(options);\n }, [options]);\n\n const handleChange = (e: CustomEvent<string>) => {\n setValue(e.detail);\n const search = (options: OptionType[]) => {\n for (let i = options.length - 1; i >= 0; i--) {\n const option = options[i] as OptionGroup;\n if (option.options?.length) {\n search(option.options);\n }\n if (\n !option.options?.length &&\n !toLower(option.label).includes(toLower(e.detail)) &&\n (!filterByCaption ||\n !toLower((option as any).caption).includes(toLower(e.detail)))\n ) {\n options.splice(i, 1);\n }\n }\n return options;\n };\n const result = search(cloneDeep(originalOptions));\n setActive(!!result.length);\n setFilteredOptions(result);\n onChange?.(e.detail);\n };\n useEffect(() => {\n if (!isEqual(props.options, options)) {\n setOptions(props.options || []);\n }\n }, [props.options]);\n\n useEffect(() => {\n setValue(props.value || \"\");\n }, [props.value]);\n\n useEffect(() => {\n setFilteredOptions(originalOptions);\n }, [originalOptions]);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n if (!curElement?.contains(e.target as HTMLElement)) {\n setActive(false);\n inputRef.current?.blur();\n }\n };\n document.addEventListener(\"click\", handleDocumentClick);\n return () => {\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n }, []);\n\n const renderLabel = (option: Option, index: number) => {\n return (\n <div\n key={`${option.label}_${index}`}\n className={classNames(\"optionContainer\", {\n selectedOption: value === option.value,\n })}\n onClick={() => {\n setValue(option.value);\n setActive(false);\n onChange?.(option.value);\n }}\n >\n <div className=\"label\">{option.label}</div>\n {option.caption && <div className=\"caption\">{option.caption}</div>}\n </div>\n );\n };\n\n return (\n <WrappedFormItem {...props}>\n <div>\n <WrappedInput\n ref={inputRef}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n inputStyle={inputStyle}\n onFocus={() => {\n setActive(!!filteredOptions.length);\n }}\n onChange={handleChange as any}\n />\n {active && (\n <div className=\"dropDownWrapper\">\n {filteredOptions.map((f: any, index) =>\n f.options?.length ? (\n <div key={`${f.label}_${index}`} className=\"groupWrapper\">\n <div className={\"groupItem\"}>{f.label}</div>\n {f.options.map((option: any, i: number) =>\n renderLabel(option, i),\n )}\n </div>\n ) : (\n renderLabel(f, index)\n ),\n )}\n </div>\n )}\n </div>\n </WrappedFormItem>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}.optionContainer{display:flex;flex-direction:column;margin:2px 4px;padding:5px 12px;cursor:pointer;border-radius:6px}.optionContainer .label{line-height:22px}.optionContainer .caption{font-size:var(--auxiliary-font-size-small);color:var(--color-secondary-text);line-height:20px}.optionContainer:hover{background-color:var(--antd-select-item-active-bg)}.groupWrapper .optionContainer{padding-left:24px}.groupItem{color:var(--antd-text-color-secondary);font-size:12px;margin:2px 4px;padding:5px 12px}.selectedOption{color:var(--color-brand);background-color:var(--v8-top-menu-item-selected-bg)}.dropDownWrapper{max-height:256px;overflow:scroll;background-color:var(--antd-select-dropdown-bg);box-shadow:var(--antd-box-shadow-base);z-index:1050;margin-top:5px;padding:4px 2px;border-radius:4px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.checkboxWrapper{flex:auto;max-width:100%;box-sizing:border-box}.checkboxLabel{margin-left:16px;font-size:14px;line-height:1.57;display:inline-flex;align-items:baseline;cursor:pointer;line-height:22px;text-align:center;box-sizing:22px}.checkboxLabel:first-child{margin-left:0px}.checkboxLabelDisabled{cursor:not-allowed;color:var(--text-color-disabled)}.checkboxInputWrapper{position:relative;top:0.2em}.checkboxInputWrapperDisabled{cursor:not-allowed}.checkboxLabel .checkboxInput{height:16px;width:16px;z-index:1;cursor:pointer;margin:0px}.checkboxLabel .checkboxInput[type=\"checkbox\"]:checked{color:black;background-color:red}.checkboxLabel .checkboxInner{background:red}.checkboxLabel .checkboxInputDisabled{cursor:not-allowed}.checkboxLabel .checkboxText{padding:0 8px}.iconCheckbox,\n.disabledIconCheckbox{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconCustomCheckbox,\n.disabledIconCustomCheckbox{width:186px;height:114px;margin:0 15px 20px 0}.disabledIconCheckbox,\n.disabledIconCustomCheckbox{cursor:not-allowed}.disabledIconCheckbox .content .text, .disabledIconCustomCheckbox .content .text{color:var(--antd-checkbox-custom-type-disabled-color)}.content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.inputBox{padding:5px;text-align:right;line-height:15px}.inputBox input[type=\"checkbox\"]::before{content:\"\";position:absolute;width:100%;height:100%;border-radius:6px;border:1px solid var(--antd-checkbox-custom-type-item-border-color);top:0;left:0}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.dynamic-form-wrapper{border-radius:6px;padding:16px;background:var(--color-fill-bg-base-1)}.remove-btn{cursor:pointer;justify-content:center;display:flex;align-items:center;width:16px;height:16px;border:1px solid;border-radius:50%;line-height:12px;padding:2px;margin-left:8px}.remove-btn-wrapper{padding-top:4px}.dynamic-form > *:not(.remove-btn-wrapper){flex:1;margin-right:4px}.add-btn{width:calc(100% - 34px)}.dynamic-form-item:first-child .dynamic-form:has(*[label]) .remove-btn-wrapper{margin-top:22px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.form-item{display:flex;box-sizing:border-box;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\";vertical-align:top}.form-item.vertical{flex-direction:column}.form-item.vertical > .form-item-label-wrapper{text-align:left;line-height:1;margin-bottom:8px}.required{color:#ff4d4f;margin-right:4px}.form-item-label-wrapper{display:inline-block;white-space:nowrap;line-height:34px;text-align:right;vertical-align:middle;flex-grow:0;padding-right:8px}.form-item-label{display:flex;align-items:center}.form-item-label > label{margin-right:6px}.form-item-wrapper{flex:1 1 0;line-height:32px}.form-item-control{flex:1}.message{min-height:22px}.message.error{clear:both;min-height:23px;margin-top:-2px;color:var(--antd-error-color);font-size:14px;line-height:1.5715;transition:color 0.3s cubic-bezier(0.215,0.61,0.355,1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}button{line-height:22px;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;box-sizing:border-box;min-width:44px;height:22px;line-height:22px;vertical-align:middle;background-color:var(--text-color-disabled);border:0;border-radius:100px;cursor:pointer;transition:all 0.2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-checked{background-color:var(--antd-switch-color)}.switch-handle{position:absolute;top:2px;left:2px;width:18px;height:18px;transition:all 0.2s ease-in-out}.switch-checked .switch-handle{left:calc(100% - 18px - 2px)}.switch-checked .switch-inner{margin:0 25px 0 7px}.switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--antd-switch-bg);border-radius:9px;box-shadow:0 2px 4px 0 rgba(0,35,11,0.2);transition:all 0.2s ease-in-out;content:\"\"}.switch-inner{display:flex;align-items:center;margin:0 7px 0 25px;transition:margin 0.2s;color:#fff}.switch-disabled{cursor:not-allowed;opacity:0.4}.small{min-width:28px;height:16px;line-height:16px}.small .switch-handle{width:12px;height:12px}.small.switch-checked .switch-handle{left:calc(100% - 12px - 2px)}.small .switch-inner{margin:0 7px 0 18px}.small.switch-checked .switch-inner{margin:0 18px 0 7px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.show-icon{display:grid;justify-items:center;align-items:center;width:54px;height:54px;font-size:27px;line-height:54px;border-radius:50%;cursor:pointer}.show-icon.disabled{cursor:not-allowed}.preview-container{display:grid;justify-items:center;margin-bottom:20px}.show-area{display:grid;justify-items:center;align-items:center;position:relative;font-size:35px;height:70px;width:70px;border-radius:50%}.delete-wrapper{display:grid;justify-items:center;align-items:center;position:absolute;top:0;cursor:pointer;width:100%;height:100%;border-radius:50%;background-color:rgba(0,0,0,0.15);opacity:0;transition:opacity 0.3s}.show-area:hover .delete-wrapper{opacity:1}.delete-icon{display:grid;justify-items:center;align-items:center;font-size:14px;background:#ffffff;width:36px;height:36px;border-radius:50%;border:1px solid rgba(238,239,243,1)}.delete-icon:focus{background-color:#f2f2f2}.preview-icon-name{text-align:center}.select-icon-container{display:grid;grid-template-columns:80px auto;grid-row-gap:20px;row-gap:20px}.label{text-align:right;line-height:32px;font-size:14px;font-weight:400;color:rgba(102,102,102,1)}.select-color-area{display:flex}.color-box{width:38px;height:38px;border-radius:var(--larger-border-radius);cursor:pointer}.empty-color{border:var(--border-width-double-base) solid var(--color-border-divider-line);background-color:var(--color-info-white);position:relative;overflow:hidden}.empty-line{background:var(--palette-red-6);position:absolute;transform:translateX(-10px) rotate(-45deg);width:50px;margin:19px 0;height:var(--border-width-double-base)}.color-box:not(:last-child){margin-right:30px}.color-box:first-child{margin-left:22px}.select-icon-area{margin-left:22px}.select-icon-search-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.icon-area{padding-top:20px;display:grid;grid-template-columns:repeat(8,12.5%);overflow:auto;width:616px;height:218px;font-size:20px;background:var(--color-fill-bg-base-4);border-radius:var(--larger-border-radius)}.icon-container{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;color:var(--color-normal-text);height:50px}.icon-container:hover{cursor:pointer;color:var(--color-brand)}.icon-container .icon-name{width:100%;text-align:center;font-size:10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;visibility:hidden}.icon-container:hover .icon-name{visibility:visible}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.input-addon-wrapper{display:table;width:100%;line-height:22px;--input-affix-wrapper-padding:4px 10px}.input-addon-wrapper-size-large{--input-affix-wrapper-padding:8px 10px}.input-addon-wrapper-size-small{--input-affix-wrapper-padding:0 10px}.input-before-addon,\n.input-after-addon{display:table-cell;position:relative;padding:0 11px;font-size:14px;line-height:1;text-align:center;width:0;color:var(--text-color-default);background-color:var(--theme-gray-background);border:1px solid var(--color-border-divider-line);border-radius:var(--antd-button-border-radius);transition:all 0.3s}.input-before-addon{right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.input-after-addon{left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host(:not([has-addon-before])) .input-before-addon{display:none}:host(:not([has-addon-after])) .input-after-addon{display:none}.input-affix-wrapper{display:inline-flex;position:relative;padding:var(--input-affix-wrapper-padding);border-radius:var(--antd-button-border-radius);width:100%;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s,box-shadow 0.3s;overflow:visible}:host([has-addon-before]) .input-affix-wrapper{border-top-left-radius:0;border-bottom-left-radius:0}:host([has-addon-after]) .input-affix-wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.input-affix-wrapper:not(.input-affix-wrapper-disabled):hover{border-color:var(--antd-input-hover-border-color);z-index:1}.input-affix-wrapper:focus,\n.input-affix-wrapper-focused{border-color:var(--antd-input-focus-border-color);box-shadow:0 0 0 2px rgba(0,113,235,0.2);z-index:1}.input-affix-wrapper-disabled{cursor:not-allowed;color:var(--text-color-disabled);background-color:var(--theme-gray-background)}.input{flex:1;padding:0;margin:0;border:none;outline:none;font-size:14px;line-height:22px;color:inherit;background-color:transparent;cursor:inherit}.input::placeholder{color:var(--text-color-disabled);-webkit-user-select:none;-moz-user-select:none;user-select:none}.input:placeholder-shown{text-overflow:ellipsis}.input-prefix,\n.input-suffix{display:flex;flex:none;align-items:center}.input-prefix{margin-right:4px}.input-suffix{margin-left:4px}:host(:not([has-prefix])) .input-prefix{display:none}:host(:not([has-suffix])) .input-suffix:not(:has(:not(slot))){display:none}.input-clear-icon{margin-left:4px;font-size:12px;color:var(--text-color-disabled);cursor:pointer}:host([has-suffix]) .input-clear-icon{margin-right:4px}.input-clear-icon:hover{color:var(--antd-text-color-secondary)}.input-clear-icon-hidden{visibility:hidden}.input-addon-wrapper-status-error .input-affix-wrapper{border-color:var(--antd-error-color)}.input-addon-wrapper-status-error\n .input-affix-wrapper:not(.input-affix-wrapper-disabled):hover{border-color:var(--antd-error-color)}.input-addon-wrapper-status-error .input-affix-wrapper:focus,\n.input-addon-wrapper-status-error .input-affix-wrapper-focused{border-color:var(--antd-error-color);box-shadow:0 0 0 2px var(--antd-error-color-fade-20)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.radioGruop{display:inline-block}.defaultRadio{position:relative;display:inline-flex;align-items:center;margin-right:12px;text-align:center;cursor:pointer}.iconRadio{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconRadio > input[type=\"radio\"]{width:0px;height:0px}.defaultRadio > input[type=\"radio\"]{width:16px;height:16px;vertical-align:middle;margin-top:0px}.iconRadio > input[type=\"radio\"]:checked ~ .content{border-color:var(--color-brand);color:var(--color-brand)}.iconRadio .content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text);border-radius:var(--larger-border-radius);border:var(--border-width-base) solid var(--color-border-divider-line)}.defaultRadio .content{display:flex;align-items:center}.iconRadio:not(.disabledIconRadio):hover .content{border-color:var(--color-brand-hover)}.buttonRadio{position:relative;display:inline-block;height:32px;margin:0;padding:0;color:var(--antd-btn-default-color);font-size:14px;line-height:30px;background:var(--antd-btn-default-bg);border:1px solid var(--antd-border-color-base);border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color 0.3s,background 0.3s,border-color 0.3s,box-shadow 0.3s}.buttonContent{display:inline-block;height:100%;padding:0 15px}.buttonContent:not(.disabledButtonRadio):not(.buttonRadioCheck):hover{color:var(--antd-radio-dot-color)}.buttonRadio > input[type=\"radio\"]{width:0;height:0;position:absolute}.buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-radio-solid-checked-color);background:var(--antd-radio-dot-color);border-color:var(--antd-radio-dot-color)}.buttonRadioCheck.disabledButtonRadio{color:var(--color-normal-text);background-color:var(--color-border-divider-line)}.buttonRadio:first-child{border-radius:3px 0 0 3px;border-left:1px solid var(--antd-border-color-base)}.buttonRadio:last-child{border-radius:0 3px 3px 0}.specialIconRadio{position:relative;display:inline-block;width:auto;margin-right:80px;text-align:center;cursor:pointer;line-height:1}.specialIconRadio > input[type=\"radio\"]{width:0;height:0}.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent,\n.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent .circleIcon,\n.specialIconRadio > input[type=\"radio\"]:checked ~ .iconContent .squareIcon{border-color:var(--color-brand);color:var(--color-brand);border-width:var(--border-width-double-base)}.specialIconRadio:not(.disabledIconRadio):hover .iconContent .circleIcon,\n.specialIconRadio:not(.disabledIconRadio):hover .iconContent .squareIcon{border-color:var(--color-brand-hover)}.specialIconRadio .iconContent{color:var(--color-normal-text)}.specialIconRadio .iconContent > span{width:93px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.specialIconRadio .iconContent .circleIcon{border-radius:50%}.specialIconRadio .iconContent .circleIcon,\n.specialIconRadio .iconContent .squareIcon{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto auto 6px;background:var(--color-fill-bg-container-1);border:var(--border-width-base) solid var(--color-border-divider-line);width:94px;height:94px;font-size:46px;box-sizing:border-box}.disabledButtonRadio,\n.disabledCustomRadio{cursor:not-allowed}.disabledButtonRadio{background-color:var(--antd-input-disabled-bg)}.disabledIconRadio .content,\n.disabledIconRadio .iconContent{color:var(--color-disabled-text)}.disabledIconRadio .iconContent .circleIcon,\n.disabledIconRadio .iconContent .squareIcon{background:var(--color-fill-bg-base-1);border-color:var(--color-border-divider-line)}.dashboardRadioContainer{border-radius:6px;border:none;background-color:var(--antd-dashboard-radio-bg)}.dashboardRadioContainer .buttonRadio{background:var(--antd-dashboard-radio-item-bg);font-size:14px;color:var(--antd-dashboard-radio-item-color);border:none;height:28px;margin:2px}.buttonRadio:not(:last-child)::after{position:absolute;top:50%;right:-1px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 4px);background-color:var(--antd-border-color-base);transition:background-color 0.3s;content:\"\";transform:translateY(-50%)}.buttonRadioCheck::before,\n.buttonRadio:has(.buttonRadioCheck):after{position:absolute;top:50%;left:0px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 8px);background-color:var(--antd-dashboard-radio-item-checked-border-color);transition:background-color 0.3s;content:\"\";transform:translateY(-50%)}.dashboardRadioContainer .buttonContent:not(.disabledButtonRadio):hover{color:var(--antd-dashboard-radio-item-checked-color)}.dashboardRadioContainer .buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-dashboard-radio-item-checked-color);background-color:var(--antd-dashboard-radio-item-checked-bg);border-radius:6px;font-weight:var(--font-weight-500)}.customRadio{position:relative;display:inline-block;width:212px;height:271px;margin-right:12px;text-align:center;cursor:pointer}.customRadio > input[type=\"radio\"]{width:0;height:0}.customRadio > input[type=\"radio\"]:checked ~ .customContent{box-shadow:var(--hover-shadow)}.customRadio .customContent{position:absolute;width:100%;height:100%;top:0;color:var(--color-normal-text);border-radius:var(--larger-border-radius)}.customRadio.disabledCustomRadio{cursor:not-allowed}.customRadio:not(.disabledIconRadio):hover .customContent{box-shadow:var(--hover-shadow)}.tooltipIconContent{margin-left:4px;display:inline-block}.buttonRadio.small{height:26px;font-size:13px;line-height:26px}.buttonRadio.medium{height:32px;font-size:14px}.buttonRadio.large{height:40px;font-size:18px;line-height:40px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-input{display:block}.search-button{width:16px;font-size:16px;color:var(--color-secondary-text);cursor:pointer}.search-button:hover{color:var(--color-normal-text)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.select{width:100%;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;position:relative;display:inline-block;cursor:pointer;min-width:100px}.select-selector{position:relative;border:1px solid var(--antd-border-color-base);border-radius:3px;box-sizing:border-box;background-color:var(--antd-component-background);transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1);padding-right:24px}.select:not(.select-disabled):hover .select-selector{border-color:var(--antd-input-hover-border-color);z-index:1}.select-multiple .select-selector{min-height:30px;height:auto}.select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;padding-left:12px}.selected-item{display:flex;flex:none;align-self:center;max-width:100%;height:30px;line-height:30px}.selected-item .label{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.selector-focused{border-color:var(--antd-input-focus-border-color);border-width:1px;outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}.select-selection-search{display:block;padding-right:22px}.select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:30px;cursor:pointer;color:var(--antd-text-color)}.select-disabled .select-selector{color:var(--text-color-disabled);background:var(--antd-input-disabled-bg);cursor:not-allowed}.select-disabled .select-selection-search-input{cursor:not-allowed}.select-selector.is-error{border-color:var(--antd-error-color)}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-arrow{display:inline-block;color:inherit;font-style:normal;line-height:0;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:53%;right:11px;width:12px;height:12px;margin-top:-6px;color:var(--text-color-disabled);font-size:12px;line-height:1;text-align:center}.anticon{vertical-align:top;transition:0.4s rotate ease}.anticon.focus{rotate:-180deg}.select-dropdown{margin:0;padding:0;margin-top:5px;color:var(--antd-text-color);font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\",;position:absolute;top:100%;left:0px;width:100%;z-index:1050;box-sizing:border-box;padding:4px 2px;overflow:hidden;font-size:14px;font-variant:initial;background-color:var(--antd-select-dropdown-bg);border-radius:4px;outline:none;box-shadow:var(--antd-box-shadow-base)}.dropdown-list{max-height:256px;overflow-y:scroll;overflow-anchor:none}.dropdown-inner{display:flex;flex-direction:column}.select-item{position:relative;display:block;padding:5px 12px;color:var(--antd-text-color);font-weight:normal;font-size:14px;line-height:22px;cursor:pointer;transition:background 0.3s ease;margin:2px}.select-item-option{display:flex;border-radius:6px;margin:2px}.select-item-option.disabled{cursor:not-allowed;color:var(--color-disabled-text);background:var(--antd-input-disabled-bg)}.select-item-option:hover{background-color:var(--antd-select-item-active-bg)}.select-item-option-content{position:relative;flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-item-option-content .option{display:flex;align-items:center;justify-content:space-between;margin-right:22px}.dropdown-list .option .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:8px}.select-option-selected{color:var(--color-brand);background-color:var(--v8-top-menu-item-selected-bg)}.select-option-hover{background-color:var(--antd-select-item-active-bg)}.is-checked{display:none;position:absolute;right:0px;top:0}.select-option-selected .is-checked{display:block}.empty-tips{display:flex;text-align:center;justify-content:center;font-size:14px;color:var(--palette-gray-5)}.select-group-wrapper .select-group-label{padding-left:12px;color:var(--antd-text-color-secondary);font-size:12px;cursor:default}.select-group-wrapper .select-item-option{padding-left:24px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.submitBtn{margin-right:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `textarea{width:100%;padding:4px 11px;color:var(--antd-input-color);background:var(--antd-input-bg);box-sizing:border-box;border-radius:var(--antd-button-border-radius);border:1px solid var(--antd-input-border-color)}textarea:not(:disabled):hover{border:1px solid var(--antd-input-hover-border-color)}textarea:not(:disabled):focus{border:1px solid var(--antd-input-focus-border-color);outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}textarea:disabled{cursor:not-allowed;color:var(--text-color-disabled);background:var(--antd-input-disabled-bg);resize:none}textarea::placeholder{color:var(--antd-input-placeholder-color)}textarea.error{border-color:var(--antd-error-color)}textarea.error:hover{border-color:var(--antd-error-color)}textarea.error:focus{border-color:var(--antd-error-color)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.image-item{padding:12px 20px;border-radius:var(--larger-border-radius);cursor:pointer}.image-item-inner{position:relative;display:flex;gap:12px}.image{width:38px;height:38px}.infos{flex:1;display:flex;flex-direction:column}.file-name{font-size:14px;font-weight:var(--font-weight-500);color:var(--text-color-default);line-height:20px;margin-bottom:4px}.progress{width:100%;height:4px;background:#ffffff;border-radius:var(--small-border-radius);margin:8px 0}.more-info{display:flex;align-items:center;gap:10px}.image-size{font-size:12px;color:var(--text-color-default);line-height:18px}.file-size{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.progress-info{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.error-info{font-size:12px;color:var(--color-error);line-height:18px}.operators{position:absolute;top:0;right:0}.delete-icon{opacity:0;font-size:16px}.image-item-done{background:var(--antd-upload-list-type-picture-bg);border:1px solid var(--antd-upload-list-type-picture-border-color)}.image-item-done:hover{background:var(--palette-blue-1);border-color:var(--palette-blue-1)}.image-item-done:hover .delete-icon{opacity:1}.image-item-done .delete-icon{color:var(--text-color-disabled)}.image-item-done .delete-icon:hover{color:var(--color-error)}.image-item-uploading{background:var(--antd-upload-list-type-picture-bg);border:1px dashed var(--antd-upload-list-type-picture-border-color)}.image-item-uploading:hover{background:var(--antd-upload-list-type-picture-hover-bg);border-color:var(--antd-upload-list-type-picture-hover-bg)}.image-item-uploading:hover .delete-icon{opacity:1}.image-item-uploading .delete-icon{color:var(--text-color-disabled)}.image-item-uploading .delete-icon:hover{color:var(--text-color-default)}.image-item-error{background:var(--palette-red-1);border:1px solid var(--theme-orangered-border-color)}.image-item-error .delete-icon{opacity:1;color:var(--color-error)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["_Input","defineElement","property","event","method","createDecorators","WrappedIcon","wrapBrick","WrappedFormItem","_dec","styleTexts","styleText","alias","_dec2","_dec3","_dec4","type","Boolean","_dec5","_dec6","Number","_dec7","_dec8","attribute","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_dec25","_dec26","_dec27","_RCInputRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_changeEvent","_T","_U","_V","_W","_X","_getSlotByName","WeakSet","Input","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","get","_get_changeEvent2","set","_set_changeEvent2","writable","value","createRef","_initProto","_init_name","_init_label","_init_required","_init_pattern","_init_max","_init_min","_init_message","_init_value","_init_placeholder","_init_disabled","_init_readonly","_init_clearable","_init_autoFocus","_init_type","_init_size","_init_minLength","_init_maxLength","_init_inputStyle","_init_changeEvent","_defineProperty","this","_classPrivateFieldGet","emit","_init_hasAddonBefore","_init_hasAddonAfter","_init_hasPrefix","_init_hasSuffix","_init_validator","ref","current","addonBefore","_classPrivateMethodGet","_getSlotByName2","call","addonAfter","prefix","suffix","addEventListener","hasAddonBefore","assignedElements","length","hasAddonAfter","hasSuffix","hasPrefix","name","v","_classPrivateFieldSet","label","required","pattern","max","min","message","placeholder","disabled","readonly","clearable","autoFocus","size","minLength","maxLength","inputStyle","focusInput","_classPrivateFieldGet2","focus","blurInput","_classPrivateFieldGet3","blur","validator","render","React","RCInput","formElement","getFormElement","curElement","renderCallback","notRender","helpBrick","validateState","readOnly","trigger","onInputChange","handleInputChange","_set_changeEvent","_get_changeEvent","_this$shadowRoot","shadowRoot","querySelector","concat","_class","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","forwardRef","props","inputRef","useRef","inputAffixWrapperRef","setValue","useState","focused","setFocused","useEffect","useImperativeHandle","options","_inputRef$current","_inputRef$current2","handleClear","part","className","classNames","style","onClick","_inputAffixWrapperRef","_inputRef$current3","contains","target","fixValue","onChange","onFocus","onBlur","getClearIcon","hidden","lib","icon","theme","onMouseDown","preventDefault","isNil","String","hiddenTextarea","_Textarea","SIZING_STYLE","_InputChangeEvent","Textarea","_get_InputChangeEvent2","_set_InputChangeEvent2","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","autoSize","textareaStyle","TextareaComponent","_set_InputChangeEvent","_get_InputChangeEvent","autoSizeStyle","setAutoSizeStyle","textareaRef","minRows","maxRows","setAutoSize","useCallback","textareaElement","textareaStyles","uiTextNode","undefined","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","getPropertyValue","join","overflowY","minHeight","maxHeight","height","scrollHeight","singleRowHeight","Math","resize","calculateAutoSizeStyle","error","_objectSpread","_topics","_subUid","PubSub","publish","topic","subscribers","len","func","subscribe","fn","_this$subUid","token","toString","push","unsubscribe","m","remove","item","uid","Field","detail","field","_fields","_options","_formData","_initData","_getAllFields","FormStore","static","instance","super","Map","setField","getAllValues","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet4","allFields","_getAllFields2","newFormData","Object","entries","forEach","_ref","k","includes","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","removeField","delete","validateFields","callback","results","validateField","some","result","_classPrivateFieldGet5","fieldDetail","validate","validateValue","messageBody","getName","valid","isEmpty","RegExp","test","_result","parsedValidator","_v","Array","isArray","getValueFromEvent","checked","resetValidateState","onWatch","_options$needValidate","_value","needValidate","_options$needValidate2","keys","_Form","_values","_setInitValue","_valuesChangeEvent","_successEvent","_errorEvent","Form","ReactNextElement","_get_errorEvent2","_set_errorEvent2","_get_successEvent2","_set_successEvent2","_get_valuesChangeEvent2","_set_valuesChangeEvent2","_init_layout","_init_valuesChangeEvent","_init_successEvent","_init_errorEvent","_init_formStyle","formStore","getInstance","handleValuesChange","isFormElement","_setInitValue2","layout","err","formStyle","FormComponent","defaultEmitValuesChange","_set_valuesChangeEvent","_get_valuesChangeEvent","_set_successEvent","_get_successEvent","_set_errorEvent","_get_errorEvent","computedStyle","useMemo","display","flexDirection","gap","_FormItem","FormItem","_init_formElement","_init_curElement","_init_labelCol","_init_wrapperCol","_init_valuePropsName","_init_trim","_init_trigger","_init_needValidate","labelCol","wrapperCol","valuePropsName","trim","_this$formElement","_this$formElement2","FormItemComponent","labelBrick","formInstance","defaultValidateState","setValidateState","$bindFormItem","originTrigger","useBrick","ReactUseMultipleBricks","formatOptions","fields","op","_Radio","WrappedGeneralIcon","_optionsChange","_handleOptionsChange","Radio","_get_optionsChange2","_set_optionsChange2","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_optionsChange","ui","customStyle","RadioComponent","handleChange","optionsChange","_set_optionsChange","_get_optionsChange","setOptions","isEqual","option","_props$onChange","stopPropagation","dashboardRadioContainer","index","iconName","iconLib","iconStyle","key","isBoolean","isDisabled","htmlFor","disabledIconRadio","disabledCustomRadio","iconRadio","customRadio","specialIconRadio","defaultRadio","buttonRadio","content","fontSize","ReactUseBrick","data","iconContent","circleIcon","squareIcon","title","buttonRadioCheck","disabledButtonRadio","marginRight","verticalAlign","_Select","WrappedTag","onCheck","onClose","_searchEvent","_focusEvent","Select","_get_focusEvent2","_set_focusEvent2","_get_searchEvent2","_set_searchEvent2","_init_multiple","_init_searchEvent","_init_focusEvent","findOption","_formatOptions","find","selectedOptions","Promise","resolve","then","multiple","SelectComponent","onSearch","handleSearch","handleFocus","_set_searchEvent","_get_searchEvent","_set_focusEvent","_get_focusEvent","_props$options","onValueChange","inputValue","setInputValue","selectValue","setSelectValue","isDropHidden","setIsDropHidden","isFocused","setIsFocused","customSelectvalue","setCustomSelectValue","handleDocumentClick","removeEventListener","newValue","filter","handleMultipleItemClose","closeValue","computedOptions","handleKeydown","code","pop","renderTag","list","ellipsisInfo","closeable","tagList","slice","allOptions","reduce","pre","cur","_allOptions$find","ellipsisWidth","color","closable","getLabel","_ref2","_allOptions$find2","renderLabel","isEmptyValue","getSelectOption","_item$options","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","SubmitButtons","_get_cancelEvent2","_set_cancelEvent2","_get_submitEvent2","_set_submitEvent2","_init_submitText","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","submitDisabled","submitText","cancelText","submitType","cancelType","ButtonsComponent","onCancelClick","_handleCancelClick","onSubmitClick","_handleSubmitClick","_set_submitEvent","_get_submitEvent","_set_cancelEvent","_get_cancelEvent","_Checkbox","_checkboxChangeEvent","_optionsChangeEvent","Checkbox","_get_optionsChangeEvent2","_set_optionsChangeEvent2","_get_checkboxChangeEvent2","_set_checkboxChangeEvent2","_init_isCustom","_init_checkboxChangeEvent","currentSelectOption","_init_optionsChangeEvent","isCustom","CheckboxComponent","handleCheckboxChange","_set_checkboxChangeEvent","_get_checkboxChangeEvent","_set_optionsChangeEvent","_get_optionsChangeEvent","_props$value","setValues","_props$optionsChange","handleInputClick","findIndex","i","splice","IconCheckbox","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","position","alignItems","checkboxWrapper","checkboxLabel","checkboxLabelDisabled","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","id","checkboxInner","checkboxText","iconNode","mergedIcon","imgSrc","imgStyle","getIcon","K","NS","initializeReactI18n","en","UNIQUE","zh","_DynamicFormItem","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","uniqueValidatorFN","properties","t","_props$curElement","_unique","_properties$message","_properties$label","fieldValue","Set","unique","DynamicFormItem","_this$getFormElement","DynamicFormItemComponent","handleDynamicFormChange","useTranslation","formWrapperRef","bricks","setBricks","bricksOfNoLabel","brick","omit","_props$value2","parsedUseBrick","flatten","handleRemoveItem","_props$onChange2","newValues","formWrapper","forms","querySelectorAll","every","category","buttonStyle","width","handleAddItem","_GeneralSearch","WrappedInput","_change","_handleChange","_handleDebouncedChange","_search","_handleSearch","GeneralSearch","_get_search2","_set_search2","_get_change2","_set_change2","_init_debounceTime","_init_change","_init_search","debounceTime","GeneralSearchComponent","onDebouncedChange","_set_change","_get_change","_set_search","_get_search","_onDebouncedChange","debounce","onKeyDown","slot","Colors","COLORS_MAP","green","background","borderColor","red","blue","orange","cyan","purple","geekblue","gray","getColor","_COLORS_MAP","ICON","COLOR","SELECT_ICON","SEARCH_PLACEHOLDER","_IconSelect","getLibs","unwrapProvider","searchIcons","WrappedGeneralRadio","onOptionsChange","WrappedModal","onConfirm","onCancel","onOpen","WrappedSearch","IconSelect","IconSelectComponent","emptyIcon","modalRef","iconLibs","setIconLibs","searchParams","setSearchParams","iconList","setIconList","libs","handleSearchIcons","params","q","page","pageSize","previewIcon","setPreviewIcon","previewColor","setPreviewColor","selectedIcon","setSelectedIcon","selectedColor","setSelectedColor","clearSelect","handleColorSelect","_modalRef$current2","open","backgroundColor","modalTitle","maskClosable","closeWhenConfirm","handleModalConfirm","_modalRef$current","close","handleModalClose","handleModalOpen","newSearchParams","iconInfo","JSON","stringify","getImage","file","revokeUrl","reject","url","Blob","startsWith","URL","createObjectURL","Error","image","Image","src","onload","revokeObjectURL","onerror","imageValidator","_asyncToGenerator","limit","naturalWidth","naturalHeight","_x","_x2","apply","userDataProcessor","pipes","unitFormat","_x3","UPLOAD","FILE_UPLOADING","_UploadImage","UploadImage","_init_bucketName","imageList","bucketName","UploadImageComponent","defaultUploadIcon","deleteIcon","closeIcon","curValue","status","Upload","itemRender","fileData","fileDataList","actions","userData","errors","fileList","autoUpload","uploadName","action","getBasePath","accept","beforeUploadValidators","beforeUploadUserDataProcessor","images","processedImages","_image$url","response","objectName","uploadActions","upload","_GeneralSwitch","_switchEvent","GeneralSwitch","_get_switchEvent2","_set_switchEvent2","_init_checkedText","_init_unCheckedText","_init_checkedIcon","_init_unCheckedIcon","_init_switchEvent","checkedText","unCheckedText","checkedIcon","unCheckedIcon","GeneralSwitchComponent","onSwitch","handleSwitch","_set_switchEvent","_get_switchEvent","setChecked","handleSwitchChange","DRAG_UPLOAD_TEXT","_EoUploadFile","WrappedEasyopsIcon","EoUploadFile","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","maxCount","overMaxCountMode","uploadDraggable","draggableUploadTip","EoUploadFileComponent","fileTextIcon","loadingIcon","useCurrentTheme","isDragOver","setIsDragOver","onDragEnter","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","files","uploadFiles","Trans","i18nKey","components","total","_EoAutoComplete","EoAutoComplete","_init_filterByCaption","filterByCaption","EoAutoCompleteComponent","filteredOptions","setFilteredOptions","active","setActive","originalOptions","walkOptions","selectedOption","caption","search","_option$options","_option$options2","toLower","cloneDeep","f","_f$options","___CSS_LOADER_EXPORT___","module","receiver","privateSet","TypeError","obj","add"],"sourceRoot":""}
|