@next-bricks/form 0.19.4 → 0.19.6
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/{4669.23a6cf2e.js → 4669.acff5c45.js} +2 -2
- package/dist/chunks/{4669.23a6cf2e.js.map → 4669.acff5c45.js.map} +1 -1
- package/dist/chunks/eo-form-item.41b211ab.js +3 -0
- package/dist/chunks/{eo-form-item.ad9d5047.js.map → eo-form-item.41b211ab.js.map} +1 -1
- package/dist/chunks/eo-select.1dcade3f.js +3 -0
- package/dist/chunks/{eo-select.98fd26e3.js.map → eo-select.1dcade3f.js.map} +1 -1
- package/dist/chunks/eo-switch.e52b6438.js +3 -0
- package/dist/chunks/{eo-switch.0382aa2c.js.map → eo-switch.e52b6438.js.map} +1 -1
- package/dist/chunks/{main.3fa8c5bf.js → main.1acf917e.js} +2 -2
- package/dist/chunks/{main.3fa8c5bf.js.map → main.1acf917e.js.map} +1 -1
- package/dist/{index.867bf6b1.js → index.48d8b3e5.js} +2 -2
- package/dist/{index.867bf6b1.js.map → index.48d8b3e5.js.map} +1 -1
- package/package.json +2 -2
- package/dist/chunks/eo-form-item.ad9d5047.js +0 -3
- package/dist/chunks/eo-select.98fd26e3.js +0 -3
- package/dist/chunks/eo-switch.0382aa2c.js +0 -3
- /package/dist/chunks/{eo-form-item.ad9d5047.js.LICENSE.txt → eo-form-item.41b211ab.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-select.98fd26e3.js.LICENSE.txt → eo-select.1dcade3f.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-switch.0382aa2c.js.LICENSE.txt → eo-switch.e52b6438.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4669.23a6cf2e.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","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:///../../node_modules/@ant-design/icons-svg/es/asn/CaretRightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretRightOutlined.js","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/utils.ts","webpack:///./src/upload/Upload.tsx","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:///../../node_modules/antd/es/time-picker/index.js","webpack:///./src/time-picker/index.tsx","webpack:///./src/date-picker/i18n.ts","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/RightOutlined.js","webpack:///./src/date-picker/index.tsx","webpack:///./src/time-range-picker/i18n.ts","webpack:///./src/time-range-picker/index.tsx","webpack:///./src/auto-complete/styles.shadow.css","webpack:///./src/checkbox/checkbox.shadow.css","webpack:///./src/date-picker/styles.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/time-picker/styles.shadow.css","webpack:///./src/time-range-picker/styles.shadow.css","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///./src/upload/upload-image/styles.shadow.css","webpack:///../../node_modules/dayjs/locale/zh-cn.js","webpack:///../../node_modules/dayjs/plugin/isoWeek.js","webpack:///../../node_modules/dayjs/plugin/quarterOfYear.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","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 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 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]);\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 useLayoutEffect,\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, GeneralOption } 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, groupBy, isNil, debounce } from \"lodash\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { handleHttpError, fetchByProvider } from \"@next-core/runtime\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type { getIllustration as _getIllustration } from \"@next-bricks/illustrations/data-providers/get-illustration\";\n\ninterface UseBackendConf {\n provider: string;\n args: any[] | ((...args: any[]) => any[]);\n transform?: (data: any) => void;\n}\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\nconst getIllustration = unwrapProvider<typeof _getIllustration>(\n \"illustrations.get-illustration\"\n);\n\nconst isSearchable = (value: UseBackendConf): value is UseBackendConf => {\n return typeof value?.provider === \"string\";\n};\n\nconst applyArgs = (\n args: any[] | ((query: string) => any[]),\n query: string\n): any => {\n if (Array.isArray(args)) {\n return args.map((arg) => applyArgs(arg, query));\n }\n if (typeof args === \"function\") {\n return (args as (query: string) => any[]).call(null, query);\n }\n\n return args;\n};\n\ntype RequestStatus = \"loading\" | \"success\" | \"error\";\n\nexport interface SelectProps extends FormItemProps {\n value?: any;\n options: GeneralComplexOption[];\n placeholder?: string;\n mode?: \"tags\" | \"multiple\";\n tokenSeparators?: string[];\n maxTagCount?: number;\n groupBy?: string;\n suffix?: UseSingleBrickConf;\n fields?: { label?: string; value?: string };\n useBackend?: UseBackendConf & {\n onValueChangeArgs?: any[] | ((...args: any[]) => any[]);\n // emptyConfig?: Partial<Record<RequestStatus, EasyopsEmptyProps>>;\n };\n debounceSearchDelay?: number;\n clearable?: boolean;\n disabled?: boolean;\n inputStyle?: React.CSSProperties;\n validateState?: string;\n onChange?: (value: any, options: GeneralComplexOption[]) => 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 sailorshe\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[];\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()\n accessor mode: \"tags\" | \"multiple\" | undefined;\n\n /**\n * 自动分词的分隔符,仅在 mode=\"tags\" 时生效\n */\n @property({\n attribute: false,\n })\n accessor tokenSeparators: string[] | undefined;\n\n /**\n * 最多显示多少个 tag, 剩余的 tag 将被隐藏\n */\n @property()\n accessor maxTagCount: number | undefined;\n\n /**\n * 分组字段\n */\n @property()\n accessor groupBy: string | undefined;\n\n /**\n */\n @property({\n attribute: false,\n })\n accessor suffix: UseSingleBrickConf | undefined;\n\n /**\n * 是否支持清除\n * @default true\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 列表指定字段作为 label 和 value\n */\n @property({\n attribute: false,\n })\n accessor fields: { label?: string; value?: string } | undefined;\n\n /**\n * 后端搜索\n */\n @property({\n attribute: false,\n })\n accessor useBackend: UseBackendConf | undefined;\n\n @property({\n type: Number,\n })\n accessor debounceSearchDelay: number | 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 = (\n value: string | string[],\n options: GeneralComplexOption[]\n ): void => {\n this.value = value;\n\n this.#changeEvent.emit({\n value,\n options,\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 mode={this.mode}\n tokenSeparators={this.tokenSeparators}\n maxTagCount={this.maxTagCount}\n groupBy={this.groupBy}\n suffix={this.suffix}\n fields={this.fields}\n useBackend={this.useBackend}\n debounceSearchDelay={this.debounceSearchDelay}\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={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 mode,\n tokenSeparators,\n maxTagCount,\n suffix,\n fields,\n useBackend,\n debounceSearchDelay,\n clearable = true,\n inputStyle,\n placeholder,\n validateState,\n optionsChange,\n onChange,\n onFocus,\n onValueChange,\n onSearch,\n } = props;\n\n const multiple = useMemo(\n () => mode && [\"multiple\", \"tags\"].includes(mode),\n [mode]\n );\n const emptySrc = getIllustration({\n category: \"easyops2\",\n name: \"search-empty\",\n });\n const selectRef = useRef<HTMLDivElement>(null);\n const inputSpanRef = useRef<HTMLSpanElement>(null);\n const shouldTriggerOnValueChangeArgs = useRef(true);\n const [inputValue, setInputValue] = useState<string>(\"\");\n const [inputWidth, setInputWidth] = useState<number>();\n const [value, setValue] = useState<any>(mode ? [] : undefined);\n const [requestStatus, setRequestStatus] = useState<RequestStatus>();\n const [options, setOptions] = useState<any[]>(\n formatOptions(props.options, fields) ?? []\n );\n const [isDropHidden, setIsDropHidden] = useState<boolean>(true);\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [selectedOptions, setSelectedOptions] = useState<\n GeneralComplexOption[]\n >([]);\n const [renderOptions, setRenderOptions] = useState<any[]>([]);\n const [focusOptionItem, setFocusOptionItem] = useState<GeneralComplexOption>(\n {} as GeneralComplexOption\n );\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setOptions(formatOptions(props.options, fields));\n }, [props.options, fields]);\n\n const handleSelectorClick = useCallback(() => {\n if (!value) {\n setIsDropHidden(false);\n setIsFocused(true);\n onFocus?.();\n inputRef.current && inputRef.current.focus();\n } else if (!disabled) {\n setIsDropHidden(!isDropHidden);\n setIsFocused(true);\n inputRef.current && inputRef.current.focus();\n }\n }, [disabled, isDropHidden, value, onFocus]);\n\n const handleChange = useCallback(\n (option: GeneralComplexOption<any>): void => {\n shouldTriggerOnValueChangeArgs.current = false;\n let newValue;\n if (multiple) {\n newValue = (value ?? []).includes(option.value)\n ? (value as string[]).filter((item) => item !== option.value)\n : (((value as any[]) ?? []).concat(option.value) as string[]);\n } else {\n newValue = option.value === value ? \"\" : option.value;\n }\n const getSelectOptions = () => {\n const hadSelected = selectedOptions.find(\n (item) => item.value === option.value\n );\n return hadSelected\n ? selectedOptions.filter((item) => item.value !== option.value)\n : selectedOptions.concat(option);\n };\n const newOptions = getSelectOptions();\n setSelectedOptions(newOptions);\n setValue(newValue);\n onChange?.(newValue, newOptions);\n onValueChange?.(newValue);\n setIsDropHidden(!multiple);\n setFocusOptionItem(option);\n !multiple && setIsFocused(false);\n multiple && inputRef.current && inputRef.current.focus();\n setInputValue(\"\");\n },\n [multiple, onChange, onValueChange, selectedOptions, value]\n );\n\n const handleMultipleItemClose = useCallback(\n (closeValue: string | number | boolean) => {\n const newOptions = selectedOptions.filter(\n (item) => item.value !== closeValue\n );\n setSelectedOptions(newOptions);\n onChange?.(\n newOptions.map((item) => item.value),\n newOptions\n );\n },\n [onChange, selectedOptions]\n );\n\n const handleClear = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setSelectedOptions([]);\n onChange?.(undefined, []);\n };\n\n const handleSearchQuery = useCallback(\n async (value = \"\", type: \"valueChange\" | \"search\") => {\n if (useBackend && isSearchable(useBackend)) {\n const {\n provider,\n args,\n onValueChangeArgs,\n transform = (data) => data,\n } = useBackend;\n try {\n setRequestStatus(\"loading\");\n const actualArgs = applyArgs(\n type === \"search\" ? args : onValueChangeArgs!,\n value\n );\n const result = await fetchByProvider(provider, actualArgs);\n if (isNil(result)) return;\n const transformedData = transform(result);\n const actualData = formatOptions(\n transformedData as unknown as GeneralOption[],\n fields as any\n );\n setRequestStatus(\"success\");\n setOptions(actualData);\n // 值设置后,需要回填\n if (type === \"valueChange\") {\n setSelectedOptions(\n actualData.filter((item) =>\n Array.isArray(props.value)\n ? props.value.includes(item.value)\n : item.value === props.value\n )\n );\n }\n } catch (e) {\n setRequestStatus(\"error\");\n handleHttpError(e);\n }\n }\n },\n [useBackend, fields, props.value]\n );\n\n const handleDebounceBackendSearch = useMemo(() => {\n return debounce(handleSearchQuery, debounceSearchDelay || 300);\n }, [debounceSearchDelay, handleSearchQuery]);\n\n const computedOptions = React.useMemo((): GeneralComplexOption[] => {\n return (mode === \"tags\" && inputValue ? [inputValue] : [])\n .map((item) => ({\n key: item,\n label: item,\n value: item,\n }))\n .concat(\n selectedOptions.filter(\n (selected) =>\n !options.find((option) => option.value === selected.value)\n ) as any\n )\n .concat(options);\n }, [inputValue, mode, options, selectedOptions]);\n\n useEffect(() => {\n setValue(props.value);\n // 设置回填option\n setSelectedOptions(\n computedOptions.filter((item) =>\n Array.isArray(props.value)\n ? props.value.includes(item.value)\n : item.value === props.value\n )\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value]);\n\n useEffect(() => {\n optionsChange?.(computedOptions, name as string);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [computedOptions]);\n\n useEffect(() => {\n props?.useBackend?.onValueChangeArgs &&\n shouldTriggerOnValueChangeArgs.current &&\n !(Array.isArray(props.value)\n ? props.value.length === 0\n : isNil(props.value)) &&\n handleSearchQuery(props.value, \"valueChange\");\n shouldTriggerOnValueChangeArgs.current = true;\n }, [handleSearchQuery, props?.useBackend?.onValueChangeArgs, props.value]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n const value = e.target.value;\n if (mode === \"tags\" && value) {\n const matchToken = tokenSeparators?.includes(value[value.length - 1]);\n const customValue =\n value && matchToken ? value.substring(0, value.length - 1) : value;\n if (matchToken) {\n handleChange({\n key: customValue,\n label: customValue,\n value: customValue,\n });\n } else {\n setInputValue(value);\n }\n } else {\n setInputValue(value);\n setIsDropHidden(false);\n onSearch?.(value);\n }\n handleDebounceBackendSearch(value, \"search\");\n },\n [handleChange, handleDebounceBackendSearch, mode, onSearch, tokenSeparators]\n );\n\n const handleKeydown = useCallback(\n (e: KeyboardEvent): void => {\n if (e.code === \"Enter\") {\n focusOptionItem && handleChange(focusOptionItem);\n }\n if (\n e.code === \"Backspace\" &&\n multiple &&\n inputValue === \"\" &&\n selectedOptions?.length\n ) {\n selectedOptions.pop();\n setSelectedOptions([...selectedOptions]);\n value.pop();\n setValue([...value]);\n }\n if (!isDropHidden && focusOptionItem) {\n if (e.code === \"ArrowDown\") {\n const index = renderOptions.findIndex(\n (item) => item.value === focusOptionItem.value\n );\n setFocusOptionItem(\n renderOptions[\n index + 1 > renderOptions.length - 1\n ? renderOptions.length - 1\n : index + 1\n ]\n );\n }\n if (e.code === \"ArrowUp\") {\n const index = renderOptions.findIndex(\n (item) => item.value === focusOptionItem.value\n );\n setFocusOptionItem(renderOptions[index - 1 < 0 ? 0 : index - 1]);\n }\n }\n },\n [\n multiple,\n inputValue,\n selectedOptions,\n isDropHidden,\n focusOptionItem,\n handleChange,\n value,\n renderOptions,\n ]\n );\n\n const isEmptyValue = useMemo(() => {\n return typeof selectedOptions === \"object\"\n ? isEmpty(selectedOptions)\n : selectedOptions === undefined;\n }, [selectedOptions]);\n\n useLayoutEffect(() => {\n const renderOptions = computedOptions.filter((item) =>\n inputValue\n ? (item.label as string)\n .toLocaleUpperCase()\n .includes(inputValue.toLocaleUpperCase())\n : true\n );\n setRenderOptions(renderOptions);\n setFocusOptionItem(renderOptions?.[0]);\n\n if (inputSpanRef.current) {\n setInputWidth(\n inputSpanRef.current?.offsetWidth === 0\n ? 4\n : inputSpanRef.current?.offsetWidth\n );\n }\n }, [computedOptions, handleChange, inputValue, mode, tokenSeparators]);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n e.stopPropagation();\n if (selectRef.current?.contains(e.target as HTMLElement)) return;\n setIsFocused(false);\n setIsDropHidden(true);\n setInputValue(\"\");\n };\n document.addEventListener(\"keydown\", handleKeydown);\n document.addEventListener(\"click\", handleDocumentClick);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown);\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n }, [handleKeydown]);\n\n const renderSelector = useMemo(() => {\n let tagList: GeneralComplexOption[] = selectedOptions;\n if (maxTagCount) {\n const ellipsisInfo =\n selectedOptions.length - maxTagCount > 0\n ? {\n label: `+${selectedOptions.length - maxTagCount}`,\n key: \"$$key\",\n value: \"\",\n closable: false,\n }\n : null;\n tagList = selectedOptions.slice(0, maxTagCount);\n ellipsisInfo && tagList.push(ellipsisInfo);\n }\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n\n const renderLabel = (option: GeneralComplexOption): React.ReactNode => {\n return (\n <div className=\"label\">\n <span className=\"text\">\n {multiple ? (\n <WrappedTag\n key={option.value as number}\n color={disabled ? \"#ddd\" : undefined}\n closable={option.closable ?? true}\n tagStyle={{\n borderRadius: 4,\n }}\n checkable={false}\n onClose={() => handleMultipleItemClose(option.value)}\n >\n {option.label}\n {multiple && suffix && (\n <ReactUseBrick useBrick={suffix} data={option} />\n )}\n </WrappedTag>\n ) : (\n option.label\n )}\n </span>\n {!multiple && suffix && (\n <ReactUseBrick useBrick={suffix} data={option} />\n )}\n </div>\n );\n };\n\n const renderMultipleLabel = (\n list: Array<GeneralComplexOption>\n ): React.ReactNode => {\n return list.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 renderLabel(option);\n });\n };\n\n return (\n <div\n className={classNames({\n \"selected-item\": multiple,\n \"select-single-item\": !multiple,\n })}\n style={\n isEmptyValue ? { color: \"var(--antd-input-placeholder-color)\" } : {}\n }\n >\n {selectedOptions?.length\n ? multiple\n ? renderMultipleLabel(tagList)\n : renderLabel(selectedOptions[0])\n : isFocused || inputValue\n ? \"\"\n : placeholder}\n </div>\n );\n }, [\n computedOptions,\n disabled,\n handleMultipleItemClose,\n inputValue,\n isEmptyValue,\n isFocused,\n maxTagCount,\n multiple,\n placeholder,\n selectedOptions,\n suffix,\n ]);\n\n const Options = useMemo(() => {\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-hover\": item.value === focusOptionItem.value,\n \"select-option-selected\":\n typeof value !== \"object\"\n ? value === item?.value\n : (value as any[]).includes(item.value),\n })}\n onClick={() => !item.disabled && handleChange(item)}\n onMouseOver={() => setFocusOptionItem(item)}\n >\n <div className=\"select-item-option-content\">\n <div className=\"option\">\n <span className=\"label\">{item.label}</span>\n {suffix && <ReactUseBrick useBrick={suffix} data={item} />}\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 const renderGroupOption = (): React.ReactNode => {\n const optsGroup = Object.entries(groupBy(renderOptions, props.groupBy));\n\n return optsGroup.map(([group, options], index) =>\n group !== \"undefined\" ? (\n <div key={index} className=\"select-group-wrapper\">\n <div className=\"select-group-label\">{group}</div>\n {options.map((item) => getSelectOption(item))}\n </div>\n ) : (\n options.map((item) => getSelectOption(item))\n )\n );\n };\n\n const renderOption = () =>\n renderOptions.map((item: any) => {\n return getSelectOption(item);\n });\n\n return renderOptions.length > 0 ? (\n props.groupBy ? (\n renderGroupOption()\n ) : (\n renderOption()\n )\n ) : (\n <div className=\"empty-tips\">\n <img src={emptySrc} />\n <span>暂无数据</span>\n </div>\n );\n }, [\n renderOptions,\n props.groupBy,\n emptySrc,\n focusOptionItem,\n value,\n suffix,\n handleChange,\n ]);\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\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 ref={selectRef}\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={handleSelectorClick}\n >\n <div className=\"select-selection-overflow\">\n {multiple && renderSelector}\n <div className=\"input-item\">\n <div className=\"select-selection-search\">\n <span\n style={{ position: \"absolute\", opacity: \"0\" }}\n ref={inputSpanRef}\n >\n {inputValue}\n </span>\n <input\n style={{ width: inputWidth }}\n type=\"text\"\n value={inputValue}\n ref={inputRef}\n className=\"select-selection-search-input\"\n onChange={handleInputChange}\n />\n </div>\n {!multiple ? !inputValue && renderSelector : null}\n </div>\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 {requestStatus === \"loading\" ? (\n <div className=\"dropdown-list-loading-container\">\n <WrappedIcon\n {...{\n icon: \"loading\",\n lib: \"antd\",\n theme: \"outlined\",\n spinning: true,\n }}\n />\n </div>\n ) : (\n <div className=\"dropdown-inner\">{Options}</div>\n )}\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","// This icon file is generated automatically.\nvar CaretRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\" } }] }, \"name\": \"caret-right\", \"theme\": \"outlined\" };\nexport default CaretRightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretRightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretRightOutlined = function CaretRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretRightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretRightOutlined.displayName = 'CaretRightOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretRightOutlined);","import React, { useEffect, useState, useMemo } 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 { intersection, isEqual, uniq } from \"lodash\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { CaretRightOutlined } from \"@ant-design/icons\";\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 isGroup?: boolean;\n optionGroups?: OptionGroup[];\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 * 是否为复选框,为true时,则可设置分组数据 optionGroups\n */\n @property({\n type: Boolean,\n })\n accessor isGroup: boolean | undefined;\n\n /**\n * 多选框选项分组数据,需要设置 isGroup 为 true 才生效\n */\n @property({\n attribute: false,\n })\n accessor optionGroups: OptionGroup[] | 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 currentOptions = this.optionGroups\n ? this.optionGroups.reduce(\n (before: CheckboxOptionType[], after) => [\n ...before,\n ...after.options,\n ],\n []\n )\n : this.options;\n const currentSelectOption = formatOptions(currentOptions).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 isGroup={this.isGroup}\n optionGroups={this.optionGroups}\n />\n );\n }\n}\n\nfunction CheckboxComponent(props: CheckboxProps) {\n const { isGroup } = props;\n const [values, setValues] = useState<CheckboxValueType[]>(props?.value ?? []);\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n const [collapseKeys, setCollapseKeys] = useState<string[]>(\n (props.optionGroups || []).map((o) => o.key)\n );\n const [optionGroups, setOptionGroups] = useState(props.optionGroups);\n useEffect(() => {\n if (!isEqual(optionGroups, props.optionGroups)) {\n setCollapseKeys((optionGroups || []).map((o) => o.key));\n setOptionGroups(props.optionGroups);\n }\n }, [props.optionGroups]);\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 {props.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 checkboxLabelCheck: values.includes(item.value),\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\n className={classNames({ checkboxInner: true })}\n style={\n values.includes(item.value) && item.checkboxColor\n ? {\n background: item.checkboxColor,\n borderColor: item.checkboxColor,\n }\n : {}\n }\n ></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 const CheckGroupItem = (props: CheckboxProps) => {\n const _optionGroups = useMemo(() => {\n return optionGroups?.map((option) => {\n const newOptions = formatOptions(option.options);\n const newOptionsKeys = newOptions.map((n) => n.value);\n const checkOptions = intersection(values, newOptionsKeys);\n const checkType =\n checkOptions.length === newOptionsKeys.length\n ? \"all\"\n : checkOptions.length > 0 &&\n checkOptions.length !== newOptionsKeys.length\n ? \"part\"\n : \"none\";\n return {\n ...option,\n options: newOptions,\n checkType,\n keys: newOptionsKeys,\n };\n });\n }, [optionGroups, props.value]);\n return (\n <div>\n {\" \"}\n {_optionGroups?.map((i) => (\n <div key={i.key}>\n <div\n onClick={() => {\n if (collapseKeys.includes(i.key)) {\n const newKeys = collapseKeys.filter((key) => key !== i.key);\n setCollapseKeys(newKeys);\n } else {\n setCollapseKeys([...collapseKeys, i.key]);\n }\n }}\n className={classNames(\"collapse-header\")}\n >\n <span className=\"collapse-icon\">\n <CaretRightOutlined\n rotate={collapseKeys.includes(i.key) ? 90 : 0}\n rev=\"\"\n />\n </span>\n <label\n onClick={(e) => {\n e.stopPropagation();\n }}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelCheck: i.checkType === \"all\",\n })}\n >\n <span\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputCheck: i.checkType === \"all\",\n checkboxInputPartCheck: i.checkType === \"part\",\n })}\n >\n <input\n className={classNames({\n checkboxInput: true,\n })}\n onChange={(e) => {\n e.stopPropagation();\n if (i.checkType === \"all\") {\n const newValue = values.filter(\n (v) => !i.keys.includes(v)\n );\n props.onChange?.(newValue);\n } else {\n props.onChange?.(uniq([...values, ...i.keys]));\n }\n }}\n type=\"checkbox\"\n ></input>\n <span className={classNames({ checkboxInner: true })}></span>\n </span>\n\n <span className={classNames({ checkboxText: true })}>\n {i.name}\n </span>\n </label>\n </div>\n <div\n className={classNames(\"collapse-content\", {\n \"collapse-content-visible\": collapseKeys.includes(i.key),\n })}\n >\n <CheckboxItem\n {...{ ...props, options: i.options }}\n ></CheckboxItem>\n </div>\n </div>\n ))}\n </div>\n );\n };\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n {props.type == \"icon\" ? (\n <IconCheckbox {...props}></IconCheckbox>\n ) : isGroup && props.optionGroups ? (\n <CheckGroupItem {...props}></CheckGroupItem>\n ) : (\n <CheckboxItem {...{ ...props, options: options }}></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 LibIconProps,\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 = LibIconProps & { 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<LibIconProps>();\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<LibIconProps>();\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: LibIconProps) => {\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","let uid = 0;\n\nexport const symbolForAbortController = Symbol.for(\"AbortController\");\n\nexport const LIST_IGNORE = Symbol.for(\"list-ignore\");\n\nexport const getUid = () => {\n return `upload-image-${+new Date()}-${++uid}`;\n};\n\nexport const acceptValidator = (file: File, accepts?: string | string[]) => {\n const validAccepts = ([] as string[]).concat(accepts || []).reduce(\n (pre, cur) =>\n pre.concat(\n cur\n .split(\",\")\n .map((v) => v.trim())\n .filter(Boolean)\n ),\n [] as string[]\n );\n\n if (file && validAccepts.length) {\n const lowerFileName = (file.name || \"\").toLowerCase();\n const mimeType = file.type || \"\";\n const baseMimeType = mimeType.split(\"/\")[0];\n\n return validAccepts.some((accept) => {\n // like *, */*\n if ([\"*\", \"*/*\"].includes(accept)) {\n return true;\n }\n\n // like .jpg, .png\n if (accept.startsWith(\".\")) {\n const lowerType = accept.toLowerCase();\n let affixList = [lowerType];\n if ([\".jpg\", \".jpeg\"].includes(lowerType)) {\n affixList = [\".jpg\", \".jpeg\"];\n }\n\n return affixList.some((affix) => lowerFileName.endsWith(affix));\n }\n\n // like image/*\n if (accept.endsWith(\"/*\")) {\n return baseMimeType === accept.split(\"/*\")[0];\n }\n\n // Full match\n if (mimeType === accept) {\n return true;\n }\n\n return false;\n });\n }\n return true;\n};\n\nexport const sizeValidator = (file: File, limitSize?: number) => {\n return new Promise((resolve, reject) => {\n if (file && limitSize) {\n file.size < limitSize ? resolve(file) : reject(new Error(\"Wrong size!\"));\n } else {\n resolve(file);\n }\n });\n};\n\nexport type UploadStatus = \"uploading\" | \"done\" | \"error\";\n\nexport interface FileData {\n uid: string;\n name: string;\n file?: File & { uid?: string };\n response?: any;\n userData?: any;\n status?: UploadStatus;\n errors?: Error[];\n [symbolForAbortController]?: AbortController;\n}\n","import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport \"@next-core/theme\";\nimport { http } from \"@next-core/http\";\nimport {\n getUid,\n type FileData,\n symbolForAbortController,\n acceptValidator,\n sizeValidator,\n UploadStatus,\n} from \"./utils.js\";\n\nexport interface UploadActions {\n upload: () => void;\n uploadFiles: (files: FileList | File[]) => void;\n}\n\nexport interface ItemActions {\n remove: () => void;\n}\n\nexport interface UploadProps {\n children: (\n fileDataList: FileData[],\n uploadActions: UploadActions\n ) => React.ReactElement;\n itemRender: (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => React.ReactElement;\n fileList?: FileData[];\n autoUpload?: boolean;\n uploadName?: string;\n action?: string;\n method?: string;\n accept?: string;\n multiple?: boolean;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n beforeUploadValidators?: ((file: File, files: File[]) => Promise<unknown>)[];\n beforeUploadUserDataProcessor?: (\n file: File,\n fileDataList: { file: File; errors: Error[] }[]\n ) => Promise<any>;\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function Upload(props: UploadProps) {\n const {\n children,\n itemRender,\n autoUpload,\n onChange,\n uploadName = \"file\",\n action,\n method,\n accept,\n maxCount,\n overMaxCountMode = \"replace\",\n beforeUploadValidators = [],\n beforeUploadUserDataProcessor,\n multiple,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [internalFileDataList, setInternalFileDataList] = useState<FileData[]>(\n []\n );\n\n useEffect(() => {\n setInternalFileDataList(props.fileList || []);\n }, [props.fileList]);\n\n const beforeLoadFilter = (files: File[]) => {\n return files.filter((file) => acceptValidator(file, accept));\n };\n\n const beforeLoadValidator = async (files: File[]) => {\n const results = await Promise.all(\n files.map((file) =>\n Promise.allSettled([\n file,\n sizeValidator(file),\n ...beforeUploadValidators.map((validator) => validator(file, files)),\n ])\n )\n );\n return results.map(([_file, ...validatorResult]) => {\n const file = (_file as PromiseFulfilledResult<File>).value;\n const errors: Error[] = [];\n\n validatorResult.forEach((result) => {\n result.status === \"rejected\" && errors.push(result.reason);\n });\n\n return { file, errors };\n });\n };\n\n const beforeLoadProcessor = async (\n fileDataList: { file: File; errors: Error[] }[]\n ) => {\n return Promise.all(\n fileDataList.map(\n async ({\n file,\n errors,\n }: {\n file: File & { uid?: string };\n errors: Error[];\n }) => {\n const uid = getUid();\n file.uid = uid;\n const name = file.name;\n\n const status: UploadStatus = errors.length\n ? \"error\"\n : autoUpload\n ? \"uploading\"\n : \"done\";\n\n const userData = await beforeUploadUserDataProcessor?.(\n file,\n fileDataList\n );\n return { uid, file, name, status, userData, errors };\n }\n )\n );\n };\n\n const handleUploadSuccess = (fileData: FileData, response: unknown) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n response,\n status: \"done\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleUploadError = (fileData: FileData, error: Error) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n errors: _fileData.errors?.concat(error),\n status: \"error\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleFileRemove = (removedFileData: FileData) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.filter(\n (fileData) => fileData.uid !== removedFileData.uid\n );\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleRemove = (fileData: FileData) => {\n if (fileData.status === \"uploading\") {\n fileData[symbolForAbortController]?.abort();\n }\n handleFileRemove(fileData);\n };\n\n const uploadFile = (fileData: FileData) => {\n const formData = new FormData();\n const abortController = new AbortController();\n fileData[symbolForAbortController] = abortController;\n formData.append(uploadName, fileData.file!, fileData.file!.name);\n\n const req = http.request(action!, {\n method,\n body: formData,\n signal: abortController.signal,\n });\n\n req\n .then((response) => handleUploadSuccess(fileData, response))\n .catch((error) => handleUploadError(fileData, error));\n\n return req;\n };\n\n const handleFileUpload = async (files: FileList | File[]) => {\n const originFiles = [...files];\n let filteredFiles: File[] = [];\n let existsFilesSlice: [number, number] | undefined;\n\n if (maxCount && Number(maxCount) > 0) {\n const existsLength = internalFileDataList.length;\n if (existsLength + originFiles.length <= maxCount) {\n filteredFiles = beforeLoadFilter(originFiles);\n } else {\n const overCount = existsLength + originFiles.length - maxCount;\n const allowCount = originFiles.length - overCount;\n\n if (overMaxCountMode === \"ignore\") {\n filteredFiles = beforeLoadFilter(originFiles).slice(0, allowCount);\n } else {\n filteredFiles = beforeLoadFilter(originFiles).slice(\n -maxCount,\n Infinity\n );\n\n if (filteredFiles.length < maxCount) {\n existsFilesSlice = [filteredFiles.length - maxCount, Infinity];\n } else {\n existsFilesSlice = [0, 0];\n }\n }\n }\n } else {\n filteredFiles = beforeLoadFilter(originFiles);\n }\n\n const validatedFiles = await beforeLoadValidator(filteredFiles);\n const processedFileDataList = await beforeLoadProcessor(validatedFiles);\n (processedFileDataList.length || existsFilesSlice) &&\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = (\n existsFilesSlice\n ? fileDataList.slice(...existsFilesSlice)\n : fileDataList\n ).concat(processedFileDataList);\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n\n processedFileDataList.forEach(\n (fileData) => fileData.status === \"uploading\" && uploadFile(fileData)\n );\n };\n\n const handleInputChange = async (event: ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n handleFileUpload([...event.target.files!]);\n event.target.value = \"\";\n };\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n multiple={multiple}\n accept={accept}\n hidden\n onChange={handleInputChange}\n />\n <div className=\"upload-wrapper\">\n {children(internalFileDataList, {\n upload: () => inputRef.current?.click(),\n uploadFiles: (files) => handleFileUpload(files),\n })}\n <div className=\"file-list\">\n {internalFileDataList.map((fileData) => {\n const actions = {\n remove: () => handleRemove(fileData),\n };\n return (\n <React.Fragment key={fileData.uid}>\n {itemRender(fileData, internalFileDataList, actions)}\n </React.Fragment>\n );\n })}\n </div>\n </div>\n </>\n );\n}\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","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport genPurePanel from '../_util/PurePanel';\nimport warning from '../_util/warning';\nimport DatePicker from '../date-picker';\nconst {\n TimePicker: InternalTimePicker,\n RangePicker: InternalRangePicker\n} = DatePicker;\nconst RangePicker = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(InternalRangePicker, Object.assign({}, props, {\n picker: \"time\",\n mode: undefined,\n ref: ref\n})));\nconst TimePicker = /*#__PURE__*/React.forwardRef((_a, ref) => {\n var {\n addon,\n renderExtraFooter\n } = _a,\n restProps = __rest(_a, [\"addon\", \"renderExtraFooter\"]);\n const internalRenderExtraFooter = React.useMemo(() => {\n if (renderExtraFooter) {\n return renderExtraFooter;\n }\n if (addon) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'TimePicker', '`addon` is deprecated. Please use `renderExtraFooter` instead.') : void 0;\n return addon;\n }\n return undefined;\n }, [addon, renderExtraFooter]);\n return /*#__PURE__*/React.createElement(InternalTimePicker, Object.assign({}, restProps, {\n mode: undefined,\n ref: ref,\n renderExtraFooter: internalRenderExtraFooter\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n TimePicker.displayName = 'TimePicker';\n}\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(TimePicker, 'picker');\nTimePicker._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nTimePicker.RangePicker = RangePicker;\nTimePicker._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default TimePicker;","import React, { useEffect, useMemo, 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 { TimePicker, ConfigProvider, theme } from \"antd\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { TimePickerProps } from \"antd/lib/time-picker\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { i18n } from \"@next-core/i18n\";\nimport { isNil, omit } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\n\ndayjs.extend(customParseFormat);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ninterface EoTimePickerProps extends FormItemProps {\n shadowRoot: ShadowRoot | null;\n configProps?: Partial<TimePickerProps>;\n placeholder?: string;\n value?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n onOpenChange?: (flag: boolean, value: string) => void;\n}\n\n/**\n * 构件 `eo-time-picker`\n */\nexport\n@defineElement(\"eo-time-picker\", {\n styleTexts: [styleText],\n})\nclass EoTimePicker 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()\n accessor placeholder: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean }) accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 透传 antd timePicker 属性 [timePickerProps](https://ant.design/components/time-picker-cn)\n */\n @property({ attribute: false })\n accessor configProps: Partial<TimePickerProps> | undefined;\n\n /**\n *时间变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n\n /**\n *面板打开时触发, 传出当前时间值\n */\n @event({ type: \"open\" })\n accessor #openEvent!: EventEmitter<string>;\n\n /**\n *面板关闭时触发,传出当前时间值\n */\n @event({ type: \"close\" })\n accessor #closeEvent!: EventEmitter<string>;\n\n #handleChange = (value: string): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n #handleOpenChange = (flag: boolean, value: string): void => {\n if (flag) {\n this.#openEvent.emit(value);\n } else {\n this.#closeEvent.emit(value);\n }\n };\n\n render() {\n return (\n <EoTimePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n configProps={this.configProps}\n name={this.name}\n label={this.label}\n onChange={this.#handleChange}\n onOpenChange={this.#handleOpenChange}\n placeholder={this.placeholder}\n value={this.value}\n required={this.required}\n message={this.message}\n shadowRoot={this.shadowRoot}\n disabled={this.disabled}\n />\n );\n }\n}\n\nexport function EoTimePickerComponent(props: EoTimePickerProps) {\n const {\n configProps = {},\n onChange,\n onOpenChange,\n disabled,\n placeholder,\n } = props;\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n const [value, setValue] = useState<Dayjs | null>(null);\n const format: string = (configProps.format as string) ?? \"HH:mm:ss\";\n useEffect(() => {\n if (!isNil(props.value)) {\n setValue(dayjs(props.value, format) as Dayjs);\n } else {\n setValue(null);\n }\n }, [props.value, format]);\n\n const handleChange = (time: Dayjs | null, timeString: string): void => {\n onChange?.(timeString);\n };\n\n const handleOpenChange = (flag: boolean): void => {\n onOpenChange?.(\n flag,\n !isNil(value) ? (dayjs(value as Dayjs).format(format) as string) : \"\"\n );\n };\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <div\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <TimePicker\n {...configProps}\n getPopupContainer={(trigger) => trigger}\n value={value}\n onChange={handleChange}\n onOpenChange={handleOpenChange}\n disabled={disabled}\n placeholder={placeholder}\n allowClear={configProps.allowClear}\n />\n </div>\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n","export enum K {\n NEXT_DAY = \"NEXT_DAY\",\n TODAY = \"TODAY\",\n LAST_DAY = \"LAST_DAY\",\n NEXT_WEEK = \"NEXT_WEEK\",\n THIS_WEEK = \"THIS_WEEK\",\n LAST_WEEK = \"LAST_WEEK\",\n NEXT_MONTH = \"NEXT_MONTH\",\n THIS_MONTH = \"THIS_MONTH\",\n LAST_MONTH = \"LAST_MONTH\",\n NEXT_QUARTER = \"NEXT_QUARTER\",\n THIS_QUARTER = \"THIS_QUARTER\",\n LAST_QUARTER = \"LAST_QUARTER\",\n NEXT_YEAR = \"NEXT_YEAR\",\n THIS_YEAR = \"THIS_YEAR\",\n LAST_YEAR = \"LAST_YEAR\",\n FISRT_QUARTER = \"FISRT_QUARTER\",\n SECOND_QUARTER = \"SECOND_QUARTER\",\n THIRD_QUARTER = \"THIRD_QUARTER\",\n FOURTH_QUARTER = \"FOURTH_QUARTER\",\n}\n\nconst en: Locale = {\n NEXT_DAY: \"Next day\",\n TODAY: \"Today\",\n LAST_DAY: \"Previous day\",\n NEXT_WEEK: \"Next week\",\n THIS_WEEK: \"This week\",\n LAST_WEEK: \"Previous week\",\n NEXT_MONTH: \"Next month\",\n THIS_MONTH: \"This month\",\n LAST_MONTH: \"Previous month\",\n NEXT_QUARTER: \"Next quarter\",\n THIS_QUARTER: \"This quarter\",\n LAST_QUARTER: \"Previous quarter\",\n NEXT_YEAR: \"Next year\",\n THIS_YEAR: \"This year\",\n LAST_YEAR: \"Previous year\",\n FISRT_QUARTER: \"First quarter\",\n SECOND_QUARTER: \"Second quarter\",\n THIRD_QUARTER: \"Third quarter\",\n FOURTH_QUARTER: \"Fourth quarter\",\n};\n\nconst zh: Locale = {\n NEXT_DAY: \"下日\",\n TODAY: \"今日\",\n LAST_DAY: \"上日\",\n NEXT_WEEK: \"下周\",\n THIS_WEEK: \"本周\",\n LAST_WEEK: \"上周\",\n NEXT_MONTH: \"下月\",\n THIS_MONTH: \"本月\",\n LAST_MONTH: \"上月\",\n NEXT_QUARTER: \"下季度\",\n THIS_QUARTER: \"本季度\",\n LAST_QUARTER: \"上季度\",\n NEXT_YEAR: \"下年\",\n THIS_YEAR: \"今年\",\n LAST_YEAR: \"上年\",\n FISRT_QUARTER: \"第一季度\",\n SECOND_QUARTER: \"第二季度\",\n THIRD_QUARTER: \"第三季度\",\n FOURTH_QUARTER: \"第四季度\",\n};\n\nexport const NS = \"bricks/form/eo-date-picker\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n LeftOutlined.displayName = 'LeftOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(LeftOutlined);","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n RightOutlined.displayName = 'RightOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(RightOutlined);","import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { DatePicker, ConfigProvider, theme } from \"antd\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { omit } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\nimport isoWeek from \"dayjs/plugin/isoWeek.js\";\nimport advancedFormat from \"dayjs/plugin/advancedFormat.js\";\nimport quarterOfYear from \"dayjs/plugin/quarterOfYear.js\";\nimport \"dayjs/locale/zh-cn.js\";\nimport classNames from \"classnames\";\nimport { DisabledDateType, PickerMode, DisabledDate } from \"../interface.js\";\nimport { LeftOutlined, RightOutlined } from \"@ant-design/icons\";\nimport moment from \"moment\";\n\ninitializeI18n(NS, locales);\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\ninterface InternalStateDatePickerProps {\n placeholder?: string;\n value?: Dayjs;\n showTime?: boolean;\n inputBoxStyle?: React.CSSProperties;\n format?: string;\n picker?: PickerMode;\n disabledDate?: DisabledDateType;\n useFastSelectBtn?: boolean;\n futureDateDisabled?: boolean;\n disabled?: boolean;\n onChange?: (value: Dayjs | null, dateString: string) => void;\n onOk?: (date: Dayjs) => void;\n}\n\ninterface EoDatePickerProps\n extends Omit<InternalStateDatePickerProps, \"value\" | \"onChange\" | \"onOk\">,\n FormItemProps {\n shadowRoot: ShadowRoot | null;\n value?: string;\n onChange?: (value: string) => void;\n onOk?: (value: string) => void;\n}\n\ninterface FieldSetAndRanges {\n fieldSet: Set<number>;\n ranges: [number, number][];\n}\ntype PickerModeMap = {\n [K in PickerMode]: string[];\n};\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\n/**\n * 构件 `eo-date-picker`\n */\nexport\n@defineElement(\"eo-date-picker\", {\n styleTexts: [styleText],\n})\nclass EoDatePicker extends FormItemElementBase {\n /**\n * 日期选择器字段名\n */\n @property() accessor name: string | undefined;\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()\n accessor placeholder: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean }) accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 是否显示时间, 当设为 `true` 时, 请同时设置 `format` 为 `YYYY-MM-DD HH:mm:ss` 使其也显示具体时,分,秒 的时间\n */\n @property({\n type: Boolean,\n })\n accessor showTime: boolean | undefined;\n\n /**\n * 显示预览的格式,具体配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format#%E6%94%AF%E6%8C%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%8D%A0%E4%BD%8D%E7%AC%A6%E5%88%97%E8%A1%A8),注意,这里并非是定义给后台的数据格式,给后台的数据格式定义请参考 `general-form` 构件的 [valueTypes](developers/brick-book/brick/forms.general-form) 属性\n */\n @property()\n accessor format: string | undefined;\n\n /**\n * 设置选择器类型\n */\n @property({ attribute: false })\n accessor picker: PickerMode | undefined;\n\n /**\n * 不可选择未来日期,优先级高于disabledDate\n */\n @property({ type: Boolean })\n accessor futureDateDisabled: boolean | undefined;\n\n /**\n * 不可选择的日期\n */\n @property({ attribute: false })\n accessor disabledDate: DisabledDateType | undefined;\n\n /**\n *快速选项\n */\n @property({ type: Boolean })\n accessor useFastSelectBtn: boolean | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputBoxStyle: CSSProperties | undefined;\n\n /**\n *日期变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n\n /**\n *点击确定按钮触发(showTime 为 true 使用)\n */\n @event({ type: \"ok\" })\n accessor #okEvent!: EventEmitter<string>;\n\n #handleChange = (value: string): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n #handleOk = (value: string): void => {\n this.#okEvent.emit(value);\n };\n render() {\n return (\n <EoDatePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n shadowRoot={this.shadowRoot}\n label={this.label}\n name={this.name}\n value={this.value}\n message={this.message}\n required={this.required}\n placeholder={this.placeholder}\n inputBoxStyle={this.inputBoxStyle}\n disabled={this.disabled}\n disabledDate={this.disabledDate}\n futureDateDisabled={this.futureDateDisabled}\n picker={this.picker}\n format={this.format}\n showTime={this.showTime}\n onChange={this.#handleChange}\n onOk={this.#handleOk}\n useFastSelectBtn={this.useFastSelectBtn}\n />\n );\n }\n}\n\nconst getFieldSetAndRanges = (\n expression?: string | number\n): FieldSetAndRanges => {\n const fieldSet = new Set<number>();\n const ranges: [number, number][] = [];\n `${expression}`.split(\",\").forEach((part) => {\n if (part.includes(\"-\")) {\n const range = part.split(\"-\").map((v) => Number(v)) as [number, number];\n ranges.push(range);\n } else if (part.trim() !== \"\" && !Number.isNaN(Number(part))) {\n fieldSet.add(Number(part));\n }\n });\n return { fieldSet, ranges };\n};\n\nconst isInFieldSetOrRanges = (\n cur: number,\n fieldSetAndRanges: FieldSetAndRanges\n): boolean => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n return fieldSet.size === 0 && ranges.length === 0\n ? true\n : fieldSet.has(cur) ||\n ranges.some(([min, max]) => cur >= min && cur <= max);\n};\n\nconst isEmptyFieldSetOrRanges = (\n fieldSetAndRanges: FieldSetAndRanges\n): boolean => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n return fieldSet.size === 0 && ranges.length === 0;\n};\n\nconst getFieldsFromFieldSetAndRanges = (\n fieldSetAndRanges: FieldSetAndRanges\n): number[] => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n let fields = [...fieldSet];\n ranges.forEach(([min, max]) => {\n fields = fields.concat([...Array(max + 1).keys()].slice(min));\n });\n return [...new Set(fields)];\n};\n\nexport function InternalStateDatePicker(\n props: InternalStateDatePickerProps\n): React.ReactElement {\n const {\n picker,\n format,\n showTime,\n inputBoxStyle,\n disabledDate,\n futureDateDisabled,\n useFastSelectBtn,\n placeholder,\n disabled,\n onChange,\n onOk,\n } = props;\n\n const [value, setValue] = useState(props.value);\n const [confirmDisabled, setConfirmDisabled] = useState(false);\n const crontab = useMemo(() => {\n if (!disabledDate) {\n return [];\n }\n return ([] as DisabledDate[]).concat(disabledDate).map((item) => {\n const { second, minute, hour, date, month, weekday, year } = item;\n const hourFieldSetAndRanges = getFieldSetAndRanges(hour);\n const minuteFieldSetAndRanges = getFieldSetAndRanges(minute);\n const secondFieldSetAndRanges = getFieldSetAndRanges(second);\n const yearFieldSetAndRanges = getFieldSetAndRanges(year);\n const monthFieldSetAndRanges = getFieldSetAndRanges(month);\n const dateFieldSetAndRanges = getFieldSetAndRanges(date);\n const weekFieldSetAndRanges = getFieldSetAndRanges(weekday);\n return {\n fields: {\n hour: hourFieldSetAndRanges,\n minute: minuteFieldSetAndRanges,\n second: secondFieldSetAndRanges,\n year: yearFieldSetAndRanges,\n month: monthFieldSetAndRanges,\n date: dateFieldSetAndRanges,\n weekday: weekFieldSetAndRanges,\n },\n isAllDate:\n isEmptyFieldSetOrRanges(yearFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(monthFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(dateFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(weekFieldSetAndRanges),\n isAllTime:\n isEmptyFieldSetOrRanges(hourFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(minuteFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(secondFieldSetAndRanges),\n };\n });\n }, [disabledDate]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleDisabledDate = (date: Dayjs): boolean => {\n const curYear = date.year();\n const curMonth = date.month() + 1;\n const curDate = date.date();\n const curWeekday = date.isoWeekday();\n return crontab.some((cron) => {\n const { isAllDate, isAllTime, fields } = cron;\n //没有限制日期或限制了时分秒,则该日可选\n if (isAllDate || !isAllTime) {\n return false;\n }\n const { year, month, weekday, date } = fields;\n return (\n isInFieldSetOrRanges(curYear, year) &&\n isInFieldSetOrRanges(curMonth, month) &&\n isInFieldSetOrRanges(curWeekday, weekday) &&\n isInFieldSetOrRanges(curDate, date)\n );\n });\n };\n\n const handleDisabledFutureDate = (date: Dayjs): boolean => {\n return date && date > dayjs();\n };\n\n const handleDisabledTime = (date: Dayjs | null) => {\n if (!date) return;\n const curYear = date.year();\n const curMonth = date.month() + 1;\n const curDate = date.date();\n const curWeekday = date.isoWeekday();\n const curHour = date.hour();\n const curMinute = date.minute();\n const currentSecond = date.second();\n let disabledHours: number[] = [];\n let disabledMinutes: number[] = [];\n let disabledSeconds: number[] = [];\n let matchCurDate = false;\n crontab.forEach((cron) => {\n const { isAllTime, fields } = cron;\n //时分秒都没输入,则所有时间都可选\n if (isAllTime) return;\n const { hour, minute, second, year, month, weekday, date } = fields;\n const isMatchDate =\n isInFieldSetOrRanges(curYear, year) &&\n isInFieldSetOrRanges(curMonth, month) &&\n isInFieldSetOrRanges(curWeekday, weekday) &&\n isInFieldSetOrRanges(curDate, date);\n matchCurDate =\n matchCurDate ||\n (isMatchDate &&\n isInFieldSetOrRanges(curHour, hour) &&\n isInFieldSetOrRanges(curMinute, minute) &&\n isInFieldSetOrRanges(currentSecond, second));\n if (isMatchDate) {\n const hourFields = isEmptyFieldSetOrRanges(hour)\n ? [...Array(24).keys()]\n : getFieldsFromFieldSetAndRanges(hour);\n const minuteFields = isEmptyFieldSetOrRanges(minute)\n ? [...Array(60).keys()]\n : getFieldsFromFieldSetAndRanges(minute);\n const secondFields = isEmptyFieldSetOrRanges(second)\n ? [...Array(60).keys()]\n : getFieldsFromFieldSetAndRanges(second);\n // 当前在禁止小时里\n if (isInFieldSetOrRanges(curHour, hour)) {\n // 当前在禁止分钟里\n if (isInFieldSetOrRanges(curMinute, minute)) {\n disabledSeconds = disabledSeconds.concat([...secondFields]);\n }\n // 秒全禁用则对应分钟也禁用\n if (secondFields.length === 60) {\n disabledMinutes = disabledMinutes.concat([...minuteFields]);\n }\n }\n // 分全禁用则对应小时也禁用\n if (minuteFields.length === 60 && secondFields.length === 60) {\n disabledHours = disabledHours.concat([...hourFields]);\n }\n }\n });\n setConfirmDisabled(matchCurDate);\n return {\n disabledHours: () => disabledHours,\n disabledMinutes: () => disabledMinutes,\n disabledSeconds: () => disabledSeconds,\n };\n };\n\n const isDatePicker = picker === \"date\";\n const isQuarterPicker = picker === \"quarter\";\n\n const PickerBtn = useCallback(() => {\n const strMap: PickerModeMap = {\n date: [\n i18n.t(`${NS}:${K.LAST_DAY}`),\n i18n.t(`${NS}:${K.TODAY}`),\n i18n.t(`${NS}:${K.NEXT_DAY}`),\n ],\n week: [\n i18n.t(`${NS}:${K.LAST_WEEK}`),\n i18n.t(`${NS}:${K.THIS_WEEK}`),\n i18n.t(`${NS}:${K.NEXT_WEEK}`),\n ],\n month: [\n i18n.t(`${NS}:${K.LAST_MONTH}`),\n i18n.t(`${NS}:${K.THIS_MONTH}`),\n i18n.t(`${NS}:${K.NEXT_MONTH}`),\n ],\n quarter: [\n i18n.t(`${NS}:${K.LAST_QUARTER}`),\n i18n.t(`${NS}:${K.THIS_QUARTER}`),\n i18n.t(`${NS}:${K.NEXT_QUARTER}`),\n ],\n year: [\n i18n.t(`${NS}:${K.LAST_YEAR}`),\n i18n.t(`${NS}:${K.THIS_YEAR}`),\n i18n.t(`${NS}:${K.NEXT_YEAR}`),\n ],\n };\n const strs = strMap[picker as PickerMode];\n const currentDate = value || dayjs();\n const handlePreTime = () => {\n let preDate: Dayjs;\n switch (picker) {\n case \"date\":\n preDate = currentDate.clone().subtract(1, \"days\");\n break;\n case \"week\":\n preDate = currentDate.clone().subtract(1, \"weeks\");\n break;\n case \"month\":\n preDate = currentDate.clone().subtract(1, \"months\");\n break;\n case \"quarter\":\n preDate = currentDate.clone().subtract(1, \"quarters\");\n break;\n case \"year\":\n preDate = currentDate.clone().subtract(1, \"years\");\n break;\n default:\n preDate = currentDate;\n break;\n }\n onChange?.(preDate, dayjs(preDate).format(format));\n setValue(preDate);\n };\n const handleCurTime = () => {\n let curDate: Dayjs;\n switch (picker) {\n case \"date\":\n curDate = dayjs();\n break;\n case \"week\":\n curDate = dayjs().startOf(\"week\");\n break;\n case \"month\":\n curDate = dayjs();\n break;\n case \"quarter\":\n curDate = dayjs().startOf(\"quarter\");\n break;\n case \"year\":\n curDate = dayjs();\n break;\n default:\n curDate = currentDate;\n break;\n }\n onChange?.(curDate, dayjs(curDate).format(format));\n setValue(curDate);\n };\n const handleNextTime = () => {\n let nextDate: Dayjs;\n switch (picker) {\n case \"date\":\n nextDate = currentDate.clone().add(1, \"days\");\n break;\n case \"week\":\n nextDate = currentDate.clone().add(1, \"weeks\");\n break;\n case \"month\":\n nextDate = currentDate.clone().add(1, \"months\");\n break;\n case \"quarter\":\n nextDate = currentDate.clone().add(1, \"quarters\");\n break;\n case \"year\":\n nextDate = currentDate.clone().add(1, \"years\");\n break;\n default:\n nextDate = currentDate;\n break;\n }\n onChange?.(nextDate, dayjs(nextDate).format(format));\n setValue(nextDate);\n };\n\n return (\n <div\n className={classNames(\"pickerBtnWrap\", {\n disabledFastSelect: disabled,\n })}\n >\n <div className={classNames(\"pre\")} onClick={() => handlePreTime()}>\n <LeftOutlined rev=\"\" />\n <span>{strs[0]}</span>\n </div>\n <div className=\"current\" onClick={() => handleCurTime()}>\n {strs[1]}\n </div>\n <div\n className={classNames({\n next: true,\n nextDisabled:\n futureDateDisabled &&\n handleDisabledFutureDate(\n currentDate\n .clone()\n .add(1, picker === \"date\" ? \"days\" : (picker as any))\n ),\n })}\n onClick={() => handleNextTime()}\n >\n <span>{strs[2]}</span>\n <RightOutlined rev=\"\" />\n </div>\n </div>\n );\n }, [value, picker, futureDateDisabled]);\n\n const cellRender = useCallback(\n (current: Dayjs, info: { originNode: React.ReactElement }) => {\n const quarterMap = {\n 1: i18n.t(`${NS}:${K.FISRT_QUARTER}`),\n 2: i18n.t(`${NS}:${K.SECOND_QUARTER}`),\n 3: i18n.t(`${NS}:${K.THIRD_QUARTER}`),\n 4: i18n.t(`${NS}:${K.FOURTH_QUARTER}`),\n };\n const selectedQuarter: number = dayjs(value).quarter();\n const currentQuarter: number = dayjs(current).quarter();\n return picker === \"quarter\" ? (\n <div\n className={classNames(\"quarterContent\", {\n selectedQuarter: selectedQuarter === currentQuarter,\n })}\n >\n {quarterMap[currentQuarter as keyof typeof quarterMap]}\n </div>\n ) : (\n info.originNode\n );\n },\n [value, picker]\n );\n\n return (\n <div\n className=\"pickerWrap\"\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <DatePicker\n cellRender={(\n current: Dayjs,\n info: { originNode: React.ReactElement }\n ) => {\n return cellRender(current, info);\n }}\n value={value}\n getPopupContainer={(trigger) => trigger}\n popupClassName={classNames({\n quarterPicker: isQuarterPicker,\n confirmDisabled: confirmDisabled,\n })}\n format={format}\n showTime={isDatePicker ? showTime : undefined}\n onChange={onChange}\n style={inputBoxStyle}\n placeholder={placeholder}\n onOk={onOk}\n suffixIcon={<WrappedIcon icon=\"calendar\" lib=\"easyops\" />}\n picker={picker}\n disabledDate={\n (futureDateDisabled && handleDisabledFutureDate) ||\n (disabledDate && handleDisabledDate)\n }\n disabledTime={disabledDate && (handleDisabledTime as any)}\n disabled={disabled}\n />\n {useFastSelectBtn && <PickerBtn />}\n </div>\n );\n}\n\nexport function EoDatePickerComponent(\n props: EoDatePickerProps\n): React.ReactElement {\n const { name, formElement, picker = \"date\", ...restProps } = props;\n\n const PickerFormatMap = {\n date: \"YYYY-MM-DD\",\n week: \"gggg-ww周\",\n month: \"YYYY-MM月\",\n quarter: \"YYYY-第Q季度\",\n year: \"YYYY\",\n };\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n const isDatePicker = picker === \"date\";\n const format = props.format || PickerFormatMap[picker];\n\n const handleChange = (date: Dayjs | null, dateString: string): void => {\n props.onChange?.(dateString);\n };\n\n const handleOk = (date: Dayjs): void => {\n props.onOk?.(date?.format(props.format));\n };\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n const value: Dayjs | undefined = useMemo(() => {\n const parseValue = props.value;\n if (parseValue) {\n if (!props.format && (picker === \"week\" || picker === \"quarter\")) {\n //dayjs目前不支持解析gggg-ww周、YYYY-第Q季度格式的输入\n return dayjs(moment(parseValue, format).format());\n } else {\n return dayjs(parseValue, format);\n }\n }\n }, [props.value, format]);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <InternalStateDatePicker\n {...restProps}\n value={value}\n format={format}\n onChange={handleChange}\n onOk={isDatePicker ? handleOk : undefined}\n picker={picker}\n />\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n","export enum K {\n TODAY = \"TODAY\",\n THIS_WEEK = \"THIS_WEEK\",\n THIS_MONTH = \"THIS_MONTH\",\n THIS_QUARTER = \"THIS_QUARTER\",\n THIS_YEAR = \"THIS_YEAR\",\n START_TIME_END_TIME_CANNOT_EQUAL = \"START_TIME_END_TIME_CANNOT_EQUAL\",\n START_TIME_REQUIRED = \"START_TIME_REQUIRED\",\n END_TIME_REQUIRED = \"END_TIME_REQUIRED\",\n}\n// HELLO = \"HELLO\",\n\nconst en: Locale = {\n TODAY: \"Today\",\n THIS_WEEK: \"This Week\",\n THIS_MONTH: \"This Month\",\n THIS_QUARTER: \"This Quarter\",\n THIS_YEAR: \"This Year\",\n START_TIME_END_TIME_CANNOT_EQUAL: \"Start Time and End Time can NOT be equal\",\n START_TIME_REQUIRED: \"Start Time is required\",\n END_TIME_REQUIRED: \"End Time is required\",\n};\n\nconst zh: Locale = {\n TODAY: \"今天\",\n THIS_WEEK: \"本周\",\n THIS_MONTH: \"本月\",\n THIS_QUARTER: \"本季度\",\n THIS_YEAR: \"今年\",\n START_TIME_END_TIME_CANNOT_EQUAL: \"开始时间和结束时间不能相等\",\n START_TIME_REQUIRED: \"开始时间必填\",\n END_TIME_REQUIRED: \"结束时间必填\",\n};\n\nexport const NS = \"bricks/form/eo-time-range-picker\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useEffect, useMemo, useState, useRef } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { TimePicker, DatePicker, ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./styles.shadow.css\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { omit, isEmpty, uniqueId, difference } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isoWeek from \"dayjs/plugin/isoWeek.js\";\nimport advancedFormat from \"dayjs/plugin/advancedFormat.js\";\nimport quarterOfYear from \"dayjs/plugin/quarterOfYear.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\nimport \"dayjs/locale/zh-cn.js\";\n\ninitializeI18n(NS, locales);\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst INIT_TIME_RANGE: TimeRange = {\n startTime: \"00:00:00\",\n endTime: \"23:59:59\",\n};\n\nexport enum presetRangeType {\n Today = \"今天\",\n ThisWeek = \"本周\",\n ThisMonth = \"本月\",\n ThisQuarter = \"本季度\",\n ThisYear = \"今年\",\n}\nexport interface TimeRange {\n startTime: string;\n endTime: string;\n}\n\ntype PickerType = \"date\" | \"week\" | \"month\" | \"quarter\" | \"year\";\ntype OtherPickerType = \"dateTime\" | \"hmTime\" | \"time\";\nexport type RangeType = PickerType & OtherPickerType;\n\nexport interface EoTimeRangePickerProps extends FormItemProps {\n shadowRoot?: ShadowRoot | null;\n value?: TimeRange;\n format: string;\n rangeType?: RangeType;\n onChange?: (range: TimeRange) => void;\n emitChangeOnInit?: boolean;\n selectNearDays?: number;\n presetRanges?: presetRangeType[];\n}\ntype RealTimeRangePickerProps = Omit<\n EoTimeRangePickerProps,\n keyof FormItemProps\n>;\n/**\n * 构件 `eo-time-range-picker`\n */\nexport\n@defineElement(\"eo-time-range-picker\", {\n styleTexts: [styleText],\n})\nclass EoTimeRangePicker 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 * @default { \"startTime\": \"00:00:00\", \"endTime\": \"23:59:59\" }\n */\n @property({ attribute: false }) accessor value: TimeRange | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 时间段类型\n */\n @property({ attribute: false })\n accessor rangeType: RangeType | undefined;\n\n /**\n * 只有rangeType在`date` 和 `dateTime`下, 才支持只选择最近n天(当前时间向前n天)\n */\n @property({ type: Number })\n accessor selectNearDays: number | undefined;\n\n /**\n * @default true\n * 是否在初始化完成后额外触发一次`time.range.change`, 这里因为历史原因之前默认行为就是在初始化后会触发该事件,这里为了兼容之前的行为,默认值只能设置为 true。\n */\n @property({ type: Boolean })\n accessor emitChangeOnInit: boolean | undefined;\n\n /**\n * @default []\n * 预设时间范围快捷选择;设置了属性selectNearDays时,属性presetRanges不生效;属性rangeType为week时,presetRanges的值只能为本周、本月、本季度、今年,属性rangeType为month、quarter、year时,以此类推\n */\n @property({ attribute: false })\n accessor presetRanges: presetRangeType[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody | string) | undefined;\n\n /**\n *时间段变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<TimeRange>;\n\n handleChange = (value: TimeRange): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n // istanbul ignore next;\n unequal = (value: TimeRange): string => {\n if (value.startTime && value.endTime && value.startTime === value.endTime) {\n return i18n.t(`${NS}:${K.START_TIME_END_TIME_CANNOT_EQUAL}`);\n }\n return \"\";\n };\n // istanbul ignore next;\n startTimeRequired = (value: TimeRange): string => {\n if (!value.startTime && this.required) {\n return i18n.t(`${NS}:${K.START_TIME_REQUIRED}`);\n }\n return \"\";\n };\n // istanbul ignore next;\n endTimeRequired = (value: TimeRange): string => {\n if (!value.endTime && this.required) {\n return i18n.t(`${NS}:${K.END_TIME_REQUIRED}`);\n }\n return \"\";\n };\n\n #builtInvalidator: ((value: any) => MessageBody | string)[] = [\n this.unequal,\n this.startTimeRequired,\n this.endTimeRequired,\n ];\n\n #defaultFormat = \"HH:mm:ss\";\n render() {\n let format = this.#defaultFormat;\n switch (this.rangeType as RangeType) {\n case \"date\":\n format = \"YYYY-MM-DD\";\n break;\n case \"dateTime\":\n format = `YYYY-MM-DD ${this.#defaultFormat}`;\n break;\n case \"hmTime\":\n format = `HH:mm`;\n break;\n case \"week\": //week,month,quarter,year 不设置format,使用ant.design RangePicker的默认format\n format = \"\";\n break;\n case \"month\":\n format = \"\";\n break;\n case \"quarter\":\n format = \"\";\n break;\n case \"year\":\n format = \"\";\n break;\n }\n\n return (\n <EoTimeRangePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n selectNearDays={this.selectNearDays}\n emitChangeOnInit={this.emitChangeOnInit}\n rangeType={this.rangeType}\n required={this.required}\n format={format}\n validator={\n (this.validator\n ? this.#builtInvalidator.concat(this.validator)\n : this.#builtInvalidator) as any\n }\n presetRanges={this.presetRanges}\n onChange={this.handleChange}\n shadowRoot={this.shadowRoot}\n needValidate={true}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst rangeRules = {\n date: [] as presetRangeType[],\n dateTime: [] as presetRangeType[],\n week: [presetRangeType.Today],\n month: [presetRangeType.Today, presetRangeType.ThisWeek],\n quarter: [\n presetRangeType.Today,\n presetRangeType.ThisWeek,\n presetRangeType.ThisMonth,\n ],\n year: [\n presetRangeType.Today,\n presetRangeType.ThisWeek,\n presetRangeType.ThisMonth,\n presetRangeType.ThisQuarter,\n ],\n};\n\nexport function RealTimeRangePicker(\n props: RealTimeRangePickerProps\n): React.ReactElement {\n const {\n value,\n selectNearDays,\n format,\n emitChangeOnInit = true,\n presetRanges,\n onChange,\n } = props;\n const times = [\"time\", \"hmTime\"];\n const rangeType = props.rangeType ?? \"time\";\n const today = times.includes(rangeType) ? \"\" : dayjs().format(\"YYYY-MM-DD\");\n const initRange = {\n startTime: today + INIT_TIME_RANGE.startTime,\n endTime: today + INIT_TIME_RANGE.endTime,\n };\n\n const initValue: TimeRange =\n !isEmpty(value?.startTime) || !isEmpty(value?.endTime)\n ? (value as TimeRange)\n : initRange;\n\n const [startTime, setStartTime] = useState(\n dayjs(initValue.startTime, format)\n );\n const [prevStartTime, setPrevStartTime] = useState(startTime?.clone());\n const [endTime, setEndTime] = useState(dayjs(initValue.endTime, format));\n const [prevEndTime, setPrevEndTime] = useState(endTime?.clone());\n\n const onStartTimeChange = (time: Dayjs | null, timeString: string) => {\n time && setStartTime(time);\n onChange?.({\n startTime: timeString,\n endTime: endTime?.format(format),\n });\n };\n\n const onEndTimeChange = (time: Dayjs | null, timeString: string) => {\n time && setEndTime(time);\n onChange?.({\n endTime: timeString,\n startTime: startTime?.format(format),\n });\n };\n\n useEffect(() => {\n if (emitChangeOnInit && !value && onChange) {\n times.includes(rangeType)\n ? onChange(INIT_TIME_RANGE)\n : onChange(initRange);\n }\n }, []);\n\n useEffect(() => {\n if (value?.startTime) {\n const start = dayjs(value.startTime, format || \"YYYY-MM-DD\");\n setStartTime(start);\n setPrevStartTime(start);\n }\n if (value?.endTime) {\n const end = dayjs(value.endTime, format || \"YYYY-MM-DD\");\n setEndTime(end);\n setPrevEndTime(end);\n }\n }, [value]);\n\n const timeRange = (\n <div className=\"timeRange\">\n <TimePicker\n {...{ id: uniqueId(\"start-time-\") }}\n onChange={onStartTimeChange}\n getPopupContainer={(trigger) => trigger}\n value={!isEmpty(value?.startTime) ? startTime : undefined}\n format={format}\n />\n <span className=\"timeRangeSplit\">~</span>\n <TimePicker\n {...{ id: uniqueId(\"end-time-\") }}\n onChange={onEndTimeChange}\n getPopupContainer={(trigger) => trigger}\n value={!isEmpty(value?.endTime) ? endTime : undefined}\n format={format}\n />\n </div>\n );\n const presetRangeMap = {\n [presetRangeType.Today]: {\n [i18n.t(`${NS}:${K.TODAY}`)]: [dayjs().startOf(\"day\"), dayjs()],\n },\n [presetRangeType.ThisWeek]: {\n [i18n.t(`${NS}:${K.THIS_WEEK}`)]: [\n dayjs().startOf(\"week\"),\n dayjs().endOf(\"week\"),\n ],\n },\n [presetRangeType.ThisMonth]: {\n [i18n.t(`${NS}:${K.THIS_MONTH}`)]: [\n dayjs().startOf(\"month\"),\n dayjs().endOf(\"month\"),\n ],\n },\n [presetRangeType.ThisQuarter]: {\n [i18n.t(`${NS}:${K.THIS_QUARTER}`)]: [\n dayjs().startOf(\"quarter\"),\n dayjs().endOf(\"quarter\"),\n ],\n },\n [presetRangeType.ThisYear]: {\n [i18n.t(`${NS}:${K.THIS_YEAR}`)]: [\n dayjs().startOf(\"year\"),\n dayjs().endOf(\"year\"),\n ],\n },\n };\n\n const presetRange = useMemo(() => {\n const rangeResult = [];\n if (!selectNearDays && !times.includes(rangeType)) {\n const compliantRanges = difference(\n presetRanges,\n (rangeRules as any)[rangeType]\n );\n for (const i of compliantRanges) {\n const list = Object.entries(presetRangeMap[i])[0];\n rangeResult.push({ label: list[0], value: list[1] });\n }\n }\n return rangeResult;\n }, [rangeType, selectNearDays, presetRanges]);\n const rangeChange = (dates: any, dateStrings: [string, string]) => {\n setStartTime(dates?.[0]);\n setEndTime(dates?.[1]);\n onChange?.({\n startTime: dates?.[0].format(format || \"YYYY-MM-DD\"), //week,month,quarter,year 的format为\"\",比如rangeType为quarter,直接返回2022-Q3的这种格式的数据,目前看起来还不是平台通用的,还是先默认转换成\"YYYY-MM-DD\"\n endTime: dates?.[1].format(format || \"YYYY-MM-DD\"),\n });\n };\n\n const needConfirm = useRef(false);\n const onOpenChange = (open: boolean) => {\n if (!open && needConfirm.current) {\n setStartTime(prevStartTime);\n setEndTime(prevEndTime);\n } else {\n needConfirm.current = true;\n }\n };\n\n const rangeOk = (selectedTime: any) => {\n needConfirm.current = false;\n const dates = selectedTime as [Dayjs, Dayjs];\n setPrevStartTime(dates?.[0]?.clone());\n setPrevEndTime(dates?.[1]?.clone());\n };\n\n const disabledDate = (current: Dayjs) => {\n if (!selectNearDays) {\n return false;\n }\n const tooSelectNearDays =\n current <= dayjs().subtract(selectNearDays, \"days\") ||\n current > dayjs().endOf(\"day\");\n return !!tooSelectNearDays;\n };\n\n const dateRange = (\n <DatePicker.RangePicker\n style={{ width: 400 }}\n showTime={(rangeType as RangeType) === \"dateTime\"}\n picker={(rangeType as RangeType) === \"dateTime\" ? \"date\" : rangeType}\n value={\n (!isEmpty(value?.startTime) || !isEmpty(value?.endTime)\n ? [startTime, endTime]\n : []) as any\n }\n presets={presetRange as any}\n format={format}\n onChange={rangeChange}\n onOpenChange={onOpenChange}\n onOk={rangeOk}\n disabledDate={disabledDate}\n separator={\"~\"}\n getPopupContainer={(trigger) => trigger}\n suffixIcon={<WrappedIcon icon=\"calendar\" lib=\"easyops\" />}\n />\n );\n const range = times.includes(rangeType) ? timeRange : dateRange;\n\n return <div>{range}</div>;\n}\n\nexport function EoTimeRangePickerComponent(props: EoTimeRangePickerProps) {\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <div\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <RealTimeRangePicker\n format={props.format}\n value={props.value}\n rangeType={props.rangeType}\n onChange={props.onChange}\n emitChangeOnInit={props.emitChangeOnInit}\n selectNearDays={props.selectNearDays}\n presetRanges={props.presetRanges}\n />\n </div>\n </StyleProvider>\n </ConfigProvider>\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;position:absolute;opacity:0}.checkboxLabel .checkboxInput[type=\"checkbox\"]:checked{color:black;background-color:var(--antd-checkbox-color);border-color:var(--antd-checkbox-color)}.checkboxLabel .checkboxInner{border-radius:3px;position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:var(--antd-checkbox-check-bg);border:1px solid var(--antd-border-color-base);box-sizing:border-box;border-collapse:separate;transition:all 0.3s}.checkboxLabel .checkboxInputCheck .checkboxInner,\n.checkboxLabel .checkboxInputPartCheck .checkboxInner{background-color:var(--antd-checkbox-color);border-color:var(--antd-checkbox-color)}.checkboxLabel .checkboxInner::after{position:absolute;top:50%;left:22%;display:table;width:0.36em;height:0.58em;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all 0.1s cubic-bezier(0.71,-0.46,0.88,0.6),opacity 0.1s;content:\" \"}.checkboxLabel .checkboxInputCheck .checkboxInner::after{transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all 0.2s cubic-bezier(0.12,0.4,0.29,1.46) 0.1s}.checkboxLabelCheck{background:var(--antd-checkbox-checked)}.checkboxLabel .checkboxInputPartCheck .checkboxInner::after{height:2px;background-color:#fff;width:8px;border:0;left:50%;opacity:1;transform:translate(-50%,-50%) scale(1)}.checkboxLabel .checkboxInputDisabled{cursor:not-allowed}.checkboxLabel:hover{background:var(--antd-checkbox-bg-hover)}.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)}.iconCheckbox:hover input[type=\"checkbox\"]::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCheckbox input[type=\"checkbox\"]:checked::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCustomCheckbox:hover input[type=\"checkbox\"]::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCustomCheckbox input[type=\"checkbox\"]:checked::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-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}.collapse-header{padding:12px 16px 12px 40px;position:relative;margin-left:0px}.collapse-content{padding:12px 16px 12px 40px;display:none}.collapse-content-visible{display:block}.collapse-header .collapse-icon{position:absolute;left:16px}.collapse-header .checkboxLabel{margin-left:0px}`, \"\"]);\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}.confirmDisabled .ant-picker-ok .ant-btn{color:var(--text-color-disabled);background:\"red\";border-color:var(--antd-border-color-base);text-shadow:none;box-shadow:none;pointer-events:none}.quarterPicker .quarterContent{left:auto;display:flex;align-items:center;justify-content:center;width:60%;padding:4px}.quarterPicker .quarterContent:hover{background:var(--antd-picker-basic-cell-hover-bg)}.quarterPicker .selectedQuarter{color:var(--antd-picker-panel-cell-selected-color);background:var(--antd-picker-panel-cell-selected-bg)}.quarterPicker .ant-picker-quarter-panel .ant-picker-content tr{display:flex;flex-wrap:wrap}.quarterPicker .ant-picker-quarter-panel .ant-picker-content td{display:flex;align-items:center;justify-content:center;width:50%;height:50%;padding:20px}.quarterPicker .ant-picker-cell-selected::before{color:var(--antd-picker-panel-cell-selected-color);background:var(--antd-picker-panel-cell-selected-bg)}.quarterPicker .ant-picker-cell::before{right:auto;left:auto;display:flex;align-items:center;justify-content:center;width:60%;display:none}.quarterPicker .ant-picker-cell:hover::before{background:var(--antd-picker-basic-cell-hover-bg);cursor:not-allowed}.pickerBtnWrap{box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";padding:0 8px;position:relative;display:inline-flex;align-items:center;background:var(--antd-component-background);border:1px solid var(--antd-border-color-base);border-radius:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pre,\n.current,\n.next{position:relative;display:flex;align-items:center;line-height:1;padding:4px;cursor:pointer}.pre:hover,\n.current:hover,\n.next:hover{color:var(--antd-link-color)}.pre:hover .anticon-left,\n.pre:hover .anticon-right,\n.current:hover .anticon-left,\n.current:hover .anticon-right,\n.next:hover .anticon-left,\n.next:hover .anticon-right{color:var(--antd-link-color)}.nextDisabled{color:var(--text-color-disabled);background:var(--antd-background-color-base);pointer-events:none}.pickerWrap{display:flex;gap:10px}.pickerWrap .current{padding:4px 20px}.pickerWrap .current::after,\n.pickerWrap .current::before{content:\"\";position:absolute;top:50%;width:1px;height:70%;transform:translateY(-50%);background:var(--antd-border-color-base)}.pickerWrap .current::after{right:10px}.pickerWrap .current::before{left:10px}.pickerWrap .anticon-left,\n.pickerWrap .anticon-right{color:var(--antd-border-color-base);font-size:\" 11px\"}.pickerWrap .disabledFastSelect{pointer-events:none;color:var(--text-color-disabled);background:var(--antd-background-color-base)}`, \"\"]);\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;line-height: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%)}.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:text;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{flex:none;align-self:center;max-width:100%;line-height:1;margin-top:2px}.selected-item .label{display:inline-block;margin-right:4px;overflow:hidden;white-space:nowrap;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%)}.selector-focused .selected-single-item{color:var(--antd-input-placeholder-color)}.select-single .select-selection-search{position:absolute;top:0;right:25px;bottom:0;left:11px}.select-single-item .label .text{margin-right:4px}.select-multiple .select-selection-search{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;cursor:pointer;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-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}.input-item{min-height:30px;display:flex;align-items:center}.empty-tips{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:var(--palette-gray-8)}.empty-tips > img{width:180px}.empty-tips > span{margin-left:-8px}.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}.dropdown-list-loading-container{height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--antd-component-background),0.7);font-size: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:inline-block}:host([hidden]){display:none}`, \"\"]);\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}.timeRange{display:flex;align-items:center}.timeRange .timeRangeSplit{width:32px!important;height:30px;background:var(--input-fill-bg);pointer-events:none;border-left:0;border-right:0;display:inline-flex;justify-content:center;pointer-events:none;border-color:var(--antd-border-color-base);border-style:solid;border-top-width:1px;border-bottom-width:1px;align-items:center;color:var(--text-color-disabled)}.timeRange .ant-picker:first-child{margin-right:0;border-top-right-radius:0px;border-bottom-right-radius:0px}.timeRange .ant-picker:last-child{margin-right:0;border-top-left-radius:0px;border-bottom-left-radius:0px}.timeRange\n .ant-picker-dropdown\n .ant-picker-panel-container\n .ant-picker-footer\n .ant-picker-ranges{margin-top:0px}`, \"\"]);\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","!function(e,_){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=_(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],_):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_zh_cn=_(e.dayjs)}(this,(function(e){\"use strict\";function _(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=_(e),d={name:\"zh-cn\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(e,_){return\"W\"===_?e+\"周\":e+\"日\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(e,_){var t=100*e+_;return t<600?\"凌晨\":t<900?\"早上\":t<1100?\"上午\":t<1300?\"中午\":t<1800?\"下午\":\"晚上\"}};return t.default.locale(d,null,!0),d}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","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":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e","_Input","defineElement","event","WrappedIcon","wrapBrick","WrappedFormItem","styleTexts","styleText","alias","type","Boolean","_dec5","_dec6","Number","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_dec25","_dec26","_dec27","_RCInputRef","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_changeEvent","_T","_U","_V","_W","_X","_getSlotByName","WeakSet","_set_changeEvent2","_set_changeEvent","_get_changeEvent2","_get_changeEvent","_getSlotByName2","name","_this$shadowRoot","shadowRoot","querySelector","concat","_classPrivateMethodInitSpec","createRef","_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","emit","_init_hasAddonBefore","_init_hasAddonAfter","_init_hasPrefix","_init_hasSuffix","_init_validator","ref","current","addonBefore","_classPrivateMethodGet","call","addonAfter","prefix","suffix","addEventListener","hasAddonBefore","assignedElements","length","hasAddonAfter","hasSuffix","hasPrefix","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","curElement","renderCallback","readOnly","trigger","onInputChange","handleInputChange","c","_initClass","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","lib","icon","theme","onMouseDown","preventDefault","isNil","String","hiddenTextarea","_Textarea","SIZING_STYLE","_InputChangeEvent","_set_InputChangeEvent2","_set_InputChangeEvent","_get_InputChangeEvent2","_get_InputChangeEvent","TextareaComponent","textareaStyle","autoSize","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","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","_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","_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","_setInitValue2","layout","err","formStyle","FormComponent","defaultEmitValuesChange","_set_valuesChangeEvent","_get_valuesChangeEvent","_set_successEvent","_get_successEvent","_set_errorEvent","_get_errorEvent","computedStyle","useMemo","display","flexDirection","gap","_FormItem","FormItemComponent","valuePropsName","formInstance","defaultValidateState","setValidateState","originTrigger","useBrick","ReactUseMultipleBricks","_init_formElement","_init_curElement","_init_labelCol","_init_wrapperCol","_init_valuePropsName","_init_trim","_init_trigger","_init_needValidate","labelCol","wrapperCol","trim","_this$formElement","_this$formElement2","formatOptions","fields","op","_Radio","WrappedGeneralIcon","_optionsChange","_handleOptionsChange","_set_optionsChange2","_set_optionsChange","_get_optionsChange2","_get_optionsChange","RadioComponent","customStyle","optionsChange","setOptions","isEqual","handleChange","option","_props$onChange","stopPropagation","dashboardRadioContainer","ui","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","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_optionsChange","_Select","WrappedTag","onCheck","onClose","getIllustration","unwrapProvider","applyArgs","args","query","arg","_searchEvent","_focusEvent","_set_searchEvent2","_set_searchEvent","_get_searchEvent2","_get_searchEvent","_set_focusEvent2","_set_focusEvent","_get_focusEvent2","_get_focusEvent","SelectComponent","_formatOptions","_props$useBackend2","mode","tokenSeparators","maxTagCount","useBackend","debounceSearchDelay","onValueChange","onSearch","multiple","emptySrc","category","selectRef","inputSpanRef","shouldTriggerOnValueChangeArgs","inputValue","setInputValue","inputWidth","setInputWidth","requestStatus","setRequestStatus","isDropHidden","setIsDropHidden","isFocused","setIsFocused","selectedOptions","setSelectedOptions","renderOptions","setRenderOptions","focusOptionItem","setFocusOptionItem","handleSelectorClick","newValue","filter","newOptions","find","handleMultipleItemClose","closeValue","handleSearchQuery","_asyncToGenerator","provider","isSearchable","onValueChangeArgs","transform","actualArgs","fetchByProvider","actualData","handleHttpError","handleDebounceBackendSearch","debounce","computedOptions","selected","_props$useBackend","matchToken","customValue","substring","handleKeydown","code","pop","findIndex","isEmptyValue","useLayoutEffect","_inputSpanRef$current","_inputSpanRef$current2","toLocaleUpperCase","offsetWidth","handleDocumentClick","_selectRef$current","removeEventListener","renderSelector","tagList","ellipsisInfo","closable","slice","allOptions","reduce","pre","cur","renderLabel","_option$closable","color","tagStyle","borderRadius","checkable","_allOptions$find","closeable","Options","getSelectOption","_item$value","onMouseOver","groupBy","_ref3","group","src","position","opacity","width","spinning","_init_mode","_init_tokenSeparators","_init_maxTagCount","_init_groupBy","_init_suffix","_init_fields","_init_useBackend","_init_debounceSearchDelay","_init_searchEvent","_init_focusEvent","Promise","resolve","then","handleSearch","handleFocus","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","_set_submitEvent2","_set_submitEvent","_get_submitEvent2","_get_submitEvent","_set_cancelEvent2","_set_cancelEvent","_get_cancelEvent2","_get_cancelEvent","ButtonsComponent","submitText","submitType","onSubmitClick","submitDisabled","cancelText","cancelType","onCancelClick","_init_submitText","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","_handleCancelClick","_handleSubmitClick","AntdIcon","_Checkbox","_checkboxChangeEvent","_optionsChangeEvent","_set_checkboxChangeEvent2","_set_checkboxChangeEvent","_get_checkboxChangeEvent2","_get_checkboxChangeEvent","_set_optionsChangeEvent2","_set_optionsChangeEvent","_get_optionsChangeEvent2","_get_optionsChangeEvent","CheckboxComponent","_props$value","isGroup","setValues","collapseKeys","setCollapseKeys","optionGroups","setOptionGroups","_props$optionsChange","_props$options","handleInputClick","i","splice","IconCheckbox","isCustom","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","_props$options2","alignItems","checkboxWrapper","checkboxLabel","checkboxLabelDisabled","checkboxLabelCheck","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","id","checkboxInner","background","borderColor","checkboxText","iconNode","mergedIcon","imgSrc","imgStyle","getIcon","CheckGroupItem","_optionGroups","newOptionsKeys","n","checkOptions","intersection","checkType","newKeys","CaretRightOutlined","rotate","rev","checkboxInputPartCheck","_props$onChange2","_props$onChange3","uniq","_init_isCustom","_init_isGroup","_init_optionGroups","_init_checkboxChangeEvent","currentSelectOption","before","after","_init_optionsChangeEvent","handleCheckboxChange","K","NS","initializeReactI18n","en","UNIQUE","zh","_DynamicFormItem","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","uniqueValidatorFN","properties","t","_props$curElement","_unique","_properties$message","_properties$label","fieldValue","Set","unique","DynamicFormItemComponent","useTranslation","formWrapperRef","bricks","setBricks","bricksOfNoLabel","brick","omit","_props$value2","parsedUseBrick","flatten","handleRemoveItem","newValues","formWrapper","forms","querySelectorAll","every","buttonStyle","handleAddItem","_this$getFormElement","handleDynamicFormChange","_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","onKeyDown","slot","Colors","COLORS_MAP","green","red","blue","orange","cyan","purple","geekblue","gray","getColor","_COLORS_MAP","ICON","COLOR","SELECT_ICON","SEARCH_PLACEHOLDER","_IconSelect","getLibs","searchIcons","WrappedGeneralRadio","onOptionsChange","WrappedModal","onConfirm","onCancel","onOpen","WrappedSearch","IconSelectComponent","emptyIcon","modalRef","iconLibs","setIconLibs","searchParams","setSearchParams","iconList","setIconList","libs","handleSearchIcons","params","q","page","pageSize","list","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","symbolForAbortController","Symbol","for","getUid","Date","acceptValidator","file","accepts","validAccepts","split","lowerFileName","toLowerCase","mimeType","baseMimeType","accept","startsWith","lowerType","affixList","affix","endsWith","sizeValidator","limitSize","reject","Error","Upload","children","itemRender","autoUpload","uploadName","action","maxCount","overMaxCountMode","beforeUploadValidators","beforeUploadUserDataProcessor","internalFileDataList","setInternalFileDataList","fileList","beforeLoadFilter","files","beforeLoadValidator","all","allSettled","_ref2","_file","validatorResult","errors","status","reason","_x","apply","beforeLoadProcessor","fileDataList","_ref5","_ref4","userData","_x3","_x2","handleFileUpload","_ref6","existsFilesSlice","originFiles","filteredFiles","existsLength","allowCount","Infinity","validatedFiles","processedFileDataList","newFileDataList","fileData","formData","FormData","abortController","AbortController","append","req","http","request","signal","response","handleUploadSuccess","_fileData","catch","handleUploadError","_fileData$errors","uploadFile","_x4","_ref7","_x5","upload","click","uploadFiles","actions","_fileData$symbolForAb","removedFileData","abort","handleRemove","getImage","revokeUrl","url","Blob","URL","createObjectURL","image","Image","onload","revokeObjectURL","onerror","imageValidator","limit","naturalWidth","naturalHeight","userDataProcessor","pipes","unitFormat","UPLOAD","FILE_UPLOADING","_UploadImage","_init_bucketName","_init_multiple","imageList","bucketName","UploadImageComponent","defaultUploadIcon","deleteIcon","closeIcon","curValue","getBasePath","images","processedImages","_image$url","objectName","uploadActions","_GeneralSwitch","_switchEvent","_set_switchEvent2","_set_switchEvent","_get_switchEvent2","_get_switchEvent","GeneralSwitchComponent","unCheckedIcon","checkedIcon","checkedText","unCheckedText","setChecked","handleSwitchChange","onSwitch","_init_checkedText","_init_unCheckedText","_init_checkedIcon","_init_unCheckedIcon","_init_switchEvent","handleSwitch","DRAG_UPLOAD_TEXT","_EoUploadFile","WrappedEasyopsIcon","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","uploadDraggable","draggableUploadTip","EoUploadFileComponent","fileTextIcon","loadingIcon","useCurrentTheme","isDragOver","setIsDragOver","onDragEnter","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","Trans","i18nKey","components","total","_EoAutoComplete","EoAutoCompleteComponent","filterByCaption","filteredOptions","setFilteredOptions","active","setActive","originalOptions","walkOptions","selectedOption","caption","search","_option$options","_option$options2","toLower","cloneDeep","f","_f$options","_init_filterByCaption","TimePicker","InternalTimePicker","RangePicker","InternalRangePicker","assign","picker","_a","addon","renderExtraFooter","restProps","s","p","prototype","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","internalRenderExtraFooter","_InternalPanelDoNotUseOrYouWillBeFired","dayjs","customParseFormat","_EoTimePicker","_openEvent","_closeEvent","_handleOpenChange","_set_openEvent2","_set_openEvent","_get_openEvent2","_get_openEvent","_set_closeEvent2","_set_closeEvent","_get_closeEvent2","_get_closeEvent","EoTimePickerComponent","configProps","onOpenChange","currentTheme","locale","i18n","language","enUS","zhCN","format","cahce","createCache","ConfigProvider","algorithm","darkAlgorithm","defaultAlgorithm","StyleProvider","container","cache","getPopupContainer","time","timeString","flag","allowClear","_init_configProps","_init_openEvent","_init_closeEvent","initializeI18n","NEXT_DAY","TODAY","LAST_DAY","NEXT_WEEK","THIS_WEEK","LAST_WEEK","NEXT_MONTH","THIS_MONTH","LAST_MONTH","NEXT_QUARTER","THIS_QUARTER","LAST_QUARTER","NEXT_YEAR","THIS_YEAR","LAST_YEAR","FISRT_QUARTER","SECOND_QUARTER","THIRD_QUARTER","FOURTH_QUARTER","advancedFormat","isoWeek","quarterOfYear","_EoDatePicker","_okEvent","_handleOk","_set_okEvent2","_set_okEvent","_get_okEvent2","_get_okEvent","_init_showTime","_init_format","_init_picker","_init_futureDateDisabled","_init_disabledDate","_init_useFastSelectBtn","_init_inputBoxStyle","_init_okEvent","showTime","futureDateDisabled","disabledDate","useFastSelectBtn","inputBoxStyle","EoDatePickerComponent","onOk","getFieldSetAndRanges","expression","fieldSet","ranges","range","isNaN","add","isInFieldSetOrRanges","fieldSetAndRanges","isEmptyFieldSetOrRanges","getFieldsFromFieldSetAndRanges","InternalStateDatePicker","confirmDisabled","setConfirmDisabled","crontab","second","minute","hour","date","month","weekday","year","hourFieldSetAndRanges","minuteFieldSetAndRanges","secondFieldSetAndRanges","yearFieldSetAndRanges","monthFieldSetAndRanges","dateFieldSetAndRanges","weekFieldSetAndRanges","isAllDate","isAllTime","handleDisabledFutureDate","isDatePicker","isQuarterPicker","PickerBtn","strs","week","quarter","currentDate","disabledFastSelect","handlePreTime","preDate","clone","subtract","LeftOutlined","handleCurTime","curDate","startOf","next","nextDisabled","handleNextTime","nextDate","RightOutlined","cellRender","info","quarterMap","selectedQuarter","currentQuarter","originNode","DatePicker","popupClassName","quarterPicker","suffixIcon","curYear","curMonth","curWeekday","isoWeekday","cron","disabledTime","curHour","curMinute","currentSecond","disabledHours","disabledMinutes","disabledSeconds","matchCurDate","isMatchDate","hourFields","minuteFields","secondFields","_objectWithoutProperties","_excluded","parseValue","moment","dateString","_props$onOk","START_TIME_END_TIME_CANNOT_EQUAL","START_TIME_REQUIRED","END_TIME_REQUIRED","_EoTimeRangePicker","INIT_TIME_RANGE","startTime","endTime","presetRangeType","_builtInvalidator","_defaultFormat","_init_rangeType","_init_selectNearDays","_init_emitChangeOnInit","_init_presetRanges","unequal","startTimeRequired","endTimeRequired","rangeType","selectNearDays","emitChangeOnInit","presetRanges","EoTimeRangePickerComponent","rangeRules","dateTime","Today","ThisWeek","ThisMonth","ThisQuarter","RealTimeRangePicker","_props$rangeType","times","today","initRange","initValue","setStartTime","prevStartTime","setPrevStartTime","setEndTime","prevEndTime","setPrevEndTime","start","end","timeRange","uniqueId","onStartTimeChange","onEndTimeChange","presetRangeMap","endOf","ThisYear","presetRange","rangeResult","compliantRanges","difference","needConfirm","dateRange","presets","rangeChange","dates","dateStrings","selectedTime","_dates$","_dates$2","separator","___CSS_LOADER_EXPORT___","module","exports","default","d","weekdays","weekdaysShort","weekdaysMin","months","monthsShort","ordinal","weekStart","yearStart","formats","LT","LTS","L","LL","LLL","LLLL","l","ll","lll","llll","relativeTime","future","past","mm","h","hh","dd","M","MM","y","yy","meridiem","a","isoWeekYear","$utils","u","r","$u","utc","diff","day","bind","ceil","receiver","privateSet","TypeError","obj"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/4669.acff5c45.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","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:///../../node_modules/@ant-design/icons-svg/es/asn/CaretRightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/CaretRightOutlined.js","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/utils.ts","webpack:///./src/upload/Upload.tsx","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:///../../node_modules/antd/es/time-picker/index.js","webpack:///./src/time-picker/index.tsx","webpack:///./src/date-picker/i18n.ts","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","webpack:///../../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","webpack:///../../node_modules/@ant-design/icons/es/icons/RightOutlined.js","webpack:///./src/date-picker/index.tsx","webpack:///./src/time-range-picker/i18n.ts","webpack:///./src/time-range-picker/index.tsx","webpack:///./src/auto-complete/styles.shadow.css","webpack:///./src/checkbox/checkbox.shadow.css","webpack:///./src/date-picker/styles.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/time-picker/styles.shadow.css","webpack:///./src/time-range-picker/styles.shadow.css","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///./src/upload/upload-image/styles.shadow.css","webpack:///../../node_modules/dayjs/locale/zh-cn.js","webpack:///../../node_modules/dayjs/plugin/isoWeek.js","webpack:///../../node_modules/dayjs/plugin/quarterOfYear.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","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 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 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]);\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 useLayoutEffect,\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, GeneralOption } 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, groupBy, isNil, debounce } from \"lodash\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { handleHttpError, fetchByProvider } from \"@next-core/runtime\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport type { getIllustration as _getIllustration } from \"@next-bricks/illustrations/data-providers/get-illustration\";\n\ninterface UseBackendConf {\n provider: string;\n args: any[] | ((...args: any[]) => any[]);\n transform?: (data: any) => void;\n}\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\nconst getIllustration = unwrapProvider<typeof _getIllustration>(\n \"illustrations.get-illustration\"\n);\n\nconst isSearchable = (value: UseBackendConf): value is UseBackendConf => {\n return typeof value?.provider === \"string\";\n};\n\nconst applyArgs = (\n args: any[] | ((query: string) => any[]),\n query: string\n): any => {\n if (Array.isArray(args)) {\n return args.map((arg) => applyArgs(arg, query));\n }\n if (typeof args === \"function\") {\n return (args as (query: string) => any[]).call(null, query);\n }\n\n return args;\n};\n\ntype RequestStatus = \"loading\" | \"success\" | \"error\";\n\nexport interface SelectProps extends FormItemProps {\n value?: any;\n options: GeneralComplexOption[];\n placeholder?: string;\n mode?: \"tags\" | \"multiple\";\n tokenSeparators?: string[];\n maxTagCount?: number;\n groupBy?: string;\n suffix?: UseSingleBrickConf;\n fields?: { label?: string; value?: string };\n useBackend?: UseBackendConf & {\n onValueChangeArgs?: any[] | ((...args: any[]) => any[]);\n // emptyConfig?: Partial<Record<RequestStatus, EasyopsEmptyProps>>;\n };\n debounceSearchDelay?: number;\n clearable?: boolean;\n disabled?: boolean;\n inputStyle?: React.CSSProperties;\n validateState?: string;\n onChange?: (value: any, options: GeneralComplexOption[]) => 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 sailorshe\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[];\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()\n accessor mode: \"tags\" | \"multiple\" | undefined;\n\n /**\n * 自动分词的分隔符,仅在 mode=\"tags\" 时生效\n */\n @property({\n attribute: false,\n })\n accessor tokenSeparators: string[] | undefined;\n\n /**\n * 最多显示多少个 tag, 剩余的 tag 将被隐藏\n */\n @property()\n accessor maxTagCount: number | undefined;\n\n /**\n * 分组字段\n */\n @property()\n accessor groupBy: string | undefined;\n\n /**\n */\n @property({\n attribute: false,\n })\n accessor suffix: UseSingleBrickConf | undefined;\n\n /**\n * 是否支持清除\n * @default true\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 列表指定字段作为 label 和 value\n */\n @property({\n attribute: false,\n })\n accessor fields: { label?: string; value?: string } | undefined;\n\n /**\n * 后端搜索\n */\n @property({\n attribute: false,\n })\n accessor useBackend: UseBackendConf | undefined;\n\n @property({\n type: Number,\n })\n accessor debounceSearchDelay: number | 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 = (\n value: string | string[],\n options: GeneralComplexOption[]\n ): void => {\n this.value = value;\n\n this.#changeEvent.emit({\n value,\n options,\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 mode={this.mode}\n tokenSeparators={this.tokenSeparators}\n maxTagCount={this.maxTagCount}\n groupBy={this.groupBy}\n suffix={this.suffix}\n fields={this.fields}\n useBackend={this.useBackend}\n debounceSearchDelay={this.debounceSearchDelay}\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={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 mode,\n tokenSeparators,\n maxTagCount,\n suffix,\n fields,\n useBackend,\n debounceSearchDelay,\n clearable = true,\n inputStyle,\n placeholder,\n validateState,\n optionsChange,\n onChange,\n onFocus,\n onValueChange,\n onSearch,\n } = props;\n\n const multiple = useMemo(\n () => mode && [\"multiple\", \"tags\"].includes(mode),\n [mode]\n );\n const emptySrc = getIllustration({\n category: \"easyops2\",\n name: \"search-empty\",\n });\n const selectRef = useRef<HTMLDivElement>(null);\n const inputSpanRef = useRef<HTMLSpanElement>(null);\n const shouldTriggerOnValueChangeArgs = useRef(true);\n const [inputValue, setInputValue] = useState<string>(\"\");\n const [inputWidth, setInputWidth] = useState<number>();\n const [value, setValue] = useState<any>(mode ? [] : undefined);\n const [requestStatus, setRequestStatus] = useState<RequestStatus>();\n const [options, setOptions] = useState<any[]>(\n formatOptions(props.options, fields) ?? []\n );\n const [isDropHidden, setIsDropHidden] = useState<boolean>(true);\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [selectedOptions, setSelectedOptions] = useState<\n GeneralComplexOption[]\n >([]);\n const [renderOptions, setRenderOptions] = useState<any[]>([]);\n const [focusOptionItem, setFocusOptionItem] = useState<GeneralComplexOption>(\n {} as GeneralComplexOption\n );\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setOptions(formatOptions(props.options, fields));\n }, [props.options, fields]);\n\n const handleSelectorClick = useCallback(() => {\n if (!value) {\n setIsDropHidden(false);\n setIsFocused(true);\n onFocus?.();\n inputRef.current && inputRef.current.focus();\n } else if (!disabled) {\n setIsDropHidden(!isDropHidden);\n setIsFocused(true);\n inputRef.current && inputRef.current.focus();\n }\n }, [disabled, isDropHidden, value, onFocus]);\n\n const handleChange = useCallback(\n (option: GeneralComplexOption<any>): void => {\n shouldTriggerOnValueChangeArgs.current = false;\n let newValue;\n if (multiple) {\n newValue = (value ?? []).includes(option.value)\n ? (value as string[]).filter((item) => item !== option.value)\n : (((value as any[]) ?? []).concat(option.value) as string[]);\n } else {\n newValue = option.value === value ? \"\" : option.value;\n }\n const getSelectOptions = () => {\n const hadSelected = selectedOptions.find(\n (item) => item.value === option.value\n );\n return hadSelected\n ? selectedOptions.filter((item) => item.value !== option.value)\n : selectedOptions.concat(option);\n };\n const newOptions = getSelectOptions();\n setSelectedOptions(newOptions);\n setValue(newValue);\n onChange?.(newValue, newOptions);\n onValueChange?.(newValue);\n setIsDropHidden(!multiple);\n setFocusOptionItem(option);\n !multiple && setIsFocused(false);\n multiple && inputRef.current && inputRef.current.focus();\n setInputValue(\"\");\n },\n [multiple, onChange, onValueChange, selectedOptions, value]\n );\n\n const handleMultipleItemClose = useCallback(\n (closeValue: string | number | boolean) => {\n const newOptions = selectedOptions.filter(\n (item) => item.value !== closeValue\n );\n setSelectedOptions(newOptions);\n onChange?.(\n newOptions.map((item) => item.value),\n newOptions\n );\n },\n [onChange, selectedOptions]\n );\n\n const handleClear = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setSelectedOptions([]);\n onChange?.(undefined, []);\n };\n\n const handleSearchQuery = useCallback(\n async (value = \"\", type: \"valueChange\" | \"search\") => {\n if (useBackend && isSearchable(useBackend)) {\n const {\n provider,\n args,\n onValueChangeArgs,\n transform = (data) => data,\n } = useBackend;\n try {\n setRequestStatus(\"loading\");\n const actualArgs = applyArgs(\n type === \"search\" ? args : onValueChangeArgs!,\n value\n );\n const result = await fetchByProvider(provider, actualArgs);\n if (isNil(result)) return;\n const transformedData = transform(result);\n const actualData = formatOptions(\n transformedData as unknown as GeneralOption[],\n fields as any\n );\n setRequestStatus(\"success\");\n setOptions(actualData);\n // 值设置后,需要回填\n if (type === \"valueChange\") {\n setSelectedOptions(\n actualData.filter((item) =>\n Array.isArray(props.value)\n ? props.value.includes(item.value)\n : item.value === props.value\n )\n );\n }\n } catch (e) {\n setRequestStatus(\"error\");\n handleHttpError(e);\n }\n }\n },\n [useBackend, fields, props.value]\n );\n\n const handleDebounceBackendSearch = useMemo(() => {\n return debounce(handleSearchQuery, debounceSearchDelay || 300);\n }, [debounceSearchDelay, handleSearchQuery]);\n\n const computedOptions = React.useMemo((): GeneralComplexOption[] => {\n return (mode === \"tags\" && inputValue ? [inputValue] : [])\n .map((item) => ({\n key: item,\n label: item,\n value: item,\n }))\n .concat(\n selectedOptions.filter(\n (selected) =>\n !options.find((option) => option.value === selected.value)\n ) as any\n )\n .concat(options);\n }, [inputValue, mode, options, selectedOptions]);\n\n useEffect(() => {\n setValue(props.value);\n // 设置回填option\n setSelectedOptions(\n computedOptions.filter((item) =>\n Array.isArray(props.value)\n ? props.value.includes(item.value)\n : item.value === props.value\n )\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value]);\n\n useEffect(() => {\n optionsChange?.(computedOptions, name as string);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [computedOptions]);\n\n useEffect(() => {\n props?.useBackend?.onValueChangeArgs &&\n shouldTriggerOnValueChangeArgs.current &&\n !(Array.isArray(props.value)\n ? props.value.length === 0\n : isNil(props.value)) &&\n handleSearchQuery(props.value, \"valueChange\");\n shouldTriggerOnValueChangeArgs.current = true;\n }, [handleSearchQuery, props?.useBackend?.onValueChangeArgs, props.value]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n const value = e.target.value;\n if (mode === \"tags\" && value) {\n const matchToken = tokenSeparators?.includes(value[value.length - 1]);\n const customValue =\n value && matchToken ? value.substring(0, value.length - 1) : value;\n if (matchToken) {\n handleChange({\n key: customValue,\n label: customValue,\n value: customValue,\n });\n } else {\n setInputValue(value);\n }\n } else {\n setInputValue(value);\n setIsDropHidden(false);\n onSearch?.(value);\n }\n handleDebounceBackendSearch(value, \"search\");\n },\n [handleChange, handleDebounceBackendSearch, mode, onSearch, tokenSeparators]\n );\n\n const handleKeydown = useCallback(\n (e: KeyboardEvent): void => {\n if (e.code === \"Enter\") {\n focusOptionItem && handleChange(focusOptionItem);\n }\n if (\n e.code === \"Backspace\" &&\n multiple &&\n inputValue === \"\" &&\n selectedOptions?.length\n ) {\n selectedOptions.pop();\n setSelectedOptions([...selectedOptions]);\n value.pop();\n setValue([...value]);\n }\n if (!isDropHidden && focusOptionItem) {\n if (e.code === \"ArrowDown\") {\n const index = renderOptions.findIndex(\n (item) => item.value === focusOptionItem.value\n );\n setFocusOptionItem(\n renderOptions[\n index + 1 > renderOptions.length - 1\n ? renderOptions.length - 1\n : index + 1\n ]\n );\n }\n if (e.code === \"ArrowUp\") {\n const index = renderOptions.findIndex(\n (item) => item.value === focusOptionItem.value\n );\n setFocusOptionItem(renderOptions[index - 1 < 0 ? 0 : index - 1]);\n }\n }\n },\n [\n multiple,\n inputValue,\n selectedOptions,\n isDropHidden,\n focusOptionItem,\n handleChange,\n value,\n renderOptions,\n ]\n );\n\n const isEmptyValue = useMemo(() => {\n return typeof selectedOptions === \"object\"\n ? isEmpty(selectedOptions)\n : selectedOptions === undefined;\n }, [selectedOptions]);\n\n useLayoutEffect(() => {\n const renderOptions = computedOptions.filter((item) =>\n inputValue\n ? (item.label as string)\n .toLocaleUpperCase()\n .includes(inputValue.toLocaleUpperCase())\n : true\n );\n setRenderOptions(renderOptions);\n setFocusOptionItem(renderOptions?.[0]);\n\n if (inputSpanRef.current) {\n setInputWidth(\n inputSpanRef.current?.offsetWidth === 0\n ? 4\n : inputSpanRef.current?.offsetWidth\n );\n }\n }, [computedOptions, handleChange, inputValue, mode, tokenSeparators]);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n e.stopPropagation();\n if (selectRef.current?.contains(e.target as HTMLElement)) return;\n setIsFocused(false);\n setIsDropHidden(true);\n setInputValue(\"\");\n };\n document.addEventListener(\"keydown\", handleKeydown);\n document.addEventListener(\"click\", handleDocumentClick);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown);\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n }, [handleKeydown]);\n\n const renderSelector = useMemo(() => {\n let tagList: GeneralComplexOption[] = selectedOptions;\n if (maxTagCount) {\n const ellipsisInfo =\n selectedOptions.length - maxTagCount > 0\n ? {\n label: `+${selectedOptions.length - maxTagCount}`,\n key: \"$$key\",\n value: \"\",\n closable: false,\n }\n : null;\n tagList = selectedOptions.slice(0, maxTagCount);\n ellipsisInfo && tagList.push(ellipsisInfo);\n }\n const allOptions = computedOptions.reduce(\n (pre: any, cur: any) =>\n cur.options ? [...pre, ...cur.options] : [...pre, cur],\n []\n );\n\n const renderLabel = (option: GeneralComplexOption): React.ReactNode => {\n return (\n <div className=\"label\">\n <span className=\"text\">\n {multiple ? (\n <WrappedTag\n key={option.value as number}\n color={disabled ? \"#ddd\" : undefined}\n closable={option.closable ?? true}\n tagStyle={{\n borderRadius: 4,\n }}\n checkable={false}\n onClose={() => handleMultipleItemClose(option.value)}\n >\n {option.label}\n {multiple && suffix && (\n <ReactUseBrick useBrick={suffix} data={option} />\n )}\n </WrappedTag>\n ) : (\n option.label\n )}\n </span>\n {!multiple && suffix && (\n <ReactUseBrick useBrick={suffix} data={option} />\n )}\n </div>\n );\n };\n\n const renderMultipleLabel = (\n list: Array<GeneralComplexOption>\n ): React.ReactNode => {\n return list.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 renderLabel(option);\n });\n };\n\n return (\n <div\n className={classNames({\n \"selected-item\": multiple,\n \"select-single-item\": !multiple,\n })}\n style={\n isEmptyValue ? { color: \"var(--antd-input-placeholder-color)\" } : {}\n }\n >\n {selectedOptions?.length\n ? multiple\n ? renderMultipleLabel(tagList)\n : renderLabel(selectedOptions[0])\n : isFocused || inputValue\n ? \"\"\n : placeholder}\n </div>\n );\n }, [\n computedOptions,\n disabled,\n handleMultipleItemClose,\n inputValue,\n isEmptyValue,\n isFocused,\n maxTagCount,\n multiple,\n placeholder,\n selectedOptions,\n suffix,\n ]);\n\n const Options = useMemo(() => {\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-hover\": item.value === focusOptionItem.value,\n \"select-option-selected\":\n typeof value !== \"object\"\n ? value === item?.value\n : (value as any[]).includes(item.value),\n })}\n onClick={() => !item.disabled && handleChange(item)}\n onMouseOver={() => setFocusOptionItem(item)}\n >\n <div className=\"select-item-option-content\">\n <div className=\"option\">\n <span className=\"label\">{item.label}</span>\n {suffix && <ReactUseBrick useBrick={suffix} data={item} />}\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 const renderGroupOption = (): React.ReactNode => {\n const optsGroup = Object.entries(groupBy(renderOptions, props.groupBy));\n\n return optsGroup.map(([group, options], index) =>\n group !== \"undefined\" ? (\n <div key={index} className=\"select-group-wrapper\">\n <div className=\"select-group-label\">{group}</div>\n {options.map((item) => getSelectOption(item))}\n </div>\n ) : (\n options.map((item) => getSelectOption(item))\n )\n );\n };\n\n const renderOption = () =>\n renderOptions.map((item: any) => {\n return getSelectOption(item);\n });\n\n return renderOptions.length > 0 ? (\n props.groupBy ? (\n renderGroupOption()\n ) : (\n renderOption()\n )\n ) : (\n <div className=\"empty-tips\">\n <img src={emptySrc} />\n <span>暂无数据</span>\n </div>\n );\n }, [\n renderOptions,\n props.groupBy,\n emptySrc,\n focusOptionItem,\n value,\n suffix,\n handleChange,\n ]);\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\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 ref={selectRef}\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={handleSelectorClick}\n >\n <div className=\"select-selection-overflow\">\n {multiple && renderSelector}\n <div className=\"input-item\">\n <div className=\"select-selection-search\">\n <span\n style={{ position: \"absolute\", opacity: \"0\" }}\n ref={inputSpanRef}\n >\n {inputValue}\n </span>\n <input\n style={{ width: inputWidth }}\n type=\"text\"\n value={inputValue}\n ref={inputRef}\n className=\"select-selection-search-input\"\n onChange={handleInputChange}\n />\n </div>\n {!multiple ? !inputValue && renderSelector : null}\n </div>\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 {requestStatus === \"loading\" ? (\n <div className=\"dropdown-list-loading-container\">\n <WrappedIcon\n {...{\n icon: \"loading\",\n lib: \"antd\",\n theme: \"outlined\",\n spinning: true,\n }}\n />\n </div>\n ) : (\n <div className=\"dropdown-inner\">{Options}</div>\n )}\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","// This icon file is generated automatically.\nvar CaretRightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\" } }] }, \"name\": \"caret-right\", \"theme\": \"outlined\" };\nexport default CaretRightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport CaretRightOutlinedSvg from \"@ant-design/icons-svg/es/asn/CaretRightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar CaretRightOutlined = function CaretRightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: CaretRightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n CaretRightOutlined.displayName = 'CaretRightOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(CaretRightOutlined);","import React, { useEffect, useState, useMemo } 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 { intersection, isEqual, uniq } from \"lodash\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { CaretRightOutlined } from \"@ant-design/icons\";\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 isGroup?: boolean;\n optionGroups?: OptionGroup[];\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 * 是否为复选框,为true时,则可设置分组数据 optionGroups\n */\n @property({\n type: Boolean,\n })\n accessor isGroup: boolean | undefined;\n\n /**\n * 多选框选项分组数据,需要设置 isGroup 为 true 才生效\n */\n @property({\n attribute: false,\n })\n accessor optionGroups: OptionGroup[] | 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 currentOptions = this.optionGroups\n ? this.optionGroups.reduce(\n (before: CheckboxOptionType[], after) => [\n ...before,\n ...after.options,\n ],\n []\n )\n : this.options;\n const currentSelectOption = formatOptions(currentOptions).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 isGroup={this.isGroup}\n optionGroups={this.optionGroups}\n />\n );\n }\n}\n\nfunction CheckboxComponent(props: CheckboxProps) {\n const { isGroup } = props;\n const [values, setValues] = useState<CheckboxValueType[]>(props?.value ?? []);\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n const [collapseKeys, setCollapseKeys] = useState<string[]>(\n (props.optionGroups || []).map((o) => o.key)\n );\n const [optionGroups, setOptionGroups] = useState(props.optionGroups);\n useEffect(() => {\n if (!isEqual(optionGroups, props.optionGroups)) {\n setCollapseKeys((optionGroups || []).map((o) => o.key));\n setOptionGroups(props.optionGroups);\n }\n }, [props.optionGroups]);\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 {props.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 checkboxLabelCheck: values.includes(item.value),\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\n className={classNames({ checkboxInner: true })}\n style={\n values.includes(item.value) && item.checkboxColor\n ? {\n background: item.checkboxColor,\n borderColor: item.checkboxColor,\n }\n : {}\n }\n ></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 const CheckGroupItem = (props: CheckboxProps) => {\n const _optionGroups = useMemo(() => {\n return optionGroups?.map((option) => {\n const newOptions = formatOptions(option.options);\n const newOptionsKeys = newOptions.map((n) => n.value);\n const checkOptions = intersection(values, newOptionsKeys);\n const checkType =\n checkOptions.length === newOptionsKeys.length\n ? \"all\"\n : checkOptions.length > 0 &&\n checkOptions.length !== newOptionsKeys.length\n ? \"part\"\n : \"none\";\n return {\n ...option,\n options: newOptions,\n checkType,\n keys: newOptionsKeys,\n };\n });\n }, [optionGroups, props.value]);\n return (\n <div>\n {\" \"}\n {_optionGroups?.map((i) => (\n <div key={i.key}>\n <div\n onClick={() => {\n if (collapseKeys.includes(i.key)) {\n const newKeys = collapseKeys.filter((key) => key !== i.key);\n setCollapseKeys(newKeys);\n } else {\n setCollapseKeys([...collapseKeys, i.key]);\n }\n }}\n className={classNames(\"collapse-header\")}\n >\n <span className=\"collapse-icon\">\n <CaretRightOutlined\n rotate={collapseKeys.includes(i.key) ? 90 : 0}\n rev=\"\"\n />\n </span>\n <label\n onClick={(e) => {\n e.stopPropagation();\n }}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelCheck: i.checkType === \"all\",\n })}\n >\n <span\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputCheck: i.checkType === \"all\",\n checkboxInputPartCheck: i.checkType === \"part\",\n })}\n >\n <input\n className={classNames({\n checkboxInput: true,\n })}\n onChange={(e) => {\n e.stopPropagation();\n if (i.checkType === \"all\") {\n const newValue = values.filter(\n (v) => !i.keys.includes(v)\n );\n props.onChange?.(newValue);\n } else {\n props.onChange?.(uniq([...values, ...i.keys]));\n }\n }}\n type=\"checkbox\"\n ></input>\n <span className={classNames({ checkboxInner: true })}></span>\n </span>\n\n <span className={classNames({ checkboxText: true })}>\n {i.name}\n </span>\n </label>\n </div>\n <div\n className={classNames(\"collapse-content\", {\n \"collapse-content-visible\": collapseKeys.includes(i.key),\n })}\n >\n <CheckboxItem\n {...{ ...props, options: i.options }}\n ></CheckboxItem>\n </div>\n </div>\n ))}\n </div>\n );\n };\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n {props.type == \"icon\" ? (\n <IconCheckbox {...props}></IconCheckbox>\n ) : isGroup && props.optionGroups ? (\n <CheckGroupItem {...props}></CheckGroupItem>\n ) : (\n <CheckboxItem {...{ ...props, options: options }}></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 LibIconProps,\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 = LibIconProps & { 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<LibIconProps>();\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<LibIconProps>();\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: LibIconProps) => {\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","let uid = 0;\n\nexport const symbolForAbortController = Symbol.for(\"AbortController\");\n\nexport const LIST_IGNORE = Symbol.for(\"list-ignore\");\n\nexport const getUid = () => {\n return `upload-image-${+new Date()}-${++uid}`;\n};\n\nexport const acceptValidator = (file: File, accepts?: string | string[]) => {\n const validAccepts = ([] as string[]).concat(accepts || []).reduce(\n (pre, cur) =>\n pre.concat(\n cur\n .split(\",\")\n .map((v) => v.trim())\n .filter(Boolean)\n ),\n [] as string[]\n );\n\n if (file && validAccepts.length) {\n const lowerFileName = (file.name || \"\").toLowerCase();\n const mimeType = file.type || \"\";\n const baseMimeType = mimeType.split(\"/\")[0];\n\n return validAccepts.some((accept) => {\n // like *, */*\n if ([\"*\", \"*/*\"].includes(accept)) {\n return true;\n }\n\n // like .jpg, .png\n if (accept.startsWith(\".\")) {\n const lowerType = accept.toLowerCase();\n let affixList = [lowerType];\n if ([\".jpg\", \".jpeg\"].includes(lowerType)) {\n affixList = [\".jpg\", \".jpeg\"];\n }\n\n return affixList.some((affix) => lowerFileName.endsWith(affix));\n }\n\n // like image/*\n if (accept.endsWith(\"/*\")) {\n return baseMimeType === accept.split(\"/*\")[0];\n }\n\n // Full match\n if (mimeType === accept) {\n return true;\n }\n\n return false;\n });\n }\n return true;\n};\n\nexport const sizeValidator = (file: File, limitSize?: number) => {\n return new Promise((resolve, reject) => {\n if (file && limitSize) {\n file.size < limitSize ? resolve(file) : reject(new Error(\"Wrong size!\"));\n } else {\n resolve(file);\n }\n });\n};\n\nexport type UploadStatus = \"uploading\" | \"done\" | \"error\";\n\nexport interface FileData {\n uid: string;\n name: string;\n file?: File & { uid?: string };\n response?: any;\n userData?: any;\n status?: UploadStatus;\n errors?: Error[];\n [symbolForAbortController]?: AbortController;\n}\n","import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport \"@next-core/theme\";\nimport { http } from \"@next-core/http\";\nimport {\n getUid,\n type FileData,\n symbolForAbortController,\n acceptValidator,\n sizeValidator,\n UploadStatus,\n} from \"./utils.js\";\n\nexport interface UploadActions {\n upload: () => void;\n uploadFiles: (files: FileList | File[]) => void;\n}\n\nexport interface ItemActions {\n remove: () => void;\n}\n\nexport interface UploadProps {\n children: (\n fileDataList: FileData[],\n uploadActions: UploadActions\n ) => React.ReactElement;\n itemRender: (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => React.ReactElement;\n fileList?: FileData[];\n autoUpload?: boolean;\n uploadName?: string;\n action?: string;\n method?: string;\n accept?: string;\n multiple?: boolean;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n beforeUploadValidators?: ((file: File, files: File[]) => Promise<unknown>)[];\n beforeUploadUserDataProcessor?: (\n file: File,\n fileDataList: { file: File; errors: Error[] }[]\n ) => Promise<any>;\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function Upload(props: UploadProps) {\n const {\n children,\n itemRender,\n autoUpload,\n onChange,\n uploadName = \"file\",\n action,\n method,\n accept,\n maxCount,\n overMaxCountMode = \"replace\",\n beforeUploadValidators = [],\n beforeUploadUserDataProcessor,\n multiple,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [internalFileDataList, setInternalFileDataList] = useState<FileData[]>(\n []\n );\n\n useEffect(() => {\n setInternalFileDataList(props.fileList || []);\n }, [props.fileList]);\n\n const beforeLoadFilter = (files: File[]) => {\n return files.filter((file) => acceptValidator(file, accept));\n };\n\n const beforeLoadValidator = async (files: File[]) => {\n const results = await Promise.all(\n files.map((file) =>\n Promise.allSettled([\n file,\n sizeValidator(file),\n ...beforeUploadValidators.map((validator) => validator(file, files)),\n ])\n )\n );\n return results.map(([_file, ...validatorResult]) => {\n const file = (_file as PromiseFulfilledResult<File>).value;\n const errors: Error[] = [];\n\n validatorResult.forEach((result) => {\n result.status === \"rejected\" && errors.push(result.reason);\n });\n\n return { file, errors };\n });\n };\n\n const beforeLoadProcessor = async (\n fileDataList: { file: File; errors: Error[] }[]\n ) => {\n return Promise.all(\n fileDataList.map(\n async ({\n file,\n errors,\n }: {\n file: File & { uid?: string };\n errors: Error[];\n }) => {\n const uid = getUid();\n file.uid = uid;\n const name = file.name;\n\n const status: UploadStatus = errors.length\n ? \"error\"\n : autoUpload\n ? \"uploading\"\n : \"done\";\n\n const userData = await beforeUploadUserDataProcessor?.(\n file,\n fileDataList\n );\n return { uid, file, name, status, userData, errors };\n }\n )\n );\n };\n\n const handleUploadSuccess = (fileData: FileData, response: unknown) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n response,\n status: \"done\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleUploadError = (fileData: FileData, error: Error) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n errors: _fileData.errors?.concat(error),\n status: \"error\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleFileRemove = (removedFileData: FileData) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.filter(\n (fileData) => fileData.uid !== removedFileData.uid\n );\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleRemove = (fileData: FileData) => {\n if (fileData.status === \"uploading\") {\n fileData[symbolForAbortController]?.abort();\n }\n handleFileRemove(fileData);\n };\n\n const uploadFile = (fileData: FileData) => {\n const formData = new FormData();\n const abortController = new AbortController();\n fileData[symbolForAbortController] = abortController;\n formData.append(uploadName, fileData.file!, fileData.file!.name);\n\n const req = http.request(action!, {\n method,\n body: formData,\n signal: abortController.signal,\n });\n\n req\n .then((response) => handleUploadSuccess(fileData, response))\n .catch((error) => handleUploadError(fileData, error));\n\n return req;\n };\n\n const handleFileUpload = async (files: FileList | File[]) => {\n const originFiles = [...files];\n let filteredFiles: File[] = [];\n let existsFilesSlice: [number, number] | undefined;\n\n if (maxCount && Number(maxCount) > 0) {\n const existsLength = internalFileDataList.length;\n if (existsLength + originFiles.length <= maxCount) {\n filteredFiles = beforeLoadFilter(originFiles);\n } else {\n const overCount = existsLength + originFiles.length - maxCount;\n const allowCount = originFiles.length - overCount;\n\n if (overMaxCountMode === \"ignore\") {\n filteredFiles = beforeLoadFilter(originFiles).slice(0, allowCount);\n } else {\n filteredFiles = beforeLoadFilter(originFiles).slice(\n -maxCount,\n Infinity\n );\n\n if (filteredFiles.length < maxCount) {\n existsFilesSlice = [filteredFiles.length - maxCount, Infinity];\n } else {\n existsFilesSlice = [0, 0];\n }\n }\n }\n } else {\n filteredFiles = beforeLoadFilter(originFiles);\n }\n\n const validatedFiles = await beforeLoadValidator(filteredFiles);\n const processedFileDataList = await beforeLoadProcessor(validatedFiles);\n (processedFileDataList.length || existsFilesSlice) &&\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = (\n existsFilesSlice\n ? fileDataList.slice(...existsFilesSlice)\n : fileDataList\n ).concat(processedFileDataList);\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n\n processedFileDataList.forEach(\n (fileData) => fileData.status === \"uploading\" && uploadFile(fileData)\n );\n };\n\n const handleInputChange = async (event: ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n handleFileUpload([...event.target.files!]);\n event.target.value = \"\";\n };\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n multiple={multiple}\n accept={accept}\n hidden\n onChange={handleInputChange}\n />\n <div className=\"upload-wrapper\">\n {children(internalFileDataList, {\n upload: () => inputRef.current?.click(),\n uploadFiles: (files) => handleFileUpload(files),\n })}\n <div className=\"file-list\">\n {internalFileDataList.map((fileData) => {\n const actions = {\n remove: () => handleRemove(fileData),\n };\n return (\n <React.Fragment key={fileData.uid}>\n {itemRender(fileData, internalFileDataList, actions)}\n </React.Fragment>\n );\n })}\n </div>\n </div>\n </>\n );\n}\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","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport genPurePanel from '../_util/PurePanel';\nimport warning from '../_util/warning';\nimport DatePicker from '../date-picker';\nconst {\n TimePicker: InternalTimePicker,\n RangePicker: InternalRangePicker\n} = DatePicker;\nconst RangePicker = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(InternalRangePicker, Object.assign({}, props, {\n picker: \"time\",\n mode: undefined,\n ref: ref\n})));\nconst TimePicker = /*#__PURE__*/React.forwardRef((_a, ref) => {\n var {\n addon,\n renderExtraFooter\n } = _a,\n restProps = __rest(_a, [\"addon\", \"renderExtraFooter\"]);\n const internalRenderExtraFooter = React.useMemo(() => {\n if (renderExtraFooter) {\n return renderExtraFooter;\n }\n if (addon) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'TimePicker', '`addon` is deprecated. Please use `renderExtraFooter` instead.') : void 0;\n return addon;\n }\n return undefined;\n }, [addon, renderExtraFooter]);\n return /*#__PURE__*/React.createElement(InternalTimePicker, Object.assign({}, restProps, {\n mode: undefined,\n ref: ref,\n renderExtraFooter: internalRenderExtraFooter\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n TimePicker.displayName = 'TimePicker';\n}\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(TimePicker, 'picker');\nTimePicker._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nTimePicker.RangePicker = RangePicker;\nTimePicker._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default TimePicker;","import React, { useEffect, useMemo, 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 { TimePicker, ConfigProvider, theme } from \"antd\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { TimePickerProps } from \"antd/lib/time-picker\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { i18n } from \"@next-core/i18n\";\nimport { isNil, omit } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\n\ndayjs.extend(customParseFormat);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\ninterface EoTimePickerProps extends FormItemProps {\n shadowRoot: ShadowRoot | null;\n configProps?: Partial<TimePickerProps>;\n placeholder?: string;\n value?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n onOpenChange?: (flag: boolean, value: string) => void;\n}\n\n/**\n * 构件 `eo-time-picker`\n */\nexport\n@defineElement(\"eo-time-picker\", {\n styleTexts: [styleText],\n})\nclass EoTimePicker 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()\n accessor placeholder: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean }) accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 透传 antd timePicker 属性 [timePickerProps](https://ant.design/components/time-picker-cn)\n */\n @property({ attribute: false })\n accessor configProps: Partial<TimePickerProps> | undefined;\n\n /**\n *时间变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n\n /**\n *面板打开时触发, 传出当前时间值\n */\n @event({ type: \"open\" })\n accessor #openEvent!: EventEmitter<string>;\n\n /**\n *面板关闭时触发,传出当前时间值\n */\n @event({ type: \"close\" })\n accessor #closeEvent!: EventEmitter<string>;\n\n #handleChange = (value: string): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n #handleOpenChange = (flag: boolean, value: string): void => {\n if (flag) {\n this.#openEvent.emit(value);\n } else {\n this.#closeEvent.emit(value);\n }\n };\n\n render() {\n return (\n <EoTimePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n configProps={this.configProps}\n name={this.name}\n label={this.label}\n onChange={this.#handleChange}\n onOpenChange={this.#handleOpenChange}\n placeholder={this.placeholder}\n value={this.value}\n required={this.required}\n message={this.message}\n shadowRoot={this.shadowRoot}\n disabled={this.disabled}\n />\n );\n }\n}\n\nexport function EoTimePickerComponent(props: EoTimePickerProps) {\n const {\n configProps = {},\n onChange,\n onOpenChange,\n disabled,\n placeholder,\n } = props;\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n const [value, setValue] = useState<Dayjs | null>(null);\n const format: string = (configProps.format as string) ?? \"HH:mm:ss\";\n useEffect(() => {\n if (!isNil(props.value)) {\n setValue(dayjs(props.value, format) as Dayjs);\n } else {\n setValue(null);\n }\n }, [props.value, format]);\n\n const handleChange = (time: Dayjs | null, timeString: string): void => {\n onChange?.(timeString);\n };\n\n const handleOpenChange = (flag: boolean): void => {\n onOpenChange?.(\n flag,\n !isNil(value) ? (dayjs(value as Dayjs).format(format) as string) : \"\"\n );\n };\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <div\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <TimePicker\n {...configProps}\n getPopupContainer={(trigger) => trigger}\n value={value}\n onChange={handleChange}\n onOpenChange={handleOpenChange}\n disabled={disabled}\n placeholder={placeholder}\n allowClear={configProps.allowClear}\n />\n </div>\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n","export enum K {\n NEXT_DAY = \"NEXT_DAY\",\n TODAY = \"TODAY\",\n LAST_DAY = \"LAST_DAY\",\n NEXT_WEEK = \"NEXT_WEEK\",\n THIS_WEEK = \"THIS_WEEK\",\n LAST_WEEK = \"LAST_WEEK\",\n NEXT_MONTH = \"NEXT_MONTH\",\n THIS_MONTH = \"THIS_MONTH\",\n LAST_MONTH = \"LAST_MONTH\",\n NEXT_QUARTER = \"NEXT_QUARTER\",\n THIS_QUARTER = \"THIS_QUARTER\",\n LAST_QUARTER = \"LAST_QUARTER\",\n NEXT_YEAR = \"NEXT_YEAR\",\n THIS_YEAR = \"THIS_YEAR\",\n LAST_YEAR = \"LAST_YEAR\",\n FISRT_QUARTER = \"FISRT_QUARTER\",\n SECOND_QUARTER = \"SECOND_QUARTER\",\n THIRD_QUARTER = \"THIRD_QUARTER\",\n FOURTH_QUARTER = \"FOURTH_QUARTER\",\n}\n\nconst en: Locale = {\n NEXT_DAY: \"Next day\",\n TODAY: \"Today\",\n LAST_DAY: \"Previous day\",\n NEXT_WEEK: \"Next week\",\n THIS_WEEK: \"This week\",\n LAST_WEEK: \"Previous week\",\n NEXT_MONTH: \"Next month\",\n THIS_MONTH: \"This month\",\n LAST_MONTH: \"Previous month\",\n NEXT_QUARTER: \"Next quarter\",\n THIS_QUARTER: \"This quarter\",\n LAST_QUARTER: \"Previous quarter\",\n NEXT_YEAR: \"Next year\",\n THIS_YEAR: \"This year\",\n LAST_YEAR: \"Previous year\",\n FISRT_QUARTER: \"First quarter\",\n SECOND_QUARTER: \"Second quarter\",\n THIRD_QUARTER: \"Third quarter\",\n FOURTH_QUARTER: \"Fourth quarter\",\n};\n\nconst zh: Locale = {\n NEXT_DAY: \"下日\",\n TODAY: \"今日\",\n LAST_DAY: \"上日\",\n NEXT_WEEK: \"下周\",\n THIS_WEEK: \"本周\",\n LAST_WEEK: \"上周\",\n NEXT_MONTH: \"下月\",\n THIS_MONTH: \"本月\",\n LAST_MONTH: \"上月\",\n NEXT_QUARTER: \"下季度\",\n THIS_QUARTER: \"本季度\",\n LAST_QUARTER: \"上季度\",\n NEXT_YEAR: \"下年\",\n THIS_YEAR: \"今年\",\n LAST_YEAR: \"上年\",\n FISRT_QUARTER: \"第一季度\",\n SECOND_QUARTER: \"第二季度\",\n THIRD_QUARTER: \"第三季度\",\n FOURTH_QUARTER: \"第四季度\",\n};\n\nexport const NS = \"bricks/form/eo-date-picker\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n LeftOutlined.displayName = 'LeftOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(LeftOutlined);","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n RightOutlined.displayName = 'RightOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(RightOutlined);","import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { DatePicker, ConfigProvider, theme } from \"antd\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { omit } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\nimport isoWeek from \"dayjs/plugin/isoWeek.js\";\nimport advancedFormat from \"dayjs/plugin/advancedFormat.js\";\nimport quarterOfYear from \"dayjs/plugin/quarterOfYear.js\";\nimport \"dayjs/locale/zh-cn.js\";\nimport classNames from \"classnames\";\nimport { DisabledDateType, PickerMode, DisabledDate } from \"../interface.js\";\nimport { LeftOutlined, RightOutlined } from \"@ant-design/icons\";\nimport moment from \"moment\";\n\ninitializeI18n(NS, locales);\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\ninterface InternalStateDatePickerProps {\n placeholder?: string;\n value?: Dayjs;\n showTime?: boolean;\n inputBoxStyle?: React.CSSProperties;\n format?: string;\n picker?: PickerMode;\n disabledDate?: DisabledDateType;\n useFastSelectBtn?: boolean;\n futureDateDisabled?: boolean;\n disabled?: boolean;\n onChange?: (value: Dayjs | null, dateString: string) => void;\n onOk?: (date: Dayjs) => void;\n}\n\ninterface EoDatePickerProps\n extends Omit<InternalStateDatePickerProps, \"value\" | \"onChange\" | \"onOk\">,\n FormItemProps {\n shadowRoot: ShadowRoot | null;\n value?: string;\n onChange?: (value: string) => void;\n onOk?: (value: string) => void;\n}\n\ninterface FieldSetAndRanges {\n fieldSet: Set<number>;\n ranges: [number, number][];\n}\ntype PickerModeMap = {\n [K in PickerMode]: string[];\n};\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\n/**\n * 构件 `eo-date-picker`\n */\nexport\n@defineElement(\"eo-date-picker\", {\n styleTexts: [styleText],\n})\nclass EoDatePicker extends FormItemElementBase {\n /**\n * 日期选择器字段名\n */\n @property() accessor name: string | undefined;\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()\n accessor placeholder: string | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean }) accessor disabled: boolean | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 是否显示时间, 当设为 `true` 时, 请同时设置 `format` 为 `YYYY-MM-DD HH:mm:ss` 使其也显示具体时,分,秒 的时间\n */\n @property({\n type: Boolean,\n })\n accessor showTime: boolean | undefined;\n\n /**\n * 显示预览的格式,具体配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format#%E6%94%AF%E6%8C%81%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%8D%A0%E4%BD%8D%E7%AC%A6%E5%88%97%E8%A1%A8),注意,这里并非是定义给后台的数据格式,给后台的数据格式定义请参考 `general-form` 构件的 [valueTypes](developers/brick-book/brick/forms.general-form) 属性\n */\n @property()\n accessor format: string | undefined;\n\n /**\n * 设置选择器类型\n */\n @property({ attribute: false })\n accessor picker: PickerMode | undefined;\n\n /**\n * 不可选择未来日期,优先级高于disabledDate\n */\n @property({ type: Boolean })\n accessor futureDateDisabled: boolean | undefined;\n\n /**\n * 不可选择的日期\n */\n @property({ attribute: false })\n accessor disabledDate: DisabledDateType | undefined;\n\n /**\n *快速选项\n */\n @property({ type: Boolean })\n accessor useFastSelectBtn: boolean | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputBoxStyle: CSSProperties | undefined;\n\n /**\n *日期变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<string>;\n\n /**\n *点击确定按钮触发(showTime 为 true 使用)\n */\n @event({ type: \"ok\" })\n accessor #okEvent!: EventEmitter<string>;\n\n #handleChange = (value: string): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n #handleOk = (value: string): void => {\n this.#okEvent.emit(value);\n };\n render() {\n return (\n <EoDatePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n shadowRoot={this.shadowRoot}\n label={this.label}\n name={this.name}\n value={this.value}\n message={this.message}\n required={this.required}\n placeholder={this.placeholder}\n inputBoxStyle={this.inputBoxStyle}\n disabled={this.disabled}\n disabledDate={this.disabledDate}\n futureDateDisabled={this.futureDateDisabled}\n picker={this.picker}\n format={this.format}\n showTime={this.showTime}\n onChange={this.#handleChange}\n onOk={this.#handleOk}\n useFastSelectBtn={this.useFastSelectBtn}\n />\n );\n }\n}\n\nconst getFieldSetAndRanges = (\n expression?: string | number\n): FieldSetAndRanges => {\n const fieldSet = new Set<number>();\n const ranges: [number, number][] = [];\n `${expression}`.split(\",\").forEach((part) => {\n if (part.includes(\"-\")) {\n const range = part.split(\"-\").map((v) => Number(v)) as [number, number];\n ranges.push(range);\n } else if (part.trim() !== \"\" && !Number.isNaN(Number(part))) {\n fieldSet.add(Number(part));\n }\n });\n return { fieldSet, ranges };\n};\n\nconst isInFieldSetOrRanges = (\n cur: number,\n fieldSetAndRanges: FieldSetAndRanges\n): boolean => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n return fieldSet.size === 0 && ranges.length === 0\n ? true\n : fieldSet.has(cur) ||\n ranges.some(([min, max]) => cur >= min && cur <= max);\n};\n\nconst isEmptyFieldSetOrRanges = (\n fieldSetAndRanges: FieldSetAndRanges\n): boolean => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n return fieldSet.size === 0 && ranges.length === 0;\n};\n\nconst getFieldsFromFieldSetAndRanges = (\n fieldSetAndRanges: FieldSetAndRanges\n): number[] => {\n const { fieldSet, ranges } = fieldSetAndRanges;\n let fields = [...fieldSet];\n ranges.forEach(([min, max]) => {\n fields = fields.concat([...Array(max + 1).keys()].slice(min));\n });\n return [...new Set(fields)];\n};\n\nexport function InternalStateDatePicker(\n props: InternalStateDatePickerProps\n): React.ReactElement {\n const {\n picker,\n format,\n showTime,\n inputBoxStyle,\n disabledDate,\n futureDateDisabled,\n useFastSelectBtn,\n placeholder,\n disabled,\n onChange,\n onOk,\n } = props;\n\n const [value, setValue] = useState(props.value);\n const [confirmDisabled, setConfirmDisabled] = useState(false);\n const crontab = useMemo(() => {\n if (!disabledDate) {\n return [];\n }\n return ([] as DisabledDate[]).concat(disabledDate).map((item) => {\n const { second, minute, hour, date, month, weekday, year } = item;\n const hourFieldSetAndRanges = getFieldSetAndRanges(hour);\n const minuteFieldSetAndRanges = getFieldSetAndRanges(minute);\n const secondFieldSetAndRanges = getFieldSetAndRanges(second);\n const yearFieldSetAndRanges = getFieldSetAndRanges(year);\n const monthFieldSetAndRanges = getFieldSetAndRanges(month);\n const dateFieldSetAndRanges = getFieldSetAndRanges(date);\n const weekFieldSetAndRanges = getFieldSetAndRanges(weekday);\n return {\n fields: {\n hour: hourFieldSetAndRanges,\n minute: minuteFieldSetAndRanges,\n second: secondFieldSetAndRanges,\n year: yearFieldSetAndRanges,\n month: monthFieldSetAndRanges,\n date: dateFieldSetAndRanges,\n weekday: weekFieldSetAndRanges,\n },\n isAllDate:\n isEmptyFieldSetOrRanges(yearFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(monthFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(dateFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(weekFieldSetAndRanges),\n isAllTime:\n isEmptyFieldSetOrRanges(hourFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(minuteFieldSetAndRanges) &&\n isEmptyFieldSetOrRanges(secondFieldSetAndRanges),\n };\n });\n }, [disabledDate]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleDisabledDate = (date: Dayjs): boolean => {\n const curYear = date.year();\n const curMonth = date.month() + 1;\n const curDate = date.date();\n const curWeekday = date.isoWeekday();\n return crontab.some((cron) => {\n const { isAllDate, isAllTime, fields } = cron;\n //没有限制日期或限制了时分秒,则该日可选\n if (isAllDate || !isAllTime) {\n return false;\n }\n const { year, month, weekday, date } = fields;\n return (\n isInFieldSetOrRanges(curYear, year) &&\n isInFieldSetOrRanges(curMonth, month) &&\n isInFieldSetOrRanges(curWeekday, weekday) &&\n isInFieldSetOrRanges(curDate, date)\n );\n });\n };\n\n const handleDisabledFutureDate = (date: Dayjs): boolean => {\n return date && date > dayjs();\n };\n\n const handleDisabledTime = (date: Dayjs | null) => {\n if (!date) return;\n const curYear = date.year();\n const curMonth = date.month() + 1;\n const curDate = date.date();\n const curWeekday = date.isoWeekday();\n const curHour = date.hour();\n const curMinute = date.minute();\n const currentSecond = date.second();\n let disabledHours: number[] = [];\n let disabledMinutes: number[] = [];\n let disabledSeconds: number[] = [];\n let matchCurDate = false;\n crontab.forEach((cron) => {\n const { isAllTime, fields } = cron;\n //时分秒都没输入,则所有时间都可选\n if (isAllTime) return;\n const { hour, minute, second, year, month, weekday, date } = fields;\n const isMatchDate =\n isInFieldSetOrRanges(curYear, year) &&\n isInFieldSetOrRanges(curMonth, month) &&\n isInFieldSetOrRanges(curWeekday, weekday) &&\n isInFieldSetOrRanges(curDate, date);\n matchCurDate =\n matchCurDate ||\n (isMatchDate &&\n isInFieldSetOrRanges(curHour, hour) &&\n isInFieldSetOrRanges(curMinute, minute) &&\n isInFieldSetOrRanges(currentSecond, second));\n if (isMatchDate) {\n const hourFields = isEmptyFieldSetOrRanges(hour)\n ? [...Array(24).keys()]\n : getFieldsFromFieldSetAndRanges(hour);\n const minuteFields = isEmptyFieldSetOrRanges(minute)\n ? [...Array(60).keys()]\n : getFieldsFromFieldSetAndRanges(minute);\n const secondFields = isEmptyFieldSetOrRanges(second)\n ? [...Array(60).keys()]\n : getFieldsFromFieldSetAndRanges(second);\n // 当前在禁止小时里\n if (isInFieldSetOrRanges(curHour, hour)) {\n // 当前在禁止分钟里\n if (isInFieldSetOrRanges(curMinute, minute)) {\n disabledSeconds = disabledSeconds.concat([...secondFields]);\n }\n // 秒全禁用则对应分钟也禁用\n if (secondFields.length === 60) {\n disabledMinutes = disabledMinutes.concat([...minuteFields]);\n }\n }\n // 分全禁用则对应小时也禁用\n if (minuteFields.length === 60 && secondFields.length === 60) {\n disabledHours = disabledHours.concat([...hourFields]);\n }\n }\n });\n setConfirmDisabled(matchCurDate);\n return {\n disabledHours: () => disabledHours,\n disabledMinutes: () => disabledMinutes,\n disabledSeconds: () => disabledSeconds,\n };\n };\n\n const isDatePicker = picker === \"date\";\n const isQuarterPicker = picker === \"quarter\";\n\n const PickerBtn = useCallback(() => {\n const strMap: PickerModeMap = {\n date: [\n i18n.t(`${NS}:${K.LAST_DAY}`),\n i18n.t(`${NS}:${K.TODAY}`),\n i18n.t(`${NS}:${K.NEXT_DAY}`),\n ],\n week: [\n i18n.t(`${NS}:${K.LAST_WEEK}`),\n i18n.t(`${NS}:${K.THIS_WEEK}`),\n i18n.t(`${NS}:${K.NEXT_WEEK}`),\n ],\n month: [\n i18n.t(`${NS}:${K.LAST_MONTH}`),\n i18n.t(`${NS}:${K.THIS_MONTH}`),\n i18n.t(`${NS}:${K.NEXT_MONTH}`),\n ],\n quarter: [\n i18n.t(`${NS}:${K.LAST_QUARTER}`),\n i18n.t(`${NS}:${K.THIS_QUARTER}`),\n i18n.t(`${NS}:${K.NEXT_QUARTER}`),\n ],\n year: [\n i18n.t(`${NS}:${K.LAST_YEAR}`),\n i18n.t(`${NS}:${K.THIS_YEAR}`),\n i18n.t(`${NS}:${K.NEXT_YEAR}`),\n ],\n };\n const strs = strMap[picker as PickerMode];\n const currentDate = value || dayjs();\n const handlePreTime = () => {\n let preDate: Dayjs;\n switch (picker) {\n case \"date\":\n preDate = currentDate.clone().subtract(1, \"days\");\n break;\n case \"week\":\n preDate = currentDate.clone().subtract(1, \"weeks\");\n break;\n case \"month\":\n preDate = currentDate.clone().subtract(1, \"months\");\n break;\n case \"quarter\":\n preDate = currentDate.clone().subtract(1, \"quarters\");\n break;\n case \"year\":\n preDate = currentDate.clone().subtract(1, \"years\");\n break;\n default:\n preDate = currentDate;\n break;\n }\n onChange?.(preDate, dayjs(preDate).format(format));\n setValue(preDate);\n };\n const handleCurTime = () => {\n let curDate: Dayjs;\n switch (picker) {\n case \"date\":\n curDate = dayjs();\n break;\n case \"week\":\n curDate = dayjs().startOf(\"week\");\n break;\n case \"month\":\n curDate = dayjs();\n break;\n case \"quarter\":\n curDate = dayjs().startOf(\"quarter\");\n break;\n case \"year\":\n curDate = dayjs();\n break;\n default:\n curDate = currentDate;\n break;\n }\n onChange?.(curDate, dayjs(curDate).format(format));\n setValue(curDate);\n };\n const handleNextTime = () => {\n let nextDate: Dayjs;\n switch (picker) {\n case \"date\":\n nextDate = currentDate.clone().add(1, \"days\");\n break;\n case \"week\":\n nextDate = currentDate.clone().add(1, \"weeks\");\n break;\n case \"month\":\n nextDate = currentDate.clone().add(1, \"months\");\n break;\n case \"quarter\":\n nextDate = currentDate.clone().add(1, \"quarters\");\n break;\n case \"year\":\n nextDate = currentDate.clone().add(1, \"years\");\n break;\n default:\n nextDate = currentDate;\n break;\n }\n onChange?.(nextDate, dayjs(nextDate).format(format));\n setValue(nextDate);\n };\n\n return (\n <div\n className={classNames(\"pickerBtnWrap\", {\n disabledFastSelect: disabled,\n })}\n >\n <div className={classNames(\"pre\")} onClick={() => handlePreTime()}>\n <LeftOutlined rev=\"\" />\n <span>{strs[0]}</span>\n </div>\n <div className=\"current\" onClick={() => handleCurTime()}>\n {strs[1]}\n </div>\n <div\n className={classNames({\n next: true,\n nextDisabled:\n futureDateDisabled &&\n handleDisabledFutureDate(\n currentDate\n .clone()\n .add(1, picker === \"date\" ? \"days\" : (picker as any))\n ),\n })}\n onClick={() => handleNextTime()}\n >\n <span>{strs[2]}</span>\n <RightOutlined rev=\"\" />\n </div>\n </div>\n );\n }, [value, picker, futureDateDisabled]);\n\n const cellRender = useCallback(\n (current: Dayjs, info: { originNode: React.ReactElement }) => {\n const quarterMap = {\n 1: i18n.t(`${NS}:${K.FISRT_QUARTER}`),\n 2: i18n.t(`${NS}:${K.SECOND_QUARTER}`),\n 3: i18n.t(`${NS}:${K.THIRD_QUARTER}`),\n 4: i18n.t(`${NS}:${K.FOURTH_QUARTER}`),\n };\n const selectedQuarter: number = dayjs(value).quarter();\n const currentQuarter: number = dayjs(current).quarter();\n return picker === \"quarter\" ? (\n <div\n className={classNames(\"quarterContent\", {\n selectedQuarter: selectedQuarter === currentQuarter,\n })}\n >\n {quarterMap[currentQuarter as keyof typeof quarterMap]}\n </div>\n ) : (\n info.originNode\n );\n },\n [value, picker]\n );\n\n return (\n <div\n className=\"pickerWrap\"\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <DatePicker\n cellRender={(\n current: Dayjs,\n info: { originNode: React.ReactElement }\n ) => {\n return cellRender(current, info);\n }}\n value={value}\n getPopupContainer={(trigger) => trigger}\n popupClassName={classNames({\n quarterPicker: isQuarterPicker,\n confirmDisabled: confirmDisabled,\n })}\n format={format}\n showTime={isDatePicker ? showTime : undefined}\n onChange={onChange}\n style={inputBoxStyle}\n placeholder={placeholder}\n onOk={onOk}\n suffixIcon={<WrappedIcon icon=\"calendar\" lib=\"easyops\" />}\n picker={picker}\n disabledDate={\n (futureDateDisabled && handleDisabledFutureDate) ||\n (disabledDate && handleDisabledDate)\n }\n disabledTime={disabledDate && (handleDisabledTime as any)}\n disabled={disabled}\n />\n {useFastSelectBtn && <PickerBtn />}\n </div>\n );\n}\n\nexport function EoDatePickerComponent(\n props: EoDatePickerProps\n): React.ReactElement {\n const { name, formElement, picker = \"date\", ...restProps } = props;\n\n const PickerFormatMap = {\n date: \"YYYY-MM-DD\",\n week: \"gggg-ww周\",\n month: \"YYYY-MM月\",\n quarter: \"YYYY-第Q季度\",\n year: \"YYYY\",\n };\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n const isDatePicker = picker === \"date\";\n const format = props.format || PickerFormatMap[picker];\n\n const handleChange = (date: Dayjs | null, dateString: string): void => {\n props.onChange?.(dateString);\n };\n\n const handleOk = (date: Dayjs): void => {\n props.onOk?.(date?.format(props.format));\n };\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n const value: Dayjs | undefined = useMemo(() => {\n const parseValue = props.value;\n if (parseValue) {\n if (!props.format && (picker === \"week\" || picker === \"quarter\")) {\n //dayjs目前不支持解析gggg-ww周、YYYY-第Q季度格式的输入\n return dayjs(moment(parseValue, format).format());\n } else {\n return dayjs(parseValue, format);\n }\n }\n }, [props.value, format]);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <InternalStateDatePicker\n {...restProps}\n value={value}\n format={format}\n onChange={handleChange}\n onOk={isDatePicker ? handleOk : undefined}\n picker={picker}\n />\n </StyleProvider>\n </ConfigProvider>\n </WrappedFormItem>\n );\n}\n","export enum K {\n TODAY = \"TODAY\",\n THIS_WEEK = \"THIS_WEEK\",\n THIS_MONTH = \"THIS_MONTH\",\n THIS_QUARTER = \"THIS_QUARTER\",\n THIS_YEAR = \"THIS_YEAR\",\n START_TIME_END_TIME_CANNOT_EQUAL = \"START_TIME_END_TIME_CANNOT_EQUAL\",\n START_TIME_REQUIRED = \"START_TIME_REQUIRED\",\n END_TIME_REQUIRED = \"END_TIME_REQUIRED\",\n}\n// HELLO = \"HELLO\",\n\nconst en: Locale = {\n TODAY: \"Today\",\n THIS_WEEK: \"This Week\",\n THIS_MONTH: \"This Month\",\n THIS_QUARTER: \"This Quarter\",\n THIS_YEAR: \"This Year\",\n START_TIME_END_TIME_CANNOT_EQUAL: \"Start Time and End Time can NOT be equal\",\n START_TIME_REQUIRED: \"Start Time is required\",\n END_TIME_REQUIRED: \"End Time is required\",\n};\n\nconst zh: Locale = {\n TODAY: \"今天\",\n THIS_WEEK: \"本周\",\n THIS_MONTH: \"本月\",\n THIS_QUARTER: \"本季度\",\n THIS_YEAR: \"今年\",\n START_TIME_END_TIME_CANNOT_EQUAL: \"开始时间和结束时间不能相等\",\n START_TIME_REQUIRED: \"开始时间必填\",\n END_TIME_REQUIRED: \"结束时间必填\",\n};\n\nexport const NS = \"bricks/form/eo-time-range-picker\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useEffect, useMemo, useState, useRef } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase, MessageBody } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport { TimePicker, DatePicker, ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./styles.shadow.css\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { omit, isEmpty, uniqueId, difference } from \"lodash\";\nimport dayjs from \"dayjs\";\nimport type { Dayjs } from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport isoWeek from \"dayjs/plugin/isoWeek.js\";\nimport advancedFormat from \"dayjs/plugin/advancedFormat.js\";\nimport quarterOfYear from \"dayjs/plugin/quarterOfYear.js\";\nimport enUS from \"antd/locale/en_US.js\";\nimport zhCN from \"antd/locale/zh_CN.js\";\nimport \"dayjs/locale/zh-cn.js\";\n\ninitializeI18n(NS, locales);\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isoWeek);\ndayjs.extend(quarterOfYear);\n\nconst { defineElement, property, event } = createDecorators();\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst INIT_TIME_RANGE: TimeRange = {\n startTime: \"00:00:00\",\n endTime: \"23:59:59\",\n};\n\nexport enum presetRangeType {\n Today = \"今天\",\n ThisWeek = \"本周\",\n ThisMonth = \"本月\",\n ThisQuarter = \"本季度\",\n ThisYear = \"今年\",\n}\nexport interface TimeRange {\n startTime: string;\n endTime: string;\n}\n\ntype PickerType = \"date\" | \"week\" | \"month\" | \"quarter\" | \"year\";\ntype OtherPickerType = \"dateTime\" | \"hmTime\" | \"time\";\nexport type RangeType = PickerType & OtherPickerType;\n\nexport interface EoTimeRangePickerProps extends FormItemProps {\n shadowRoot?: ShadowRoot | null;\n value?: TimeRange;\n format: string;\n rangeType?: RangeType;\n onChange?: (range: TimeRange) => void;\n emitChangeOnInit?: boolean;\n selectNearDays?: number;\n presetRanges?: presetRangeType[];\n}\ntype RealTimeRangePickerProps = Omit<\n EoTimeRangePickerProps,\n keyof FormItemProps\n>;\n/**\n * 构件 `eo-time-range-picker`\n */\nexport\n@defineElement(\"eo-time-range-picker\", {\n styleTexts: [styleText],\n})\nclass EoTimeRangePicker 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 * @default { \"startTime\": \"00:00:00\", \"endTime\": \"23:59:59\" }\n */\n @property({ attribute: false }) accessor value: TimeRange | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 时间段类型\n */\n @property({ attribute: false })\n accessor rangeType: RangeType | undefined;\n\n /**\n * 只有rangeType在`date` 和 `dateTime`下, 才支持只选择最近n天(当前时间向前n天)\n */\n @property({ type: Number })\n accessor selectNearDays: number | undefined;\n\n /**\n * @default true\n * 是否在初始化完成后额外触发一次`time.range.change`, 这里因为历史原因之前默认行为就是在初始化后会触发该事件,这里为了兼容之前的行为,默认值只能设置为 true。\n */\n @property({ type: Boolean })\n accessor emitChangeOnInit: boolean | undefined;\n\n /**\n * @default []\n * 预设时间范围快捷选择;设置了属性selectNearDays时,属性presetRanges不生效;属性rangeType为week时,presetRanges的值只能为本周、本月、本季度、今年,属性rangeType为month、quarter、year时,以此类推\n */\n @property({ attribute: false })\n accessor presetRanges: presetRangeType[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody | string) | undefined;\n\n /**\n *时间段变化时触发\n */\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<TimeRange>;\n\n handleChange = (value: TimeRange): void => {\n this.value = value;\n this.#changeEvent.emit(value);\n };\n // istanbul ignore next;\n unequal = (value: TimeRange): string => {\n if (value.startTime && value.endTime && value.startTime === value.endTime) {\n return i18n.t(`${NS}:${K.START_TIME_END_TIME_CANNOT_EQUAL}`);\n }\n return \"\";\n };\n // istanbul ignore next;\n startTimeRequired = (value: TimeRange): string => {\n if (!value.startTime && this.required) {\n return i18n.t(`${NS}:${K.START_TIME_REQUIRED}`);\n }\n return \"\";\n };\n // istanbul ignore next;\n endTimeRequired = (value: TimeRange): string => {\n if (!value.endTime && this.required) {\n return i18n.t(`${NS}:${K.END_TIME_REQUIRED}`);\n }\n return \"\";\n };\n\n #builtInvalidator: ((value: any) => MessageBody | string)[] = [\n this.unequal,\n this.startTimeRequired,\n this.endTimeRequired,\n ];\n\n #defaultFormat = \"HH:mm:ss\";\n render() {\n let format = this.#defaultFormat;\n switch (this.rangeType as RangeType) {\n case \"date\":\n format = \"YYYY-MM-DD\";\n break;\n case \"dateTime\":\n format = `YYYY-MM-DD ${this.#defaultFormat}`;\n break;\n case \"hmTime\":\n format = `HH:mm`;\n break;\n case \"week\": //week,month,quarter,year 不设置format,使用ant.design RangePicker的默认format\n format = \"\";\n break;\n case \"month\":\n format = \"\";\n break;\n case \"quarter\":\n format = \"\";\n break;\n case \"year\":\n format = \"\";\n break;\n }\n\n return (\n <EoTimeRangePickerComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n selectNearDays={this.selectNearDays}\n emitChangeOnInit={this.emitChangeOnInit}\n rangeType={this.rangeType}\n required={this.required}\n format={format}\n validator={\n (this.validator\n ? this.#builtInvalidator.concat(this.validator)\n : this.#builtInvalidator) as any\n }\n presetRanges={this.presetRanges}\n onChange={this.handleChange}\n shadowRoot={this.shadowRoot}\n needValidate={true}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst rangeRules = {\n date: [] as presetRangeType[],\n dateTime: [] as presetRangeType[],\n week: [presetRangeType.Today],\n month: [presetRangeType.Today, presetRangeType.ThisWeek],\n quarter: [\n presetRangeType.Today,\n presetRangeType.ThisWeek,\n presetRangeType.ThisMonth,\n ],\n year: [\n presetRangeType.Today,\n presetRangeType.ThisWeek,\n presetRangeType.ThisMonth,\n presetRangeType.ThisQuarter,\n ],\n};\n\nexport function RealTimeRangePicker(\n props: RealTimeRangePickerProps\n): React.ReactElement {\n const {\n value,\n selectNearDays,\n format,\n emitChangeOnInit = true,\n presetRanges,\n onChange,\n } = props;\n const times = [\"time\", \"hmTime\"];\n const rangeType = props.rangeType ?? \"time\";\n const today = times.includes(rangeType) ? \"\" : dayjs().format(\"YYYY-MM-DD\");\n const initRange = {\n startTime: today + INIT_TIME_RANGE.startTime,\n endTime: today + INIT_TIME_RANGE.endTime,\n };\n\n const initValue: TimeRange =\n !isEmpty(value?.startTime) || !isEmpty(value?.endTime)\n ? (value as TimeRange)\n : initRange;\n\n const [startTime, setStartTime] = useState(\n dayjs(initValue.startTime, format)\n );\n const [prevStartTime, setPrevStartTime] = useState(startTime?.clone());\n const [endTime, setEndTime] = useState(dayjs(initValue.endTime, format));\n const [prevEndTime, setPrevEndTime] = useState(endTime?.clone());\n\n const onStartTimeChange = (time: Dayjs | null, timeString: string) => {\n time && setStartTime(time);\n onChange?.({\n startTime: timeString,\n endTime: endTime?.format(format),\n });\n };\n\n const onEndTimeChange = (time: Dayjs | null, timeString: string) => {\n time && setEndTime(time);\n onChange?.({\n endTime: timeString,\n startTime: startTime?.format(format),\n });\n };\n\n useEffect(() => {\n if (emitChangeOnInit && !value && onChange) {\n times.includes(rangeType)\n ? onChange(INIT_TIME_RANGE)\n : onChange(initRange);\n }\n }, []);\n\n useEffect(() => {\n if (value?.startTime) {\n const start = dayjs(value.startTime, format || \"YYYY-MM-DD\");\n setStartTime(start);\n setPrevStartTime(start);\n }\n if (value?.endTime) {\n const end = dayjs(value.endTime, format || \"YYYY-MM-DD\");\n setEndTime(end);\n setPrevEndTime(end);\n }\n }, [value]);\n\n const timeRange = (\n <div className=\"timeRange\">\n <TimePicker\n {...{ id: uniqueId(\"start-time-\") }}\n onChange={onStartTimeChange}\n getPopupContainer={(trigger) => trigger}\n value={!isEmpty(value?.startTime) ? startTime : undefined}\n format={format}\n />\n <span className=\"timeRangeSplit\">~</span>\n <TimePicker\n {...{ id: uniqueId(\"end-time-\") }}\n onChange={onEndTimeChange}\n getPopupContainer={(trigger) => trigger}\n value={!isEmpty(value?.endTime) ? endTime : undefined}\n format={format}\n />\n </div>\n );\n const presetRangeMap = {\n [presetRangeType.Today]: {\n [i18n.t(`${NS}:${K.TODAY}`)]: [dayjs().startOf(\"day\"), dayjs()],\n },\n [presetRangeType.ThisWeek]: {\n [i18n.t(`${NS}:${K.THIS_WEEK}`)]: [\n dayjs().startOf(\"week\"),\n dayjs().endOf(\"week\"),\n ],\n },\n [presetRangeType.ThisMonth]: {\n [i18n.t(`${NS}:${K.THIS_MONTH}`)]: [\n dayjs().startOf(\"month\"),\n dayjs().endOf(\"month\"),\n ],\n },\n [presetRangeType.ThisQuarter]: {\n [i18n.t(`${NS}:${K.THIS_QUARTER}`)]: [\n dayjs().startOf(\"quarter\"),\n dayjs().endOf(\"quarter\"),\n ],\n },\n [presetRangeType.ThisYear]: {\n [i18n.t(`${NS}:${K.THIS_YEAR}`)]: [\n dayjs().startOf(\"year\"),\n dayjs().endOf(\"year\"),\n ],\n },\n };\n\n const presetRange = useMemo(() => {\n const rangeResult = [];\n if (!selectNearDays && !times.includes(rangeType)) {\n const compliantRanges = difference(\n presetRanges,\n (rangeRules as any)[rangeType]\n );\n for (const i of compliantRanges) {\n const list = Object.entries(presetRangeMap[i])[0];\n rangeResult.push({ label: list[0], value: list[1] });\n }\n }\n return rangeResult;\n }, [rangeType, selectNearDays, presetRanges]);\n const rangeChange = (dates: any, dateStrings: [string, string]) => {\n setStartTime(dates?.[0]);\n setEndTime(dates?.[1]);\n onChange?.({\n startTime: dates?.[0].format(format || \"YYYY-MM-DD\"), //week,month,quarter,year 的format为\"\",比如rangeType为quarter,直接返回2022-Q3的这种格式的数据,目前看起来还不是平台通用的,还是先默认转换成\"YYYY-MM-DD\"\n endTime: dates?.[1].format(format || \"YYYY-MM-DD\"),\n });\n };\n\n const needConfirm = useRef(false);\n const onOpenChange = (open: boolean) => {\n if (!open && needConfirm.current) {\n setStartTime(prevStartTime);\n setEndTime(prevEndTime);\n } else {\n needConfirm.current = true;\n }\n };\n\n const rangeOk = (selectedTime: any) => {\n needConfirm.current = false;\n const dates = selectedTime as [Dayjs, Dayjs];\n setPrevStartTime(dates?.[0]?.clone());\n setPrevEndTime(dates?.[1]?.clone());\n };\n\n const disabledDate = (current: Dayjs) => {\n if (!selectNearDays) {\n return false;\n }\n const tooSelectNearDays =\n current <= dayjs().subtract(selectNearDays, \"days\") ||\n current > dayjs().endOf(\"day\");\n return !!tooSelectNearDays;\n };\n\n const dateRange = (\n <DatePicker.RangePicker\n style={{ width: 400 }}\n showTime={(rangeType as RangeType) === \"dateTime\"}\n picker={(rangeType as RangeType) === \"dateTime\" ? \"date\" : rangeType}\n value={\n (!isEmpty(value?.startTime) || !isEmpty(value?.endTime)\n ? [startTime, endTime]\n : []) as any\n }\n presets={presetRange as any}\n format={format}\n onChange={rangeChange}\n onOpenChange={onOpenChange}\n onOk={rangeOk}\n disabledDate={disabledDate}\n separator={\"~\"}\n getPopupContainer={(trigger) => trigger}\n suffixIcon={<WrappedIcon icon=\"calendar\" lib=\"easyops\" />}\n />\n );\n const range = times.includes(rangeType) ? timeRange : dateRange;\n\n return <div>{range}</div>;\n}\n\nexport function EoTimeRangePickerComponent(props: EoTimeRangePickerProps) {\n const currentTheme = useCurrentTheme();\n const locale =\n i18n.language && i18n.language.split(\"-\")[0] === \"en\" ? enUS : zhCN;\n\n const cahce = useMemo(() => {\n return createCache();\n }, []);\n\n return (\n <WrappedFormItem {...(omit(props, [\"shadowRoot\"]) as any)}>\n <ConfigProvider\n locale={locale as any}\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n }}\n >\n <StyleProvider container={props.shadowRoot as ShadowRoot} cache={cahce}>\n <div\n onChange={(e) => {\n e.stopPropagation();\n }}\n >\n <RealTimeRangePicker\n format={props.format}\n value={props.value}\n rangeType={props.rangeType}\n onChange={props.onChange}\n emitChangeOnInit={props.emitChangeOnInit}\n selectNearDays={props.selectNearDays}\n presetRanges={props.presetRanges}\n />\n </div>\n </StyleProvider>\n </ConfigProvider>\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;position:absolute;opacity:0}.checkboxLabel .checkboxInput[type=\"checkbox\"]:checked{color:black;background-color:var(--antd-checkbox-color);border-color:var(--antd-checkbox-color)}.checkboxLabel .checkboxInner{border-radius:3px;position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:var(--antd-checkbox-check-bg);border:1px solid var(--antd-border-color-base);box-sizing:border-box;border-collapse:separate;transition:all 0.3s}.checkboxLabel .checkboxInputCheck .checkboxInner,\n.checkboxLabel .checkboxInputPartCheck .checkboxInner{background-color:var(--antd-checkbox-color);border-color:var(--antd-checkbox-color)}.checkboxLabel .checkboxInner::after{position:absolute;top:50%;left:22%;display:table;width:0.36em;height:0.58em;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all 0.1s cubic-bezier(0.71,-0.46,0.88,0.6),opacity 0.1s;content:\" \"}.checkboxLabel .checkboxInputCheck .checkboxInner::after{transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all 0.2s cubic-bezier(0.12,0.4,0.29,1.46) 0.1s}.checkboxLabelCheck{background:var(--antd-checkbox-checked)}.checkboxLabel .checkboxInputPartCheck .checkboxInner::after{height:2px;background-color:#fff;width:8px;border:0;left:50%;opacity:1;transform:translate(-50%,-50%) scale(1)}.checkboxLabel .checkboxInputDisabled{cursor:not-allowed}.checkboxLabel:hover{background:var(--antd-checkbox-bg-hover)}.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)}.iconCheckbox:hover input[type=\"checkbox\"]::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCheckbox input[type=\"checkbox\"]:checked::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCustomCheckbox:hover input[type=\"checkbox\"]::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-color)}.iconCustomCheckbox input[type=\"checkbox\"]:checked::before{border:1px solid var(--antd-checkbox-custom-type-item-hover-border-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}.collapse-header{padding:12px 16px 12px 40px;position:relative;margin-left:0px}.collapse-content{padding:12px 16px 12px 40px;display:none}.collapse-content-visible{display:block}.collapse-header .collapse-icon{position:absolute;left:16px}.collapse-header .checkboxLabel{margin-left:0px}`, \"\"]);\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}.confirmDisabled .ant-picker-ok .ant-btn{color:var(--text-color-disabled);background:\"red\";border-color:var(--antd-border-color-base);text-shadow:none;box-shadow:none;pointer-events:none}.quarterPicker .quarterContent{left:auto;display:flex;align-items:center;justify-content:center;width:60%;padding:4px}.quarterPicker .quarterContent:hover{background:var(--antd-picker-basic-cell-hover-bg)}.quarterPicker .selectedQuarter{color:var(--antd-picker-panel-cell-selected-color);background:var(--antd-picker-panel-cell-selected-bg)}.quarterPicker .ant-picker-quarter-panel .ant-picker-content tr{display:flex;flex-wrap:wrap}.quarterPicker .ant-picker-quarter-panel .ant-picker-content td{display:flex;align-items:center;justify-content:center;width:50%;height:50%;padding:20px}.quarterPicker .ant-picker-cell-selected::before{color:var(--antd-picker-panel-cell-selected-color);background:var(--antd-picker-panel-cell-selected-bg)}.quarterPicker .ant-picker-cell::before{right:auto;left:auto;display:flex;align-items:center;justify-content:center;width:60%;display:none}.quarterPicker .ant-picker-cell:hover::before{background:var(--antd-picker-basic-cell-hover-bg);cursor:not-allowed}.pickerBtnWrap{box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";padding:0 8px;position:relative;display:inline-flex;align-items:center;background:var(--antd-component-background);border:1px solid var(--antd-border-color-base);border-radius:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pre,\n.current,\n.next{position:relative;display:flex;align-items:center;line-height:1;padding:4px;cursor:pointer}.pre:hover,\n.current:hover,\n.next:hover{color:var(--antd-link-color)}.pre:hover .anticon-left,\n.pre:hover .anticon-right,\n.current:hover .anticon-left,\n.current:hover .anticon-right,\n.next:hover .anticon-left,\n.next:hover .anticon-right{color:var(--antd-link-color)}.nextDisabled{color:var(--text-color-disabled);background:var(--antd-background-color-base);pointer-events:none}.pickerWrap{display:flex;gap:10px}.pickerWrap .current{padding:4px 20px}.pickerWrap .current::after,\n.pickerWrap .current::before{content:\"\";position:absolute;top:50%;width:1px;height:70%;transform:translateY(-50%);background:var(--antd-border-color-base)}.pickerWrap .current::after{right:10px}.pickerWrap .current::before{left:10px}.pickerWrap .anticon-left,\n.pickerWrap .anticon-right{color:var(--antd-border-color-base);font-size:\" 11px\"}.pickerWrap .disabledFastSelect{pointer-events:none;color:var(--text-color-disabled);background:var(--antd-background-color-base)}`, \"\"]);\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([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%)}.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;cursor:text;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{flex:none;align-self:center;max-width:100%;line-height:1;margin-top:2px}.selected-item .label{display:inline-block;margin-right:4px;overflow:hidden;white-space:nowrap;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%)}.selector-focused .selected-single-item{color:var(--antd-input-placeholder-color)}.select-single .select-selection-search{position:absolute;top:0;right:25px;bottom:0;left:11px}.select-single-item .label .text{margin-right:4px}.select-multiple .select-selection-search{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;cursor:pointer;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-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}.input-item{min-height:30px;display:flex;align-items:center}.empty-tips{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:var(--palette-gray-8)}.empty-tips > img{width:180px}.empty-tips > span{margin-left:-8px}.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}.dropdown-list-loading-container{height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--antd-component-background),0.7);font-size: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:inline-block}:host([hidden]){display:none}`, \"\"]);\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}.timeRange{display:flex;align-items:center}.timeRange .timeRangeSplit{width:32px!important;height:30px;background:var(--input-fill-bg);pointer-events:none;border-left:0;border-right:0;display:inline-flex;justify-content:center;pointer-events:none;border-color:var(--antd-border-color-base);border-style:solid;border-top-width:1px;border-bottom-width:1px;align-items:center;color:var(--text-color-disabled)}.timeRange .ant-picker:first-child{margin-right:0;border-top-right-radius:0px;border-bottom-right-radius:0px}.timeRange .ant-picker:last-child{margin-right:0;border-top-left-radius:0px;border-bottom-left-radius:0px}.timeRange\n .ant-picker-dropdown\n .ant-picker-panel-container\n .ant-picker-footer\n .ant-picker-ranges{margin-top:0px}`, \"\"]);\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","!function(e,_){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=_(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],_):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_zh_cn=_(e.dayjs)}(this,(function(e){\"use strict\";function _(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=_(e),d={name:\"zh-cn\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(e,_){return\"W\"===_?e+\"周\":e+\"日\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(e,_){var t=100*e+_;return t<600?\"凌晨\":t<900?\"早上\":t<1100?\"上午\":t<1300?\"中午\":t<1800?\"下午\":\"晚上\"}};return t.default.locale(d,null,!0),d}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","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":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e","_Input","defineElement","event","WrappedIcon","wrapBrick","WrappedFormItem","styleTexts","styleText","alias","type","Boolean","_dec5","_dec6","Number","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_dec25","_dec26","_dec27","_RCInputRef","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_changeEvent","_T","_U","_V","_W","_X","_getSlotByName","WeakSet","_set_changeEvent2","_set_changeEvent","_get_changeEvent2","_get_changeEvent","_getSlotByName2","name","_this$shadowRoot","shadowRoot","querySelector","concat","_classPrivateMethodInitSpec","createRef","_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","emit","_init_hasAddonBefore","_init_hasAddonAfter","_init_hasPrefix","_init_hasSuffix","_init_validator","ref","current","addonBefore","_classPrivateMethodGet","call","addonAfter","prefix","suffix","addEventListener","hasAddonBefore","assignedElements","length","hasAddonAfter","hasSuffix","hasPrefix","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","curElement","renderCallback","readOnly","trigger","onInputChange","handleInputChange","c","_initClass","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","lib","icon","theme","onMouseDown","preventDefault","isNil","String","hiddenTextarea","_Textarea","SIZING_STYLE","_InputChangeEvent","_set_InputChangeEvent2","_set_InputChangeEvent","_get_InputChangeEvent2","_get_InputChangeEvent","TextareaComponent","textareaStyle","autoSize","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","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","_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","_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","_setInitValue2","layout","err","formStyle","FormComponent","defaultEmitValuesChange","_set_valuesChangeEvent","_get_valuesChangeEvent","_set_successEvent","_get_successEvent","_set_errorEvent","_get_errorEvent","computedStyle","useMemo","display","flexDirection","gap","_FormItem","FormItemComponent","valuePropsName","formInstance","defaultValidateState","setValidateState","originTrigger","useBrick","ReactUseMultipleBricks","_init_formElement","_init_curElement","_init_labelCol","_init_wrapperCol","_init_valuePropsName","_init_trim","_init_trigger","_init_needValidate","labelCol","wrapperCol","trim","_this$formElement","_this$formElement2","formatOptions","fields","op","_Radio","WrappedGeneralIcon","_optionsChange","_handleOptionsChange","_set_optionsChange2","_set_optionsChange","_get_optionsChange2","_get_optionsChange","RadioComponent","customStyle","optionsChange","setOptions","isEqual","handleChange","option","_props$onChange","stopPropagation","dashboardRadioContainer","ui","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","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_optionsChange","_Select","WrappedTag","onCheck","onClose","getIllustration","unwrapProvider","applyArgs","args","query","arg","_searchEvent","_focusEvent","_set_searchEvent2","_set_searchEvent","_get_searchEvent2","_get_searchEvent","_set_focusEvent2","_set_focusEvent","_get_focusEvent2","_get_focusEvent","SelectComponent","_formatOptions","_props$useBackend2","mode","tokenSeparators","maxTagCount","useBackend","debounceSearchDelay","onValueChange","onSearch","multiple","emptySrc","category","selectRef","inputSpanRef","shouldTriggerOnValueChangeArgs","inputValue","setInputValue","inputWidth","setInputWidth","requestStatus","setRequestStatus","isDropHidden","setIsDropHidden","isFocused","setIsFocused","selectedOptions","setSelectedOptions","renderOptions","setRenderOptions","focusOptionItem","setFocusOptionItem","handleSelectorClick","newValue","filter","newOptions","find","handleMultipleItemClose","closeValue","handleSearchQuery","_asyncToGenerator","provider","isSearchable","onValueChangeArgs","transform","actualArgs","fetchByProvider","actualData","handleHttpError","handleDebounceBackendSearch","debounce","computedOptions","selected","_props$useBackend","matchToken","customValue","substring","handleKeydown","code","pop","findIndex","isEmptyValue","useLayoutEffect","_inputSpanRef$current","_inputSpanRef$current2","toLocaleUpperCase","offsetWidth","handleDocumentClick","_selectRef$current","removeEventListener","renderSelector","tagList","ellipsisInfo","closable","slice","allOptions","reduce","pre","cur","renderLabel","_option$closable","color","tagStyle","borderRadius","checkable","_allOptions$find","closeable","Options","getSelectOption","_item$value","onMouseOver","groupBy","_ref3","group","src","position","opacity","width","spinning","_init_mode","_init_tokenSeparators","_init_maxTagCount","_init_groupBy","_init_suffix","_init_fields","_init_useBackend","_init_debounceSearchDelay","_init_searchEvent","_init_focusEvent","Promise","resolve","then","handleSearch","handleFocus","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","_set_submitEvent2","_set_submitEvent","_get_submitEvent2","_get_submitEvent","_set_cancelEvent2","_set_cancelEvent","_get_cancelEvent2","_get_cancelEvent","ButtonsComponent","submitText","submitType","onSubmitClick","submitDisabled","cancelText","cancelType","onCancelClick","_init_submitText","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","_handleCancelClick","_handleSubmitClick","AntdIcon","_Checkbox","_checkboxChangeEvent","_optionsChangeEvent","_set_checkboxChangeEvent2","_set_checkboxChangeEvent","_get_checkboxChangeEvent2","_get_checkboxChangeEvent","_set_optionsChangeEvent2","_set_optionsChangeEvent","_get_optionsChangeEvent2","_get_optionsChangeEvent","CheckboxComponent","_props$value","isGroup","setValues","collapseKeys","setCollapseKeys","optionGroups","setOptionGroups","_props$optionsChange","_props$options","handleInputClick","i","splice","IconCheckbox","isCustom","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","_props$options2","alignItems","checkboxWrapper","checkboxLabel","checkboxLabelDisabled","checkboxLabelCheck","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","id","checkboxInner","background","borderColor","checkboxText","iconNode","mergedIcon","imgSrc","imgStyle","getIcon","CheckGroupItem","_optionGroups","newOptionsKeys","n","checkOptions","intersection","checkType","newKeys","CaretRightOutlined","rotate","rev","checkboxInputPartCheck","_props$onChange2","_props$onChange3","uniq","_init_isCustom","_init_isGroup","_init_optionGroups","_init_checkboxChangeEvent","currentSelectOption","before","after","_init_optionsChangeEvent","handleCheckboxChange","K","NS","initializeReactI18n","en","UNIQUE","zh","_DynamicFormItem","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","uniqueValidatorFN","properties","t","_props$curElement","_unique","_properties$message","_properties$label","fieldValue","Set","unique","DynamicFormItemComponent","useTranslation","formWrapperRef","bricks","setBricks","bricksOfNoLabel","brick","omit","_props$value2","parsedUseBrick","flatten","handleRemoveItem","newValues","formWrapper","forms","querySelectorAll","every","buttonStyle","handleAddItem","_this$getFormElement","handleDynamicFormChange","_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","onKeyDown","slot","Colors","COLORS_MAP","green","red","blue","orange","cyan","purple","geekblue","gray","getColor","_COLORS_MAP","ICON","COLOR","SELECT_ICON","SEARCH_PLACEHOLDER","_IconSelect","getLibs","searchIcons","WrappedGeneralRadio","onOptionsChange","WrappedModal","onConfirm","onCancel","onOpen","WrappedSearch","IconSelectComponent","emptyIcon","modalRef","iconLibs","setIconLibs","searchParams","setSearchParams","iconList","setIconList","libs","handleSearchIcons","params","q","page","pageSize","list","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","symbolForAbortController","Symbol","for","getUid","Date","acceptValidator","file","accepts","validAccepts","split","lowerFileName","toLowerCase","mimeType","baseMimeType","accept","startsWith","lowerType","affixList","affix","endsWith","sizeValidator","limitSize","reject","Error","Upload","children","itemRender","autoUpload","uploadName","action","maxCount","overMaxCountMode","beforeUploadValidators","beforeUploadUserDataProcessor","internalFileDataList","setInternalFileDataList","fileList","beforeLoadFilter","files","beforeLoadValidator","all","allSettled","_ref2","_file","validatorResult","errors","status","reason","_x","apply","beforeLoadProcessor","fileDataList","_ref5","_ref4","userData","_x3","_x2","handleFileUpload","_ref6","existsFilesSlice","originFiles","filteredFiles","existsLength","allowCount","Infinity","validatedFiles","processedFileDataList","newFileDataList","fileData","formData","FormData","abortController","AbortController","append","req","http","request","signal","response","handleUploadSuccess","_fileData","catch","handleUploadError","_fileData$errors","uploadFile","_x4","_ref7","_x5","upload","click","uploadFiles","actions","_fileData$symbolForAb","removedFileData","abort","handleRemove","getImage","revokeUrl","url","Blob","URL","createObjectURL","image","Image","onload","revokeObjectURL","onerror","imageValidator","limit","naturalWidth","naturalHeight","userDataProcessor","pipes","unitFormat","UPLOAD","FILE_UPLOADING","_UploadImage","_init_bucketName","_init_multiple","imageList","bucketName","UploadImageComponent","defaultUploadIcon","deleteIcon","closeIcon","curValue","getBasePath","images","processedImages","_image$url","objectName","uploadActions","_GeneralSwitch","_switchEvent","_set_switchEvent2","_set_switchEvent","_get_switchEvent2","_get_switchEvent","GeneralSwitchComponent","unCheckedIcon","checkedIcon","checkedText","unCheckedText","setChecked","handleSwitchChange","onSwitch","_init_checkedText","_init_unCheckedText","_init_checkedIcon","_init_unCheckedIcon","_init_switchEvent","handleSwitch","DRAG_UPLOAD_TEXT","_EoUploadFile","WrappedEasyopsIcon","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","uploadDraggable","draggableUploadTip","EoUploadFileComponent","fileTextIcon","loadingIcon","useCurrentTheme","isDragOver","setIsDragOver","onDragEnter","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","Trans","i18nKey","components","total","_EoAutoComplete","EoAutoCompleteComponent","filterByCaption","filteredOptions","setFilteredOptions","active","setActive","originalOptions","walkOptions","selectedOption","caption","search","_option$options","_option$options2","toLower","cloneDeep","f","_f$options","_init_filterByCaption","TimePicker","InternalTimePicker","RangePicker","InternalRangePicker","assign","picker","_a","addon","renderExtraFooter","restProps","s","p","prototype","hasOwnProperty","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","internalRenderExtraFooter","_InternalPanelDoNotUseOrYouWillBeFired","dayjs","customParseFormat","_EoTimePicker","_openEvent","_closeEvent","_handleOpenChange","_set_openEvent2","_set_openEvent","_get_openEvent2","_get_openEvent","_set_closeEvent2","_set_closeEvent","_get_closeEvent2","_get_closeEvent","EoTimePickerComponent","configProps","onOpenChange","currentTheme","locale","i18n","language","enUS","zhCN","format","cahce","createCache","ConfigProvider","algorithm","darkAlgorithm","defaultAlgorithm","StyleProvider","container","cache","getPopupContainer","time","timeString","flag","allowClear","_init_configProps","_init_openEvent","_init_closeEvent","initializeI18n","NEXT_DAY","TODAY","LAST_DAY","NEXT_WEEK","THIS_WEEK","LAST_WEEK","NEXT_MONTH","THIS_MONTH","LAST_MONTH","NEXT_QUARTER","THIS_QUARTER","LAST_QUARTER","NEXT_YEAR","THIS_YEAR","LAST_YEAR","FISRT_QUARTER","SECOND_QUARTER","THIRD_QUARTER","FOURTH_QUARTER","advancedFormat","isoWeek","quarterOfYear","_EoDatePicker","_okEvent","_handleOk","_set_okEvent2","_set_okEvent","_get_okEvent2","_get_okEvent","_init_showTime","_init_format","_init_picker","_init_futureDateDisabled","_init_disabledDate","_init_useFastSelectBtn","_init_inputBoxStyle","_init_okEvent","showTime","futureDateDisabled","disabledDate","useFastSelectBtn","inputBoxStyle","EoDatePickerComponent","onOk","getFieldSetAndRanges","expression","fieldSet","ranges","range","isNaN","add","isInFieldSetOrRanges","fieldSetAndRanges","isEmptyFieldSetOrRanges","getFieldsFromFieldSetAndRanges","InternalStateDatePicker","confirmDisabled","setConfirmDisabled","crontab","second","minute","hour","date","month","weekday","year","hourFieldSetAndRanges","minuteFieldSetAndRanges","secondFieldSetAndRanges","yearFieldSetAndRanges","monthFieldSetAndRanges","dateFieldSetAndRanges","weekFieldSetAndRanges","isAllDate","isAllTime","handleDisabledFutureDate","isDatePicker","isQuarterPicker","PickerBtn","strs","week","quarter","currentDate","disabledFastSelect","handlePreTime","preDate","clone","subtract","LeftOutlined","handleCurTime","curDate","startOf","next","nextDisabled","handleNextTime","nextDate","RightOutlined","cellRender","info","quarterMap","selectedQuarter","currentQuarter","originNode","DatePicker","popupClassName","quarterPicker","suffixIcon","curYear","curMonth","curWeekday","isoWeekday","cron","disabledTime","curHour","curMinute","currentSecond","disabledHours","disabledMinutes","disabledSeconds","matchCurDate","isMatchDate","hourFields","minuteFields","secondFields","_objectWithoutProperties","_excluded","parseValue","moment","dateString","_props$onOk","START_TIME_END_TIME_CANNOT_EQUAL","START_TIME_REQUIRED","END_TIME_REQUIRED","_EoTimeRangePicker","INIT_TIME_RANGE","startTime","endTime","presetRangeType","_builtInvalidator","_defaultFormat","_init_rangeType","_init_selectNearDays","_init_emitChangeOnInit","_init_presetRanges","unequal","startTimeRequired","endTimeRequired","rangeType","selectNearDays","emitChangeOnInit","presetRanges","EoTimeRangePickerComponent","rangeRules","dateTime","Today","ThisWeek","ThisMonth","ThisQuarter","RealTimeRangePicker","_props$rangeType","times","today","initRange","initValue","setStartTime","prevStartTime","setPrevStartTime","setEndTime","prevEndTime","setPrevEndTime","start","end","timeRange","uniqueId","onStartTimeChange","onEndTimeChange","presetRangeMap","endOf","ThisYear","presetRange","rangeResult","compliantRanges","difference","needConfirm","dateRange","presets","rangeChange","dates","dateStrings","selectedTime","_dates$","_dates$2","separator","___CSS_LOADER_EXPORT___","module","exports","default","d","weekdays","weekdaysShort","weekdaysMin","months","monthsShort","ordinal","weekStart","yearStart","formats","LT","LTS","L","LL","LLL","LLLL","l","ll","lll","llll","relativeTime","future","past","mm","h","hh","dd","M","MM","y","yy","meridiem","a","isoWeekYear","$utils","u","r","$u","utc","diff","day","bind","ceil","receiver","privateSet","TypeError","obj"],"sourceRoot":""}
|