@next-bricks/form 0.6.0 → 0.7.0

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.
Files changed (77) hide show
  1. package/dist/bricks.json +2 -2
  2. package/dist/chunks/4356.e66da273.js +2 -0
  3. package/dist/chunks/4356.e66da273.js.map +1 -0
  4. package/dist/chunks/{8826.4444fb49.js → 9223.c35f1d9a.js} +2 -2
  5. package/dist/chunks/9223.c35f1d9a.js.map +1 -0
  6. package/dist/chunks/{code-editor.c7e4ccfa.js → code-editor.85b3ad33.js} +2 -2
  7. package/dist/chunks/code-editor.85b3ad33.js.map +1 -0
  8. package/dist/chunks/{dynamic-form-item.3422b9a9.js → dynamic-form-item.f3f40a4e.js} +2 -2
  9. package/dist/chunks/dynamic-form-item.f3f40a4e.js.map +1 -0
  10. package/dist/chunks/general-checkbox.81d8d8d1.js +3 -0
  11. package/dist/chunks/general-checkbox.81d8d8d1.js.map +1 -0
  12. package/dist/chunks/general-form-item.9a3d11f7.js +3 -0
  13. package/dist/chunks/general-form-item.9a3d11f7.js.map +1 -0
  14. package/dist/chunks/general-form.03de30e1.js +2 -0
  15. package/dist/chunks/general-form.03de30e1.js.map +1 -0
  16. package/dist/chunks/general-input.1e2be165.js +3 -0
  17. package/dist/chunks/general-input.1e2be165.js.map +1 -0
  18. package/dist/chunks/general-radio.f5b2b849.js +3 -0
  19. package/dist/chunks/general-radio.f5b2b849.js.map +1 -0
  20. package/dist/chunks/general-select.b806fc3d.js +3 -0
  21. package/dist/chunks/general-select.b806fc3d.js.map +1 -0
  22. package/dist/chunks/general-textarea.ce42122f.js +3 -0
  23. package/dist/chunks/general-textarea.ce42122f.js.map +1 -0
  24. package/dist/chunks/icon-select.c1e34968.js +3 -0
  25. package/dist/chunks/icon-select.c1e34968.js.map +1 -0
  26. package/dist/chunks/{main.3078c5a8.js → main.ba6d4ded.js} +2 -2
  27. package/dist/chunks/{main.3078c5a8.js.map → main.ba6d4ded.js.map} +1 -1
  28. package/dist/chunks/{submit-buttons.c0d01f4c.js → submit-buttons.0a2d1413.js} +2 -2
  29. package/dist/chunks/submit-buttons.0a2d1413.js.map +1 -0
  30. package/dist/{index.2550b502.js → index.a93d21e4.js} +2 -2
  31. package/dist/{index.2550b502.js.map → index.a93d21e4.js.map} +1 -1
  32. package/dist/manifest.json +89 -89
  33. package/dist-types/checkbox/index.d.ts +2 -2
  34. package/dist-types/code-editor/index.d.ts +2 -2
  35. package/dist-types/dynamic-form-item/index.d.ts +2 -2
  36. package/dist-types/form/index.d.ts +3 -3
  37. package/dist-types/form-item/index.d.ts +3 -4
  38. package/dist-types/icon-select/index.d.ts +2 -2
  39. package/dist-types/input/index.d.ts +2 -2
  40. package/dist-types/radio/index.d.ts +2 -2
  41. package/dist-types/select/index.d.ts +2 -2
  42. package/dist-types/submit-buttons/index.d.ts +2 -2
  43. package/dist-types/textarea/calculateAutoSizeStyle.d.ts +1 -0
  44. package/dist-types/textarea/index.d.ts +2 -2
  45. package/package.json +2 -2
  46. package/dist/chunks/8826.4444fb49.js.map +0 -1
  47. package/dist/chunks/8971.3c456032.js +0 -2
  48. package/dist/chunks/8971.3c456032.js.map +0 -1
  49. package/dist/chunks/code-editor.c7e4ccfa.js.map +0 -1
  50. package/dist/chunks/dynamic-form-item.3422b9a9.js.map +0 -1
  51. package/dist/chunks/general-checkbox.6e66bf0c.js +0 -3
  52. package/dist/chunks/general-checkbox.6e66bf0c.js.map +0 -1
  53. package/dist/chunks/general-form-item.c64f3d47.js +0 -3
  54. package/dist/chunks/general-form-item.c64f3d47.js.map +0 -1
  55. package/dist/chunks/general-form.c99d1966.js +0 -2
  56. package/dist/chunks/general-form.c99d1966.js.map +0 -1
  57. package/dist/chunks/general-input.75439cfd.js +0 -3
  58. package/dist/chunks/general-input.75439cfd.js.map +0 -1
  59. package/dist/chunks/general-radio.d3d10247.js +0 -3
  60. package/dist/chunks/general-radio.d3d10247.js.map +0 -1
  61. package/dist/chunks/general-select.9b116d99.js +0 -3
  62. package/dist/chunks/general-select.9b116d99.js.map +0 -1
  63. package/dist/chunks/general-textarea.cd20b779.js +0 -3
  64. package/dist/chunks/general-textarea.cd20b779.js.map +0 -1
  65. package/dist/chunks/icon-select.17e7993f.js +0 -3
  66. package/dist/chunks/icon-select.17e7993f.js.map +0 -1
  67. package/dist/chunks/submit-buttons.c0d01f4c.js.map +0 -1
  68. package/dist-types/form/formStore.d.ts +0 -53
  69. package/dist-types/form-item/FormItemElement.d.ts +0 -22
  70. package/dist-types/utils/PubSub.d.ts +0 -6
  71. /package/dist/chunks/{general-checkbox.6e66bf0c.js.LICENSE.txt → general-checkbox.81d8d8d1.js.LICENSE.txt} +0 -0
  72. /package/dist/chunks/{general-form-item.c64f3d47.js.LICENSE.txt → general-form-item.9a3d11f7.js.LICENSE.txt} +0 -0
  73. /package/dist/chunks/{general-input.75439cfd.js.LICENSE.txt → general-input.1e2be165.js.LICENSE.txt} +0 -0
  74. /package/dist/chunks/{general-radio.d3d10247.js.LICENSE.txt → general-radio.f5b2b849.js.LICENSE.txt} +0 -0
  75. /package/dist/chunks/{general-select.9b116d99.js.LICENSE.txt → general-select.b806fc3d.js.LICENSE.txt} +0 -0
  76. /package/dist/chunks/{general-textarea.cd20b779.js.LICENSE.txt → general-textarea.ce42122f.js.LICENSE.txt} +0 -0
  77. /package/dist/chunks/{icon-select.17e7993f.js.LICENSE.txt → icon-select.c1e34968.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/8971.3c456032.js","mappings":"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","sources":["webpack:///./src/input/index.tsx","webpack:///./src/textarea/calculateAutoSizeStyle.ts","webpack:///./src/textarea/index.tsx","webpack:///./src/utils/PubSub.ts","webpack:///./src/form/formStore.ts","webpack:///./src/form/index.tsx","webpack:///./src/form-item/index.tsx","webpack:///./src/utils/formatOptions.ts","webpack:///./src/radio/index.tsx","webpack:///./src/select/index.tsx","webpack:///./src/submit-buttons/index.tsx","webpack:///./src/checkbox/index.tsx","webpack:///./src/code-editor/index.tsx","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/checkbox/checkbox.shadow.css","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/form-item/FormItem.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:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ComponentSize, InputType } from \"../interface.js\";\nimport classNames from \"classnames\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport styleText from \"./input.shadow.css\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\n\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\ninterface InputProps extends FormItemProps {\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n clearable?: boolean;\n type?: InputType;\n size?: ComponentSize;\n inputStyle?: React.CSSProperties;\n minLength?: number;\n maxLength?: number;\n validateState?: string;\n trigger?: string;\n onInputChange: (value: string) => void;\n}\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用输入框构件\n * @author sailor\n * @slot prefix - 输入框前置插槽\n * @slot suffix - 输入框后置插槽\n */\n@defineElement(\"form.general-input\", {\n styleTexts: [styleText],\n})\nclass Input extends FormItemElement {\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: Boolean,\n })\n accessor clearable: 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({\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 type: Boolean,\n })\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({ attribute: false }) accessor inputStyle:\n | React.CSSProperties\n | undefined;\n\n /**\n * 值改变事件\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 <InputComponent\n formElement={this.getFormElement()}\n curElement={this}\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 value={this.value}\n placeholder={this.placeholder}\n type={this.type}\n size={this.size}\n clearable={this.clearable}\n disabled={this.disabled}\n minLength={this.minLength}\n maxLength={this.maxLength}\n inputStyle={this.inputStyle}\n validateState={this.validateState}\n trigger=\"handleInputChange\"\n onInputChange={this.handleInputChange}\n />\n );\n }\n}\n\nexport function InputComponent(props: InputProps) {\n const {\n name,\n placeholder,\n type,\n size = \"medium\",\n disabled,\n clearable,\n inputStyle,\n minLength,\n maxLength,\n validateState,\n onInputChange,\n } = props;\n const [value, setValue] = useState(props.value ?? \"\");\n const [focus, setFocus] = useState(false);\n\n useEffect(() => {\n setValue(props.value ?? \"\");\n }, [props.value]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onInputChange(e.target.value);\n };\n\n const handleFocus = () => {\n setFocus(true);\n };\n\n const handleBlur = () => {\n setFocus(false);\n };\n\n const handleClear = () => {\n setValue(\"\");\n onInputChange(\"\");\n };\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"input-wrapper\", {\n focus,\n disabled,\n error: validateState === \"error\",\n })}\n style={inputStyle}\n >\n <span className=\"prefix\">\n <slot name=\"prefix\"></slot>\n </span>\n <input\n className={size}\n value={value}\n name={name}\n type={type}\n disabled={disabled}\n placeholder={placeholder}\n minLength={minLength}\n maxLength={maxLength}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n />\n <span className=\"suffix\">\n {value && clearable && !disabled && (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClear}\n />\n )}\n <slot name=\"suffix\"></slot>\n </span>\n </div>\n </WrappedFormItem>\n );\n}\n\nexport { Input };\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 calculateAutoSizeStyle from \"./calculateAutoSizeStyle.js\";\nimport styleText from \"./textarea.shadow.css\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport \"@next-core/theme\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\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(\"form.general-textarea\", {\n styleTexts: [styleText],\n})\nclass Textarea extends FormItemElement {\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 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 { PubSub } from \"../utils/PubSub.js\";\nimport { isEmpty } from \"lodash\";\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 (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 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 const result = validator(value);\n if (result)\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","import React from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { FormStore, MessageBody } from \"./formStore.js\";\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(\"form.general-form\", {\n styleTexts: [],\n})\nclass Form extends ReactNextElement implements FormProps {\n readonly isFormElement = true;\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 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 /**\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 <FormComponent layout={this.layout} size={this.size} />;\n }\n}\n\ninterface FormComponentProps extends FormProps {\n onValuesChange?: (value: Record<string, any>) => void;\n onValidateSuccess?: () => void;\n onValidateError?: () => void;\n}\n\nexport function FormComponent({ layout = \"horizontal\" }: FormComponentProps) {\n return (\n <form>\n <slot\n style={{\n display: layout === \"inline\" ? \"flex\" : \"\",\n gap: layout === \"inline\" ? \"10px\" : \"\",\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 { FormItemElement } from \"./FormItemElement.js\";\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 type { MessageBody } from \"../form/formStore.js\";\nimport \"@next-core/theme\";\n\ntype CurrentElement = HTMLElement & {\n size?: ComponentSize;\n validateState?: MessageBody | string;\n [key: string]: any;\n};\n\nexport interface FormItemProps {\n formElement?: Form;\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 needValidate?: boolean;\n validator?: (value: any) => MessageBody | string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * @id form.general-form\n * @name form.general-form\n * @docKind brick\n * @description 通用输入框构件\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.general-form-item\", {\n styleTexts: [styleText],\n})\nclass FormItem extends FormItemElement implements FormItemProps {\n /**\n * @default\n * @required\n * @description\n */\n @property({\n attribute: false,\n })\n accessor formElement: Form | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property({\n attribute: false,\n })\n accessor curElement!: HTMLElement;\n\n /**\n * @kind string\n * @required false\n * @default default\n * @description 字段名称\n * @enums\n * @group basic\n */\n @property() accessor name: string | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property() accessor label: string | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property() accessor pattern: string | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property({\n type: Number,\n })\n accessor max: number | undefined;\n\n /**\n * @default\n * @required\n * @description\n */\n @property({\n type: Number,\n })\n accessor min: number | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default -\n * @description 表单项是否必填\n * @group basicFormItem\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * @kind string\n * @required false\n * @default default\n * @description 初始值\n * @enums\n * @group basic\n */\n @property() accessor value: string | undefined;\n\n /**\n * @required false\n * @description 表单项 label 标签布局\n * @group ui\n */\n @property()\n accessor labelCol: string | undefined;\n\n /**\n * @required false\n * @description 表单项控件布局\n * @group ui\n */\n @property()\n accessor wrapperCol: string | undefined;\n\n /**\n * @kind string\n * @required false\n * @default default\n * @description 初始值\n * @enums\n * @group basic\n */\n @property() accessor valuePropsName: string | undefined;\n\n @property() accessor layout: Layout = \"horizontal\";\n\n /**\n * @kind string\n * @required false\n * @default default\n * @description 初始值\n * @enums\n * @group basic\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * @default true\n * @description 是否自动去除前后的空白字符\n * @group advancedFormItem\n */\n @property({\n type: Boolean,\n })\n accessor trim = true;\n\n /**\n * @default false\n * @description 事件触发方法名\n */\n @property()\n accessor trigger!: string;\n\n /**\n * @default false\n * @description 表单项校验方法\n */\n @property({\n attribute: false,\n })\n accessor validator: ((value: any) => MessageBody) | undefined;\n\n /**\n * @default\n * @required\n * @description 值变化时是否主动出发校验\n */\n @property({\n type: Boolean,\n })\n accessor needValidate: boolean | undefined;\n\n render() {\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 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,\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.$bindFormItem) return;\n const originTrigger = curElement[trigger];\n curElement[trigger] = (e: React.ChangeEvent) =>\n formInstance.onWatch(name, e, originTrigger, {\n needValidate,\n });\n curElement.$bindFormItem = true;\n\n formInstance.subscribe(`${name}.validate`, (_, detail) => {\n setValidateState(detail);\n curElement.validateState = detail.type;\n });\n formInstance.subscribe(`${name}.init.value`, (_, v) => {\n curElement[valuePropsName] = v;\n curElement.validateState = \"\";\n setValidateState({\n message: \"\",\n type: \"normal\",\n });\n });\n formInstance.subscribe(`${name}.reset.fields`, () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.fields\", () => {\n curElement[valuePropsName] = undefined;\n });\n formInstance.subscribe(\"reset.validate\", () => {\n setValidateState(defaultValidateState.current);\n curElement.validateState = defaultValidateState.current.type;\n });\n\n return () => {\n formInstance.unsubscribe(`${name}.validate`);\n formInstance.unsubscribe(`${name}.init.value`);\n formInstance.unsubscribe(`${name}.reset.fields`);\n formInstance.unsubscribe(\"reset.fields\");\n };\n }, [curElement, formInstance, name, trigger, valuePropsName, needValidate]);\n\n useEffect(() => {\n if (!formInstance || !name) return;\n formInstance.setField(name, {\n name,\n label,\n validate: {\n required,\n pattern,\n max,\n min,\n message,\n validator,\n },\n });\n\n if (layout === \"inline\") curElement.style.display = \"inline-block\";\n if (size) {\n curElement.size = formElement.size || size;\n }\n formInstance.setFieldsValueByInitData(name);\n }, [\n curElement,\n formElement,\n formInstance,\n label,\n layout,\n max,\n message,\n min,\n name,\n pattern,\n required,\n size,\n validator,\n ]);\n\n return (\n <div className={classNames(\"form-item\", layout)}>\n <div className=\"form-item-label\">\n <label>\n {required && <span className=\"required\">*</span>}\n {label}\n </label>\n </div>\n <div className=\"form-item-wrapper\">\n <div className=\"form-item-control\">\n <slot></slot>\n </div>\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 { GeneralOption, GeneralComplexOption } 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 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 { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport { isBoolean, isEqual } from \"lodash\";\n\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\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[\"value\"]>;\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(\"form.general-radio\", {\n styleTexts: [styleText],\n})\nclass Radio extends FormItemElement {\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 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 {\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 {\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 {\n <WrappedGeneralIcon\n icon={iconName}\n lib={iconLib}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n ...iconStyle,\n }}\n />\n }\n {item.label}\n </span>\n )}\n </label>\n );\n })}\n </div>\n </WrappedFormItem>\n );\n}\nexport { Radio };\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { GeneralComplexOption } 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 { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport type {\n Tag,\n TagProps,\n TagMapEvents,\n TagEvents,\n} from \"@next-bricks/basic/tag\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { isEmpty, isEqual } from \"lodash\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\n\nconst WrappedTag = wrapBrick<Tag, TagProps, TagEvents, TagMapEvents>(\n \"basic.general-tag\",\n {\n onCheck: \"check\",\n onClose: \"close\",\n }\n);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface SelectProps extends FormItemProps {\n value?: any;\n options: GeneralComplexOption[];\n placeholder?: string;\n multiple?: boolean;\n clearable?: boolean;\n disabled?: boolean;\n inputStyle?: React.CSSProperties;\n validateState?: string;\n onChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * 通用下拉选择构件\n * @author julielai\n */\n@defineElement(\"form.general-select\", {\n styleTexts: [styleText],\n})\nclass Select extends FormItemElement {\n /**\n * 字段名称\n */\n @property() accessor name: string | undefined;\n\n /**\n * 占位说明\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * 字段文本\n */\n @property() accessor label: string | undefined;\n\n /**\n * 选项列表\n * @required\n */\n @property({ attribute: false })\n accessor options: GeneralComplexOption[] | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否支持多选\n */\n @property({ type: Boolean })\n accessor multiple: boolean | undefined;\n\n /**\n * 是否支持清除\n * @default true\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * 输入框样式\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * 下拉选择事件\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n value: string | string[];\n options: GeneralComplexOption[];\n }>;\n\n /**\n * 选项列表变化事件\n */\n @event({ type: \"options.change\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n handleChange = (value: string | string[]): void => {\n this.value = value;\n const findOption = (value: any) =>\n (formatOptions(this.options) ?? []).find(\n (option) => option.value === value\n ) as GeneralComplexOption;\n const selectedOptions = Array.isArray(value)\n ? value.map((item) => findOption(item))\n : [findOption(value)];\n\n this.#changeEvent.emit({\n value,\n options: selectedOptions,\n });\n };\n\n private _handleOptionsChange = (\n options: {\n label: string;\n value: any;\n [key: string]: any;\n },\n name: string\n ): void => {\n Promise.resolve().then(() => {\n this.#optionsChange.emit({ options, name });\n });\n };\n\n render() {\n return (\n <SelectComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n value={this.value}\n disabled={this.disabled}\n placeholder={this.placeholder}\n required={this.required}\n multiple={this.multiple}\n clearable={this.clearable}\n trigger=\"handleChange\"\n inputStyle={this.inputStyle}\n validateState={this.validateState}\n options={formatOptions(this.options)}\n onChange={this.handleChange}\n optionsChange={this._handleOptionsChange}\n />\n );\n }\n}\n\nexport function SelectComponent(props: SelectProps) {\n const {\n name,\n disabled,\n multiple,\n clearable = true,\n inputStyle,\n placeholder,\n validateState,\n optionsChange,\n onChange,\n } = props;\n const [inputValue, setInputValue] = useState<string>(\"\");\n const [selectValue, setSelectValue] = useState<any>(\n multiple ? [] : undefined\n );\n const [options, setOptions] = useState(props.options ?? []);\n const [isDropHidden, setIsDropHidden] = useState<boolean>(true);\n const [isFocused, setIsFocused] = useState<boolean>(false);\n const [customSelectvalue, setCustomSelectValue] = useState<string[]>([]);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const handleDocumentClick = (e: MouseEvent) => {\n setIsFocused(false);\n setIsDropHidden(true);\n };\n document.addEventListener(\"click\", handleDocumentClick);\n return () => {\n document.removeEventListener(\"click\", handleDocumentClick);\n };\n });\n\n useEffect(() => {\n setSelectValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options);\n optionsChange?.(props.options, name as string);\n }\n }, [name, options, optionsChange, props.options]);\n\n const handleChange = useCallback(\n (option: GeneralComplexOption): void => {\n let newValue;\n if (multiple) {\n newValue = (selectValue ?? []).includes(option.value)\n ? (selectValue as string[]).filter((item) => item !== option.value)\n : (((selectValue as any[]) ?? []).concat(option.value) as string[]);\n } else {\n newValue = option.value;\n }\n setSelectValue(newValue);\n onChange?.(newValue);\n !multiple && setIsDropHidden(true);\n },\n [multiple, selectValue, onChange]\n );\n\n const handleMultipleItemClose = useCallback(\n (closeValue: string | number | boolean) => {\n const newValue = (selectValue as string[]).filter(\n (item) => item !== closeValue\n );\n setSelectValue(newValue);\n onChange?.(newValue);\n },\n [onChange, selectValue]\n );\n\n const handleClear = (e: React.MouseEvent): void => {\n e.stopPropagation();\n setSelectValue(undefined);\n onChange?.(undefined);\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.stopPropagation();\n const value = e.target.value;\n setInputValue(value);\n };\n\n const computedOptions = React.useMemo(() => {\n return options.concat(\n customSelectvalue.map((item, index) => ({\n key: index,\n label: item,\n value: item,\n }))\n );\n }, [options, customSelectvalue]);\n\n const handleKeydown = useCallback(\n (e: KeyboardEvent): void => {\n if (e.code === \"Enter\" && inputValue) {\n if (!computedOptions.find((item) => item.value === inputValue)) {\n setCustomSelectValue(customSelectvalue.concat(inputValue));\n }\n handleChange({\n value: inputValue,\n label: inputValue,\n });\n setInputValue(\"\");\n }\n if (\n e.code === \"Backspace\" &&\n multiple &&\n inputValue === \"\" &&\n selectValue?.length\n ) {\n selectValue.pop();\n setSelectValue([...selectValue]);\n }\n },\n [\n computedOptions,\n customSelectvalue,\n handleChange,\n inputValue,\n multiple,\n selectValue,\n ]\n );\n\n const renderTag = useCallback(\n (list: Array<number | string | boolean>) => {\n const ellipsisInfo =\n list.length - 3 > 0\n ? {\n label: `+${list.length - 3}`,\n key: \"$$key\",\n value: \"\",\n closeable: false,\n }\n : null;\n const tagList: Array<GeneralComplexOption | string | number | boolean> =\n list.slice(0, 3);\n ellipsisInfo && tagList.push(ellipsisInfo);\n return tagList.map((item) => {\n let option: GeneralComplexOption;\n if (typeof item === \"object\") {\n option = item;\n } else {\n option =\n computedOptions.find((option) => option.value === item) ??\n ({} as GeneralComplexOption);\n option.closeable = !disabled;\n }\n return (\n <WrappedTag\n key={option.value as number}\n ellipsisWidth=\"100px\"\n color={disabled ? \"#ddd\" : undefined}\n closable={option.closeable}\n onCheck={() => {\n //\n }}\n onClose={() => handleMultipleItemClose(option.value)}\n >\n {option.label}\n </WrappedTag>\n );\n });\n },\n [handleMultipleItemClose, computedOptions, disabled]\n );\n\n const getLabel = useCallback(\n (value: any) => {\n if (value !== undefined) {\n return (\n (Array.isArray(value)\n ? renderTag(value)\n : computedOptions.find((item) => item.value === value)?.label) ?? \"\"\n );\n }\n return \"\";\n },\n [computedOptions, renderTag]\n );\n\n const renderLabel = useMemo(() => {\n return getLabel(selectValue) || (placeholder as string);\n }, [getLabel, placeholder, selectValue]);\n\n const isEmptyValue = useMemo(() => {\n return typeof selectValue === \"object\"\n ? isEmpty(selectValue)\n : selectValue === undefined;\n }, [selectValue]);\n\n useEffect(() => {\n window.addEventListener(\"keydown\", handleKeydown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeydown);\n };\n }, [handleKeydown]);\n\n return (\n <WrappedFormItem {...props}>\n <div\n className={classNames(\"select\", {\n \"select-disabled\": disabled,\n \"select-allow-clear\": clearable,\n \"select-single\": !multiple,\n \"select-multiple\": multiple,\n })}\n style={inputStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div\n className={classNames(\"select-selector\", {\n \"selector-focused\": isFocused,\n \"is-error\": validateState === \"error\",\n })}\n onClick={() => {\n if (!disabled) {\n setIsDropHidden(!isDropHidden);\n setIsFocused(!isFocused);\n inputRef.current && inputRef.current.focus();\n }\n }}\n >\n <div className=\"select-selection-overflow\">\n <div\n className=\"selected-item\"\n style={\n isEmptyValue\n ? { color: \"var(--antd-input-placeholder-color)\" }\n : {}\n }\n >\n <span className=\"label\">{renderLabel}</span>\n </div>\n {multiple && (\n <div className=\"selected-item\">\n <div className=\"select-selection-search\">\n <input\n type=\"text\"\n readOnly={!multiple}\n value={inputValue}\n ref={inputRef}\n className=\"select-selection-search-input\"\n onChange={handleInputChange}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"select-arrow\">\n {!isEmptyValue && isFocused && clearable ? (\n <WrappedIcon\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onClick={(e) => handleClear(e)}\n />\n ) : (\n <span\n className={classNames(\n \"anticon\",\n \"anticon-down \",\n \"ant-select-suffix\",\n {\n focus: isFocused,\n }\n )}\n >\n <WrappedIcon icon=\"down\" lib=\"antd\" theme=\"outlined\" />\n </span>\n )}\n </span>\n </div>\n <div\n style={{ ...(isDropHidden ? { display: \"none\" } : {}) }}\n className=\"select-dropdown\"\n >\n <div className=\"dropdown-list\">\n <div>\n <div className=\"dropdown-inner\">\n {computedOptions.length > 0 ? (\n computedOptions.map((item) => {\n return (\n <div\n key={item.value.toString()}\n className={classNames(\n \"select-item\",\n \"select-item-option\",\n {\n disabled: item.disabled,\n \"select-option-selected\":\n typeof selectValue !== \"object\"\n ? selectValue === item.value\n : (selectValue as any[]).includes(item.value),\n }\n )}\n onClick={() => !item.disabled && handleChange(item)}\n >\n <div className=\"select-item-option-content\">\n <div className=\"option\">\n <span className=\"label\">{item.label}</span>\n </div>\n <div className=\"is-checked\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"check\",\n theme: \"outlined\",\n }}\n />\n </div>\n </div>\n </div>\n );\n })\n ) : (\n <div className=\"empty-tips\">\n <WrappedIcon\n {...{\n lib: \"antd\",\n icon: \"warning\",\n theme: \"filled\",\n color: \"yellow\",\n }}\n style={{\n fontSize: 16,\n marginRight: 12,\n }}\n />\n 无数据\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </WrappedFormItem>\n );\n}\n\nexport { Select };\n","import React from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport 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\";\nimport { FormItemElement } from \"../form-item/FormItemElement.js\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"basic.general-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(\"form.submit-buttons\", {\n styleTexts: [styleText],\n})\nclass SubmitButtons extends FormItemElement {\n /**\n * 提交按钮的文字\n * @default \"提交\"\n */\n @property() accessor submitText: string = \"提交\";\n\n /**\n * 取消按钮的文字,不设置则不显示取消按钮\n */\n @property()\n accessor cancelText: string | undefined;\n\n /**\n * 点击确定按钮后自动禁用\n */\n @property({ type: Boolean })\n accessor disableAfterClick: boolean | undefined;\n\n /**\n * 禁用提交按钮\n */\n @property({ type: Boolean }) accessor submitDisabled: boolean | undefined;\n\n /**\n * 提交按钮类型\n */\n @property() accessor submitType: ButtonType | undefined;\n\n /**\n * 取消按钮类型\n */\n @property() accessor cancelType: ButtonType | undefined;\n\n /**\n * 点击提交按钮触发的事件\n */\n @event({ type: \"submit\" }) accessor #submitEvent!: EventEmitter<void>;\n\n /**\n * 点击取消按钮触发的事件\n */\n @event({ type: \"cancel\" }) accessor #cancelEvent!: EventEmitter<void>;\n\n private _handleSubmitClick = (): void => {\n Promise.resolve().then(() => {\n this.#submitEvent.emit();\n if (this.getFormElement()) {\n (this.getFormElement() as any).validate();\n }\n if (this.disableAfterClick) {\n this.submitDisabled = true;\n }\n });\n };\n\n private _handleCancelClick = (): void => {\n Promise.resolve().then(() => {\n this.#cancelEvent.emit();\n });\n };\n\n render() {\n return (\n <ButtonsComponent\n curElement={this}\n submitDisabled={this.submitDisabled}\n submitText={this.submitText}\n submitType={this.submitType}\n cancelText={this.cancelText}\n cancelType={this.cancelType}\n onCancelClick={this._handleCancelClick}\n onSubmitClick={this._handleSubmitClick}\n />\n );\n }\n}\n\nexport function ButtonsComponent(props: SubmitButtonsProps) {\n return (\n <WrappedFormItem {...props}>\n {props.submitText && (\n <WrappedButton\n className={\"submitBtn\"}\n type={props.submitType || \"primary\"}\n onClick={props.onSubmitClick}\n disabled={props.submitDisabled}\n >\n {props.submitText}\n </WrappedButton>\n )}\n {props.cancelText && (\n <WrappedButton\n data-test-id=\"cancelBtn\"\n type={props.cancelType || \"text\"}\n onClick={props.onCancelClick}\n >\n {props.cancelText}\n </WrappedButton>\n )}\n </WrappedFormItem>\n );\n}\nexport { SubmitButtons };\n","import React, { useEffect, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport \"@next-core/theme\";\nimport styleText from \"./checkbox.shadow.css\";\nimport { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport { formatOptions } from \"../utils/formatOptions.js\";\nimport { isEqual } from \"lodash\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport type CheckboxType = \"default\" | \"icon\";\n\nexport declare type CheckboxValueType = string | number | boolean;\n\nexport interface CheckboxOptionType {\n label: React.ReactNode;\n value: any;\n style?: React.CSSProperties;\n disabled?: boolean;\n checkboxColor?: string;\n [propName: string]: any;\n}\n\nexport interface MenuIcon {\n [propName: string]: any;\n}\n\nexport interface OptionGroup {\n name: string;\n key: string;\n options: CheckboxOptionType[];\n}\n\nexport interface CheckboxProps extends FormItemProps {\n options?: CheckboxOptionType[];\n label?: string;\n value?: CheckboxValueType[];\n disabled?: boolean;\n type?: CheckboxType;\n isCustom?: boolean;\n onChange?: (value: CheckboxOptionType[]) => void;\n optionsChange?: (options: CheckboxOptionType[], name: string) => void;\n}\n\n/**\n * 表单复选框构件\n * @author derrickma\n */\n@defineElement(\"form.general-checkbox\", {\n styleTexts: [styleText],\n})\nclass Checkbox extends FormItemElement {\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n /**\n * 值\n */\n @property({ attribute: false })\n accessor value: CheckboxValueType[] | undefined;\n\n /**\n * 多选框选项表\n * @required\n */\n @property({ attribute: false })\n accessor options: CheckboxOptionType[] = [];\n\n /**\n * 类型\n * @default \"default\"\n */\n @property()\n accessor type: CheckboxType = \"default\";\n\n /**\n * 是否禁用\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * 是否为自定义\n * @default false\n */\n @property({ type: Boolean })\n accessor isCustom: boolean = false;\n\n /**\n * 是否必填\n */\n @property({ type: Boolean })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本\n */\n @property({ attribute: false })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 复选框变化事件\n */\n @event({ type: \"change\" })\n accessor #checkboxChangeEvent!: EventEmitter<CheckboxOptionType[]>;\n\n handleCheckboxChange = (detail: CheckboxOptionType[]) => {\n this.value = detail.map((item) => item.value);\n this.#checkboxChangeEvent.emit(detail);\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 trigger=\"handleCheckboxChange\"\n onChange={this.handleCheckboxChange}\n optionsChange={this.#handleOptionsChange}\n />\n );\n }\n}\n\nfunction CheckboxComponent(props: CheckboxProps) {\n const [values, setValues] = useState<CheckboxValueType[]>(props?.value ?? []);\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n\n useEffect(() => {\n if (!isEqual(options, props.options)) {\n setOptions(props.options || []);\n props.optionsChange?.(props.options ?? [], props.name as string);\n }\n }, [options, props, props.options]);\n\n useEffect(() => {\n setValues(props?.value || []);\n }, [props.value]);\n\n const handleInputClick = (\n e: React.ChangeEvent<HTMLInputElement>,\n item: CheckboxOptionType\n ) => {\n e.stopPropagation();\n let newValue: CheckboxValueType[] = [];\n if (e.target.checked) {\n newValue = [...values, item.value];\n }\n if (!e.target.checked && newValue?.includes(item.value)) {\n const index = newValue.findIndex((i) => i == item.value);\n newValue.splice(index, 1);\n }\n const currentSelectOption = options.filter((item) =>\n newValue.includes(item.value)\n );\n setValues(newValue);\n props.onChange?.(currentSelectOption);\n };\n\n const getIcon = (item: CheckboxOptionType) => {\n let iconNode = null;\n const { icon } = item;\n if (icon) {\n if (\"imgSrc\" in icon) {\n const mergedIcon: any = {\n ...icon,\n imgSrc: icon.imgSrc,\n imgStyle: {\n marginRight: \"8px\",\n verticalAlign: \"-0.42em\",\n ...icon.imgStyle,\n },\n };\n iconNode = icon && (\n <WrappedIcon {...(mergedIcon as GeneralIconProps)} />\n );\n } else {\n iconNode = icon && (\n <WrappedIcon\n {...(icon as GeneralIconProps)}\n style={{\n fontSize: \"22px\",\n marginRight: \"8px\",\n verticalAlign: \"-0.25em\",\n }}\n />\n );\n }\n }\n return iconNode;\n };\n\n const IconCheckbox = (props: CheckboxProps) => {\n const { name, disabled = false, isCustom = false } = props;\n return (\n <>\n {options.map((item: any) => (\n <label\n key={item.value}\n className={\n disabled || item?.disabled\n ? classNames({\n disabledIconCheckbox: true,\n disabledIconCustomCheckbox: isCustom,\n })\n : classNames({\n iconCheckbox: true,\n iconCustomCheckbox: isCustom,\n })\n }\n >\n <div className={classNames({ inputBox: true })}>\n <input\n type=\"checkbox\"\n value={item.value}\n name={name}\n defaultChecked={values?.includes(item.value)}\n disabled={disabled || item?.disabled}\n onChange={(e) => handleInputClick(e, item)}\n />\n </div>\n <div className={classNames({ content: true })}>\n {item.icon && (\n <WrappedIcon\n {...(item.icon as GeneralIconProps)}\n style={{\n fontSize: isCustom ? \"52px\" : \"32px\",\n }}\n ></WrappedIcon>\n )}\n <div className={classNames({ text: true })}>\n {item.label || item.value}\n </div>\n </div>\n </label>\n ))}\n </>\n );\n };\n\n const CheckboxItem = (props: CheckboxProps) => {\n return (\n <div\n style={{\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n minHeight: \"32px\",\n }}\n >\n <div\n className={classNames({\n checkboxWrapper: true,\n })}\n >\n {options?.map((item: CheckboxOptionType) => {\n const disabled = item.disabled || props.disabled;\n return (\n <label\n key={item.value}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelDisabled: disabled,\n })}\n >\n <span\n style={{ color: item.checkboxColor }}\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputWrapperDisabled: disabled,\n checkboxInputCheck: values.includes(item.value),\n })}\n >\n <input\n onChange={(e) => !disabled && handleInputClick(e, item)}\n disabled={disabled}\n defaultChecked={values?.includes(item.value)}\n className={classNames({\n checkboxInput: true,\n checkboxInputDisabled: disabled,\n })}\n type=\"checkbox\"\n id={item.value}\n ></input>\n <span className={classNames({ checkboxInner: true })}></span>\n </span>\n\n <span className={classNames({ checkboxText: true })}>\n <slot>\n {getIcon(item)}\n {item.label}\n </slot>\n </span>\n </label>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n {props.type == \"icon\" ? (\n <IconCheckbox {...props}></IconCheckbox>\n ) : (\n <CheckboxItem {...props}></CheckboxItem>\n )}\n </WrappedFormItem>\n );\n}\n\nexport { Checkbox };\n","import React, { useCallback, useRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { CodeEditorItemWrapper } from './codeEditor.js';\nimport { CodeEditorProps, HighlightTokenSettings, Annotation } from \"./interfaces.js\";\nimport { isEqual, some } from \"lodash\";\nimport styleText from \"./index.shadow.css\";\nimport { FormItemElement } from \"../form-item/FormItemElement.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\n\nconst { defineElement, property, event, } = createDecorators();\n\nexport interface Error {\n err: Annotation[];\n hasError: boolean;\n}\n\n/**\n * @id form.code-editor\n * @name form.code-editor\n * @docKind brick\n * @description 通用输入框构件\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.code-editor\", {\n styleTexts: [styleText],\n})\nclass CodeEditor extends FormItemElement {\n /**\n * @description\n * @required -\n * @group basic\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * @description\n * @required -\n * @group basic\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * @description 代码内容\n * @group basic\n */\n @property({\n attribute: false,\n })\n accessor value = \"\";\n\n /**\n * @required false\n * @description 选择框占位说明\n * @group basic\n */\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * @default \"monokai\"\n * @description 主题,支持 tomorrow、monokai、github\n * @group basic\n */\n @property() accessor theme: string | undefined;\n /**\n * @default \"text\"\n * @description 语言模式,支持语言如下\n * @group basic\n */\n @property() accessor mode: string = \"text\";\n\n /**\n * @default false\n * @description 是否必填\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * @default false\n * @description 是否只能读,不能编辑。如果一个页面同时需要编辑和查看,可以使用该属性,以保证代码构件的一致性。而如果一个页面只有查看的功能,建议直接使用轻量级[代码展示构件 code-bricks.code-display](developers/brick-book/brick/code-bricks.code-display),避免代码内容过多的时候页面卡顿。\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n /**\n * @description 是否显示行号\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor showLineNumbers = true;\n\n /**\n * @description 最大行号,超出就显示滚动条,注意应该为正数或者无穷大\n * @group ui\n */\n @property({\n attribute: false,\n })\n accessor maxLines: number | \"Infinity\" | undefined;\n\n /**\n * @description 最小行号,即最小高度为多少行\n * @group ui\n */\n @property({\n type: Number,\n })\n accessor minLines = 3;\n\n /**\n * @description 一个 tab 代表多少个空格\n * @group other\n */\n @property({\n type: Number,\n })\n accessor tabSize = 2;\n\n /**\n * @required false\n * @description 显示打印边距\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor printMargin: boolean | undefined;\n\n /**\n * @description 高亮激活的行\n * @group other\n */\n @property({\n type: Boolean,\n })\n accessor highlightActiveLine = true;\n\n /**\n * @default false\n * @description 是否显示导出按钮\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor showExportButton: boolean | undefined;\n\n /**\n * @description 是否显示复制按钮\n * @group ui\n */\n @property({\n type: Boolean,\n })\n accessor showCopyButton = true;\n\n /**\n * @description 是否显示展开按钮\n * @group ui\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * @default \"download.txt\"\n * @description 当 `showExportButton = true` 时, 配置导出的文件名称, 默认为 download.txt\n * @group other\n */\n @property()\n accessor exportFileName: string | undefined;\n\n /**\n * @description json schema,当 mode 为 json,yaml,brick_next,brick_next_yaml 时会根据该 json schema 进行校验\n * @group other\n */\n @property({\n attribute: false,\n })\n accessor jsonSchema: Record<string, any> | undefined;\n\n /**\n * @description 校验 Json Schema 的模式,warning 为告警模式,仅作告警提示,不影响表单提交;error 为错误模式,将会阻止表单提交错误内容。\n * @group other\n */\n @property()\n accessor validateJsonSchemaMode: \"warning\" | \"error\" = \"warning\";\n\n /**\n * @description json schema $ref,设置该属性后会验证 json schema 中对应 $ref 指向的部分片段,以 # 开头代表根节点,例如可以设置成 `#/definitions/BrickConf`\n * @group other\n */\n @property()\n accessor schemaRef: string | undefined;\n\n /**\n * @default false\n * @description 是否开启自动补全\n * @group other\n */\n @property({\n type: Boolean,\n })\n accessor enableLiveAutocompletion: boolean | undefined;\n\n /**\n * @description 自定义自动补全,注意当`enableLiveAutocompletion:true`时才能生效\n * @group other\n */\n @property({\n attribute: false,\n })\n accessor customCompleters:\n | string[]\n | {\n caption?: string;\n value: string;\n meta?: string;\n score?: number;\n }[]\n | undefined;\n /**\n * @description 是否与JSON解析行为一致,如果设为`true`,有重复key时取最后一个的value,如果设为`false`,有重复key时会抛出错误\n * @group other\n */\n @property({\n type: Boolean\n })\n accessor loadYamlInJsonMode = true;\n\n /**\n * @description 高亮标记设置。\n * @group other\n */\n @property({\n attribute: false,\n })\n accessor highlightTokens: HighlightTokenSettings[] | undefined;\n\n #previousError: Error = {\n err: [],\n hasError: false,\n };\n\n /**\n * @description 值变化的时候发出的事件,detail 为值\n */\n @event({ type: \"code.change\" })\n accessor #codeChangeEvent!: EventEmitter<string>;\n private _handleChange = (value: string): void => {\n this.value = value;\n this.#codeChangeEvent.emit(value)\n };\n /**\n * @description 编辑器失去焦点的时候发出的事件,detail 为值\n */\n @event({ type: \"editor.blur\" })\n accessor #blurEvent!: EventEmitter<string>;\n private _handleBlur = (): void => {\n this.#blurEvent.emit(this.value);\n };\n /**\n * @detail `{err:Record<string,any>[],hasError:boolean}`\n * @description 值错误变化的时候发出的事件,err 为具体错误信息,hasError 为是否有错误\n */\n @event({ type: \"error.change\" })\n accessor #errorChangeEvent!: EventEmitter<Error>;\n private _handleErrorChange = (error: Error): void => {\n if (!isEqual(error, this.#previousError)) {\n this.#errorChangeEvent.emit(error);\n this.#previousError = error;\n }\n };\n\n /**\n * @description 当高亮标记被点击时触发。该事件会冒泡。\n */\n @event({ type: \"highlightToken.click\", bubbles: true })\n accessor #highlightTokenClickEvent!: EventEmitter<{\n type: string;\n value: string;\n }>;\n\n private _handleHighlightTokenClick = (token: {\n type: string;\n value: string;\n }): void => {\n this.#highlightTokenClickEvent.emit(token);\n };\n\n render() {\n return <CodeEditorComponent\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n placeholder={this.placeholder}\n value={this.value}\n required={this.required}\n onChange={this._handleChange}\n trigger=\"_handleChange\"\n onBlur={this._handleBlur}\n onErrorChange={this._handleErrorChange}\n theme={this.theme}\n mode={this.mode}\n readOnly={this.readOnly}\n showLineNumbers={this.showLineNumbers}\n maxLines={this.maxLines}\n minLines={this.minLines}\n tabSize={this.tabSize}\n printMargin={this.printMargin}\n highlightActiveLine={this.highlightActiveLine}\n showCopyButton={this.showCopyButton}\n showExportButton={this.showExportButton}\n showExpandButton={this.showExpandButton}\n exportFileName={this.exportFileName}\n jsonSchema={this.jsonSchema}\n validateJsonSchemaMode={this.validateJsonSchemaMode}\n schemaRef={this.schemaRef}\n enableLiveAutocompletion={this.enableLiveAutocompletion}\n customCompleters={this.customCompleters}\n loadYamlInJsonMode={this.loadYamlInJsonMode}\n highlightTokens={this.highlightTokens}\n onClickHighlightToken={this._handleHighlightTokenClick}\n />;\n }\n}\n\nexport function CodeEditorComponent(props: CodeEditorProps) {\n const isError = useRef<boolean>();\n const hasJsonSchemaError = useRef<boolean>();\n\n const getMessage = useCallback((): string => {\n return isError.current ? hasJsonSchemaError.current\n ? \"请填写正确的数据结构\"\n : `请填写正确的 ${\n props.mode === \"brick_next\"\n ? \"json\"\n : props.mode === \"brick_next_yaml\" || props.mode === \"cel_yaml\"\n ? \"yaml\"\n : props.mode\n } 语法` : \"\";\n }, [props.mode])\n\n const handleValidator = useCallback(() => {\n if (isError.current) {\n const message = {\n message: getMessage(),\n type: \"error\",\n }\n return message;\n } else {\n return \"\";\n }\n }, [getMessage, props.formElement, props.name])\n\n const onValidate = (err: Annotation[]): void => {\n const error = some(err, [\"type\", \"error\"]);\n if (error) {\n const jsonSchemaError =\n props.validateJsonSchemaMode === \"error\" &&\n some(err, (v: any) => v.type === \"error\" && v.raw?.length > 0);\n isError.current = true;\n hasJsonSchemaError.current = jsonSchemaError;\n props.formElement?.validateField(props.name as string);\n } else {\n isError.current = false;\n hasJsonSchemaError.current = false;\n }\n props.onErrorChange && props.onErrorChange({ err, hasError: error });\n };\n\n return (\n <WrappedFormItem {...props as FormItemProps} validator={handleValidator}>\n <CodeEditorItemWrapper\n {...props}\n onValidate={props.onValidate ? props.onValidate : onValidate}\n />\n </WrappedFormItem>\n );\n}\n\nexport { CodeEditor };\n","import React, { useCallback, useEffect, useRef, useState } 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 { FormItemElement } from \"../form-item/FormItemElement.js\";\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 } from \"@next-core/types\";\nimport styleText from \"./dynamic-form-item.shadow.css\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"basic.general-button\");\n\nconst WrappedForm = wrapBrick<Form, FormProps, FormEvents, FormMapEvents>(\n \"form.general-form\",\n {\n onValuesChange: \"values.change\",\n onValidateSuccess: \"validate.success\",\n onValidateError: \"validate.error\",\n }\n);\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\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 * @id form.dynamic-form-item\n * @name form.dynamic-form-item\n * @docKind brick\n * @description 动态表单\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.dynamic-form-item\", {\n styleTexts: [styleText],\n})\nclass DynamicFormItem extends FormItemElement {\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 trigger=\"handleDynamicFormChange\"\n onChange={this.handleDynamicFormChange}\n onValuesChange={this.handleDynamicFormChange}\n />\n );\n }\n}\n\nfunction DynamicFormItemComponent(props: DynamicFormItemProps) {\n const formWrapperRef = useRef<HTMLDivElement>(null);\n const [values, setValues] = useState<DynamicFormValuesItem[]>(\n props.value ?? []\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 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 {props.useBrick && (\n <WrappedForm\n layout=\"inline\"\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={props.useBrick}\n data={value}\n />\n <WrappedIcon\n lib=\"easyops\"\n category=\"assets-inventory\"\n icon=\"out\"\n className=\"remove-btn\"\n onClick={() => handleRemoveItem(index)}\n />\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, {\n ChangeEvent,\n MouseEvent,\n useEffect,\n useState,\n useRef,\n useMemo,\n} 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 classNames from \"classnames\";\nimport { debounce } from \"lodash\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\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 blur: CustomEvent<string>;\n change: CustomEvent<string>;\n search: CustomEvent<string>;\n}\n\nexport interface SearchEventsMap {\n onBlur: \"blur\";\n onChange: \"change\";\n onSearch: \"search\";\n}\n\n/**\n * 搜索框\n */\nexport\n@defineElement(\"form.general-search\", {\n styleTexts: [styleText],\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: \"blur\" })\n accessor #blur!: EventEmitter<string>;\n #handleBlur = (value: string) => {\n this.#blur.emit(this.trim ? value.trim() : value);\n };\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 onBlur={this.#handleBlur}\n onChange={this.#handleChange}\n onSearch={this.#handleSearch}\n onDebouncedChange={this.#handleDebouncedChange}\n />\n );\n }\n}\n\ninterface SearchComponentProps extends SearchProps {\n onBlur?: (value: string) => void;\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 onBlur,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [value, setValue] = useState<string>();\n const [inputFocused, setInputFocused] = useState<boolean>();\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n useEffect(() => {\n autoFocus && inputRef.current?.focus();\n }, [autoFocus]);\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: ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onChange?.(e.target.value);\n _onDebouncedChange?.(e.target.value);\n };\n\n const handleClear = (e: MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n setValue(\"\");\n onChange?.(\"\");\n _onDebouncedChange?.(\"\");\n };\n\n const handleSearchBtnClick = (e: MouseEvent<HTMLElement>) => {\n e.preventDefault();\n e.stopPropagation();\n handleSearch();\n };\n\n return (\n <>\n <div\n className={classNames(\"search-input-wrapper\", {\n \"allow-clear\": clearable,\n \"search-input-wrapper-focused\": inputFocused,\n })}\n onClick={() => inputRef.current?.focus()}\n >\n <input\n ref={inputRef}\n className=\"search-input\"\n type=\"text\"\n placeholder={placeholder}\n value={value || \"\"}\n onChange={handleChange}\n onKeyDown={(e) => e.key === \"Enter\" && handleSearch()}\n onFocus={() => setInputFocused(true)}\n onBlur={() => {\n setInputFocused(false);\n onBlur?.(value!);\n }}\n />\n {clearable && value && (\n <WrappedIcon\n className=\"clear-button\"\n lib=\"antd\"\n icon=\"close-circle\"\n theme=\"filled\"\n onMouseDown={handleClear}\n />\n )}\n <WrappedIcon\n className=\"search-button\"\n lib=\"antd\"\n icon=\"search\"\n theme=\"outlined\"\n onClick={handleSearchBtnClick}\n />\n </div>\n </>\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 { FormItemElement } from \"../form-item/FormItemElement.js\";\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 classNames from \"classnames\";\nimport type { MenuIcon } from \"@next-shared/general/types\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport type {\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping,\n} from \"../radio/index.js\";\nimport type {\n GeneralSearch,\n SearchProps,\n SearchEvents,\n SearchEventsMap,\n} from \"../search/index.js\";\nimport type {\n getLibs as _getLibs,\n LibInfo,\n IconInfo,\n} from \"@next-bricks/icons/data-providers/get-libs\";\nimport type { searchIcons as _searchIcons } from \"@next-bricks/icons/data-providers/search-icons\";\nimport { COLORS_MAP, getColor } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst getLibs = unwrapProvider<typeof _getLibs>(\"icons.get-libs\");\nconst searchIcons = unwrapProvider<typeof _searchIcons>(\"icons.search-icons\");\nconst WrappedGeneralRadio = wrapBrick<\n Radio,\n RadioProps,\n RadioEvents,\n RadioEventsMapping\n>(\"form.general-radio\", {\n onValueChange: \"change\",\n onOptionsChange: \"optionsChange\",\n});\nconst WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\nconst WrappedModal = wrapBrick<Modal, ModalProps, ModalEvents, ModalMapEvents>(\n \"containers.general-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>(\"form.general-search\", {\n onBlur: \"blur\",\n onChange: \"change\",\n onSearch: \"search\",\n});\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\n\ntype Icon = GeneralIconProps & { color?: string };\n\nexport interface IconSelectProps {\n name?: string;\n label?: string;\n value?: Icon;\n disabled?: boolean;\n required?: boolean;\n message?: Record<string, string>;\n}\n\n/**\n * 图标选择构件\n */\nexport\n@defineElement(\"form.icon-select\", {\n styleTexts: [styleText],\n})\nclass IconSelect extends FormItemElement 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 onChange={this.handleChange}\n trigger=\"handleChange\"\n />\n );\n }\n}\n\nconst emptyIcon = {\n lib: \"easyops\",\n icon: \"empty-icon\",\n category: \"common\",\n} as Icon;\n\ninterface IconSelectComponentProps extends FormItemProps, IconSelectProps {\n onChange?: (value?: Icon) => void;\n}\n\nexport function IconSelectComponent(props: IconSelectComponentProps) {\n const { t } = useTranslation(NS);\n const { disabled, onChange } = props;\n\n const modalRef = useRef<Modal>(null);\n\n const [iconLibs, setIconLibs] = useState<LibInfo[]>([]);\n const [searchParams, setSearchParams] = useState<{\n q?: string;\n lib?: string;\n }>({});\n const [iconList, setIconList] = useState<IconInfo[]>([]);\n\n useEffect(() => {\n getLibs().then((libs) => {\n setIconLibs(libs);\n setSearchParams({ ...searchParams, lib: libs[0].lib });\n });\n }, []);\n\n const handleSearchIcons = (params: { q?: string; lib?: string }) => {\n searchIcons({ lib: params.lib, q: params.q, page: 1, pageSize: 100 }).then(\n (result) => setIconList(result.list)\n );\n };\n\n const [previewIcon, setPreviewIcon] = useState<GeneralIconProps>();\n const [previewColor, setPreviewColor] = useState<string>();\n\n useEffect(() => {\n setPreviewIcon(props.value?.lib ? props.value : undefined);\n setPreviewColor(props.value?.color);\n }, [props.value]);\n\n const [selectedIcon, setSelectedIcon] = useState<GeneralIconProps>();\n const [selectedColor, setSelectedColor] = useState<string>();\n\n const clearSelect = () => {\n setSelectedIcon(undefined);\n setSelectedColor(undefined);\n };\n\n const handleModalOpen = () => {\n setSelectedIcon(previewIcon);\n setSelectedColor(previewColor);\n handleSearchIcons(searchParams);\n };\n\n const handleModalClose = () => {\n clearSelect();\n };\n\n const handleModalConfirm = () => {\n setPreviewIcon(selectedIcon);\n setPreviewColor(selectedColor);\n const newValue = selectedIcon?.lib\n ? { ...selectedIcon, color: selectedColor }\n : undefined;\n onChange?.(newValue);\n modalRef.current?.close();\n };\n\n const handleIconSelect = (icon: GeneralIconProps) => {\n setSelectedIcon(icon);\n };\n\n const handleColorSelect = (color?: string) => {\n setSelectedColor(color);\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)}>\n <span\n onClick={() => !disabled && modalRef.current?.open()}\n className={classNames(\"show-icon\", {\n disabled: disabled,\n })}\n style={{ backgroundColor: getColor(previewColor).background }}\n >\n <WrappedGeneralIcon\n {...(previewIcon || emptyIcon)}\n style={{ color: getColor(previewColor).color }}\n />\n </span>\n <WrappedModal\n ref={modalRef}\n modalTitle={t(K.SELECT_ICON)!}\n width=\"778px\"\n maskClosable={false}\n closeWhenConfirm={false}\n onConfirm={handleModalConfirm}\n onClose={handleModalClose}\n onOpen={handleModalOpen}\n >\n <div className=\"preview-container\">\n <div\n className=\"show-area\"\n style={{ backgroundColor: getColor(selectedColor).background }}\n >\n <WrappedGeneralIcon\n {...(selectedIcon || emptyIcon)}\n style={{ color: getColor(selectedColor).color }}\n />\n {selectedIcon && (\n <div className=\"delete-wrapper\" onClick={() => clearSelect()}>\n <div className=\"delete-icon\">\n <WrappedGeneralIcon\n lib=\"easyops\"\n category=\"default\"\n icon=\"delete\"\n style={{ color: \"var(--theme-red-color)\" }}\n />\n </div>\n </div>\n )}\n </div>\n <span className=\"preview-icon-name\">{selectedIcon?.icon}</span>\n </div>\n <div className=\"select-icon-container\">\n {\n <>\n <span className=\"label\">{t(K.COLOR)}:</span>\n <div className=\"select-color-area\">\n {Object.keys(COLORS_MAP).map((item) => {\n return (\n <div\n className=\"color-box\"\n style={{ backgroundColor: getColor(item).color }}\n key={item}\n onClick={() => handleColorSelect(item)}\n />\n );\n })}\n <div\n className=\"color-box empty-color\"\n onClick={() => handleColorSelect(undefined)}\n >\n <div className=\"empty-line\" />\n </div>\n </div>\n </>\n }\n <span className=\"label\">{t(K.ICON)}:</span>\n <div className=\"select-icon-area\">\n <div className=\"select-icon-search-bar\">\n <WrappedSearch\n value={searchParams.q}\n placeholder={t(K.SEARCH_PLACEHOLDER)!}\n onSearch={(e) => {\n const newSearchParams = { ...searchParams, q: e.detail };\n setSearchParams(newSearchParams);\n handleSearchIcons(newSearchParams);\n }}\n />\n <WrappedGeneralRadio\n options={iconLibs?.map((lib) => {\n return {\n label: lib.title,\n value: lib.lib,\n };\n })}\n value={searchParams.lib}\n style={{ marginBottom: \"-22px\" }}\n onValueChange={(e) => {\n const newSearchParams = {\n ...searchParams,\n lib: e.detail 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 <div className=\"icon-inner-container\">\n <WrappedGeneralIcon {...iconInfo.icon} />\n <div className=\"icon-name\">{iconInfo.title}</div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </WrappedModal>\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, \".checkboxWrapper{flex:auto;max-width:100%;box-sizing:border-box}.checkboxLabel{margin-left:16px;font-size:14px;line-height:1.57;display:inline-flex;align-items:baseline;cursor:pointer;line-height:22px;text-align:center;box-sizing:22px}.checkboxLabel:first-child{margin-left:0px}.checkboxLabelDisabled{cursor:not-allowed;color:var(--text-color-disabled)}.checkboxInputWrapper{position:relative;top:0.2em}.checkboxInputWrapperDisabled{cursor:not-allowed}.checkboxLabel .checkboxInput{height:16px;width:16px;z-index:1;cursor:pointer;margin:0px}.checkboxLabel .checkboxInput[type=\\\"checkbox\\\"]:checked{color:black;background-color:red}.checkboxLabel .checkboxInner{background:red}.checkboxLabel .checkboxInputDisabled{cursor:not-allowed}.checkboxLabel .checkboxText{padding:0 8px}.iconCheckbox,\\n.disabledIconCheckbox{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconCustomCheckbox,\\n.disabledIconCustomCheckbox{width:186px;height:114px;margin:0 15px 20px 0}.disabledIconCheckbox,\\n.disabledIconCustomCheckbox{cursor:not-allowed;.content{.text{color:var(--antd-checkbox-custom-type-disabled-color)}}}.content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.inputBox{padding:5px;text-align:right;line-height:15px}.inputBox input[type=\\\"checkbox\\\"]::before{content:\\\"\\\";position:absolute;width:100%;height:100%;border-radius:6px;border:1px solid var(--antd-checkbox-custom-type-item-border-color);top:0;left:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dynamic-form-wrapper{border-radius:6px;padding:16px;background:var(--color-fill-bg-base-1)}.remove-btn{cursor:pointer;justify-content:center;display:flex;align-items:center;width:16px;height:16px;border:1px solid;border-radius:50%;line-height:12px;padding:2px;margin-left:8px;margin-top:4px}.dynamic-form > *:not(.remove-btn){flex:1;margin-right:4px}.add-btn{width:100%}\", \"\"]);\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{text-align:left;line-height:1;margin-bottom:8px}.required{color:#ff4d4f;margin-right:4px}.form-item-label{display:inline-block;overflow:hidden;white-space:nowrap;line-height:34px;text-align:right;vertical-align:middle;flex-grow:0;padding-right:8px}.form-item-wrapper{flex:1 1 0;line-height:32px}.form-item-control{flex:1}.message{min-height:22px}.message.error{clear:both;min-height:23px;margin-top:-2px;color:var(--antd-error-color);font-size:14px;line-height:1.5715;transition:color 0.3s cubic-bezier(0.215,0.61,0.355,1)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:inline-block}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}icons\\\\.general-icon{line-height:0.25em}.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;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;justify-content:center;align-items:center;text-align:center;height:50px}.icon-container:hover{cursor:pointer}.icon-container .icon-inner-container{overflow:hidden;color:var(--color-normal-text);display:flex;flex-direction:column}.icon-container:hover .icon-inner-container{color:var(--color-brand)}.icon-container .icon-name{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, \".input-wrapper{position:relative;display:inline-flex;border-radius:3px;border:1px solid var(--antd-input-border-color);width:100%;min-width:0;color:var(--antd-input-color);line-height:1.5715;background-color:var(--antd-input-bg);box-sizing:border-box;padding:0px 4px}.input-wrapper:not(.disabled):hover{border:1px solid var(--antd-input-hover-border-color)}.input-wrapper.focus{border:1px solid var(--antd-input-focus-border-color);outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}input{position:relative;display:inline-block;box-sizing:border-box;min-width:0;margin:0;padding:0;color:var(--antd-text-color);width:100%;padding:4px 8px;line-height:1.5715;background:none;border:none;outline:none;box-shadow:none}.prefix,\\n.suffix{display:flex;flex:none;align-items:center}.prefix{margin-right:4px}.suffix{margin-left:4px}.input-wrapper.disabled{cursor:not-allowed;background:var(--antd-input-disabled-bg)}.input-wrapper.disabled input{cursor:not-allowed;color:var(--text-color-disabled)}.input-wrapper.error{border-color:var(--antd-error-color)}.input-wrapper.error:hover{border-color:var(--antd-error-color)}.input-wrapper.error:focus{border-color:var(--antd-error-color)}.input-wrapper::placeholder{color:var(--antd-input-placeholder-color)}.clear-button{color:#bbb;font-size:12px;line-height:12px;cursor:pointer}.large{height:38px;line-height:38px;font-size:16px}.medium{height:30px;line-height:30px}.small{height:22px;line-height:22px;font-size:12px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".radioGruop{display:inline-block}.defaultRadio{position:relative;display:inline-flex;align-items:center;margin-right:12px;text-align:center;cursor:pointer}.iconRadio{position:relative;display:inline-block;width:104px;height:104px;margin-right:12px;text-align:center;cursor:pointer}.iconRadio > input[type=\\\"radio\\\"]{width:0px;height:0px}.defaultRadio > input[type=\\\"radio\\\"]{width:16px;height:16px;vertical-align:middle;margin-top:0px}.iconRadio > input[type=\\\"radio\\\"]:checked ~ .content{border-color:var(--color-brand);color:var(--color-brand)}.iconRadio .content{position:absolute;width:100%;height:100%;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text);border-radius:var(--larger-border-radius);border:var(--border-width-base) solid var(--color-border-divider-line)}.defaultRadio .content{display:flex;align-items:center}.iconRadio:not(.disabledIconRadio):hover .content{border-color:var(--color-brand-hover)}.buttonRadio{position:relative;display:inline-block;height:32px;margin:0;padding:0;color:var(--antd-btn-default-color);font-size:14px;line-height:30px;background:var(--antd-btn-default-bg);border:1px solid var(--antd-border-color-base);border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color 0.3s,background 0.3s,border-color 0.3s,box-shadow 0.3s}.buttonContent{display:inline-block;height:100%;padding:0 15px}.buttonContent:not(.disabledButtonRadio):not(.buttonRadioCheck):hover{color:var(--antd-radio-dot-color)}.buttonRadio > input[type=\\\"radio\\\"]{width:0;height:0;position:absolute}.buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-radio-solid-checked-color);background:var(--antd-radio-dot-color);border-color:var(--antd-radio-dot-color)}.buttonRadioCheck.disabledButtonRadio{color:var(--color-normal-text);background-color:var(--color-border-divider-line)}.buttonRadio:first-child{border-radius:3px 0 0 3px;border-left:1px solid var(--antd-border-color-base)}.buttonRadio:last-child{border-radius:0 3px 3px 0}.specialIconRadio{position:relative;display:inline-block;width:auto;margin-right:80px;text-align:center;cursor:pointer;line-height:1}.specialIconRadio > input[type=\\\"radio\\\"]{width:0;height:0}.specialIconRadio > input[type=\\\"radio\\\"]:checked ~ .iconContent,\\n.specialIconRadio > input[type=\\\"radio\\\"]:checked ~ .iconContent .circleIcon,\\n.specialIconRadio > input[type=\\\"radio\\\"]:checked ~ .iconContent .squareIcon{border-color:var(--color-brand);color:var(--color-brand);border-width:var(--border-width-double-base)}.specialIconRadio:not(.disabledIconRadio):hover .iconContent .circleIcon,\\n.specialIconRadio:not(.disabledIconRadio):hover .iconContent .squareIcon{border-color:var(--color-brand-hover)}.specialIconRadio .iconContent{color:var(--color-normal-text)}.specialIconRadio .iconContent > span{width:93px;display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.specialIconRadio .iconContent .circleIcon{border-radius:50%}.specialIconRadio .iconContent .circleIcon,\\n.specialIconRadio .iconContent .squareIcon{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:auto auto 6px;background:var(--color-fill-bg-container-1);border:var(--border-width-base) solid var(--color-border-divider-line);width:94px;height:94px;font-size:46px;box-sizing:border-box}.disabledButtonRadio,\\n.disabledCustomRadio{cursor:not-allowed}.disabledButtonRadio{background-color:var(--antd-input-disabled-bg)}.disabledIconRadio .content,\\n.disabledIconRadio .iconContent{color:var(--color-disabled-text)}.disabledIconRadio .iconContent .circleIcon,\\n.disabledIconRadio .iconContent .squareIcon{background:var(--color-fill-bg-base-1);border-color:var(--color-border-divider-line)}.dashboardRadioContainer{border-radius:6px;border:none;background-color:var(--antd-dashboard-radio-bg)}.dashboardRadioContainer .buttonRadio{background:var(--antd-dashboard-radio-item-bg);font-size:14px;color:var(--antd-dashboard-radio-item-color);border:none;height:28px;margin:2px}.buttonRadio:not(:last-child)::after{position:absolute;top:50%;right:-1px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 4px);background-color:var(--antd-border-color-base);transition:background-color 0.3s;content:\\\"\\\";transform:translateY(-50%)}.buttonRadioCheck::before,\\n.buttonRadio:has(.buttonRadioCheck):after{position:absolute;top:50%;left:0px;display:block;box-sizing:content-box;width:1px;height:calc(100% - 8px);background-color:var(--antd-dashboard-radio-item-checked-border-color);transition:background-color 0.3s;content:\\\"\\\";transform:translateY(-50%)}.dashboardRadioContainer .buttonContent:not(.disabledButtonRadio):hover{color:var(--antd-dashboard-radio-item-checked-color)}.dashboardRadioContainer .buttonRadioCheck:not(.disabledButtonRadio){color:var(--antd-dashboard-radio-item-checked-color);background-color:var(--antd-dashboard-radio-item-checked-bg);border-radius:6px;font-weight:var(--font-weight-500)}.customRadio{position:relative;display:inline-block;width:212px;height:271px;margin-right:12px;text-align:center;cursor:pointer}.customRadio > input[type=\\\"radio\\\"]{width:0;height:0}.customRadio > input[type=\\\"radio\\\"]:checked ~ .customContent{box-shadow:var(--hover-shadow)}.customRadio .customContent{position:absolute;width:100%;height:100%;top:0;color:var(--color-normal-text);border-radius:var(--larger-border-radius)}.customRadio.disabledCustomRadio{cursor:not-allowed}.customRadio:not(.disabledIconRadio):hover .customContent{box-shadow:var(--hover-shadow)}.tooltipIconContent{margin-left:4px;display:inline-block}.buttonRadio.small{height:26px;font-size:13px;line-height:26px}.buttonRadio.medium{height:32px;font-size:14px}.buttonRadio.large{height:40px;font-size:18px;line-height:40px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{display:inline-block}:host([hidden]){display:none}*,\\n*::before,\\n*::after{box-sizing:border-box}.search-input-wrapper{display:inline-flex;position:relative;padding:4px 0 4px 12px;border-radius:3px;min-width:220px;width:100%;background-color:var(--antd-input-bg);border:1px solid var(--antd-input-border-color);transition:border-color 0.3s,box-shadow 0.3s;overflow:visible}.search-input{flex:1;padding:0;margin:0;border:none;outline:none;font-size:14px;line-height:22px;color:var(--antd-input-color);background-color:var(--antd-input-bg)}.search-input::placeholder{color:var(--antd-input-placeholder-color);-webkit-user-select:none;-moz-user-select:none;user-select:none}.search-input:placeholder-shown{text-overflow:ellipsis}.search-input-wrapper:hover{border-color:var(--antd-input-hover-border-color)}.search-input-wrapper:focus,\\n.search-input-wrapper-focused{border-color:var(--antd-input-focus-border-color);outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.clear-button{opacity:0;align-self:center;margin:0 4px;width:12px;height:12px;line-height:0.25em;font-size:12px;color:var(--text-color-disabled);cursor:pointer;transition:opacity 0.3s}.clear-button:hover{color:var(--antd-text-color-secondary)}.search-button{align-self:center;display:inline-flex;align-items:center;justify-content:center;margin:0 8px;width:16px;height:100%;line-height:0.25em;font-size:16px;color:var(--color-secondary-text);cursor:pointer}.search-button:hover{color:var(--color-normal-text)}.search-input-wrapper.allow-clear:hover .clear-button,\\n.search-input-wrapper.allow-clear:focus .clear-button,\\n.search-input-wrapper-focused.allow-clear .clear-button{opacity: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, \".select{width:100%;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;position:relative;display:inline-block;cursor:pointer;min-width:100px}.select-selector{position:relative;border:1px solid var(--antd-border-color-base);border-radius:3px;box-sizing:border-box;background-color:var(--antd-component-background);transition:all 0.3s cubic-bezier(0.645,0.045,0.355,1);padding-right:24px}.select-multiple .select-selector{min-height:30px;height:auto}.select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;padding-left:12px}.selected-item{display:flex;flex:none;align-self:center;max-width:100%;height:30px;line-height:30px}.selected-item .label{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.selector-focused{border-color:var(--antd-input-focus-border-color);border-width:1px;outline:0;box-shadow:0 0 0 2px rgb(0 113 235/20%)}.select-selection-search{display:block;padding-right:22px}.select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:30px;cursor:pointer;color:var(--antd-text-color)}.select-disabled .select-selector{color:var(--text-color-disabled);background:var(--antd-input-disabled-bg);cursor:not-allowed}.select-disabled .select-selection-search-input{cursor:not-allowed}.select-selector.is-error{border-color:var(--antd-error-color)}.anticon{display:inline-block;color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-arrow{display:inline-block;color:inherit;font-style:normal;line-height:0;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:53%;right:11px;width:12px;height:12px;margin-top:-6px;color:var(--text-color-disabled);font-size:12px;line-height:1;text-align:center}.anticon{vertical-align:top;transition:0.4s rotate ease}.anticon.focus{rotate:-180deg}.select-dropdown{margin:0;padding:0;margin-top:5px;color:var(--antd-text-color);font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\\\"tnum\\\",;position:absolute;top:100%;left:0px;width:100%;z-index:1050;box-sizing:border-box;padding:4px 2px;overflow:hidden;font-size:14px;font-variant:initial;background-color:var(--antd-select-dropdown-bg);border-radius:4px;outline:none;box-shadow:var(--antd-box-shadow-base)}.dropdown-list{max-height:256px;overflow-y:scroll;overflow-anchor:none}.dropdown-inner{display:flex;flex-direction:column}.select-item{position:relative;display:block;padding:5px 12px;color:var(--antd-text-color);font-weight:normal;font-size:14px;line-height:22px;cursor:pointer;transition:background 0.3s ease;margin:2px}.select-item-option{display:flex;border-radius:6px;margin:2px}.select-item-option.disabled{cursor:not-allowed;color:var(--color-disabled-text);background:var(--antd-input-disabled-bg)}.select-item-option:hover{background-color:var(--antd-select-item-active-bg)}.select-item-option-content{position:relative;flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-item-option-content .option{display:flex;align-items:center;justify-content:space-between;margin-right:22px}.dropdown-list .option .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:8px}.select-option-selected{color:var(--color-brand);background-color:var(--v8-top-menu-item-selected-bg)}.select-option-hover{background-color:var(--antd-select-item-active-bg)}.is-checked{display:none;position:absolute;right:0px;top:0}.select-option-selected .is-checked{display:block}.empty-tips{display:flex;text-align:center;justify-content:center;font-size:14px;color:var(--palette-gray-5)}\", \"\"]);\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:6px;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","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}"],"names":["_Input","WrappedFormItem","wrapBrick","WrappedGeneralIcon","defineElement","property","event","createDecorators","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","_dec5","_dec6","type","Boolean","_dec7","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","attribute","_dec17","_dec18","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_inputChangeEvent","Input","FormItemElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_inputChangeEvent2","set","_set_inputChangeEvent2","writable","value","_initProto","_init_name","_init_label","_init_value","_init_placeholder","_init_disabled","_init_clearable","_init_type","_init_size","_init_minLength","_init_maxLength","_init_required","_init_pattern","_init_max","_init_min","_init_message","_init_inputStyle","_init_inputChangeEvent","_defineProperty","this","_classPrivateFieldGet","emit","name","v","_classPrivateFieldSet","label","placeholder","disabled","clearable","size","minLength","maxLength","required","pattern","max","min","message","inputStyle","render","React","InputComponent","formElement","getFormElement","curElement","validateState","trigger","onInputChange","handleInputChange","_set_inputChangeEvent","_get_inputChangeEvent","props","_props$value","setValue","useState","focus","setFocus","useEffect","_props$value2","className","classNames","error","style","onFocus","handleFocus","onBlur","handleBlur","onChange","e","target","icon","lib","theme","onClick","handleClear","c","_initClass","_applyDecs2203R","hiddenTextarea","_Textarea","SIZING_STYLE","_InputChangeEvent","Textarea","_get_InputChangeEvent2","_set_InputChangeEvent2","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","autoSize","textareaStyle","TextareaComponent","_set_InputChangeEvent","_get_InputChangeEvent","autoSizeStyle","setAutoSizeStyle","textareaRef","useRef","minRows","maxRows","setAutoSize","useCallback","textareaElement","current","textareaStyles","uiTextNode","length","undefined","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","concat","getPropertyValue","join","overflowY","minHeight","maxHeight","height","scrollHeight","singleRowHeight","Math","resize","calculateAutoSizeStyle","ref","_objectSpread","_topics","_subUid","PubSub","publish","topic","subscribers","len","func","subscribe","fn","_this$subUid","token","toString","push","unsubscribe","m","remove","item","uid","Field","detail","field","_fields","_options","_formData","_initData","_getAllFields","WeakSet","FormStore","static","options","instance","super","_classPrivateMethodInitSpec","Map","setField","getAllValues","setInitValue","values","isEmitValuseChange","setFieldsValue","setFieldsValueByInitData","_classPrivateFieldGet2","_classPrivateFieldGet3","_classPrivateFieldGet4","allFields","_classPrivateMethodGet","_getAllFields2","call","newFormData","Object","entries","forEach","_ref","k","includes","onValuesChanged","changedValues","allValues","resetFields","getFieldsValue","validateFields","callback","results","validateField","some","result","_classPrivateFieldGet5","fieldDetail","validate","validateValue","messageBody","getName","valid","validator","isEmpty","RegExp","test","getValueFromEvent","checked","resetValidateState","onWatch","_options$needValidate","needValidate","keys","_Form","method","_values","_setInitValue","_valuesChangeEvent","_successEvent","_errorEvent","Form","ReactNextElement","_get_errorEvent2","_set_errorEvent2","_get_successEvent2","_set_successEvent2","_get_valuesChangeEvent2","_set_valuesChangeEvent2","_init_layout","_init_valuesChangeEvent","_init_successEvent","_init_errorEvent","formStore","getInstance","handleValuesChange","_setInitValue2","layout","err","FormComponent","defaultEmitValuesChange","_set_valuesChangeEvent","_get_valuesChangeEvent","_set_successEvent","_get_successEvent","_set_errorEvent","_get_errorEvent","display","gap","_FormItem","_dec19","_dec20","_R","_S","FormItem","_init_formElement","_init_curElement","_init_labelCol","_init_wrapperCol","_init_valuePropsName","_init_trim","_init_trigger","_init_validator","_init_needValidate","labelCol","wrapperCol","valuePropsName","trim","_this$formElement","_this$formElement2","FormItemComponent","formInstance","defaultValidateState","setValidateState","$bindFormItem","originTrigger","_","formatOptions","fields","op","String","_Radio","_changeEvent","_optionsChange","_handleOptionsChange","Radio","_get_optionsChange2","_set_optionsChange2","_get_changeEvent2","_set_changeEvent2","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_changeEvent","_init_optionsChange","ui","customStyle","useBrick","RadioComponent","handleChange","optionsChange","_set_changeEvent","_get_changeEvent","_set_optionsChange","_get_optionsChange","setOptions","isEqual","option","_props$onChange","stopPropagation","dashboardRadioContainer","index","iconName","iconLib","iconStyle","key","isBoolean","isDisabled","htmlFor","disabledIconRadio","disabledCustomRadio","iconRadio","customRadio","specialIconRadio","defaultRadio","buttonRadio","content","fontSize","ReactUseBrick","data","iconContent","circleIcon","squareIcon","title","buttonRadioCheck","disabledButtonRadio","marginRight","verticalAlign","_Select","WrappedTag","onCheck","onClose","WrappedIcon","Select","_init_multiple","findOption","_formatOptions","find","selectedOptions","Array","isArray","Promise","resolve","then","multiple","SelectComponent","_props$options","inputValue","setInputValue","selectValue","setSelectValue","isDropHidden","setIsDropHidden","isFocused","setIsFocused","customSelectvalue","setCustomSelectValue","inputRef","handleDocumentClick","addEventListener","removeEventListener","newValue","filter","handleMultipleItemClose","closeValue","computedOptions","handleKeydown","code","pop","renderTag","list","ellipsisInfo","closeable","tagList","slice","_computedOptions$find","ellipsisWidth","color","closable","getLabel","_ref2","_computedOptions$find2","renderLabel","useMemo","isEmptyValue","readOnly","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","SubmitButtons","_get_cancelEvent2","_set_cancelEvent2","_get_submitEvent2","_set_submitEvent2","_init_submitText","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","submitDisabled","submitText","cancelText","submitType","cancelType","ButtonsComponent","onCancelClick","_handleCancelClick","onSubmitClick","_handleSubmitClick","_set_submitEvent","_get_submitEvent","_set_cancelEvent","_get_cancelEvent","_Checkbox","_checkboxChangeEvent","_optionsChangeEvent","Checkbox","_get_optionsChangeEvent2","_set_optionsChangeEvent2","_get_checkboxChangeEvent2","_set_checkboxChangeEvent2","_init_isCustom","_init_checkboxChangeEvent","_init_optionsChangeEvent","isCustom","CheckboxComponent","handleCheckboxChange","_set_checkboxChangeEvent","_get_checkboxChangeEvent","_set_optionsChangeEvent","_get_optionsChangeEvent","setValues","_props$optionsChange","handleInputClick","_newValue","findIndex","i","splice","currentSelectOption","IconCheckbox","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","position","alignItems","checkboxWrapper","checkboxLabel","checkboxLabelDisabled","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","id","checkboxInner","checkboxText","iconNode","mergedIcon","imgSrc","imgStyle","getIcon","_CodeEditor","_dec21","_dec22","_dec23","_dec24","_dec25","_dec26","_dec27","_dec28","_dec29","_dec30","bubbles","_T","_U","_V","_W","_X","_Y","_previousError","_Z","_codeChangeEvent","_a","_blurEvent","_b","_errorChangeEvent","_c","_highlightTokenClickEvent","CodeEditor","_get_highlightTokenClickEvent2","_set_highlightTokenClickEvent2","_get_errorChangeEvent2","_set_errorChangeEvent2","_get_blurEvent2","_set_blurEvent2","_get_codeChangeEvent2","_set_codeChangeEvent2","_init_theme","_init_mode","_init_readOnly","_init_showLineNumbers","_init_maxLines","_init_minLines","_init_tabSize","_init_printMargin","_init_highlightActiveLine","_init_showExportButton","_init_showCopyButton","_init_showExpandButton","_init_exportFileName","_init_jsonSchema","_init_validateJsonSchemaMode","_init_schemaRef","_init_enableLiveAutocompletion","_init_customCompleters","_init_loadYamlInJsonMode","_init_highlightTokens","hasError","_init_codeChangeEvent","_init_blurEvent","_init_errorChangeEvent","_init_highlightTokenClickEvent","mode","showLineNumbers","maxLines","minLines","tabSize","printMargin","highlightActiveLine","showExportButton","showCopyButton","showExpandButton","exportFileName","jsonSchema","validateJsonSchemaMode","schemaRef","enableLiveAutocompletion","customCompleters","loadYamlInJsonMode","highlightTokens","CodeEditorComponent","_handleChange","_handleBlur","onErrorChange","_handleErrorChange","onClickHighlightToken","_handleHighlightTokenClick","_set_codeChangeEvent","_get_codeChangeEvent","_set_blurEvent","_get_blurEvent","_set_errorChangeEvent","_get_errorChangeEvent","_set_highlightTokenClickEvent","_get_highlightTokenClickEvent","isError","hasJsonSchemaError","getMessage","handleValidator","CodeEditorItemWrapper","onValidate","_props$formElement","jsonSchemaError","_v$raw","raw","_DynamicFormItem","WrappedForm","onValuesChange","onValidateSuccess","onValidateError","DynamicFormItem","_this$getFormElement","DynamicFormItemComponent","handleDynamicFormChange","formWrapperRef","handleRemoveItem","_props$onChange2","newValues","formWrapper","forms","querySelectorAll","every","ReactUseMultipleBricks","category","buttonStyle","width","handleAddItem","_GeneralSearch","_blur","_change","_handleDebouncedChange","_search","_handleSearch","GeneralSearch","_get_search2","_set_search2","_get_change2","_set_change2","_get_blur2","_set_blur2","_init_autoFocus","_init_debounceTime","_init_blur","_init_change","_init_search","autoFocus","debounceTime","GeneralSearchComponent","onSearch","onDebouncedChange","_set_blur","_get_blur","_set_change","_get_change","_set_search","_get_search","inputFocused","setInputFocused","_inputRef$current","_onDebouncedChange","debounce","handleSearch","_inputRef$current2","onKeyDown","onMouseDown","preventDefault","K","NS","Colors","COLORS_MAP","green","background","borderColor","red","blue","orange","cyan","purple","geekblue","gray","getColor","_COLORS_MAP","initializeReactI18n","en","ICON","COLOR","SELECT_ICON","SEARCH_PLACEHOLDER","zh","_IconSelect","getLibs","unwrapProvider","searchIcons","WrappedGeneralRadio","onValueChange","onOptionsChange","WrappedModal","onConfirm","onCancel","onOpen","WrappedSearch","IconSelect","IconSelectComponent","emptyIcon","useTranslation","modalRef","iconLibs","setIconLibs","searchParams","setSearchParams","iconList","setIconList","libs","handleSearchIcons","params","q","page","pageSize","previewIcon","setPreviewIcon","previewColor","setPreviewColor","selectedIcon","setSelectedIcon","selectedColor","setSelectedColor","clearSelect","handleColorSelect","_modalRef$current2","open","backgroundColor","modalTitle","t","maskClosable","closeWhenConfirm","handleModalConfirm","_modalRef$current","close","handleModalClose","handleModalOpen","newSearchParams","marginBottom","iconInfo","JSON","stringify","___CSS_LOADER_EXPORT___","module","receiver","privateSet","has","TypeError","obj","add"],"sourceRoot":""}