@flatbiz/antd 4.4.25 → 4.4.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm/ace-editor-groovy/index.js +1 -1
  2. package/esm/ace-editor-groovy/index.js.map +1 -1
  3. package/esm/ace-editor-java/index.js +1 -1
  4. package/esm/ace-editor-java/index.js.map +1 -1
  5. package/esm/ace-editor-json/index.js +1 -1
  6. package/esm/ace-editor-json/index.js.map +1 -1
  7. package/esm/ace-editor-mysql/index.js +1 -1
  8. package/esm/ace-editor-mysql/index.js.map +1 -1
  9. package/esm/ace-editor-xml/index.js +1 -1
  10. package/esm/ace-editor-xml/index.js.map +1 -1
  11. package/esm/box-grid/index.js +1 -1
  12. package/esm/box-grid/index.js.map +1 -1
  13. package/esm/dialog-drawer/index.js +1 -1
  14. package/esm/dialog-drawer/index.js.map +1 -1
  15. package/esm/drag-form-list/index.js +1 -1
  16. package/esm/editable-field/index.js +1 -1
  17. package/esm/editable-field-provider/index.js +1 -1
  18. package/esm/fba-app/index.js +1 -1
  19. package/esm/fba-app/index.js.map +1 -1
  20. package/esm/fba-hooks/index.js +1 -1
  21. package/esm/form-item-text/index.js +1 -1
  22. package/esm/index.js +1 -1
  23. package/esm/input-search-wrapper/index.js +1 -1
  24. package/esm/json-editor/index.js +1 -1
  25. package/esm/json-editor/index.js.map +1 -1
  26. package/esm/label-value-render/index.js +1 -1
  27. package/esm/label-value-render/index.js.map +1 -1
  28. package/esm/mention-editor/index.js +1 -1
  29. package/esm/mentions-wrapper/index.js +1 -1
  30. package/esm/selector-wrapper/index.js +1 -1
  31. package/esm/selector-wrapper-search/index.js +1 -1
  32. package/esm/selector-wrapper-simple/index.js +1 -1
  33. package/esm/switch-confirm-wrapper/index.js +1 -1
  34. package/esm/table-cell-render/index.js +1 -1
  35. package/esm/table-scrollbar/index.js +1 -1
  36. package/esm/tag-wrapper/index.js +1 -1
  37. package/esm/upload-wrapper/index.js +1 -1
  38. package/index.d.ts +10 -0
  39. package/package.json +3 -1
  40. package/esm/ext-language_tools-0c27f877.js +0 -3
  41. package/esm/ext-language_tools-0c27f877.js.map +0 -1
  42. package/esm/mode-json-062fdb24.js +0 -3
  43. package/esm/mode-json-062fdb24.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/node_modules/ace-builds/src-noconflict/mode-xml.js","@flatbiz/antd/node_modules/ace-builds/src-noconflict/snippets/xml.js","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n console.log(xmlDoc.getElementsByTagName('parsererror'));\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","ace.define(\"ace/mode/xml_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar TextHighlightRules = require(\"./text_highlight_rules\").TextHighlightRules;\nvar XmlHighlightRules = function (normalize) {\n var tagRegex = \"[_:a-zA-Z\\xc0-\\uffff][-_:.a-zA-Z0-9\\xc0-\\uffff]*\";\n this.$rules = {\n start: [\n { token: \"string.cdata.xml\", regex: \"<\\\\!\\\\[CDATA\\\\[\", next: \"cdata\" },\n {\n token: [\"punctuation.instruction.xml\", \"keyword.instruction.xml\"],\n regex: \"(<\\\\?)(\" + tagRegex + \")\", next: \"processing_instruction\"\n },\n { token: \"comment.start.xml\", regex: \"<\\\\!--\", next: \"comment\" },\n {\n token: [\"xml-pe.doctype.xml\", \"xml-pe.doctype.xml\"],\n regex: \"(<\\\\!)(DOCTYPE)(?=[\\\\s])\", next: \"doctype\", caseInsensitive: true\n },\n { include: \"tag\" },\n { token: \"text.end-tag-open.xml\", regex: \"</\" },\n { token: \"text.tag-open.xml\", regex: \"<\" },\n { include: \"reference\" },\n { defaultToken: \"text.xml\" }\n ],\n processing_instruction: [{\n token: \"entity.other.attribute-name.decl-attribute-name.xml\",\n regex: tagRegex\n }, {\n token: \"keyword.operator.decl-attribute-equals.xml\",\n regex: \"=\"\n }, {\n include: \"whitespace\"\n }, {\n include: \"string\"\n }, {\n token: \"punctuation.xml-decl.xml\",\n regex: \"\\\\?>\",\n next: \"start\"\n }],\n doctype: [\n { include: \"whitespace\" },\n { include: \"string\" },\n { token: \"xml-pe.doctype.xml\", regex: \">\", next: \"start\" },\n { token: \"xml-pe.xml\", regex: \"[-_a-zA-Z0-9:]+\" },\n { token: \"punctuation.int-subset\", regex: \"\\\\[\", push: \"int_subset\" }\n ],\n int_subset: [{\n token: \"text.xml\",\n regex: \"\\\\s+\"\n }, {\n token: \"punctuation.int-subset.xml\",\n regex: \"]\",\n next: \"pop\"\n }, {\n token: [\"punctuation.markup-decl.xml\", \"keyword.markup-decl.xml\"],\n regex: \"(<\\\\!)(\" + tagRegex + \")\",\n push: [{\n token: \"text\",\n regex: \"\\\\s+\"\n },\n {\n token: \"punctuation.markup-decl.xml\",\n regex: \">\",\n next: \"pop\"\n },\n { include: \"string\" }]\n }],\n cdata: [\n { token: \"string.cdata.xml\", regex: \"\\\\]\\\\]>\", next: \"start\" },\n { token: \"text.xml\", regex: \"\\\\s+\" },\n { token: \"text.xml\", regex: \"(?:[^\\\\]]|\\\\](?!\\\\]>))+\" }\n ],\n comment: [\n { token: \"comment.end.xml\", regex: \"-->\", next: \"start\" },\n { defaultToken: \"comment.xml\" }\n ],\n reference: [{\n token: \"constant.language.escape.reference.xml\",\n regex: \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n attr_reference: [{\n token: \"constant.language.escape.reference.attribute-value.xml\",\n regex: \"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\\\.-]+;)\"\n }],\n tag: [{\n token: [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.tag-name.xml\"],\n regex: \"(?:(<)|(</))((?:\" + tagRegex + \":)?\" + tagRegex + \")\",\n next: [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: \"start\" }\n ]\n }],\n tag_whitespace: [\n { token: \"text.tag-whitespace.xml\", regex: \"\\\\s+\" }\n ],\n whitespace: [\n { token: \"text.whitespace.xml\", regex: \"\\\\s+\" }\n ],\n string: [{\n token: \"string.xml\",\n regex: \"'\",\n push: [\n { token: \"string.xml\", regex: \"'\", next: \"pop\" },\n { defaultToken: \"string.xml\" }\n ]\n }, {\n token: \"string.xml\",\n regex: '\"',\n push: [\n { token: \"string.xml\", regex: '\"', next: \"pop\" },\n { defaultToken: \"string.xml\" }\n ]\n }],\n attributes: [{\n token: \"entity.other.attribute-name.xml\",\n regex: tagRegex\n }, {\n token: \"keyword.operator.attribute-equals.xml\",\n regex: \"=\"\n }, {\n include: \"tag_whitespace\"\n }, {\n include: \"attribute_value\"\n }],\n attribute_value: [{\n token: \"string.attribute-value.xml\",\n regex: \"'\",\n push: [\n { token: \"string.attribute-value.xml\", regex: \"'\", next: \"pop\" },\n { include: \"attr_reference\" },\n { defaultToken: \"string.attribute-value.xml\" }\n ]\n }, {\n token: \"string.attribute-value.xml\",\n regex: '\"',\n push: [\n { token: \"string.attribute-value.xml\", regex: '\"', next: \"pop\" },\n { include: \"attr_reference\" },\n { defaultToken: \"string.attribute-value.xml\" }\n ]\n }]\n };\n if (this.constructor === XmlHighlightRules)\n this.normalizeRules();\n};\n(function () {\n this.embedTagRules = function (HighlightRules, prefix, tag) {\n this.$rules.tag.unshift({\n token: [\"meta.tag.punctuation.tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex: \"(<)(\" + tag + \"(?=\\\\s|>|$))\",\n next: [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: prefix + \"start\" }\n ]\n });\n this.$rules[tag + \"-end\"] = [\n { include: \"attributes\" },\n { token: \"meta.tag.punctuation.tag-close.xml\", regex: \"/?>\", next: \"start\",\n onMatch: function (value, currentState, stack) {\n stack.splice(0);\n return this.token;\n } }\n ];\n this.embedRules(HighlightRules, prefix, [{\n token: [\"meta.tag.punctuation.end-tag-open.xml\", \"meta.tag.\" + tag + \".tag-name.xml\"],\n regex: \"(</)(\" + tag + \"(?=\\\\s|>|$))\",\n next: tag + \"-end\"\n }, {\n token: \"string.cdata.xml\",\n regex: \"<\\\\!\\\\[CDATA\\\\[\"\n }, {\n token: \"string.cdata.xml\",\n regex: \"\\\\]\\\\]>\"\n }]);\n };\n}).call(TextHighlightRules.prototype);\noop.inherits(XmlHighlightRules, TextHighlightRules);\nexports.XmlHighlightRules = XmlHighlightRules;\n\n});\n\nace.define(\"ace/mode/behaviour/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Behaviour = require(\"../behaviour\").Behaviour;\nvar TokenIterator = require(\"../../token_iterator\").TokenIterator;\nvar lang = require(\"../../lib/lang\");\nfunction is(token, type) {\n return token && token.type.lastIndexOf(type + \".xml\") > -1;\n}\nvar XmlBehaviour = function () {\n this.add(\"string_dquotes\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '\"' || text == \"'\") {\n var quote = text;\n var selected = session.doc.getTextRange(editor.getSelectionRange());\n if (selected !== \"\" && selected !== \"'\" && selected != '\"' && editor.getWrapBehavioursEnabled()) {\n return {\n text: quote + selected + quote,\n selection: false\n };\n }\n var cursor = editor.getCursorPosition();\n var line = session.doc.getLine(cursor.row);\n var rightChar = line.substring(cursor.column, cursor.column + 1);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (rightChar == quote && (is(token, \"attribute-value\") || is(token, \"string\"))) {\n return {\n text: \"\",\n selection: [1, 1]\n };\n }\n if (!token)\n token = iterator.stepBackward();\n if (!token)\n return;\n while (is(token, \"tag-whitespace\") || is(token, \"whitespace\")) {\n token = iterator.stepBackward();\n }\n var rightSpace = !rightChar || rightChar.match(/\\s/);\n if (is(token, \"attribute-equals\") && (rightSpace || rightChar == '>') || (is(token, \"decl-attribute-equals\") && (rightSpace || rightChar == '?'))) {\n return {\n text: quote + quote,\n selection: [1, 1]\n };\n }\n }\n });\n this.add(\"string_dquotes\", \"deletion\", function (state, action, editor, session, range) {\n var selected = session.doc.getTextRange(range);\n if (!range.isMultiLine() && (selected == '\"' || selected == \"'\")) {\n var line = session.doc.getLine(range.start.row);\n var rightChar = line.substring(range.start.column + 1, range.start.column + 2);\n if (rightChar == selected) {\n range.end.column++;\n return range;\n }\n }\n });\n this.add(\"autoclosing\", \"insertion\", function (state, action, editor, session, text) {\n if (text == '>') {\n var position = editor.getSelectionRange().start;\n var iterator = new TokenIterator(session, position.row, position.column);\n var token = iterator.getCurrentToken() || iterator.stepBackward();\n if (!token || !(is(token, \"tag-name\") || is(token, \"tag-whitespace\") || is(token, \"attribute-name\") || is(token, \"attribute-equals\") || is(token, \"attribute-value\")))\n return;\n if (is(token, \"reference.attribute-value\"))\n return;\n if (is(token, \"attribute-value\")) {\n var tokenEndColumn = iterator.getCurrentTokenColumn() + token.value.length;\n if (position.column < tokenEndColumn)\n return;\n if (position.column == tokenEndColumn) {\n var nextToken = iterator.stepForward();\n if (nextToken && is(nextToken, \"attribute-value\"))\n return;\n iterator.stepBackward();\n }\n }\n if (/^\\s*>/.test(session.getLine(position.row).slice(position.column)))\n return;\n while (!is(token, \"tag-name\")) {\n token = iterator.stepBackward();\n if (token.value == \"<\") {\n token = iterator.stepForward();\n break;\n }\n }\n var tokenRow = iterator.getCurrentTokenRow();\n var tokenColumn = iterator.getCurrentTokenColumn();\n if (is(iterator.stepBackward(), \"end-tag-open\"))\n return;\n var element = token.value;\n if (tokenRow == position.row)\n element = element.substring(0, position.column - tokenColumn);\n if (this.voidElements.hasOwnProperty(element.toLowerCase()))\n return;\n return {\n text: \">\" + \"</\" + element + \">\",\n selection: [1, 1]\n };\n }\n });\n this.add(\"autoindent\", \"insertion\", function (state, action, editor, session, text) {\n if (text == \"\\n\") {\n var cursor = editor.getCursorPosition();\n var line = session.getLine(cursor.row);\n var iterator = new TokenIterator(session, cursor.row, cursor.column);\n var token = iterator.getCurrentToken();\n if (token && token.type.indexOf(\"tag-close\") !== -1) {\n if (token.value == \"/>\")\n return;\n while (token && token.type.indexOf(\"tag-name\") === -1) {\n token = iterator.stepBackward();\n }\n if (!token) {\n return;\n }\n var tag = token.value;\n var row = iterator.getCurrentTokenRow();\n token = iterator.stepBackward();\n if (!token || token.type.indexOf(\"end-tag\") !== -1) {\n return;\n }\n if (this.voidElements && !this.voidElements[tag]) {\n var nextToken = session.getTokenAt(cursor.row, cursor.column + 1);\n var line = session.getLine(row);\n var nextIndent = this.$getIndent(line);\n var indent = nextIndent + session.getTabString();\n if (nextToken && nextToken.value === \"</\") {\n return {\n text: \"\\n\" + indent + \"\\n\" + nextIndent,\n selection: [1, indent.length, 1, indent.length]\n };\n }\n else {\n return {\n text: \"\\n\" + indent\n };\n }\n }\n }\n }\n });\n};\noop.inherits(XmlBehaviour, Behaviour);\nexports.XmlBehaviour = XmlBehaviour;\n\n});\n\nace.define(\"ace/mode/folding/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../../lib/oop\");\nvar Range = require(\"../../range\").Range;\nvar BaseFoldMode = require(\"./fold_mode\").FoldMode;\nvar FoldMode = exports.FoldMode = function (voidElements, optionalEndTags) {\n BaseFoldMode.call(this);\n this.voidElements = voidElements || {};\n this.optionalEndTags = oop.mixin({}, this.voidElements);\n if (optionalEndTags)\n oop.mixin(this.optionalEndTags, optionalEndTags);\n};\noop.inherits(FoldMode, BaseFoldMode);\nvar Tag = function () {\n this.tagName = \"\";\n this.closing = false;\n this.selfClosing = false;\n this.start = { row: 0, column: 0 };\n this.end = { row: 0, column: 0 };\n};\nfunction is(token, type) {\n return token.type.lastIndexOf(type + \".xml\") > -1;\n}\n(function () {\n this.getFoldWidget = function (session, foldStyle, row) {\n var tag = this._getFirstTagInLine(session, row);\n if (!tag)\n return this.getCommentFoldWidget(session, row);\n if (tag.closing || (!tag.tagName && tag.selfClosing))\n return foldStyle === \"markbeginend\" ? \"end\" : \"\";\n if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))\n return \"\";\n if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))\n return \"\";\n return \"start\";\n };\n this.getCommentFoldWidget = function (session, row) {\n if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))\n return \"start\";\n return \"\";\n };\n this._getFirstTagInLine = function (session, row) {\n var tokens = session.getTokens(row);\n var tag = new Tag();\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (is(token, \"tag-open\")) {\n tag.end.column = tag.start.column + token.value.length;\n tag.closing = is(token, \"end-tag-open\");\n token = tokens[++i];\n if (!token)\n return null;\n tag.tagName = token.value;\n tag.end.column += token.value.length;\n for (i++; i < tokens.length; i++) {\n token = tokens[i];\n tag.end.column += token.value.length;\n if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n break;\n }\n }\n return tag;\n }\n else if (is(token, \"tag-close\")) {\n tag.selfClosing = token.value == '/>';\n return tag;\n }\n tag.start.column += token.value.length;\n }\n return null;\n };\n this._findEndTagInLine = function (session, row, tagName, startColumn) {\n var tokens = session.getTokens(row);\n var column = 0;\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n column += token.value.length;\n if (column < startColumn)\n continue;\n if (is(token, \"end-tag-open\")) {\n token = tokens[i + 1];\n if (token && token.value == tagName)\n return true;\n }\n }\n return false;\n };\n this.getFoldWidgetRange = function (session, foldStyle, row) {\n var tags = session.getMatchingTags({ row: row, column: 0 });\n if (tags) {\n return new Range(tags.openTag.end.row, tags.openTag.end.column, tags.closeTag.start.row, tags.closeTag.start.column);\n }\n else {\n return this.getCommentFoldWidget(session, row)\n && session.getCommentFoldRange(row, session.getLine(row).length);\n }\n };\n}).call(FoldMode.prototype);\n\n});\n\nace.define(\"ace/mode/xml\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/mode/text\",\"ace/mode/xml_highlight_rules\",\"ace/mode/behaviour/xml\",\"ace/mode/folding/xml\",\"ace/worker/worker_client\"], function(require, exports, module){\"use strict\";\nvar oop = require(\"../lib/oop\");\nvar lang = require(\"../lib/lang\");\nvar TextMode = require(\"./text\").Mode;\nvar XmlHighlightRules = require(\"./xml_highlight_rules\").XmlHighlightRules;\nvar XmlBehaviour = require(\"./behaviour/xml\").XmlBehaviour;\nvar XmlFoldMode = require(\"./folding/xml\").FoldMode;\nvar WorkerClient = require(\"../worker/worker_client\").WorkerClient;\nvar Mode = function () {\n this.HighlightRules = XmlHighlightRules;\n this.$behaviour = new XmlBehaviour();\n this.foldingRules = new XmlFoldMode();\n};\noop.inherits(Mode, TextMode);\n(function () {\n this.voidElements = lang.arrayToMap([]);\n this.blockComment = { start: \"<!--\", end: \"-->\" };\n this.createWorker = function (session) {\n var worker = new WorkerClient([\"ace\"], \"ace/mode/xml_worker\", \"Worker\");\n worker.attachToDocument(session.getDocument());\n worker.on(\"error\", function (e) {\n session.setAnnotations(e.data);\n });\n worker.on(\"terminate\", function () {\n session.clearAnnotations();\n });\n return worker;\n };\n this.$id = \"ace/mode/xml\";\n}).call(Mode.prototype);\nexports.Mode = Mode;\n\n}); (function() {\n ace.require([\"ace/mode/xml\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n ","\n; (function() {\n ace.require([\"ace/snippets/xml\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n ","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport xmlFormat from 'xml-formatter';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\nimport { validateXML } from './validate-xml';\n\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-xml';\nimport 'ace-builds/src-noconflict/snippets/xml';\n\nexport type AceEditorXmlProps = Omit<IAceEditorProps, 'mode' | 'value' | 'onChange' | 'theme'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(xmlFormat(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证数据\n </ButtonWrapper>\n {errorMsg ? (\n <span style={{ color: 'red' }} dangerouslySetInnerHTML={{ __html: errorMsg }}></span>\n ) : null}\n </Space>\n );\n\n return (\n <FlexLayout fullIndex={0} className=\"ace-editor-xml\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"ace-editor-xml-footer\" style={{ marginTop: 10, ...props.footerStyle }}>\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","console","log","innerHTML","message","result","ace","define","require","exports","module","oop","TextHighlightRules","XmlHighlightRules","normalize","tagRegex","this","$rules","start","token","regex","next","caseInsensitive","include","defaultToken","processing_instruction","doctype","push","int_subset","cdata","comment","reference","attr_reference","tag","tag_whitespace","whitespace","string","attributes","attribute_value","constructor","normalizeRules","embedTagRules","HighlightRules","prefix","unshift","onMatch","value","currentState","stack","splice","embedRules","call","prototype","inherits","Behaviour","TokenIterator","is","type","lastIndexOf","XmlBehaviour","add","state","action","editor","session","text","quote","selected","doc","getTextRange","getSelectionRange","getWrapBehavioursEnabled","selection","cursor","getCursorPosition","getLine","row","rightChar","substring","column","iterator","getCurrentToken","stepBackward","rightSpace","match","range","isMultiLine","end","position","tokenEndColumn","getCurrentTokenColumn","nextToken","stepForward","test","slice","tokenRow","getCurrentTokenRow","tokenColumn","element","voidElements","hasOwnProperty","toLowerCase","indexOf","getTokenAt","nextIndent","$getIndent","indent","getTabString","Range","BaseFoldMode","FoldMode","optionalEndTags","mixin","Tag","tagName","closing","selfClosing","getFoldWidget","foldStyle","_getFirstTagInLine","getCommentFoldWidget","_findEndTagInLine","getState","tokens","getTokens","i","startColumn","getFoldWidgetRange","tags","getMatchingTags","openTag","closeTag","getCommentFoldRange","lang","TextMode","Mode","XmlFoldMode","WorkerClient","$behaviour","foldingRules","arrayToMap","blockComment","createWorker","worker","attachToDocument","getDocument","on","e","setAnnotations","data","clearAnnotations","$id","m","AceEditorXml","props","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","current","findIndex","completers","id","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/ace-editor-xml/validate-xml.ts","@flatbiz/antd/src/ace-editor-xml/editor.tsx"],"sourcesContent":["/**\n * 验证xml格式的正确性\n * ```\n * result / true 验证通过\n * result / false 验证不通过,message为失败描述(使用富文本渲染)\n * ```\n */\nexport const validateXML = (xmlContent: string) => {\n // errorCode 0是xml正确,1是xml错误,2是无法验证\n let errorCode = 0;\n let errorMessage;\n // code for IE\n if (window['ActiveXObject']) {\n const xmlDoc = new window['ActiveXObject']('Microsoft.XMLDOM');\n xmlDoc.async = 'false';\n xmlDoc.loadXML(xmlContent);\n\n if (xmlDoc.parseError.errorCode != 0) {\n errorMessage = `错误code: ${xmlDoc.parseError.errorCode} \\n`;\n errorMessage = `${errorMessage} 错误原因: ${xmlDoc.parseError.reason} \\n`;\n errorMessage = `${errorMessage} 错误位置: ${xmlDoc.parseError.line}`;\n errorCode = 1;\n } else {\n errorMessage = '格式正确';\n }\n }\n // code for Mozilla, Firefox, Opera, chrome, safari,etc.\n else if (document.implementation['createDocument']) {\n const parser = new DOMParser();\n const xmlDoc = parser.parseFromString(xmlContent, 'text/xml');\n const error = xmlDoc.getElementsByTagName('parsererror');\n if (error.length > 0) {\n if (xmlDoc.documentElement.nodeName == 'parsererror') {\n errorCode = 1;\n errorMessage = xmlDoc.documentElement.childNodes[0].nodeValue;\n } else {\n errorCode = 1;\n console.log(xmlDoc.getElementsByTagName('parsererror'));\n errorMessage = xmlDoc.getElementsByTagName('parsererror')[0].innerHTML;\n }\n } else {\n errorMessage = '格式正确';\n }\n } else {\n errorCode = 2;\n errorMessage = '浏览器不支持验证,无法验证xml正确性';\n }\n return {\n message: errorMessage,\n result: errorCode == 0 ? true : false,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { isUndefinedOrNull, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\n\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, useMemo, useRef, useState } from 'react';\nimport Ace, { type IAceEditorProps } from 'react-ace';\nimport xmlFormat from 'xml-formatter';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { ErrorBoundaryWrapper } from '../error-boundary-wrapper';\nimport { FlexLayout } from '../flex-layout';\nimport { validateXML } from './validate-xml';\n\nimport 'ace-builds/src-noconflict/ext-language_tools';\nimport 'ace-builds/src-noconflict/mode-xml';\nimport 'ace-builds/src-noconflict/snippets/xml';\n\nexport type AceEditorXmlProps = Omit<IAceEditorProps, 'mode' | 'value' | 'onChange' | 'theme'> & {\n /** 编辑器高度,默认值:100%,可输入值例如 300px、100% */\n height?: string;\n value?: string | TPlainObject | TPlainObject[];\n onChange?: (value?: string | TPlainObject | TPlainObject[]) => void;\n /** 配置输入自动提示关键字 */\n autoCompleterList?: { name: string; desc?: string }[];\n /** 隐藏【验证数据】按钮 */\n hiddenVerifyBtn?: boolean;\n /** 是否隐藏内部验证异常文案 */\n hiddenErrorMsg?: boolean;\n /** 隐藏【美化】按钮 */\n hiddenFormatterBtn?: boolean;\n /**\n * 编辑器主题配置,例如:github、terminal、xcode\n * ```\n * 1. 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 2. 配置 theme = xxxx\n * ```\n */\n theme?: string;\n /** 底部额外布局 */\n footerExtraRender?: (children: ReactElement) => ReactElement;\n footerStyle?: CSSProperties;\n};\n\n/**\n * xml编辑器\n * ```\n * 1. 受控组件,需要使用value、onChange配合显示数据\n * 2. heigth 默认为100%,如果外层无高度,需要自定义设置height属性\n * 3. 通过 autoCompleterList 配置自动提示关键字\n * 4. 通过 hiddenVerifyBtn、hiddenFormatterBtn可隐藏底部操作按钮\n * 5. 通过 theme 配置编辑器主题,例如:\n * 5.1 顶部引入 import 'ace-builds/src-noconflict/theme-xxxx';\n * 5.2 配置 theme = xxxx\n * ```\n */\nexport const AceEditorXml = (props: AceEditorXmlProps) => {\n const {\n value,\n onChange,\n height,\n hiddenVerifyBtn,\n hiddenFormatterBtn,\n autoCompleterList,\n onLoad,\n hiddenErrorMsg,\n ...otherProps\n } = props;\n const heightFt = isUndefinedOrNull(height) ? '100%' : height;\n\n const [rootNodekey, setRootNodekey] = useState(Date.now());\n const [errorMsg, setErrorMsg] = useState<string>();\n\n const editorRef = useRef<TAny>();\n\n const valueNew = useMemo(() => {\n if (isObject(value)) {\n return JSON.stringify(value, null, 2);\n }\n return value as string | undefined;\n }, [value]);\n\n const handleChange = hooks.useCallbackRef((content: string) => {\n if (errorMsg) {\n setErrorMsg(undefined);\n }\n onChange?.(content);\n });\n\n const getCompletions = hooks.useCallbackRef((_a, _b, _c, _d, callback) => {\n callback(\n null,\n autoCompleterList?.map((item) => ({\n name: item.name,\n value: item.name,\n // score: 100,\n meta: item.desc,\n })),\n );\n });\n\n const onLoadHandle = (editor) => {\n editorRef.current = editor;\n /** 向编辑器中添加自动补全列表 */\n const findIndex = editor.completers.findIndex((item) => item.id === 'custom');\n if (findIndex >= 0) {\n editor.completers[findIndex] = { getCompletions, id: 'custom' };\n } else {\n editor.completers.push({ getCompletions, id: 'custom' });\n }\n onLoad?.(editor);\n };\n\n const inputValueVerify = (inputValue: string) => {\n const result = validateXML(inputValue);\n if (result.result) {\n onChange?.(inputValue);\n } else {\n setErrorMsg(result.message);\n }\n };\n\n const footer = (\n <Space style={{ alignItems: 'flex-start' }}>\n <ButtonWrapper\n hidden={hiddenFormatterBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n onChange?.(xmlFormat(currentValue || ''));\n }}\n >\n 美化\n </ButtonWrapper>\n <ButtonWrapper\n hidden={hiddenVerifyBtn === true}\n type=\"primary\"\n ghost\n onClick={() => {\n const currentValue = editorRef.current?.getValue();\n if (!currentValue) {\n onChange?.(currentValue);\n return;\n }\n inputValueVerify(currentValue);\n }}\n >\n 验证&格式化数据\n </ButtonWrapper>\n {!hiddenErrorMsg && errorMsg ? (\n <span style={{ color: 'red' }} dangerouslySetInnerHTML={{ __html: errorMsg }}></span>\n ) : null}\n </Space>\n );\n\n return (\n <FlexLayout fullIndex={0} className=\"ace-editor-xml\" key={rootNodekey} style={{ height: heightFt }}>\n <div className=\"aex-content\">\n <ErrorBoundaryWrapper\n onRenderReset={() => {\n onChange?.(undefined);\n setRootNodekey(Date.now());\n }}\n >\n <Ace\n fontSize={14}\n showPrintMargin={true}\n showGutter={true}\n highlightActiveLine={true}\n height=\"100%\"\n width=\"auto\"\n placeholder=\"请输入\"\n {...otherProps}\n setOptions={{\n useWorker: false,\n enableBasicAutocompletion: false,\n enableLiveAutocompletion: true,\n enableSnippets: false,\n showLineNumbers: true,\n tabSize: 2,\n ...otherProps.setOptions,\n }}\n mode=\"xml\"\n onLoad={onLoadHandle}\n onChange={handleChange}\n onBlur={(_event, editor) => {\n const value = editor?.getValue();\n if (value) {\n inputValueVerify(value);\n }\n }}\n value={valueNew}\n />\n </ErrorBoundaryWrapper>\n </div>\n <div className=\"ace-editor-xml-footer\" style={{ marginTop: 10, ...props.footerStyle }}>\n {props.footerExtraRender ? props.footerExtraRender(footer) : footer}\n </div>\n </FlexLayout>\n );\n};\n"],"names":["validateXML","xmlContent","errorCode","errorMessage","window","xmlDoc","async","loadXML","parseError","reason","line","document","implementation","parser","DOMParser","parseFromString","error","getElementsByTagName","length","documentElement","nodeName","childNodes","nodeValue","console","log","innerHTML","message","result","AceEditorXml","props","value","onChange","height","hiddenVerifyBtn","hiddenFormatterBtn","autoCompleterList","onLoad","hiddenErrorMsg","otherProps","_objectWithoutPropertiesLoose","_excluded","heightFt","isUndefinedOrNull","_useState","useState","Date","now","rootNodekey","setRootNodekey","_useState2","errorMsg","setErrorMsg","editorRef","useRef","valueNew","useMemo","_isObject","JSON","stringify","handleChange","_hooks","useCallbackRef","content","undefined","getCompletions","_a","_b","_c","_d","callback","map","item","name","meta","desc","onLoadHandle","editor","current","findIndex","completers","id","push","inputValueVerify","inputValue","footer","_jsxs","Space","style","alignItems","children","_jsx","ButtonWrapper","hidden","type","ghost","onClick","_editorRef$current","currentValue","getValue","xmlFormat","_editorRef$current2","color","dangerouslySetInnerHTML","__html","FlexLayout","fullIndex","className","ErrorBoundaryWrapper","onRenderReset","Ace","_extends","fontSize","showPrintMargin","showGutter","highlightActiveLine","width","placeholder","setOptions","useWorker","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","mode","onBlur","_event","marginTop","footerStyle","footerExtraRender"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createContext as a,useContext as t,useMemo as n,useRef as i,useState as l,useEffect as o}from"react";import{jsx as s}from"react/jsx-runtime";import{isNumber as u}from"@dimjs/lang/cjs/is-number";import{useSize as c}from"ahooks";var d={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var v={xs:8,sm:16,md:16,lg:24,xl:24,xxl:32};var f={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"};var p={start:"flex-start",end:"flex-end",center:"center","space-around":"space-around","space-between":"space-between","space-evenly":"space-evenly"};var m={boxBreakpoint:"lg",defaultGrid:d,horizontalGap:10,verticalGap:10};var x=a(m);var g=function a(i){var l=i.children,o=i.className,u=i.style;var c=t(x),d=c.defaultGrid,v=c.horizontalGap,f=c.boxBreakpoint;var p=n((function(){return i.span||i[f||"lg"]||(d==null?void 0:d[f||"lg"])||8}),[i,f,d]);return s("div",{className:e(o,"box-grad-col"),style:r({},u,{flex:"0 0 "+p/24*100+"%",maxWidth:p/24*100+"%",padding:"0 "+v/2+"px"}),children:l})};g["domTypeName"]="BoxGridCol";var h=function r(e){var a=c(e)||{},t=a.width;var i=n((function(){var r=t||(e==null?void 0:e.clientWidth);if(!r){return"lg"}if(r>=1600){return"xxl"}else if(r>=1200){return"xl"}else if(r>=992){return"lg"}else if(r>=768){return"md"}else if(r>=576){return"sm"}else{return"xs"}}),[t]);return{boxBreakpoint:i,isInit:!!t}};var G=function e(a,t){if(a===void 0){a=v}return n((function(){var e;var n;var i=function e(a){if(typeof a==="number"){return a}if(typeof a==="object"){return r({},v,a)[t]}};if(Array.isArray(a)){var l=a,o=l[0],s=l[1];e=i(o);n=i(s)}else{e=i(a);n=m.verticalGap}return{horizontalGap:u(e)?e:m.horizontalGap,verticalGap:u(n)?n:m.verticalGap}}),[a,t])};var b=function a(t){var n=t.defaultGrid,u=n===void 0?d:n,c=t.children,v=t.className,g=t.style,b=t.gutter,y=t.align,B=t.justify,j=t.onBoxBreakpointChange;var k=i(null);var w=h(k),z=w.boxBreakpoint;var N=G(b,z),C=N.horizontalGap,R=N.verticalGap;var A=l(true),I=A[0],M=A[1];o((function(){M(false)}),[z]);o((function(){j==null?void 0:j(z)}),[z]);return s(x.Provider,{value:r({},m,{defaultGrid:r({},d,u),boxBreakpoint:z,horizontalGap:C,verticalGap:R}),children:s("div",{className:e("box-grad-root",v),ref:k,style:g,children:s("div",{className:"box-grad-row",style:{alignItems:y?f[y]:"normal",justifyContent:B?p[B]:"normal",marginLeft:"-"+C/2+"px",marginRight:"-"+C/2+"px",rowGap:R+"px"},children:!I&&c})})})};var y=function r(e){var a=function r(a){var t=Math.ceil(e*24/a);return[1,2,3,4,6,8,12,24].find((function(r){return r>=t}))||24};return{xxl:a(1600),xl:a(1200),lg:a(992),md:a(768),sm:a(576),xs:a(200)}};var B={Row:b,Col:g,getGridMapByRange:y};export{B as BoxGrid,h as useBoxBreakpoint};
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createContext as a,useContext as t,useMemo as n,useRef as i,useEffect as l}from"react";import{jsx as o}from"react/jsx-runtime";import{isNumber as s}from"@dimjs/lang/cjs/is-number";import{useSize as c}from"ahooks";var d={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var u={xs:8,sm:16,md:16,lg:24,xl:24,xxl:32};var v={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"};var p={start:"flex-start",end:"flex-end",center:"center","space-around":"space-around","space-between":"space-between","space-evenly":"space-evenly"};var f={boxBreakpoint:"lg",defaultGrid:d,horizontalGap:10,verticalGap:10};var m=a(f);var x=function a(i){var l=i.children,s=i.className,c=i.style;var d=t(m),u=d.defaultGrid,v=d.horizontalGap,p=d.boxBreakpoint;var f=n((function(){return i.span||i[p||"lg"]||(u==null?void 0:u[p||"lg"])||8}),[i,p,u]);return o("div",{className:e(s,"box-grad-col"),style:r({},c,{flex:"0 0 "+f/24*100+"%",maxWidth:f/24*100+"%",padding:"0 "+v/2+"px"}),children:l})};x["domTypeName"]="BoxGridCol";var h=function r(e){var a=c(e)||{},t=a.width;var i=n((function(){var r=t||(e==null?void 0:e.clientWidth);if(!r){return"lg"}if(r>=1600){return"xxl"}else if(r>=1200){return"xl"}else if(r>=992){return"lg"}else if(r>=768){return"md"}else if(r>=576){return"sm"}else{return"xs"}}),[t]);return{boxBreakpoint:i,isInit:!!t,haveWidth:!!t}};var g=function e(a,t){if(a===void 0){a=u}return n((function(){var e;var n;var i=function e(a){if(typeof a==="number"){return a}if(typeof a==="object"){return r({},u,a)[t]}};if(Array.isArray(a)){var l=a,o=l[0],c=l[1];e=i(o);n=i(c)}else{e=i(a);n=f.verticalGap}return{horizontalGap:s(e)?e:f.horizontalGap,verticalGap:s(n)?n:f.verticalGap}}),[a,t])};var G=function a(t){var n=t.defaultGrid,s=n===void 0?d:n,c=t.children,u=t.className,x=t.style,G=t.gutter,y=t.align,b=t.justify,B=t.onBoxBreakpointChange;var j=i(null);var k=h(j),w=k.boxBreakpoint,z=k.haveWidth;var N=g(G,w),C=N.horizontalGap,W=N.verticalGap;l((function(){B==null?void 0:B(w)}),[w]);return o(m.Provider,{value:r({},f,{defaultGrid:r({},d,s),boxBreakpoint:w,horizontalGap:C,verticalGap:W}),children:o("div",{className:e("box-grad-root",u),ref:j,style:x,children:o("div",{className:"box-grad-row",style:{alignItems:y?v[y]:"normal",justifyContent:b?p[b]:"normal",marginLeft:"-"+C/2+"px",marginRight:"-"+C/2+"px",rowGap:W+"px",opacity:z?1:0},children:c})})})};var y=function r(e){var a=function r(a){var t=Math.ceil(e*24/a);return[1,2,3,4,6,8,12,24].find((function(r){return r>=t}))||24};return{xxl:a(1600),xl:a(1200),lg:a(992),md:a(768),sm:a(576),xs:a(200)}};var b={Row:G,Col:x,getGridMapByRange:y};export{b as BoxGrid,h as useBoxBreakpoint};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.tsx","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/utils.ts","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant';\nimport { type TBoxBreakpoint } from './type';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const BoxGridProviderCtx = createContext<BoxGridProviderContextType>(defaultCtx);\n","import { classNames } from '@dimjs/utils';\nimport { useContext, useMemo, type FC } from 'react';\nimport { BoxGridProviderCtx } from './ctx';\nimport { type ICommonReact } from './type';\n\nexport type BoxColProps = {\n /**\n * 栅格占位格数\n * span 优先级最高:配置了span后,其他的响应式配置将失效;\n * 范围 0 ~ 24\n * 为 0 相当于隐藏\n * 为 24 相当于独占一行\n */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } = useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return props.span || props[boxBreakpoint || 'lg'] || defaultGrid?.[boxBreakpoint || 'lg'] || 8;\n }, [props, boxBreakpoint, defaultGrid]);\n\n return (\n <div\n className={classNames(className, 'box-grad-col')}\n style={{\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n }}\n >\n {children}\n </div>\n );\n};\n\nCol['domTypeName'] = 'BoxGridCol';\n","import { isNumber } from '@dimjs/lang';\nimport { useSize } from 'ahooks';\nimport { useMemo } from 'react';\nimport { DefaultGutter } from './constant';\nimport { defaultCtx } from './ctx';\nimport { type GutterParams, type TBoxBreakpoint } from './type';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n isInit: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (gutter: GutterParams = DefaultGutter, boxBreakpoint: TBoxBreakpoint) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap) ? horizontalGap : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import { classNames } from '@dimjs/utils';\nimport { FC, useEffect, useRef, useState } from 'react';\nimport { alignPropsMap, justifyPropsMap, PresetDefaultGrid } from './constant';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx';\nimport { useBoxBreakpoint, useGutter } from './hooks';\nimport { TBoxBreakpoint, type GutterParams, type ICommonReact } from './type';\n\nexport interface BoxRowProps {\n /**\n * 在不同响应尺寸下的元素占位格数\n * 应用到所有Col子元素上\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\n /** 尺寸变化回调 */\n onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const {\n defaultGrid = PresetDefaultGrid,\n children,\n className,\n style,\n gutter,\n align,\n justify,\n onBoxBreakpointChange,\n } = props;\n const comRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint } = useBoxBreakpoint(comRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n const [isInit, setisInit] = useState(true);\n\n useEffect(() => {\n setisInit(false);\n }, [boxBreakpoint]);\n\n useEffect(() => {\n onBoxBreakpointChange?.(boxBreakpoint);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boxBreakpoint]);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div className={classNames('box-grad-root', className)} ref={comRef} style={style}>\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n }}\n >\n {/* 是否初始化,计算尺寸初始会闪一下,这里初始时不渲染 */}\n {!isInit && children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { type TBoxBreakpoint } from './type';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (minSize: number): Record<TBoxBreakpoint, number> => {\n const getSpan = (threshold: number) => {\n const result = Math.ceil((minSize * 24) / threshold);\n return [1, 2, 3, 4, 6, 8, 12, 24].find((item) => item >= result) || 24;\n };\n\n return {\n xxl: getSpan(1600),\n xl: getSpan(1200),\n lg: getSpan(992),\n md: getSpan(768),\n sm: getSpan(576),\n xs: getSpan(200),\n };\n};\n","import { Col } from './col';\nimport './index.less';\nimport { Row } from './row';\nimport { getGridMapByRange } from './utils';\n\nexport { useBoxBreakpoint } from './hooks';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","_useContext","useContext","span","useMemo","_jsx","_classNames","_extends","flex","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","useGutter","gutter","getCommonGutter","Array","isArray","_gutter","h","v","_isNumber","Row","_props$defaultGrid","align","justify","onBoxBreakpointChange","comRef","useRef","_useBoxBreakpoint","_useGutter","_useState","useState","setisInit","useEffect","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.tsx","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/utils.ts","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant';\nimport { type TBoxBreakpoint } from './type';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const BoxGridProviderCtx = createContext<BoxGridProviderContextType>(defaultCtx);\n","import { classNames } from '@dimjs/utils';\nimport { useContext, useMemo, type FC } from 'react';\nimport { BoxGridProviderCtx } from './ctx';\nimport { type ICommonReact } from './type';\n\nexport type BoxColProps = {\n /**\n * 栅格占位格数\n * span 优先级最高:配置了span后,其他的响应式配置将失效;\n * 范围 0 ~ 24\n * 为 0 相当于隐藏\n * 为 24 相当于独占一行\n */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } = useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return props.span || props[boxBreakpoint || 'lg'] || defaultGrid?.[boxBreakpoint || 'lg'] || 8;\n }, [props, boxBreakpoint, defaultGrid]);\n\n return (\n <div\n className={classNames(className, 'box-grad-col')}\n style={{\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n }}\n >\n {children}\n </div>\n );\n};\n\nCol['domTypeName'] = 'BoxGridCol';\n","import { isNumber } from '@dimjs/lang';\nimport { useSize } from 'ahooks';\nimport { useMemo } from 'react';\nimport { DefaultGutter } from './constant';\nimport { defaultCtx } from './ctx';\nimport { type GutterParams, type TBoxBreakpoint } from './type';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n /**\n * @deprecated\n * 使用 haveWidth 替代\n */\n isInit: !!width,\n /** width为0,或者不存在 */\n haveWidth: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (gutter: GutterParams = DefaultGutter, boxBreakpoint: TBoxBreakpoint) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap) ? horizontalGap : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import { classNames } from '@dimjs/utils';\nimport { FC, useEffect, useRef } from 'react';\nimport { alignPropsMap, justifyPropsMap, PresetDefaultGrid } from './constant';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx';\nimport { useBoxBreakpoint, useGutter } from './hooks';\nimport { TBoxBreakpoint, type GutterParams, type ICommonReact } from './type';\n\nexport interface BoxRowProps {\n /**\n * 在不同响应尺寸下的元素占位格数\n * 应用到所有Col子元素上\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\n /** 尺寸变化回调 */\n onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const {\n defaultGrid = PresetDefaultGrid,\n children,\n className,\n style,\n gutter,\n align,\n justify,\n onBoxBreakpointChange,\n } = props;\n const comRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint, haveWidth } = useBoxBreakpoint(comRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n\n useEffect(() => {\n onBoxBreakpointChange?.(boxBreakpoint);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boxBreakpoint]);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div className={classNames('box-grad-root', className)} ref={comRef} style={style}>\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n /**\n * fix: boxBreakpoint多次变化,闪一下的问题\n * 子元素拿不到宽度,boxBreakpoint 会快速变化,导致元素闪烁\n * 场景:\n * 1. 使用 Tabs 组件时,任意父级元素disabled,子元素拿不到宽度\n * 2. 初始渲染,拿不到宽度\n */\n opacity: haveWidth ? 1 : 0,\n }}\n >\n {children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { type TBoxBreakpoint } from './type';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (minSize: number): Record<TBoxBreakpoint, number> => {\n const getSpan = (threshold: number) => {\n const result = Math.ceil((minSize * 24) / threshold);\n return [1, 2, 3, 4, 6, 8, 12, 24].find((item) => item >= result) || 24;\n };\n\n return {\n xxl: getSpan(1600),\n xl: getSpan(1200),\n lg: getSpan(992),\n md: getSpan(768),\n sm: getSpan(576),\n xs: getSpan(200),\n };\n};\n","import { Col } from './col';\nimport './index.less';\nimport { Row } from './row';\nimport { getGridMapByRange } from './utils';\n\nexport { useBoxBreakpoint } from './hooks';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","_useContext","useContext","span","useMemo","_jsx","_classNames","_extends","flex","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","useGutter","gutter","getCommonGutter","Array","isArray","_gutter","h","v","_isNumber","Row","_props$defaultGrid","align","justify","onBoxBreakpointChange","comRef","useRef","_useBoxBreakpoint","_useGutter","useEffect","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","opacity","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
@@ -6,5 +6,5 @@ import './../types/index.css';
6
6
  import './../fba-utils/index.css';
7
7
  import './index.css';
8
8
  /*! @flatjs/forge MIT @flatbiz/antd */
9
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as t,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as m}from"react-dom/client";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{C as v}from"../context-1f2093c6.js";import{jsx as j,jsxs as y}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";import"@wove/react/cjs/create-ctx";var h=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var w=function e(i){var m;var w=i.divElement,x=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,b=i.configProviderProps,P=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,I=i.operatePosition,R=I===void 0?"footer":I,H=i.operateRender;i.width;var O=i.okHidden,W=i.cancelHidden,T=i.extra,z=r(i,h);var F=s(true),S=F[0],D=F[1];var Y=s(),A=Y[0],L=Y[1];var N=a.useForm(),U=N[0];var q=f.useResponsivePoint()||"";var G=n.useCallbackRef((function(){try{delete window[x]}catch(e){}D(false)}));f.useEffectCustom((function(){window[x]=G}),[G]);var J=n.useCallbackRef((function(e){if(k){var t=k(U,e);if(t&&o(t)){return t.then(G)}}return G()}));var K=n.useCallbackRef((function(e){if(g){var t=g(U,e);if(t&&o(t)){return t.then(G)}}return G()}));var M=y(l,{children:[W||B!=null&&B.hidden?null:j(u,t({},B,{onClick:J,children:_||"取消"})),O||E!=null&&E.hidden?null:j(u,t({type:"primary"},E,{onClick:K,children:P||"提交"}))]});var Q=function e(){if(H){return H(U)}if(!O||!W){return M}return null};var V=typeof T==="function"?T(U):T;var X=function e(t){L(t)};var Z=c((function(){if(!q)return undefined;if(["xs","sm"].includes(q)){return{width:"90%",maxWidth:"90%"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[q]);return j(v,{value:{onClose:G,updateBodyStyle:X},children:j(p,t({},b,{children:j(d,t({maskClosable:true,destroyOnClose:true,onClose:G,width:Z==null?void 0:Z.width,contentWrapperStyle:{maxWidth:Z==null?void 0:Z.maxWidth},footer:R==="footer"?Q():null},z,{styles:t({},z.styles,{body:t({},A,(m=z.styles)==null?void 0:m.body)}),extra:R==="header"?Q():V,open:S,getContainer:w,children:typeof C==="function"?C(U,{onClose:G}):C}))}))})};var x={open:function e(r){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(j(w,t({},r,{divElement:n,elementId:a})));return{close:function e(){var t,r;(t=(r=window)[a])==null?void 0:t.call(r)}}},close:function t(){try{var r,o;var n=window["__dialog_drawer_elementId"];if(e(n))(r=(o=window)[n])==null?void 0:r.call(o)}catch(e){}}};export{x as dialogDrawer};
9
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as t,a as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isPromise as o}from"@dimjs/lang/cjs/is-promise";import{hooks as n}from"@wove/react/cjs/hooks";import{dom as i}from"@flatbiz/utils";import{Form as a,Space as l,Drawer as d}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as m}from"react-dom/client";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{C as p}from"../index-7f4ad045.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{C as v}from"../context-1f2093c6.js";import{jsx as j,jsxs as h}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";import"@wove/react/cjs/create-ctx";var x=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var y=function e(i){var m;var y=i.divElement,w=i.elementId,g=i.onOk,k=i.onCancel,C=i.content,P=i.configProviderProps,b=i.okText,_=i.cancelText,E=i.okButtonExtraProps,B=i.cancelButtonExtraProps,I=i.operatePosition,R=I===void 0?"footer":I,W=i.operateRender,H=i.width,O=i.okHidden,T=i.cancelHidden,z=i.extra,F=r(i,x);var S=s(true),D=S[0],Y=S[1];var A=s(),L=A[0],N=A[1];var U=a.useForm(),q=U[0];var G=f.useResponsivePoint()||"";var J=n.useCallbackRef((function(){try{delete window[w]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[w]=J}),[J]);var K=n.useCallbackRef((function(e){if(k){var t=k(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var M=n.useCallbackRef((function(e){if(g){var t=g(q,e);if(t&&o(t)){return t.then(J)}}return J()}));var Q=h(l,{children:[T||B!=null&&B.hidden?null:j(u,t({},B,{onClick:K,children:_||"取消"})),O||E!=null&&E.hidden?null:j(u,t({type:"primary"},E,{onClick:M,children:b||"提交"}))]});var V=function e(){if(W){return W(q)}if(!O||!T){return Q}return null};var X=typeof z==="function"?z(q):z;var Z=function e(t){N(t)};var $=c((function(){if(!G)return undefined;if(["xs","sm"].includes(G)){return{width:"90%",maxWidth:"90%"}}if(H){return{width:H,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[G,H]);return j(v,{value:{onClose:J,updateBodyStyle:Z},children:j(p,t({},P,{children:j(d,t({maskClosable:true,destroyOnClose:true,onClose:J,contentWrapperStyle:{maxWidth:$==null?void 0:$.maxWidth},footer:R==="footer"?V():null},F,{width:$==null?void 0:$.width,styles:t({},F.styles,{body:t({},L,(m=F.styles)==null?void 0:m.body)}),extra:R==="header"?V():X,open:D,getContainer:y,children:typeof C==="function"?C(q,{onClose:J}):C}))}))})};var w={open:function e(r){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(j(y,t({},r,{divElement:n,elementId:a})));return{close:function e(){var t,r;(t=(r=window)[a])==null?void 0:t.call(r)}}},close:function t(){try{var r,o;var n=window["__dialog_drawer_elementId"];if(e(n))(r=(o=window)[n])==null?void 0:r.call(o)}catch(e){}}};export{w as dialogDrawer};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType]);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n width={customSize?.width}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={open}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * 4. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","operateRenderHandle","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { dom, TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n body: { ...innerBodyStyle, ...otherProps.styles?.body },\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={open}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 抽屉弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogDrawer.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogDrawer } = FbaApp.useDialogDrawer();\n * appDialogDrawer.open({})\n * 4. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_drawer_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","width","okHidden","cancelHidden","extra","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","screenType","fbaHooks","useResponsivePoint","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","operateRenderHandle","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","footer","styles","body","getContainer","dialogDrawer","_dom$bodyAppendDivEle","dom","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -9,5 +9,5 @@ import './../flex-layout/index.css';
9
9
  import './../text-symbol-wrapper/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as p,Empty as c}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{B as y}from"../index-1f45bfd5.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as x}from"../form-item-group/index.js";import{TextSymbolWrapper as j}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as b}from"@dnd-kit/utilities";import{jsx as L,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../flex-layout/index.js";function C(i){var n=p.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var d=o({id:i.uid,disabled:a}),l=d.listeners,m=d.setNodeRef,s=d.transform,u=d.transition;var c=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:L(D,{});return i.dragDisabled?L(f,{}):L("span",t({className:"drag-form-list-item-trigger"},l,{children:L("span",{children:e})}))}));var g=t({transform:b.Transform.toString(s),transition:u},i.style);var v=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},g),ref:m,className:v,children:[L(p.Item,{noStyle:true,children:c()}),L("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name,r]},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var d=r.dragDisabled?[]:[{width:35,mainItem:L("div",{style:{marginRight:o===undefined?-15:-o}})}];return L(x.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:d.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:L(j,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:L("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(x){var j=[].concat(x.prevCompleteName,s(x.name));var D=g(),b=D[0],k=D[1];var R=p.useFormInstance();var S=v([]);var T=x.uidFieldName||"uid";var A=p.useWatch(j,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(j)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:x.name,value:o}]);x.onDropChange==null?void 0:x.onDropChange(o)}k(undefined)}var B=h((function(){if(!b)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===b}));return S.current.find((function(e){return e.name===r}))}),[b,O,P]);var _=x.itemGap?x.itemGap/2:8;return L(y,{className:e("drag-form-list",x.className),style:x.style,children:L(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:L(p.List,{name:x.name,rules:x.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=x.formListItemTitleList)!=null&&o.length?L(F,{formListItemTitleList:x.formListItemTitleList,formListItemTitleHProps:x.formListItemTitleHorizontalUnionProps,dragDisabled:x.dragDisabled}):null,!x.hiddenEmptyRender&&!(A!=null&&A.length)?L(c,{image:c.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,L(w,{wrapper:x.formListChildrenWrapper,children:N(f,{children:[L(d,{items:O().map((function(e){return P(e)})),strategy:l,children:N(f,{children:[r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return L(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:x.dragIcon,getItemDragDisabled:x.getItemDragDisabled,dragDisabled:x.dragDisabled,isGray:!!n&&n===b,index:r,formStageCompleteName:[].concat(j,[e.name]),prevCompleteName:j,uidFieldName:T,style:t({},x.itemStyle,{padding:_+"px 0 "+_+"px 0"}),children:x.children},n+"-"+e.key)})),x.onCustomAddRowButton?x.onCustomAddRowButton(i):L(I,{hidden:x.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),x.getAddRowDefaultValues==null?void 0:x.getAddRowDefaultValues()))},children:"添加"})]})}),L(a,{dropAnimation:{duration:0},children:b&&B?L(C,{isOverlay:true,uid:b,className:"drag-form-list-overlay",formListFieldData:B,dragIcon:x.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(j,[B.name]),prevCompleteName:j,uidFieldName:T,children:x.children},b):null}),L(p.ErrorList,{errors:m?[L("div",{style:{color:"#ff4d4f",padding:"5px"},children:m})]:undefined})]})})]})}})})})};export{k as DragFormList};
12
+ import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{DndContext as i,closestCenter as n,DragOverlay as a}from"@dnd-kit/core";import{useSortable as o,SortableContext as d,verticalListSortingStrategy as l,arrayMove as m}from"@dnd-kit/sortable";import{toArray as s,getUuid as u}from"@flatbiz/utils";import{Form as p,Empty as c}from"antd";import{Fragment as f,useState as g,useRef as v,useMemo as h}from"react";import{B as y}from"../index-1f45bfd5.js";import{ButtonWrapper as I}from"../button-wrapper/index.js";import{FormItemGroup as x}from"../form-item-group/index.js";import{TextSymbolWrapper as j}from"../text-symbol-wrapper/index.js";import D from"@ant-design/icons/es/icons/DragOutlined";import{CSS as L}from"@dnd-kit/utilities";import{jsx as b,jsxs as N}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"../fba-utils/index.js";import"../flex-layout/index.js";function C(i){var n=p.useFormInstance();var a=i.isOverlay?false:i.getItemDragDisabled==null?void 0:i.getItemDragDisabled(i.uid,i.index);var d=o({id:i.uid,disabled:a}),l=d.listeners,m=d.setNodeRef,s=d.transform,u=d.transition;var c=r.useCallbackRef((function(){var e=i.dragIcon?i.dragIcon:b(D,{});return i.dragDisabled?b(f,{}):b("span",t({className:"drag-form-list-item-trigger"},l,{children:b("span",{children:e})}))}));var g=t({transform:L.Transform.toString(s),transition:u},i.style);var v=e("drag-form-list-item",{"drag-form-list-item-grap":i.isGray,"drag-form-list-item-disabled":a},i.className);return N("div",{style:t({},g),ref:m,className:v,children:[b(p.Item,{noStyle:true,children:c()}),b("div",{className:"drag-form-list-item-content",children:i.children({formListFieldData:i.formListFieldData,operation:i.formListOperate,formStageCompleteName:i.formStageCompleteName,index:i.index,getInsideFormItemName:function e(r){return[i.formListFieldData.name,r]},getInsideFormItemData:function e(){return n.getFieldValue(i.formStageCompleteName)||{}},prevCompleteName:i.prevCompleteName,uidKey:i.uidFieldName})})]})}var w=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var F=function e(r){var i,n,a;var o=(i=r.formListItemTitleHProps)==null?void 0:i.gap;var d=r.dragDisabled?[]:[{width:35,mainItem:b("div",{style:{marginRight:o===undefined?-15:-o}})}];return b(x.HorizontalUnion,t({},r.formListItemTitleHProps,{style:t({marginBottom:10},(n=r.formListItemTitleHProps)==null?void 0:n.style),groupConfigList:d.concat(((a=r.formListItemTitleList)==null?void 0:a.map((function(e){if(e.required){return{width:e.width,mainItem:b("div",{style:{textAlign:"center"},children:b(j,{text:e.title,symbolType:"required"})})}}return{width:e.width,mainItem:b("div",{style:{textAlign:"center"},children:e.title})}})))||[])}))};var k=function o(x){var j=[].concat(x.prevCompleteName,s(x.name));var D=g(),L=D[0],k=D[1];var R=p.useFormInstance();var S=v([]);var T=x.uidFieldName||"uid";var A=p.useWatch(j,R);var P=r.useCallbackRef((function(e){return e==null?void 0:e[T]}));function E(e){var r=e.active;k(r.id)}var O=r.useCallbackRef((function(){return R.getFieldValue(j)||[]}));function H(e){var r=e.active,t=e.over;var i=O();if(r.id!==t.id){var n=i.findIndex((function(e){return P(e)===r.id}));var a=i.findIndex((function(e){return P(e)===t.id}));var o=m(i,n,a);R.setFields([{name:x.name,value:o}]);x.onDropChange==null?void 0:x.onDropChange(o)}k(undefined)}var B=h((function(){if(!L)return undefined;var e=O();var r=e.findIndex((function(e){return P(e)===L}));return S.current.find((function(e){return e.name===r}))}),[L,O,P]);var _=x.itemGap?x.itemGap/2:8;return b(y,{className:e("drag-form-list",x.className),style:x.style,children:b(i,{collisionDetection:n,onDragStart:E,onDragEnd:H,children:b(p.List,{name:x.name,rules:x.rules,children:function e(r,i,n){var o;var m=n.errors;S.current=r;return N("div",{style:{borderRadius:"6px",border:m!=null&&m.length?"1px solid #ff4d4f":"1px solid transparent"},children:[(o=x.formListItemTitleList)!=null&&o.length?b(F,{formListItemTitleList:x.formListItemTitleList,formListItemTitleHProps:x.formListItemTitleHorizontalUnionProps,dragDisabled:x.dragDisabled}):null,!x.hiddenEmptyRender&&!(A!=null&&A.length)?b(c,{image:c.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,b(w,{wrapper:x.formListChildrenWrapper,children:N(f,{children:[b(d,{items:O().map((function(e){return P(e)})),strategy:l,children:N(f,{children:[r.map((function(e,r){var n=P(O()[r]);if(!n)return null;return b(C,{formListOperate:i,formListFieldData:e,uid:n,dragIcon:x.dragIcon,getItemDragDisabled:x.getItemDragDisabled,dragDisabled:x.dragDisabled,isGray:!!n&&n===L,index:r,formStageCompleteName:[].concat(j,[e.name]),prevCompleteName:j,uidFieldName:T,style:t({},x.itemStyle,{padding:_+"px 0 "+_+"px 0"}),children:x.children},n+"-"+e.key)})),x.onCustomAddRowButton?x.onCustomAddRowButton(i):b(I,{hidden:x.hiddenAddRowButton,type:"dashed",block:true,onClick:function e(){var r;return i.add(t((r={},r[T]=u(),r),x.getAddRowDefaultValues==null?void 0:x.getAddRowDefaultValues()))},children:"添加"})]})}),b(a,{dropAnimation:{duration:0},children:L&&B?b(C,{isOverlay:true,uid:L,className:"drag-form-list-overlay",formListFieldData:B,dragIcon:x.dragIcon,formListOperate:null,index:0,formStageCompleteName:[].concat(j,[B.name]),prevCompleteName:j,uidFieldName:T,children:x.children},L):null}),b(p.ErrorList,{errors:m?[b("div",{style:{color:"#ff4d4f",padding:"5px"},children:m})]:undefined})]})})]})}})})})};export{k as DragFormList};
13
13
  //# sourceMappingURL=index.js.map
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
3
3
  import './../icon-wrapper/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- import{classNames as n}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/CloseOutlined";import e from"@ant-design/icons/es/icons/CheckOutlined";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{isNumber as t}from"@dimjs/lang/cjs/is-number";import{isString as l}from"@dimjs/lang/cjs/is-string";import a from"@ant-design/icons/es/icons/EditOutlined";import{isUndefinedOrNull as c}from"@flatbiz/utils";import{Space as s}from"antd";import{useState as u,useContext as f,useRef as d,useEffect as m,isValidElement as v}from"react";import{E as p}from"../context-25d0b686.js";import{fbaHooks as h}from"../fba-hooks/index.js";import{IconWrapper as b}from"../icon-wrapper/index.js";import{jsx as C,jsxs as j}from"react/jsx-runtime";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-undefined";var g=function g(k){var y=k.value,I=k.onChange,w=k.viewRender,E=k.placeholderValue,P=E===void 0?"-":E,x=k.editRender,z=k.isEditFull,O=k.onClickEditIconPre,R=k.onClickConfirmIconPre,N=k.iconConfig,T=k.onEditCallback,_=k.onConfirmCallback;var B=u(false),F=B[0],H=B[1];var V=f(p);var q=d(y);var A=function(){if(V.isCtx){return k.showEditableIcon===undefined?V.showEditableIcon:k.showEditableIcon}return k.showEditableIcon===undefined?true:k.showEditableIcon}();var D=function(){if(V.isCtx){return k.editable===undefined?V.editable:k.editable}return k.editable||false}();var G=h.useThemeToken();m((function(){H(D)}),[D]);var J=function n(){return new Promise((function(n,r){if(O){return Promise.resolve(O(y)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){q.current=y;H(true);T==null?void 0:T(y);return n()}return e.call(this)}))};var K=N!=null&&N.editIcon?N.editIcon({onClick:J}):C(b,{size:"small",icon:C(a,{}),onClick:J});if(!F){var L=(w?w(k.value):k.value)||P;if(l(L)||t(L)||c(L)||v(L)){if(!A){return L}return j(s,{size:8,children:[C("span",{children:L}),K]})}console.warn("对象作为React子对象无效",L)}var M=function n(){if(y!==q.current){I==null?void 0:I(q.current)}H(false)};var Q=function n(r){var e=r;if(typeof r==="object"&&r!==null&&!o(r)&&r.target){var i;var a=(i=r.target)==null?void 0:i.value;if(l(a)||t(a)||c(a)){var s;e=(s=r.target)==null?void 0:s.value}}I==null?void 0:I(e)};var S=function n(){return new Promise((function(n,r){if(R){return Promise.resolve(R(y,q.current)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){H(false);_==null?void 0:_(y,q.current);return n()}return e.call(this)}))};var U=typeof x==="function"?x({value:y,onChange:Q}):x;if(!A){return C(U.type,i({value:y,onChange:Q},U.props))}var W=N!=null&&N.confirmIcon?N.confirmIcon({onClick:S}):C(b,{size:"small",icon:C(e,{style:{color:G.colorPrimary}}),onClick:S});var X=N!=null&&N.cancelIcon?N.cancelIcon({onClick:M}):C(b,{size:"small",icon:C(r,{style:{color:G.colorPrimary}}),onClick:M});return j(s,{direction:"horizontal",size:12,style:k.style,className:n("editable-field",{"editable-field-full":z},k.className),children:[C(U.type,i({value:y,onChange:Q},U.props)),W,X]})};export{g as EditableField};
6
+ import{classNames as n}from"@dimjs/utils/cjs/class-names";import r from"@ant-design/icons/es/icons/CloseOutlined";import e from"@ant-design/icons/es/icons/CheckOutlined";import{_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isArray as o}from"@dimjs/lang/cjs/is-array";import{isNumber as t}from"@dimjs/lang/cjs/is-number";import{isString as l}from"@dimjs/lang/cjs/is-string";import a from"@ant-design/icons/es/icons/EditOutlined";import{isUndefinedOrNull as c}from"@flatbiz/utils";import{Space as s}from"antd";import{useState as u,useContext as f,useRef as d,useEffect as m,isValidElement as v}from"react";import{E as p}from"../context-25d0b686.js";import{fbaHooks as h}from"../fba-hooks/index.js";import{IconWrapper as C}from"../icon-wrapper/index.js";import{jsx as b,jsxs as j}from"react/jsx-runtime";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-undefined";var g=function g(k){var y=k.value,I=k.onChange,w=k.viewRender,E=k.placeholderValue,P=E===void 0?"-":E,x=k.editRender,z=k.isEditFull,O=k.onClickEditIconPre,R=k.onClickConfirmIconPre,N=k.iconConfig,T=k.onEditCallback,_=k.onConfirmCallback;var B=u(false),F=B[0],H=B[1];var V=f(p);var q=d(y);var A=function(){if(V.isCtx){return k.showEditableIcon===undefined?V.showEditableIcon:k.showEditableIcon}return k.showEditableIcon===undefined?true:k.showEditableIcon}();var D=function(){if(V.isCtx){return k.editable===undefined?V.editable:k.editable}return k.editable||false}();var G=h.useThemeToken();m((function(){H(D)}),[D]);var J=function n(){return new Promise((function(n,r){if(O){return Promise.resolve(O(y)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){q.current=y;H(true);T==null?void 0:T(y);return n()}return e.call(this)}))};var K=N!=null&&N.editIcon?N.editIcon({onClick:J}):b(C,{size:"small",icon:b(a,{}),onClick:J});if(!F){var L=(w?w(k.value):k.value)||P;if(l(L)||t(L)||c(L)||v(L)){if(!A){return L}return j(s,{size:8,children:[b("span",{children:L}),K]})}console.warn("对象作为React子对象无效",L)}var M=function n(){if(y!==q.current){I==null?void 0:I(q.current)}H(false)};var Q=function n(r){var e=r;if(typeof r==="object"&&r!==null&&!o(r)&&r.target){var i;var a=(i=r.target)==null?void 0:i.value;if(l(a)||t(a)||c(a)){var s;e=(s=r.target)==null?void 0:s.value}}I==null?void 0:I(e)};var S=function n(){return new Promise((function(n,r){if(R){return Promise.resolve(R(y,q.current)).then(function(n){try{return e.call(this)}catch(n){return r(n)}}.bind(this),r)}function e(){H(false);_==null?void 0:_(y,q.current);return n()}return e.call(this)}))};var U=typeof x==="function"?x({value:y,onChange:Q}):x;if(!A){return b(U.type,i({value:y,onChange:Q},U.props))}var W=N!=null&&N.confirmIcon?N.confirmIcon({onClick:S}):b(C,{size:"small",icon:b(e,{style:{color:G.colorPrimary}}),onClick:S});var X=N!=null&&N.cancelIcon?N.cancelIcon({onClick:M}):b(C,{size:"small",icon:b(r,{style:{color:G.colorPrimary}}),onClick:M});return j(s,{direction:"horizontal",size:12,style:k.style,className:n("editable-field",{"editable-field-full":z},k.className),children:[b(U.type,i({value:y,onChange:Q},U.props)),W,X]})};export{g as EditableField};
7
7
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{E as e}from"../context-25d0b686.js";import{jsx as r}from"react/jsx-runtime";import"react";var t=function t(i){var a=i.editable===undefined?true:i.editable;var o=i.showEditableIcon===undefined?false:i.showEditableIcon;return r(e.Provider,{value:{editable:a,isCtx:true,showEditableIcon:o},children:i.children})};export{t as EditableFieldProvider};
4
+ import{E as e}from"../context-25d0b686.js";import{jsx as r}from"react/jsx-runtime";import"react";var t=function t(i){var o=i.editable===undefined?true:i.editable;var a=i.showEditableIcon===undefined?false:i.showEditableIcon;return r(e.Provider,{value:{editable:o,isCtx:true,showEditableIcon:a},children:i.children})};export{t as EditableFieldProvider};
5
5
  //# sourceMappingURL=index.js.map
@@ -7,5 +7,5 @@ import './../types/index.css';
7
7
  import './../flex-layout/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as d}from"react";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{isNull as c}from"@dimjs/lang/cjs/is-null";import{isPromise as f}from"@dimjs/lang/cjs/is-promise";import{useSize as v}from"ahooks";import{Form as p,Modal as m,Space as g,Drawer as C,theme as h}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{fbaHooks as x}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{B as O}from"../index-1f45bfd5.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=r({});var R=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var P=function e(a){var r,t,s;var d=a.titleExtra,g=a.title,C=a.onOk,h=a.onCancel,O=a.okButtonProps,j=a.cancelButtonProps,P=a.content,T=a.className,M=a.okHidden,N=a.cancelHidden,H=a.footer,B=a.cancelText,L=a.okText,A=a.size,z=n(a,R);var E=p.useForm(),F=E[0];var W=v(document.querySelector("html"));var _=b();var S=x.useResponsivePoint()||"";var Y=A===null?undefined:A===undefined?"middle":A;var q=o.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var I=o.useCallbackRef((function(e){if(h){var o=h(F,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var U=o.useCallbackRef((function(e){if(C){var o=C(F,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var G=[w(k,l({},j,{onClick:I,hidden:N,children:B||((r=_.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),w(k,l({type:"primary"},O,{onClick:U,hidden:M,children:L||"提交"}),"1")];var J=c(H)?null:G;var K=i((function(){if(!(W!=null&&W.height)||!S)return undefined;if(["xs","sm"].includes(S)){return{height:(W==null?void 0:W.height)*.7}}if(Y=="large"){return{height:(W==null?void 0:W.height)*.7,width:W.width*.6}}if(Y=="small"){var e=W.width*.3;return{height:(W==null?void 0:W.height)*.4,width:e<470?470:e}}if(Y=="middle"){return{height:(W==null?void 0:W.height)*.55,width:W.width*.5}}return undefined}),[W==null?void 0:W.height,Y,(t=z.styles)==null||(t=t.body)==null?void 0:t.height,z.width,S]);return w(m,l({maskClosable:true,title:d?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:g}),d]}):g,centered:true,onCancel:q,destroyOnClose:true,width:K==null?void 0:K.width},z,{styles:l({},z.styles,{body:l({height:K==null?void 0:K.height,maxHeight:"calc(100vh - 200px)"},(s=z.styles)==null?void 0:s.body)}),className:u("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!d},T),open:a.open,footer:J,children:typeof P==="function"?P(F,{onClose:q}):P}))};var T=function e(o){var n=u("fba-dialog-confirm",o.className);return w(P,l({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var M=function e(o){return w(T,l({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,l){return o.onClick==null?void 0:o.onClick(l)}}))};var N=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var H=function e(a){var r=a.onOk,t=a.onCancel,s=a.content,d=a.okText,c=a.cancelText,v=a.okButtonExtraProps,m=a.cancelButtonExtraProps,h=a.operatePosition,y=h===void 0?"footer":h,b=a.operateRender;a.width;var O=a.okHidden,j=a.cancelHidden,R=a.extra,P=n(a,N);var T=p.useForm(),M=T[0];var H=x.useResponsivePoint()||"";var B=o.useCallbackRef((function(e){a.onClose==null?void 0:a.onClose(e)}));var L=o.useCallbackRef((function(e){if(t){var o=t(M,e);if(o&&f(o)){return o.then(B)}}B(e);return Promise.resolve()}));var A=o.useCallbackRef((function(e){if(r){var o=r(M,e);if(o&&f(o)){return o.then(B)}}B(e);return Promise.resolve()}));var z=D(g,{children:[j||m!=null&&m.hidden?null:w(k,l({},m,{onClick:L,children:c||"取消"})),O||v!=null&&v.hidden?null:w(k,l({type:"primary"},v,{onClick:A,children:d||"提交"}))]});var E=function e(){if(b){return b(M)}if(!O||!j){return z}return null};var F=i((function(){if(!H)return undefined;if(["xs","sm"].includes(H)){return{width:"90%",maxWidth:"90%"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[H]);var W=typeof R==="function"?R(M):R;return w(C,l({maskClosable:true,destroyOnClose:true,width:F==null?void 0:F.width,contentWrapperStyle:{maxWidth:F==null?void 0:F.maxWidth},footer:y==="footer"?E():null},P,{styles:l({},P.styles),className:u("app-dialog-drawer",P.className),extra:y==="header"?E():W,open:a.open,onClose:B,children:typeof s==="function"?s(M,{onClose:B}):s}))};var B=function e(o){var n=o.className,l=o.message,a=o.mask;var r=h.useToken(),i=r.token;var t=i.colorPrimary;return w(m,{maskClosable:false,centered:true,destroyOnClose:true,className:u("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:w(O,{className:u("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:l||"处理中"})]})})})};var L=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(a){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(a){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function e(){var o=t(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(a){o.dialogModalOpen==null?void 0:o.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function e(){var o=t(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(a){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function e(){var o=t(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(a){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var W=function e(){var o=t(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(a){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function e(){var o=t(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(a){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function e(n){var r=s({}),i=r[0],t=r[1];var u=s(a()),c=u[0],f=u[1];var v=s({}),p=v[0],m=v[1];var g=s(a()),C=g[0],h=g[1];var k=s({}),x=k[0],y=k[1];var b=s(a()),w=b[0],O=b[1];var R=s({}),N=R[0],L=R[1];var A=s(a()),z=A[0],E=A[1];var F=s({}),W=F[0],_=F[1];var S=s({}),Y=S[0],q=S[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){t(e)}));var le=o.useCallbackRef((function(e){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(e);setTimeout((function(){f(a())}),200)}));var ae=o.useCallbackRef((function(e){m(e)}));var re=o.useCallbackRef((function(e){m(l({},p,{open:false}));p.onClose==null?void 0:p.onClose(e);setTimeout((function(){h(a())}),200)}));var ie=o.useCallbackRef((function(e){y(e)}));var te=o.useCallbackRef((function(){y(l({},x,{open:false}));x.onClose==null?void 0:x.onClose();setTimeout((function(){O(a())}),200)}));var se=o.useCallbackRef((function(e){L(e)}));var de=o.useCallbackRef((function(){L(l({},N,{open:false}));N.onClose==null?void 0:N.onClose();setTimeout((function(){E(a())}),200)}));var ue=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(l({},W,{open:false}));W.onClose==null?void 0:W.onClose();setTimeout((function(){Q(a())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var ve=o.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var pe=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){oe(a())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:le,dialogDrawerOpen2:ae,dialogDrawerClose2:re,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:se,dialogModalClose2:de,dialogAlertOpen:ue,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:ve,dialogLoadingOpen:pe,dialogLoadingClose:me},children:[d(H,l({},i,{onClose:le,key:c})),d(H,l({},p,{onClose:re,key:C})),d(P,l({},x,{onClose:te,key:w})),d(P,l({},N,{onClose:de,key:z})),d(M,l({},W,{onClose:ce,key:K})),d(T,l({},Y,{onClose:ve,key:X})),d(B,l({},U,{key:ee})),n.children]})};var Y=e.attachPropertiesToComponent(S,{useDialogDrawer:L,useDialogDrawer2:A,useDialogModal:z,useDialogModal2:E,useDialogConfirm:W,useDialogAlert:F,useDialogLoading:_});export{Y as FbaApp};
10
+ import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as d}from"react";import{classNames as u}from"@dimjs/utils/cjs/class-names";import{isNull as c}from"@dimjs/lang/cjs/is-null";import{isPromise as f}from"@dimjs/lang/cjs/is-promise";import{useSize as p}from"ahooks";import{Form as v,Modal as m,Space as g,Drawer as C,theme as h}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{fbaHooks as x}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{B as O}from"../index-1f45bfd5.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=r({});var R=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size"];var P=function e(a){var r,t,s;var d=a.titleExtra,g=a.title,C=a.onOk,h=a.onCancel,O=a.okButtonProps,j=a.cancelButtonProps,P=a.content,T=a.className,M=a.okHidden,N=a.cancelHidden,H=a.footer,B=a.cancelText,L=a.okText,A=a.size,z=n(a,R);var E=v.useForm(),W=E[0];var F=p(document.querySelector("html"));var _=b();var S=x.useResponsivePoint()||"";var Y=A===null?undefined:A===undefined?"middle":A;var q=o.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var I=o.useCallbackRef((function(e){if(h){var o=h(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var U=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&f(o)){return o.then(q)}}q();return Promise.resolve()}));var G=[w(k,l({},j,{onClick:I,hidden:N,children:B||((r=_.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),w(k,l({type:"primary"},O,{onClick:U,hidden:M,children:L||"提交"}),"1")];var J=c(H)?null:G;var K=i((function(){if(!(F!=null&&F.height)||!S)return undefined;if(["xs","sm"].includes(S)){return{height:(F==null?void 0:F.height)*.7}}if(Y=="large"){return{height:(F==null?void 0:F.height)*.7,width:F.width*.6}}if(Y=="small"){var e=F.width*.3;return{height:(F==null?void 0:F.height)*.4,width:e<470?470:e}}if(Y=="middle"){return{height:(F==null?void 0:F.height)*.55,width:F.width*.5}}return undefined}),[F==null?void 0:F.height,Y,(t=z.styles)==null||(t=t.body)==null?void 0:t.height,z.width,S]);return w(m,l({maskClosable:true,title:d?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:g}),d]}):g,centered:true,onCancel:q,destroyOnClose:true,width:K==null?void 0:K.width},z,{styles:l({},z.styles,{body:l({height:K==null?void 0:K.height,maxHeight:"calc(100vh - 200px)"},(s=z.styles)==null?void 0:s.body)}),className:u("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!d},T),open:a.open,footer:J,children:typeof P==="function"?P(W,{onClose:q}):P}))};var T=function e(o){var n=u("fba-dialog-confirm",o.className);return w(P,l({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var M=function e(o){return w(T,l({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,l){return o.onClick==null?void 0:o.onClick(l)}}))};var N=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var H=function e(a){var r=a.onOk,t=a.onCancel,s=a.content,d=a.okText,c=a.cancelText,p=a.okButtonExtraProps,m=a.cancelButtonExtraProps,h=a.operatePosition,y=h===void 0?"footer":h,b=a.operateRender,O=a.width,j=a.okHidden,R=a.cancelHidden,P=a.extra,T=n(a,N);var M=v.useForm(),H=M[0];var B=x.useResponsivePoint()||"";var L=o.useCallbackRef((function(e){a.onClose==null?void 0:a.onClose(e)}));var A=o.useCallbackRef((function(e){if(t){var o=t(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var z=o.useCallbackRef((function(e){if(r){var o=r(H,e);if(o&&f(o)){return o.then(L)}}L(e);return Promise.resolve()}));var E=D(g,{children:[R||m!=null&&m.hidden?null:w(k,l({},m,{onClick:A,children:c||"取消"})),j||p!=null&&p.hidden?null:w(k,l({type:"primary"},p,{onClick:z,children:d||"提交"}))]});var W=function e(){if(b){return b(H)}if(!j||!R){return E}return null};var F=i((function(){if(!B)return undefined;if(["xs","sm"].includes(B)){return{width:"90%",maxWidth:"90%"}}if(O){return{width:O,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[B,O]);var _=typeof P==="function"?P(H):P;return w(C,l({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:F==null?void 0:F.maxWidth},footer:y==="footer"?W():null},T,{width:F==null?void 0:F.width,styles:l({},T.styles),className:u("app-dialog-drawer",T.className),extra:y==="header"?W():_,open:a.open,onClose:L,children:typeof s==="function"?s(H,{onClose:L}):s}))};var B=function e(o){var n=o.className,l=o.message,a=o.mask;var r=h.useToken(),i=r.token;var t=i.colorPrimary;return w(m,{maskClosable:false,centered:true,destroyOnClose:true,className:u("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:w(O,{className:u("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:l||"处理中"})]})})})};var L=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose==null?void 0:o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(a){o.dialogDrawerOpen==null?void 0:o.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function e(){var o=t(j);var n=function e(){o.dialogDrawerClose2==null?void 0:o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(a){o.dialogDrawerOpen2==null?void 0:o.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function e(){var o=t(j);var n=function e(){o.dialogModalClose==null?void 0:o.dialogModalClose()};return{appDialogModal:{open:function e(a){o.dialogModalOpen==null?void 0:o.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function e(){var o=t(j);var n=function e(){o.dialogModalClose2==null?void 0:o.dialogModalClose2()};return{appDialogModal2:{open:function e(a){o.dialogModalOpen2==null?void 0:o.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var W=function e(){var o=t(j);var n=function e(){o.dialogAlertClose==null?void 0:o.dialogAlertClose()};return{appDialogAlert:{open:function e(a){o.dialogAlertOpen==null?void 0:o.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function e(){var o=t(j);var n=function e(){o.dialogConfirmClose==null?void 0:o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(a){o.dialogConfirmOpen==null?void 0:o.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function e(){var o=t(j);var n=function e(){o.dialogLoadingClose==null?void 0:o.dialogLoadingClose()};return{appDialogLoading:{open:function e(a){o.dialogLoadingOpen==null?void 0:o.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function e(n){var r=s({}),i=r[0],t=r[1];var u=s(a()),c=u[0],f=u[1];var p=s({}),v=p[0],m=p[1];var g=s(a()),C=g[0],h=g[1];var k=s({}),x=k[0],y=k[1];var b=s(a()),w=b[0],O=b[1];var R=s({}),N=R[0],L=R[1];var A=s(a()),z=A[0],E=A[1];var W=s({}),F=W[0],_=W[1];var S=s({}),Y=S[0],q=S[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){t(e)}));var le=o.useCallbackRef((function(e){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(e);setTimeout((function(){f(a())}),200)}));var ae=o.useCallbackRef((function(e){m(e)}));var re=o.useCallbackRef((function(e){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(e);setTimeout((function(){h(a())}),200)}));var ie=o.useCallbackRef((function(e){y(e)}));var te=o.useCallbackRef((function(){y(l({},x,{open:false}));x.onClose==null?void 0:x.onClose();setTimeout((function(){O(a())}),200)}));var se=o.useCallbackRef((function(e){L(e)}));var de=o.useCallbackRef((function(){L(l({},N,{open:false}));N.onClose==null?void 0:N.onClose();setTimeout((function(){E(a())}),200)}));var ue=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(l({},F,{open:false}));F.onClose==null?void 0:F.onClose();setTimeout((function(){Q(a())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var pe=o.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var ve=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){oe(a())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:le,dialogDrawerOpen2:ae,dialogDrawerClose2:re,dialogModalOpen:ie,dialogModalClose:te,dialogModalOpen2:se,dialogModalClose2:de,dialogAlertOpen:ue,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:pe,dialogLoadingOpen:ve,dialogLoadingClose:me},children:[d(H,l({},i,{onClose:le,key:c})),d(H,l({},v,{onClose:re,key:C})),d(P,l({},x,{onClose:te,key:w})),d(P,l({},N,{onClose:de,key:z})),d(M,l({},F,{onClose:ce,key:K})),d(T,l({},Y,{onClose:pe,key:X})),d(B,l({},U,{key:ee})),n.children]})};var Y=e.attachPropertiesToComponent(S,{useDialogDrawer:L,useDialogDrawer2:A,useDialogModal:z,useDialogModal2:E,useDialogConfirm:F,useDialogAlert:W,useDialogLoading:_});export{Y as FbaApp};
11
11
  //# sourceMappingURL=index.js.map