@next-bricks/form 0.1.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.
- package/dist/bricks.json +48 -0
- package/dist/chunks/1646.1d16cabe.js +2 -0
- package/dist/chunks/1646.1d16cabe.js.map +1 -0
- package/dist/chunks/1970.62810c92.js +3 -0
- package/dist/chunks/1970.62810c92.js.LICENSE.txt +46 -0
- package/dist/chunks/1970.62810c92.js.map +1 -0
- package/dist/chunks/2024.709c5b23.js +2 -0
- package/dist/chunks/2024.709c5b23.js.map +1 -0
- package/dist/chunks/2108.60158822.js +2 -0
- package/dist/chunks/2108.60158822.js.map +1 -0
- package/dist/chunks/2241.fd1d3265.js +3 -0
- package/dist/chunks/2241.fd1d3265.js.LICENSE.txt +19 -0
- package/dist/chunks/2241.fd1d3265.js.map +1 -0
- package/dist/chunks/2323.89167d40.js +2 -0
- package/dist/chunks/2323.89167d40.js.map +1 -0
- package/dist/chunks/2754.e812a197.js +2 -0
- package/dist/chunks/2754.e812a197.js.map +1 -0
- package/dist/chunks/2993.e2812bdf.js +2 -0
- package/dist/chunks/2993.e2812bdf.js.map +1 -0
- package/dist/chunks/31.2b21ef1e.js +2 -0
- package/dist/chunks/31.2b21ef1e.js.map +1 -0
- package/dist/chunks/3494.fd1b6a17.js +2 -0
- package/dist/chunks/3494.fd1b6a17.js.map +1 -0
- package/dist/chunks/3525.08bc8edc.js +2 -0
- package/dist/chunks/3525.08bc8edc.js.map +1 -0
- package/dist/chunks/353.94523d86.js +2 -0
- package/dist/chunks/353.94523d86.js.map +1 -0
- package/dist/chunks/3914.2e2d5e08.js +2 -0
- package/dist/chunks/3914.2e2d5e08.js.map +1 -0
- package/dist/chunks/4049.a1078a82.js +2 -0
- package/dist/chunks/4049.a1078a82.js.map +1 -0
- package/dist/chunks/4454.238ebb5b.js +2 -0
- package/dist/chunks/4454.238ebb5b.js.map +1 -0
- package/dist/chunks/4512.02f5e4dd.js +2 -0
- package/dist/chunks/4512.02f5e4dd.js.map +1 -0
- package/dist/chunks/4717.e16b316a.js +2 -0
- package/dist/chunks/4717.e16b316a.js.map +1 -0
- package/dist/chunks/4728.caffe075.js +2 -0
- package/dist/chunks/4728.caffe075.js.map +1 -0
- package/dist/chunks/4795.90b6991e.js +2 -0
- package/dist/chunks/4795.90b6991e.js.map +1 -0
- package/dist/chunks/5151.d72c681c.js +2 -0
- package/dist/chunks/5151.d72c681c.js.map +1 -0
- package/dist/chunks/5202.e887583f.js +2 -0
- package/dist/chunks/5202.e887583f.js.map +1 -0
- package/dist/chunks/5628.d77bdb77.js +2 -0
- package/dist/chunks/5628.d77bdb77.js.map +1 -0
- package/dist/chunks/5637.2b1b90a3.js +2 -0
- package/dist/chunks/5637.2b1b90a3.js.map +1 -0
- package/dist/chunks/6205.bc110b6d.js +2 -0
- package/dist/chunks/6205.bc110b6d.js.map +1 -0
- package/dist/chunks/6473.70b8b648.js +2 -0
- package/dist/chunks/6473.70b8b648.js.map +1 -0
- package/dist/chunks/6635.cf6a5657.js +3 -0
- package/dist/chunks/6635.cf6a5657.js.LICENSE.txt +8 -0
- package/dist/chunks/6635.cf6a5657.js.map +1 -0
- package/dist/chunks/7164.3bd246c1.js +2 -0
- package/dist/chunks/7164.3bd246c1.js.map +1 -0
- package/dist/chunks/7244.686e225b.js +2 -0
- package/dist/chunks/7244.686e225b.js.map +1 -0
- package/dist/chunks/7746.0d8051b2.js +2 -0
- package/dist/chunks/7746.0d8051b2.js.map +1 -0
- package/dist/chunks/7822.98ffb1b1.js +2 -0
- package/dist/chunks/7822.98ffb1b1.js.map +1 -0
- package/dist/chunks/7915.e235a57b.js +2 -0
- package/dist/chunks/7915.e235a57b.js.map +1 -0
- package/dist/chunks/8008.f2563beb.js +3 -0
- package/dist/chunks/8008.f2563beb.js.LICENSE.txt +3 -0
- package/dist/chunks/8008.f2563beb.js.map +1 -0
- package/dist/chunks/873.d8778899.js +2 -0
- package/dist/chunks/873.d8778899.js.map +1 -0
- package/dist/chunks/9431.4eea30bd.js +2 -0
- package/dist/chunks/9431.4eea30bd.js.map +1 -0
- package/dist/chunks/9549.530da202.js +2 -0
- package/dist/chunks/9549.530da202.js.map +1 -0
- package/dist/chunks/code-editor.c7854829.js +2 -0
- package/dist/chunks/code-editor.c7854829.js.map +1 -0
- package/dist/chunks/dynamic-form-item.48770a46.js +2 -0
- package/dist/chunks/dynamic-form-item.48770a46.js.map +1 -0
- package/dist/chunks/general-checkbox.d95faa71.js +3 -0
- package/dist/chunks/general-checkbox.d95faa71.js.LICENSE.txt +5 -0
- package/dist/chunks/general-checkbox.d95faa71.js.map +1 -0
- package/dist/chunks/general-form-item.b05c0bb9.js +3 -0
- package/dist/chunks/general-form-item.b05c0bb9.js.LICENSE.txt +5 -0
- package/dist/chunks/general-form-item.b05c0bb9.js.map +1 -0
- package/dist/chunks/general-form.432c96e8.js +2 -0
- package/dist/chunks/general-form.432c96e8.js.map +1 -0
- package/dist/chunks/general-input.178d80f2.js +3 -0
- package/dist/chunks/general-input.178d80f2.js.LICENSE.txt +5 -0
- package/dist/chunks/general-input.178d80f2.js.map +1 -0
- package/dist/chunks/general-radio.b77395e8.js +3 -0
- package/dist/chunks/general-radio.b77395e8.js.LICENSE.txt +5 -0
- package/dist/chunks/general-radio.b77395e8.js.map +1 -0
- package/dist/chunks/general-select.a226b1b7.js +3 -0
- package/dist/chunks/general-select.a226b1b7.js.LICENSE.txt +5 -0
- package/dist/chunks/general-select.a226b1b7.js.map +1 -0
- package/dist/chunks/general-textarea.4f0d38a1.js +2 -0
- package/dist/chunks/general-textarea.4f0d38a1.js.map +1 -0
- package/dist/chunks/main.c0e537b3.js +2 -0
- package/dist/chunks/main.c0e537b3.js.map +1 -0
- package/dist/chunks/react.300d737e.js +2 -0
- package/dist/chunks/react.300d737e.js.LICENSE.txt +29 -0
- package/dist/chunks/submit-buttons.1115d5d5.js +2 -0
- package/dist/chunks/submit-buttons.1115d5d5.js.map +1 -0
- package/dist/index.c21224c7.js +2 -0
- package/dist/index.c21224c7.js.map +1 -0
- package/dist-types/bootstrap.d.ts +10 -0
- package/dist-types/checkbox/index.d.ts +84 -0
- package/dist-types/code-editor/aceBuilds/index.d.ts +16 -0
- package/dist-types/code-editor/codeEditor.d.ts +5 -0
- package/dist-types/code-editor/custom-mode/BrickNextMode.d.ts +7 -0
- package/dist-types/code-editor/custom-mode/BrickNextRules.d.ts +170 -0
- package/dist-types/code-editor/custom-mode/BrickNextYamlMode.d.ts +7 -0
- package/dist-types/code-editor/custom-mode/CommonExpressionLanguageMode.d.ts +7 -0
- package/dist-types/code-editor/custom-mode/CommonExpressionLanguageRules.d.ts +19 -0
- package/dist-types/code-editor/custom-mode/CommonExpressionLanguageRules.spec.d.ts +1 -0
- package/dist-types/code-editor/custom-mode/CommonExpressionLanguageYamlMode.d.ts +7 -0
- package/dist-types/code-editor/custom-mode/TerraformMode.d.ts +7 -0
- package/dist-types/code-editor/custom-mode/brickNextUtil.d.ts +15 -0
- package/dist-types/code-editor/getClickableMarker.d.ts +2 -0
- package/dist-types/code-editor/getHighlightMarkers.d.ts +11 -0
- package/dist-types/code-editor/index.d.ts +166 -0
- package/dist-types/code-editor/index.spec.d.ts +1 -0
- package/dist-types/code-editor/interfaces.d.ts +76 -0
- package/dist-types/dynamic-form-item/index.d.ts +34 -0
- package/dist-types/dynamic-form-item/index.spec.d.ts +1 -0
- package/dist-types/form/formStore.d.ts +52 -0
- package/dist-types/form/index.d.ts +71 -0
- package/dist-types/form-item/FormItemElement.d.ts +22 -0
- package/dist-types/form-item/index.d.ts +165 -0
- package/dist-types/index.d.ts +1 -0
- package/dist-types/input/index.d.ts +27 -0
- package/dist-types/interface.d.ts +15 -0
- package/dist-types/radio/index.d.ts +145 -0
- package/dist-types/radio/index.spec.d.ts +1 -0
- package/dist-types/select/index.d.ts +135 -0
- package/dist-types/select/index.spec.d.ts +1 -0
- package/dist-types/submit-buttons/index.d.ts +88 -0
- package/dist-types/submit-buttons/index.spec.d.ts +1 -0
- package/dist-types/textarea/calculateAutoSizeStyle.d.ts +2 -0
- package/dist-types/textarea/index.d.ts +19 -0
- package/dist-types/utils/PubSub.d.ts +6 -0
- package/dist-types/utils/formatOptions.d.ts +5 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/3525.08bc8edc.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/checkbox/checkbox.shadow.css","webpack:///./src/dynamic-form-item/dynamic-form-item.shadow.css","webpack:///./src/form-item/FormItem.shadow.css","webpack:///./src/input/input.shadow.css","webpack:///./src/radio/index.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 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 { Form } from \"../form/index.js\";\nimport type { FormItem, FormItemProps } from \"../form-item/index.jsx\";\nimport styleText from \"./input.shadow.css\";\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\n \"form.general-form-item\"\n);\n\ninterface InputProps {\n formElement?: Form;\n curElement: HTMLElement;\n name?: string;\n label?: string;\n value?: string;\n placeholder?: string;\n disabled?: boolean;\n type?: InputType;\n size?: ComponentSize;\n inputStyle?: React.CSSProperties;\n minLength?: number;\n maxLength?: number;\n required?: boolean;\n pattern?: string;\n min?: number;\n max?: number;\n validateState?: string;\n trigger?: string;\n onInputChange: (value: string) => void;\n}\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id form.general-input\n * @name form.general-input\n * @docKind brick\n * @description 通用输入框构件\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.general-input\", {\n styleTexts: [styleText],\n})\nclass Input extends FormItemElement {\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 * @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 * @kind string\n * @required false\n * @default middle\n * @description 占位说明\n * @enums\n * @group basic\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否禁用\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * @kind InputType\n * @required false\n * @default false\n * @description 类型\n * @group basic\n */\n @property() accessor type: InputType | undefined;\n\n /**\n * @kind ComponentSize\n * @required false\n * @default middle\n * @description 大小\n * @enums\n * @group basic\n */\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * @kind number\n * @required false\n * @default -\n * @description 最小长度\n * @group basicFormItem\n */\n @property({\n type: Number,\n })\n accessor minLength: number | undefined;\n\n /**\n * @kind number\n * @required false\n * @default -\n * @description 最大长度\n * @group basicFormItem\n */\n @property({\n type: Number,\n })\n accessor maxLength: 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 * @default\n * @required\n * @description\n */\n @property() accessor pattern: 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 * @default\n * @required\n * @description\n */\n @property({\n attribute: true,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * @kind React.CSSProperties\n * @required false\n * @default -\n * @description 样式\n * @group other\n */\n @property({ attribute: false }) accessor inputStyle:\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 <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 value={this.value}\n placeholder={this.placeholder}\n type={this.type}\n size={this.size}\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 value,\n placeholder,\n type,\n size = \"middle\",\n disabled,\n inputStyle,\n minLength,\n maxLength,\n validateState,\n onInputChange,\n } = props;\n\n return (\n <WrappedFormItem {...props}>\n <input\n value={value ?? \"\"}\n name={name}\n className={classNames(size, {\n error: validateState === \"error\",\n })}\n type={type}\n disabled={disabled}\n style={inputStyle}\n placeholder={placeholder}\n minLength={minLength}\n maxLength={maxLength}\n onChange={(e) => onInputChange(e.target.value)}\n />\n </WrappedFormItem>\n );\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 8;\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport calculateAutoSizeStyle from \"./calculateAutoSizeStyle.js\";\nimport styleText from \"./textarea.shadow.css\";\nimport \"@next-core/theme\";\n\ntype AutoSize =\n | boolean\n | {\n minRows: number;\n maxRows: number;\n };\n\ninterface TextareaProps {\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 onInputChange: (value: string) => void;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id form.general-textarea\n * @name form.general-textarea\n * @docKind brick\n * @description 通用多行文本输入框构件\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.general-textarea\", {\n styleTexts: [styleText],\n})\nclass Textarea extends ReactNextElement {\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 * @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 * @kind string\n * @required false\n * @default middle\n * @description 占位说明\n * @enums\n * @group basic\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否禁用\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor disabled: boolean | undefined;\n\n /**\n * @kind number\n * @required false\n * @default -\n * @description 最小长度\n * @group basicFormItem\n */\n @property({\n type: Number,\n })\n accessor minLength: number | undefined;\n\n /**\n * @kind number\n * @required false\n * @default -\n * @description 最大长度\n * @group basicFormItem\n */\n @property({\n type: Number,\n })\n accessor maxLength: number | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default -\n * @description 大小子摄影\n * @group basicFormItem\n */\n @property({\n attribute: false,\n })\n accessor autoSize: AutoSize | undefined;\n\n /**\n * @kind React.CSSProperties\n * @required false\n * @default -\n * @description 样式\n * @group other\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.#InputChangeEvent.emit(value);\n };\n\n render() {\n return (\n <TextareaComponent\n name={this.name}\n value={this.value}\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 onInputChange={this.#handleInputChange}\n />\n );\n }\n}\n\nexport function TextareaComponent({\n name,\n value,\n placeholder,\n disabled,\n textareaStyle,\n minLength,\n maxLength,\n autoSize,\n onInputChange,\n}: TextareaProps) {\n const [inputValue, setInputValue] = useState(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 const value = e.target.value;\n setInputValue(value);\n onInputChange(value);\n setAutoSize();\n };\n\n useEffect(() => {\n setAutoSize();\n }, [maxRows, minRows, setAutoSize]);\n\n return (\n <textarea\n ref={textareaRef}\n name={name}\n value={inputValue}\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 );\n}\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(callback: (err: boolean, value: any) => void): 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 = 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 (required && (typeof value === \"object\" ? isEmpty(value) : !value)) {\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) return typeof result === \"string\" ? messageBody(result, result ? \"error\" : \"normal\") : 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 * @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\", {\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 @property() accessor layout: Layout | undefined;\n\n @property() accessor size: ComponentSize | undefined;\n\n /**\n * @detail\n * @description\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 * @description 表单验证成功时触发\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * @description 表单验证报错时触发\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<\n MessageBody[]\n >;\n\n /**\n * @description\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 * @description\n */\n @method()\n setInitValue(values: Record<string, unknown>) {\n this.#_setInitValue(values);\n }\n\n /**\n * @description\n */\n @method()\n resetFields(name?: string) {\n this.formStore.resetFields(name);\n }\n\n /**\n * @description\n */\n @method()\n getFieldsValue(name: string) {\n return this.formStore.getFieldsValue(name);\n }\n\n /**\n * @description\n */\n @method()\n validateField(name: string) {\n this.formStore.validateField(name);\n }\n\n /**\n * @description\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({\n layout = \"horizontal\"\n}: FormComponentProps) {\n return (\n <form>\n <slot style={{\n display: layout === \"inline\" ? \"flex\" : \"\",\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: true,\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>(defaultValidateState.current);\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 });\n formInstance.subscribe(`${name}.reset.fields`, () => {\n curElement[valuePropsName] = \"\";\n });\n formInstance.subscribe(\"reset.fields\", () => {\n curElement[valuePropsName] = \"\";\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 <div\n className={classNames(\"message\", {\n error: validateState.type === \"error\",\n })}\n >\n {validateState?.type !== \"normal\" && validateState.message}\n </div>\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} 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 } from \"lodash\";\nimport type { Form } from \"../form/index.jsx\";\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 curElement: HTMLElement;\n formElement: Form;\n options: GeneralOption[] | CustomOptions[] | undefined;\n value?: any;\n name?: string;\n disabled?: boolean;\n buttonStyle?: RadioGroupButtonStyle;\n size?: \"large\" | \"middle\" | \"small\";\n ui?: UIType;\n useBrick?: UseSingleBrickConf;\n customStyle?: React.CSSProperties;\n label?: string;\n trigger?: string;\n onChange?: (value: any) => void;\n optionsChange?: (options: any, name: string) => void;\n}\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id form.general-radio\n * @name form.general-radio\n * @docKind brick\n * @description 通用单选构件\n * @author sailor\n * @noInheritDoc\n */\n@defineElement(\"form.general-radio\", {\n styleTexts: [styleText],\n})\nclass Radio extends FormItemElement {\n /**\n * @kind string\n * @required true\n * @default -\n * @description 下拉框字段名\n * @group basicFormItem\n */\n @property() accessor name: string | undefined;\n\n /**\n * @kind string\n * @required false\n * @default -\n * @description 单选框字段说明\n * @group basic\n */\n @property() accessor label: string | undefined;\n\n /**\n * @required true\n * @default -\n * @description 单选框选项表,RadioType为default时,如果设置了tooltip值,可以设置tooltipIcon图标(MenuIcon 类型),tooltipIcon颜色默认为--color-secondary-text。\n * @group basic\n */\n @property({ attribute: false })\n accessor options: GeneralOption[] | undefined;\n\n /**\n * @kind string\n * @required true\n * @default -\n * @description 单选框当前选中始值\n * @group basic\n */\n @property()\n accessor value: any | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default -\n * @description 是否必填项\n * @group basicFormItem\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * @kind Record<string,string>\n * @required false\n * @default -\n * @description 校验文本信息\n * @group basicFormItem\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否禁用\n * @group basic\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * @kind RadioType\n * @required false\n * @default default\n * @description \t单选框样式类型\n * @enums \"button\"|\"default\"|\"icon\"|\"icon-circle\"|\"icon-square\"|\"custom\"\n * @group basic\n */\n @property()\n accessor type: RadioType | undefined;\n\n /**\n * @kind UIType\n * @required false\n * @default default\n * @description Ui样式,可选择 `dashboard` 样式,默认`default`\n * @group ui\n */\n @property()\n accessor ui: UIType | undefined;\n\n /**\n * @kind \"large\" | \"middle\" | \"small\"\n * @required false\n * @default -\n * @description 大小,只对按钮样式生效\n * @enums \"large\"|\"middle\"|\"small\"\n * @group ui\n */\n @property()\n accessor size: \"large\" | \"middle\" | \"small\" | undefined;\n\n /**\n * @kind customStyle\n * @required false\n * @default -\n * @description \t自定义radio的外层样式\n * @group ui\n */\n @property({\n attribute: false,\n })\n accessor customStyle: React.CSSProperties | undefined;\n\n /**\n * @kind `{useBrick: UseSingleBrickConf }`\n * @required false\n * @default\n * @description 自定义radio的内容\n * @group advancedFormItem\n */\n @property({\n attribute: false,\n })\n accessor useBrick: UseSingleBrickConf | undefined;\n\n /**\n * @detail `{label: string, value: any, [key: string]: any}\t`\n * @description 单选框变化时被触发,`event.detail` 为当前整个选择项包含其他字段值\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n label: string;\n value: any;\n [key: string]: any;\n }>;\n\n /**\n * @detail `{options:{label: string, value: any, [key: string]: any},name:string}\t`\n * @description 单选框选项列表变化时被触发\n */\n @event({ type: \"optionsChange\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n private _handleChange = (value: {\n label: string;\n value: any;\n [key: string]: any;\n }): void => {\n this.value = value;\n this.#changeEvent.emit(value);\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 <RadioComponent\n curElement={this}\n formElement={this.getFormElement()}\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 onChange={this._handleChange}\n trigger=\"_handleChange\"\n optionsChange={this._handleOptionsChange}\n name={this.name}\n label={this.label}\n />\n );\n }\n}\n\nexport function RadioComponent(props: RadioProps) {\n const { options, name, disabled, type, customStyle, optionsChange, size } =\n props;\n const [value, setValue] = React.useState();\n\n React.useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n React.useEffect(() => {\n optionsChange?.(props.options, name as string);\n }, [props.options]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>, option: GeneralComplexOption): void => {\n e.stopPropagation();\n setValue((option as GeneralComplexOption)?.value as any);\n props.onChange?.(option?.value);\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 return (\n <label\n htmlFor={key}\n style={customStyle}\n className={classNames({\n disabledIconRadio:\n ([\"icon\", \"custom\", \"icon-square\", \"icon-circle\"].includes(\n type as string\n ) &&\n disabled) ||\n item.disabled,\n disabledCustomRadio:\n (\"custom\" === type && disabled) || item.disabled,\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 || \"middle\"]: type === \"button\",\n })}\n key={key}\n >\n <input\n type=\"radio\"\n name={name}\n disabled={disabled || item.disabled}\n id={key}\n onChange={(e) => handleChange(e, item)}\n checked={value === item.value}\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: disabled || item.disabled,\n })}\n >\n <span>\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 </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 { Form } from \"../form/index.js\";\nimport type { Tag, TagProps, TagMapEvents, TagEvents } from \"@next-bricks/basic/tag\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { isEmpty } 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 {\n curElement: HTMLElement;\n formElement: Form;\n trigger?: string;\n value?: any;\n name?: string;\n label?: string;\n options: GeneralComplexOption[];\n placeholder?: string;\n multiple?: boolean;\n clearable?: boolean;\n disabled?: boolean;\n required?: boolean;\n inputStyle?: React.CSSProperties;\n dropdownStyle?: 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 * @id form.general-select\n * @name form.general-select\n * @docKind brick\n * @description 通用下拉构件\n * @author julielai\n * @noInheritDoc\n */\n@defineElement(\"form.general-select\", {\n styleTexts: [styleText],\n})\nclass Select extends FormItemElement {\n /**\n * @kind string\n * @required true\n * @default -\n * @description 选择框字段名\n * @group basicFormItem\n */\n @property() accessor name: string | undefined;\n\n /**\n * @kind string\n * @required true\n * @default -\n * @description 选择框占位说明\n * @group basic\n */\n @property() accessor placeholder: string | undefined;\n\n /**\n * @kind string\n * @required false\n * @default -\n * @description 选择框字段说明\n * @group basic\n */\n @property() accessor label: string | undefined;\n\n /**\n * @required true\n * @default -\n * @description 候选项列表\n * @group basic\n */\n @property({ attribute: false })\n accessor options: GeneralComplexOption[] | undefined;\n\n /**\n * @kind string\n * @required true\n * @default -\n * @description 选择框初始值\n * @group basic\n */\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default -\n * @description 是否必填项\n * @group basicFormItem\n */\n @property({ type: Boolean }) accessor required: boolean | undefined;\n\n /**\n * @kind Record<string,string>\n * @required false\n * @default -\n * @description 校验文本信息\n * @group basicFormItem\n */\n @property({ attribute: false }) accessor message:\n | Record<string, string>\n | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否禁用\n * @group basic\n */\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否支持多选\n * @group basic\n */\n @property({ type: Boolean })\n accessor multiple: boolean | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default false\n * @description 是否支持清除\n * @group basic\n */\n @property({ type: Boolean })\n accessor clearable: boolean | undefined;\n\n /**\n * @kind React.CSSProperties\n * @required false\n * @default -\n * @description 输入框样式\n * @group ui\n */\n @property({\n attribute: false,\n })\n accessor inputStyle: React.CSSProperties | undefined;\n\n /**\n * @kind React.CSSProperties\n * @required false\n * @default -\n * @description 下拉框样式\n * @group ui\n */\n @property()\n accessor dropdownStyle: React.CSSProperties | undefined;\n\n /**\n * @detail `{label: string, value: any, [key: string]: any}\t`\n * @description 下拉变化时被触发,`event.detail` 为当前整个选择项包含其他字段值\n */\n @event({ type: \"change\" }) accessor #changeEvent!: EventEmitter<{\n value: string | string[];\n options: GeneralComplexOption[];\n }>;\n\n /**\n * @detail `{options:{label: string, value: any, [key: string]: any},name:string}\t`\n * @description 下拉框选项列表变化时被触发\n */\n @event({ type: \"optionsChange\" }) accessor #optionsChange!: EventEmitter<{\n options: {\n label: string;\n value: any;\n [key: string]: any;\n };\n name: string;\n }>;\n\n private _handleChange = (value: string | string[]): void => {\n this.value = value;\n const findOption = (value: any) =>\n (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 dropdownStyle={this.dropdownStyle}\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 options = [],\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 [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 optionsChange?.(props.options, name as string);\n }, [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((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 (e.code === \"Backspace\" && multiple && inputValue === \"\" && selectValue?.length) {\n selectValue.pop();\n setSelectValue([...selectValue]);\n }\n }, [computedOptions, customSelectvalue, handleChange, inputValue, multiple, selectValue]);\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) {\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;\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) => {e.stopPropagation()}}\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 && <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 </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 \"select-option-selected\":\n typeof selectValue !== \"object\"\n ? selectValue === item.value\n : (selectValue as any[]).includes(item.value),\n }\n )}\n onClick={() => 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 {...{ lib: \"antd\", icon: \"warning\", theme: \"filled\", color: \"yellow\" }}\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, { CSSProperties } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./index.shadow.css\";\n// import \"@next-core/theme\";\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 showCancelButton?: boolean;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id form.submit-buttons\n * @name form.submit-buttons\n * @docKind brick\n * @description 用于general-forms的通用按钮,可以配置submit按钮和cancel按钮\n * @author zhendong\n * @noInheritDoc\n */\n@defineElement(\"form.submit-buttons\", {\n styleTexts: [styleText],\n})\nclass SubmitButtons extends FormItemElement {\n /**\n * @kind string\n * @required false\n * @default -\n * @description 提交按钮的文字,不设置则不显示提交按钮\n * @group basic\n */\n @property() accessor submitText: string | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default `false`\n * @description 显示取消按钮\n * @group basic\n */\n @property({\n type: Boolean,\n })\n accessor showCancelButton: boolean | undefined;\n\n /**\n * @kind string\n * @required false\n * @default -\n * @description 取消按钮的文字,不设置则不显示取消按钮\n * @group basic\n */\n @property()\n accessor cancelText: string | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default `false`\n * @description 点击确定按钮后自动禁用\n * @group advanced\n */\n @property({ type: Boolean })\n accessor disableAfterClick: boolean | undefined;\n\n /**\n * @kind boolean\n * @required false\n * @default `false`\n * @description 禁用提交按钮\n * @group advanced\n */\n @property({ type: Boolean }) accessor submitDisabled: boolean | undefined;\n\n /**\n * @kind ButtonType\n * @required false\n * @default default\n * @description 按钮类型\n * @enums\n * @group basic\n */\n @property() accessor submitType: ButtonType | undefined;\n\n /**\n * @kind ButtonType\n * @required false\n * @default default\n * @description 按钮类型\n * @enums\n * @group basic\n */\n @property() accessor cancelType: ButtonType | undefined;\n\n /**\n * @description 点击提交按钮触发的事件\n * @detail -\n */\n @event({ type: \"submit\" }) accessor #submitEvent!: EventEmitter<void>;\n\n /**\n * @description 点击取消按钮触发的事件\n * @detail -\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 showCancelButton={this.showCancelButton}\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.showCancelButton && 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 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 {\n options?: CheckboxOptionType[];\n label?: string;\n value?: CheckboxValueType[];\n onChange?: (value: CheckboxOptionType[]) => void;\n text?: string;\n type?: CheckboxType;\n isCustom?: boolean;\n name?: string;\n [propName: string]: any;\n}\n\n@defineElement(\"form.general-checkbox\", {\n styleTexts: [styleText],\n})\nclass Checkbox extends FormItemElement {\n /**\n * @kind string\n * @required true\n * @default -\n * @description 多选框当前选中初始值\n * @group basic\n */\n @property({ attribute: false })\n accessor value: string[] | undefined;\n\n /**\n * @required true\n * @default -\n * @description 多选框选项表\n * @group basic\n */\n @property({ attribute: false })\n accessor options: CheckboxOptionType[] = [];\n\n /**\n * @kind string\n * @required true\n * @default -\n * @description 多选框字段名\n * @group basicFormItem\n */\n @property({ attribute: false })\n accessor name: string | undefined;\n\n /**\n * @kind string\n * @required false\n * @default -\n * @description 多选框字段说明\n * @group basic\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * @kind string\n * @required false\n * @default -\n * @description 多选框类型\n * @group basic\n */\n @property({ attribute: false })\n accessor type: CheckboxType = \"default\";\n\n /**\n * @kind boolean\n * @required false\n * @default -\n * @description 多选框字段说明\n * @group basic\n */\n @property({ attribute: false })\n accessor isCustom: boolean = false;\n\n /**\n * @detail\n * @description 复选框变化事件\n */\n @event({ type: \"change\" })\n accessor #checkboxChangeEvent!: EventEmitter<CheckboxOptionType[]>;\n\n #handleCheckboxChange = (detail: CheckboxOptionType[]) => {\n this.#checkboxChangeEvent.emit(detail);\n };\n\n render() {\n return (\n <CheckboxComponent\n curElement={this}\n options={this.options}\n label={this.label}\n name={this.name}\n value={this.value}\n type={this.type}\n isCustom={this.isCustom}\n onChange={this.#handleCheckboxChange}\n />\n );\n }\n}\n\nexport { Checkbox };\n\nfunction CheckboxComponent(props: CheckboxProps) {\n let newValue: CheckboxValueType[] = (props?.value && [...props.value]) || [];\n const [options, setOptions] = useState<CheckboxOptionType[]>(\n props.options || []\n );\n useEffect(() => {\n setOptions(props.options || []);\n }, [props.options]);\n\n const handleInputClick = (\n e: React.ChangeEvent<HTMLInputElement>,\n item: CheckboxOptionType\n ) => {\n e.stopPropagation();\n if (e.target.checked) {\n newValue = [...newValue, 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 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 htmlFor={item.value}\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={props?.value?.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 return (\n <label\n key={item.value}\n className={classNames({\n checkboxLabel: true,\n checkboxLabelDisabled: item.disabled,\n })}\n >\n <span\n style={{ cursor: \"not-allowed\", color: item.checkboxColor }}\n className={classNames({\n checkboxInputWrapper: true,\n checkboxInputWrapperDisabled: item.disabled,\n checkboxInputCheck: newValue.includes(item.value),\n })}\n >\n <input\n onChange={(e) => handleInputClick(e, item)}\n disabled={item.disabled}\n defaultChecked={props?.value?.includes(item.value)}\n className={classNames({\n checkboxInput: true,\n checkboxInputDisabled: item.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","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\";\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 @property() accessor name: string | undefined;\n @property() accessor label: string | undefined;\n /**\n * @default\n * @required\n * @description\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor value: DynamicFormValuesItem[] | undefined;\n\n /**\n * @default\n * @required\n * @description\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 setValues(props.value ?? []);\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 values.splice(index, 1, value.detail.allValues);\n setValues(values);\n props.onChange?.(values);\n },\n [props, values]\n );\n\n const handleRemoveItem = useCallback(\n (index: number) => {\n values.splice(index, 1);\n setValues(values);\n props.onChange?.(values);\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 />\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","// 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:16px;padding:2px 2px 1px 2px;margin-left:8px;margin-top:4px}.dynamic-form > *:not(.remove-btn){flex:1;margin-right:4px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".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}.form-item-control{line-height:32px}.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, \"input{width:100%;padding:0px 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)}input:not(:disabled):hover{border:1px solid var(--antd-input-hover-border-color)}input: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%)}input:disabled{cursor:not-allowed;color:var(--text-color-disabled);background:var(--antd-input-disabled-bg)}input.error{border-color:var(--antd-error-color)}input.error:hover{border-color:var(--antd-error-color)}input.error:focus{border-color:var(--antd-error-color)}input::placeholder{color:var(--antd-input-placeholder-color)}.large{height:38px;line-height:38px}.middle{height:30px;line-height:30px}.small{height:22px;line-height:22px}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".radioGruop{display:inline-block}.defaultRadio{position:relative;display:inline-block;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)}.defaultRadio .content{padding:0px 8px 0px 8px}.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{vertical-align:middle}.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}.disabledButtonRadio,\\n.disabledCustomRadio{cursor:not-allowed;background-color:var(--antd-input-disabled-bg)}.disabledIconRadio .content,\\n.disabledIconRadio .iconContent{color:var(--color-disabled-text)}.disabledIconRadio .content,\\n.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:-4px;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.middle{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, \".select{width:100%;margin:0;padding:0;color:var(--antd-text-color);font-size:14px;position:relative;display:inline-block;cursor:pointer}.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:4px}.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: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)}\", \"\"]);\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","defineElement","property","event","createDecorators","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","_dec5","_dec6","type","Boolean","_dec7","_dec8","_dec9","Number","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","attribute","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_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_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","size","minLength","maxLength","required","pattern","max","min","message","inputStyle","render","React","InputComponent","formElement","getFormElement","curElement","validateState","trigger","onInputChange","handleInputChange","_set_inputChangeEvent","_get_inputChangeEvent","props","className","classNames","error","style","onChange","e","target","c","_initClass","_applyDecs2203R","hiddenTextarea","_Textarea","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","_InputChangeEvent","_handleInputChange","Textarea","ReactNextElement","_get_InputChangeEvent2","_set_InputChangeEvent2","_init_autoSize","_init_textareaStyle","_init_InputChangeEvent","autoSize","textareaStyle","TextareaComponent","_set_InputChangeEvent","_get_InputChangeEvent","_ref","inputValue","setInputValue","useState","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","useEffect","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","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","_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","_FormItem","_dec18","_dec19","_dec20","_Q","_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","WrappedGeneralIcon","_changeEvent","_optionsChange","Radio","_get_optionsChange2","_set_optionsChange2","_get_changeEvent2","_set_changeEvent2","_init_options","_init_ui","_init_customStyle","_init_useBrick","_init_changeEvent","_init_optionsChange","Promise","resolve","then","ui","customStyle","useBrick","RadioComponent","_handleChange","optionsChange","_handleOptionsChange","_set_changeEvent","_get_changeEvent","_set_optionsChange","_get_optionsChange","setValue","dashboardRadioContainer","index","icon","iconName","iconLib","lib","iconStyle","key","isBoolean","htmlFor","disabledIconRadio","disabledCustomRadio","iconRadio","customRadio","specialIconRadio","defaultRadio","buttonRadio","id","handleChange","option","_props$onChange","stopPropagation","content","fontSize","ReactUseBrick","data","iconContent","circleIcon","squareIcon","title","buttonRadioCheck","disabledButtonRadio","marginRight","verticalAlign","_Select","WrappedTag","onCheck","onClose","WrappedIcon","Select","_init_multiple","_init_clearable","_init_dropdownStyle","findOption","_this$options","find","selectedOptions","Array","isArray","multiple","clearable","dropdownStyle","SelectComponent","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","onClick","focus","readOnly","theme","handleClear","_SubmitButtons","WrappedButton","_submitEvent","_cancelEvent","SubmitButtons","_get_cancelEvent2","_set_cancelEvent2","_get_submitEvent2","_set_submitEvent2","_init_submitText","_init_showCancelButton","_init_cancelText","_init_disableAfterClick","_init_submitDisabled","_init_submitType","_init_cancelType","_init_submitEvent","_init_cancelEvent","disableAfterClick","submitDisabled","submitText","showCancelButton","cancelText","submitType","cancelType","ButtonsComponent","onCancelClick","_handleCancelClick","onSubmitClick","_handleSubmitClick","_set_submitEvent","_get_submitEvent","_set_cancelEvent","_get_cancelEvent","_Checkbox","_checkboxChangeEvent","_handleCheckboxChange","Checkbox","_get_checkboxChangeEvent2","_set_checkboxChangeEvent2","_init_isCustom","_init_checkboxChangeEvent","isCustom","CheckboxComponent","_set_checkboxChangeEvent","_get_checkboxChangeEvent","setOptions","handleInputClick","_newValue","findIndex","i","splice","currentSelectOption","IconCheckbox","_props$value","disabledIconCheckbox","disabledIconCustomCheckbox","iconCheckbox","iconCustomCheckbox","inputBox","defaultChecked","_extends","text","CheckboxItem","position","alignItems","checkboxWrapper","_props$value2","checkboxLabel","checkboxLabelDisabled","cursor","checkboxColor","checkboxInputWrapper","checkboxInputWrapperDisabled","checkboxInputCheck","checkboxInput","checkboxInputDisabled","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","isEqual","_init_highlightTokenClickEvent","mode","showLineNumbers","maxLines","minLines","tabSize","printMargin","highlightActiveLine","showExportButton","showCopyButton","showExpandButton","exportFileName","jsonSchema","validateJsonSchemaMode","schemaRef","enableLiveAutocompletion","customCompleters","loadYamlInJsonMode","highlightTokens","CodeEditorComponent","onBlur","_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","setValues","handleRemoveItem","_props$onChange2","formWrapper","forms","querySelectorAll","every","ReactUseMultipleBricks","category","buttonStyle","width","handleAddItem","___CSS_LOADER_EXPORT___","module","receiver","privateSet","has","TypeError","obj","add"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[353,4512],{353:(e,r,t)=>{function n(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}}}function o(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return function(n,o){if(n.name===r){for(var s=[],i=1;i<=t;i++){var a=o[o.length-i];if("MemberExpression"===(null==a?void 0:a.node.type)&&"object"===a.key){var c=a.node;c.computed||"Identifier"!==c.property.type?c.computed&&"Literal"===c.property.type&&"string"==typeof c.property.value?s.push(c.property.value):e.hasNonStaticUsage=!0:s.push(c.property.name)}else e.hasNonStaticUsage=!0}s.length===t&&e.usedProperties.add(s.join("."))}}}t.r(r),t.d(r,{beforeVisitGlobalMember:()=>o,collectMemberUsage:()=>u,collectMemberUsageInFunction:()=>v,createProviderClass:()=>n,scanPermissionActionsInAny:()=>b,scanPermissionActionsInStoryboard:()=>h,strictCollectMemberUsage:()=>c,strictCollectMemberUsageInFunction:()=>d,track:()=>l,traverseStoryboardExpressions:()=>a,traverseStoryboardFunction:()=>f,traverseStoryboardFunctions:()=>p,unwrapProvider:()=>w});var s=t(9481),i=t(628);function a(e,r,t){var n=new WeakSet,{matchExpressionString:o,visitNotMatchedExpressionString:a,visitNonExpressionString:c,visitObject:u}="string"==typeof t?{matchExpressionString:e=>e.includes(t)}:t;!function e(t){if("string"==typeof t)if((0,s.isEvaluable)(t))if(o(t))try{(0,s.preevaluate)(t,{withParent:!0,hooks:{beforeVisitGlobal(e,n){r(e,n,t)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==a||a(t);else null==c||c(t);else if((0,i.isObject)(t)){if(n.has(t))return;for(var l of(n.add(t),null==u||u(t),Array.isArray(t)?t:Object.values(t)))e(l)}}(e)}function c(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{hasNonStaticUsage:n,nonStaticUsage:o,usedProperties:s}=u(e,r,t);if(n)throw new Error("Non-static usage of ".concat(r,' is not supported, check your expression: "').concat(o,'"'));return s}function u(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n={usedProperties:new Set,hasNonStaticUsage:!1},s=o(n,r,t);return a(e,((e,r,t)=>{s(e,r),n.hasNonStaticUsage&&(n.nonStaticUsage=t)}),r),n}function l(e,r,t){if(e.includes(r)){var n,i={usedProperties:new Set,hasNonStaticUsage:!1},{expression:a}=(0,s.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:o(i,t)}});if("SequenceExpression"===a.type&&(n=a.expressions[0])&&"Literal"===n.type&&n.value===r){if(i.usedProperties.size>0)return i.usedProperties;console.warn('You are using "'.concat(r,'" but no `').concat(t,"` usage found in your expression: ").concat(JSON.stringify(e)))}}return!1}function p(e,r){if(Array.isArray(e))for(var t of e)f(t,r)}function f(e,r){try{(0,s.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:r}})}catch(r){console.error('Parse storyboard function "'.concat(e.name,'" failed:'),r)}}function d(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{hasNonStaticUsage:n,usedProperties:o}=v(e,r,t);if(n)throw new Error("Non-static usage of ".concat(r,' is not supported, check your function: "').concat(e.name,'"'));return o}function v(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n={usedProperties:new Set,hasNonStaticUsage:!1};return f(e,o(n,r,t)),n.usedProperties.delete(e.name),n}var y="PERMISSIONS",g="check";function h(e){var r,t=new Set,n=m(t),{customTemplates:o,functions:s}=null!==(r=e.meta)&&void 0!==r?r:{};return a([e.routes,o],n,y),p(s,n),Array.from(t)}function b(e){var r=new Set;return a(e,m(r),y),Array.from(r)}function m(e){return function(r,t){if(r.name===y){var n=t[t.length-1],o=t[t.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==n?void 0:n.node.type)&&"object"===n.key&&(n.node.computed?"Literal"===n.node.property.type&&n.node.property.value===g:"Identifier"===n.node.property.type&&n.node.property.name===g))for(var s of o.node.arguments)"Literal"===s.type&&"string"==typeof s.value&&e.add(s.value)}}}var S=new Map;function w(e){return function(){for(var r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];var o=function(e){var r=S.get(e);return r||(r=document.createElement(e),S.set(e,r),r)}(e);return o.resolve(...t)}}}}]);
|
|
2
|
+
//# sourceMappingURL=353.94523d86.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/353.94523d86.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/createProviderClass.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/unwrapProvider.js"],"sourcesContent":["export function createProviderClass(api) {\n return class extends HTMLElement {\n get $$typeof() {\n return \"provider\";\n }\n resolve() {\n return api(...arguments);\n }\n };\n}\n//# sourceMappingURL=createProviderClass.js.map","export function beforeVisitGlobalMember(usage, objectName) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return function beforeVisitGlobal(node, parent) {\n if (node.name === objectName) {\n var segments = [];\n for (var i = 1; i <= level; i++) {\n var memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n var memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n var memo = new WeakSet();\n var {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 ? void 0 : visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 ? void 0 : visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 ? void 0 : visitObject(value);\n for (var item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(\"Non-static usage of \".concat(objectName, \" is not supported, check your expression: \\\"\").concat(nonStaticUsage, \"\\\"\"));\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n var beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n var usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n var {\n expression\n } = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n var trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"You are using \\\"\".concat(trackText, \"\\\" but no `\").concat(variableName, \"` usage found in your expression: \").concat(JSON.stringify(raw)));\n }\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal) {\n if (Array.isArray(functions)) {\n for (var fn of functions) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard function \\\"\".concat(fn.name, \"\\\" failed:\"), error);\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function strictCollectMemberUsageInFunction(fn, objectName) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var {\n hasNonStaticUsage,\n usedProperties\n } = collectMemberUsageInFunction(fn, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(\"Non-static usage of \".concat(objectName, \" is not supported, check your function: \\\"\").concat(fn.name, \"\\\"\"));\n }\n return usedProperties;\n}\nexport function collectMemberUsageInFunction(fn, objectName) {\n var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level));\n usage.usedProperties.delete(fn.name);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nvar PERMISSIONS = \"PERMISSIONS\";\nvar check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n var collection = new Set();\n var beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n var {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions);\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n var collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n var memberParent = parent[parent.length - 1];\n var callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (var arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","var pool = new Map();\nfunction getProviderBrick(provider) {\n var brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\nexport function unwrapProvider(provider) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var brick = getProviderBrick(provider);\n return brick.resolve(...args);\n };\n}\n//# sourceMappingURL=unwrapProvider.js.map"],"names":["createProviderClass","api","HTMLElement","$$typeof","resolve","arguments","beforeVisitGlobalMember","usage","objectName","level","length","undefined","node","parent","name","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","includes","traverse","isEvaluable","preevaluate","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","concat","Set","expr","track","raw","trackText","variableName","trackCtxExp","expression","expressions","size","warn","JSON","stringify","traverseStoryboardFunctions","functions","fn","traverseStoryboardFunction","precookFunction","source","typescript","strictCollectMemberUsageInFunction","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","callParent","arg","pool","Map","unwrapProvider","provider","_len","args","_key","brick","get","document","createElement","set","getProviderBrick"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[3914],{5202:(r,e,t)=>{t.r(e),t.d(e,{HttpAbortError:()=>m,HttpFetchError:()=>d,HttpParseError:()=>v,HttpResponseError:()=>f,createHttpInstance:()=>D,defaultAdapter:()=>x,fetch:()=>s,getUrlWithParams:()=>A,http:()=>q,isHttpAbortError:()=>P});var s=(r,e)=>{var t=new Request(r,Object.assign({credentials:"same-origin"},e));return self.fetch(t)},n=t(5866),o=t(3395),a=t(6666),i=t(687),h=t(6171),c=t(381),u=t(3028),p=t(2159),l=t(4795);class d extends Error{constructor(r){super(r),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,d)}}class f extends Error{constructor(r,e){super(r.statusText),(0,a.Z)(this,"response",void 0),(0,a.Z)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,f),this.response=r,this.responseJson=e}}class v extends Error{constructor(r){super(r.statusText),(0,a.Z)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,v),this.response=r}}class m extends Error{constructor(r){super(r),this.name="HttpAbortError"}}class E{constructor(){(0,a.Z)(this,"handlers",[])}use(r,e){return this.handlers.push({fulfilled:r,rejected:e}),this.handlers.length-1}eject(r){this.handlers[r]&&(this.handlers[r]=null)}forEach(r){this.handlers.forEach((e=>{null!==e&&r(e)}))}}var Z=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],y=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache","headers"],b=["body","method"];function g(r){return null==r}var T=document.querySelector("base"),w=T?T.href:location.origin+"/",P=r=>r instanceof DOMException&&20===r.code,k=(r,e)=>({error:r,config:e}),H=function(){var r=(0,l.Z)((function*(r,e,t){return new Promise(function(){var n=(0,l.Z)((function*(n,o){var a;t.url=r;var{responseType:i}=t.options||{};i||(i="json");try{a=yield s(r,e)}catch(r){return void o(k(P(r)?new m(r.toString()):new d(r.toString()),t))}if(a.ok){var h;try{h=yield a[i]()}catch(r){return void o(k(P(r)?new m(r.toString()):new v(a),t))}n({config:t,status:a.status,statusText:a.statusText,headers:a.headers,data:h})}else{var c;try{c=yield a.json()}catch(r){}o(k(new f(a,c),t))}}));return function(r,e){return n.apply(this,arguments)}}())}));return function(e,t,s){return r.apply(this,arguments)}}(),A=(r,e)=>{if(e){var t=new URL(r,w);e instanceof URLSearchParams?e.forEach((function(r,e){t.searchParams.append(e,r)})):Object.entries(e).forEach((r=>{var[e,s]=r;Array.isArray(s)?s.forEach((r=>{t.searchParams.append(e,g(r)?"":r)})):t.searchParams.append(e,g(s)?"":s)}));var{href:s}=t;return s.startsWith(w)?s.substr(w.length):s}return r},S=(r,e)=>{if(void 0!==r){var t=new Headers(e||{}),s="Content-Type",n=r;return t.has(s)||("string"==typeof r?t.set(s,"application/x-www-form-urlencoded"):r instanceof FormData||(t.set(s,"application/json"),n=JSON.stringify(r))),{body:n,headers:t}}return{headers:e}},x=r=>{var{url:e,method:t,data:s}=r;return["DELETE","GET","HEAD"].includes(r.method)?((r,e,t)=>{var s=t.options||{},{params:n,responseType:o,interceptorParams:a,observe:i,noAbortOnRouteChange:h,useCache:c}=s,l=(0,p.Z)(s,Z);return H(A(e,n),(0,u.Z)((0,u.Z)({},l),{},{method:r}),t)})(t,e,r):((r,e,t,s)=>{var n=s.options||{},{params:o,responseType:a,interceptorParams:i,observe:h,noAbortOnRouteChange:c,useCache:l,headers:d}=n,f=(0,p.Z)(n,y);return H(A(e,o),(0,u.Z)((0,u.Z)({},f),{},{method:r},S(t,d)),s)})(t,e,s,r)},C=new WeakMap,j=new WeakSet;class R{constructor(r){var e=this;(0,n.Z)(this,j),(0,a.Z)(this,"interceptors",void 0),(0,o.Z)(this,C,{writable:!0,value:x}),(0,a.Z)(this,"request",function(){var r=(0,l.Z)((function*(r,t,s){var n=t||{},{body:o,method:a}=n,i=(0,p.Z)(n,b);return(0,h.Z)(e,j,O).call(e,{url:r,data:o,method:a||"GET",options:(0,u.Z)((0,u.Z)({},s||{}),i)})}));return function(e,t,s){return r.apply(this,arguments)}}()),(0,a.Z)(this,"simpleRequest",(function(r,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,h.Z)(e,j,O).call(e,{url:t,method:r,options:s})})),(0,a.Z)(this,"requestWithBody",(function(r,t,s){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,h.Z)(e,j,O).call(e,{url:t,method:r,data:s,options:n})})),this.interceptors={request:new E,response:new E},null!=r&&r.adapter&&(0,c.Z)(this,C,r.adapter)}getUrlWithParams(r,e){return A(r,e)}getBodyAndHeaders(r,e){return S(r,e)}get(r,e){return(0,h.Z)(this,j,O).call(this,{url:r,method:"GET",options:e})}delete(r,e){return(0,h.Z)(this,j,O).call(this,{url:r,method:"DELETE",options:e})}head(r,e){return(0,h.Z)(this,j,O).call(this,{url:r,method:"HEAD",options:e})}post(r,e,t){return(0,h.Z)(this,j,O).call(this,{url:r,method:"POST",data:e,options:t})}put(r,e,t){return(0,h.Z)(this,j,O).call(this,{url:r,method:"PUT",data:e,options:t})}patch(r,e,t){return(0,h.Z)(this,j,O).call(this,{url:r,method:"PATCH",data:e,options:t})}}function O(r){var e=[],t=Promise.resolve(r);for(this.interceptors.request.forEach((r=>{e.push(r.fulfilled,r.rejected)})),e.push((r=>(0,i.Z)(this,C).call(this,r)),void 0),this.interceptors.response.forEach((r=>{e.push(r.fulfilled,r.rejected)})),e.push((r=>{var e;return"response"===(null===(e=r.config.options)||void 0===e?void 0:e.observe)?r:r.data}),(r=>Promise.reject(r.error)));e.length;)t=t.then(e.shift(),e.shift());return t}var q=new R;function D(r){q=new R(r)}}}]);
|
|
2
|
+
//# sourceMappingURL=3914.2e2d5e08.js.map
|