@flatbiz/antd 4.5.47 → 4.5.49

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 (169) hide show
  1. package/esm/ace-editor-json/index.js +1 -1
  2. package/esm/ace-editor-json/index.js.map +1 -1
  3. package/esm/ace-editor-mysql/index.js +1 -1
  4. package/esm/ace-editor-mysql/index.js.map +1 -1
  5. package/esm/ace-editor-xml/index.js +1 -1
  6. package/esm/ace-editor-xml/index.js.map +1 -1
  7. package/esm/ai-search/index.css +0 -0
  8. package/esm/ai-search/index.js +11 -0
  9. package/esm/ai-search/index.js.map +1 -0
  10. package/esm/bootstrap/index.js +1 -1
  11. package/esm/bootstrap/index.js.map +1 -1
  12. package/esm/button-operate/index.js +1 -1
  13. package/esm/button-operate/index.js.map +1 -1
  14. package/esm/button-wrapper/index.js +1 -1
  15. package/esm/button-wrapper/index.js.map +1 -1
  16. package/esm/cascader-wrapper/index.js +1 -1
  17. package/esm/cascader-wrapper/index.js.map +1 -1
  18. package/esm/check-list/index.js +1 -1
  19. package/esm/check-list/index.js.map +1 -1
  20. package/esm/config-provider-wrapper/index.js +1 -1
  21. package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
  22. package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
  23. package/esm/dialog-alert/index.js +1 -1
  24. package/esm/dialog-alert/index.js.map +1 -1
  25. package/esm/dialog-confirm/index.js +1 -1
  26. package/esm/dialog-confirm/index.js.map +1 -1
  27. package/esm/dialog-drag-modal/index.js +1 -1
  28. package/esm/dialog-drag-modal/index.js.map +1 -1
  29. package/esm/dialog-drawer/index.js +1 -1
  30. package/esm/dialog-drawer/index.js.map +1 -1
  31. package/esm/dialog-drawer-content/index.js +1 -1
  32. package/esm/dialog-drawer-content/index.js.map +1 -1
  33. package/esm/dialog-loading/index.js +1 -1
  34. package/esm/dialog-loading/index.js.map +1 -1
  35. package/esm/dialog-modal/index.js +1 -1
  36. package/esm/dialog-modal/index.js.map +1 -1
  37. package/esm/dialog-preview-image/index.js +1 -1
  38. package/esm/dialog-preview-image/index.js.map +1 -1
  39. package/esm/drag-collapse/index.js +1 -1
  40. package/esm/drag-collapse/index.js.map +1 -1
  41. package/esm/drag-collapse-form-list/index.js +1 -1
  42. package/esm/drag-collapse-form-list/index.js.map +1 -1
  43. package/esm/drag-editable-card/index.css +1 -0
  44. package/esm/drag-editable-card/index.js +2 -2
  45. package/esm/drag-editable-card/index.js.map +1 -1
  46. package/esm/drag-editable-table/index.js +1 -1
  47. package/esm/drag-editable-table/index.js.map +1 -1
  48. package/esm/drag-editable-table-pro/index.js +1 -1
  49. package/esm/drag-editable-table-pro/index.js.map +1 -1
  50. package/esm/drag-form-list/index.js +1 -1
  51. package/esm/drag-form-list/index.js.map +1 -1
  52. package/esm/drawer-wrapper/index.js +1 -1
  53. package/esm/drawer-wrapper/index.js.map +1 -1
  54. package/esm/dropdown-menu-wrapper/index.js +1 -1
  55. package/esm/dropdown-menu-wrapper/index.js.map +1 -1
  56. package/esm/easy-form/index.js +1 -1
  57. package/esm/easy-form/index.js.map +1 -1
  58. package/esm/easy-table/index.js +1 -1
  59. package/esm/easy-table/index.js.map +1 -1
  60. package/esm/editable-card/index.css +1 -1
  61. package/esm/editable-card/index.js +2 -2
  62. package/esm/editable-card/index.js.map +1 -1
  63. package/esm/editable-field/index.js +1 -1
  64. package/esm/editable-field/index.js.map +1 -1
  65. package/esm/editable-table/index.js +1 -1
  66. package/esm/editable-table/index.js.map +1 -1
  67. package/esm/editable-table-pro/index.js +1 -1
  68. package/esm/editable-table-pro/index.js.map +1 -1
  69. package/esm/error-boundary-wrapper/index.js +1 -1
  70. package/esm/error-boundary-wrapper/index.js.map +1 -1
  71. package/esm/fba-app/index.js +1 -1
  72. package/esm/fba-app/index.js.map +1 -1
  73. package/esm/fba-hooks/index.js +1 -1
  74. package/esm/fba-hooks/index.js.map +1 -1
  75. package/esm/form-item-group/index.js +1 -1
  76. package/esm/form-item-group/index.js.map +1 -1
  77. package/esm/form-item-text/index.js +1 -1
  78. package/esm/form-item-text/index.js.map +1 -1
  79. package/esm/form-item-wrapper/index.js +1 -1
  80. package/esm/form-item-wrapper/index.js.map +1 -1
  81. package/esm/form-list-wrapper/index.js +1 -1
  82. package/esm/form-list-wrapper/index.js.map +1 -1
  83. package/esm/index.js +3 -1
  84. package/esm/input-search-wrapper/index.js +1 -1
  85. package/esm/input-search-wrapper/index.js.map +1 -1
  86. package/esm/input-text-area-wrapper/index.js +1 -1
  87. package/esm/input-text-area-wrapper/index.js.map +1 -1
  88. package/esm/input-wrapper/index.js +1 -1
  89. package/esm/input-wrapper/index.js.map +1 -1
  90. package/esm/json-editor/index.js +1 -1
  91. package/esm/json-editor/index.js.map +1 -1
  92. package/esm/label-value-render/index.js +1 -1
  93. package/esm/label-value-render/index.js.map +1 -1
  94. package/esm/local-loading/index.js +1 -1
  95. package/esm/local-loading/index.js.map +1 -1
  96. package/esm/mention-editor/index.js +1 -1
  97. package/esm/mention-editor/index.js.map +1 -1
  98. package/esm/mentions-wrapper/index.js +1 -1
  99. package/esm/mentions-wrapper/index.js.map +1 -1
  100. package/esm/modal-wrapper/index.js +1 -1
  101. package/esm/modal-wrapper/index.js.map +1 -1
  102. package/esm/number-range-form-item/index.js +1 -1
  103. package/esm/number-range-form-item/index.js.map +1 -1
  104. package/esm/pagination-wrapper/index.js +1 -1
  105. package/esm/pagination-wrapper/index.js.map +1 -1
  106. package/esm/pdf/index.js +1 -1
  107. package/esm/pdf/index.js.map +1 -1
  108. package/esm/pdf-preview/index.js +1 -1
  109. package/esm/pdf-preview/index.js.map +1 -1
  110. package/esm/relation-tree/index.js +1 -1
  111. package/esm/relation-tree/index.js.map +1 -1
  112. package/esm/resizable-drawer/index.css +1 -0
  113. package/esm/resizable-drawer/index.js +15 -0
  114. package/esm/resizable-drawer/index.js.map +1 -0
  115. package/esm/rich-text-editor/index.js +1 -1
  116. package/esm/rich-text-editor/index.js.map +1 -1
  117. package/esm/rich-text-viewer/index.js +1 -1
  118. package/esm/rich-text-viewer/index.js.map +1 -1
  119. package/esm/roll-location-center/index.js +1 -1
  120. package/esm/roll-location-center/index.js.map +1 -1
  121. package/esm/roll-location-in-view/index.js +1 -1
  122. package/esm/roll-location-in-view/index.js.map +1 -1
  123. package/esm/rule-describe/index.js +1 -1
  124. package/esm/rule-describe/index.js.map +1 -1
  125. package/esm/search-form/index.js +1 -1
  126. package/esm/search-form/index.js.map +1 -1
  127. package/esm/search-menu/index.js +1 -1
  128. package/esm/search-menu/index.js.map +1 -1
  129. package/esm/selector-wrapper/index.js +1 -1
  130. package/esm/selector-wrapper/index.js.map +1 -1
  131. package/esm/selector-wrapper-search/index.js +1 -1
  132. package/esm/selector-wrapper-search/index.js.map +1 -1
  133. package/esm/selector-wrapper-simple/index.js +1 -1
  134. package/esm/selector-wrapper-simple/index.js.map +1 -1
  135. package/esm/simple-layout/index.js +1 -1
  136. package/esm/simple-layout/index.js.map +1 -1
  137. package/esm/switch-confirm-wrapper/index.js +1 -1
  138. package/esm/switch-confirm-wrapper/index.js.map +1 -1
  139. package/esm/table-cell-render/index.js +1 -1
  140. package/esm/table-cell-render/index.js.map +1 -1
  141. package/esm/table-scrollbar/index.js +1 -1
  142. package/esm/table-scrollbar/index.js.map +1 -1
  143. package/esm/tag-group/index.js +1 -1
  144. package/esm/tag-group/index.js.map +1 -1
  145. package/esm/tag-wrapper/index.js +1 -1
  146. package/esm/tag-wrapper/index.js.map +1 -1
  147. package/esm/text-css-ellipsis/index.js +1 -1
  148. package/esm/text-css-ellipsis/index.js.map +1 -1
  149. package/esm/text-overflow/index.js +1 -1
  150. package/esm/text-overflow/index.js.map +1 -1
  151. package/esm/text-overflow-render/index.js +1 -1
  152. package/esm/text-overflow-render/index.js.map +1 -1
  153. package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
  154. package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
  155. package/esm/tips-title/index.css +1 -1
  156. package/esm/tips-title/index.js +1 -1
  157. package/esm/tips-title/index.js.map +1 -1
  158. package/esm/tree-modal/index.js +1 -1
  159. package/esm/tree-modal/index.js.map +1 -1
  160. package/esm/tree-modal-selector/index.js +1 -1
  161. package/esm/tree-modal-selector/index.js.map +1 -1
  162. package/esm/tree-selector-wrapper/index.js +1 -1
  163. package/esm/tree-selector-wrapper/index.js.map +1 -1
  164. package/esm/tree-wrapper/index.js +1 -1
  165. package/esm/tree-wrapper/index.js.map +1 -1
  166. package/esm/upload-wrapper/index.js +1 -1
  167. package/esm/upload-wrapper/index.js.map +1 -1
  168. package/index.d.ts +60 -8
  169. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/cascader-wrapper/utils.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { isPlainObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\nexport const getValues = (value: any) => {\n const values = toArray(value);\n return values.map((item) => {\n return isPlainObject(item) ? item?.['value'] : item;\n });\n};\n","import { CloseCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n TPlainObject,\n treeNodeParentsList,\n type TAny,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Cascader, CascaderProps, Flex } from 'antd';\nimport { forwardRef, ReactElement, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks/index';\nimport type { TRequestStatus, TRequestStatusProps } from '../request-status/request-status';\nimport { RequestStatus } from '../request-status/request-status';\nimport './style.less';\nimport { getValues } from './utils';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /** 响应数据适配器 */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n 'loading' | 'notFoundContent' | 'options' | 'value' | 'multiple' | 'onChange' | 'fieldNames'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?: string | number | Array<string | number> | LabelValueItem | LabelValueItem[];\n onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;\n /** 配置数据查询状态描述,比如有依赖字段描述 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * 选择数据响应类型(当用户选中后响应数据),默认值:last\n * ```\n * 1. last 响应选中的最后一级数据\n * 2. all 响应选中的多级数据\n * ```\n */\n responseType?: 'last' | 'all';\n /** 响应数据是否包含label、value */\n labelInValue?: boolean;\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * 6. @flatbiz/antd@5.0.25 删除 modelKey 字段\n * 7. serviceConfig.params 参数发生变化时,会重新请求数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<CascaderWrapperRefApi, CascaderWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n responseType,\n labelInValue,\n ...otherProps\n } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n const [status, setStatus] = useState<TRequestStatus>('request-init');\n\n const requestMessageConfigRef = useRef(requestMessageConfig);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const fieldNamesMerge = extend(true, { label: 'label', value: 'value', children: 'children' }, fieldNames);\n const [valueList, setValueList] = useState<string[]>();\n\n const prevParams = fbaHooks.usePrevious(JSON.stringify(serviceConfig?.params || {}));\n\n const paramsStr = useMemo(() => {\n return JSON.stringify(serviceConfig?.params || {});\n }, [serviceConfig?.params]);\n\n useEffect(() => {\n requestMessageConfigRef.current = requestMessageConfig;\n }, [requestMessageConfig]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n const params = serviceConfig.params || {};\n // 判断必填参数是否完整\n if (serviceConfig?.requiredParamsKeys) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(params[item]);\n });\n if (target) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataList([]);\n setStatus('no-dependencies-params');\n if (props.value) {\n props.onChange?.(undefined);\n }\n return;\n }\n }\n setLoading(true);\n setStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n setDataList(respAdapterData || []);\n onSelectorListChange?.(respAdapterData || []);\n setStatus('request-success');\n } catch (error: TAny) {\n setLoading(false);\n requestMessageConfigRef.current = {\n ...requestMessageConfigRef.current,\n 'request-error': error.message || '获取数据异常',\n };\n setStatus('request-error');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const values = getValues(props.value) as Array<number | string>;\n if (values.length > 0) {\n if (responseType === 'all') {\n setValueList(values as string[]);\n } else {\n const filterList = treeNodeParentsList(values[0], dataList, true, fieldNamesMerge).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n }\n } else {\n setValueList(undefined);\n }\n }, [dataList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return dataList;\n },\n };\n });\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (paramsStr !== prevParams) {\n void startDataSourceRequest();\n }\n }\n }, [prevParams, paramsStr]);\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n onSelectorListChange?.(dataList || []);\n setDataList([...dataList]);\n };\n\n const onChange = hooks.useCallbackRef((values: Array<string | number>, selectList) => {\n if (labelInValue !== true) {\n if (responseType === 'all') {\n props.onChange?.(values, selectList);\n } else {\n props.onChange?.(values?.[values.length - 1], selectList);\n }\n } else {\n const labelInValueList = selectList?.map((item) => {\n return {\n label: item[fieldNamesMerge.label],\n value: item[fieldNamesMerge.value],\n };\n });\n if (responseType === 'all') {\n props.onChange?.(labelInValueList, selectList);\n } else {\n props.onChange?.(labelInValueList?.[labelInValueList.length - 1], selectList);\n }\n }\n });\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames('cascader-wrapper-popup', otherProps.popupClassName)}\n notFoundContent={\n <RequestStatus\n status={status}\n loading={loading}\n messageConfig={requestMessageConfigRef.current}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest} ghost>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n status === 'request-error' ? (\n <Flex style={{ display: 'inline-flex', gap: 10 }}>\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n <CloseCircleFilled style={{ color: '#ff4d4f' }} />\n </Flex>\n ) : undefined\n }\n options={dataList}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["getValues","value","values","toArray","map","item","_isPlainObject","CascaderWrapper","forwardRef","props","ref","serviceConfig","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","responseType","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","dataList","setDataList","_useState2","status","setStatus","requestMessageConfigRef","useRef","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","fieldNamesMerge","_extend","label","children","_useState3","valueList","setValueList","prevParams","usePrevious","JSON","stringify","params","paramsStr","useMemo","useEffect","current","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","target","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","_extends","message","requiredParamsKeys","find","isUndefinedOrNull","onChange","undefined","resolve","then","$await_2","isLeaf","useEffectCustom","length","filterList","treeNodeParentsList","reverse","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_extends2","targetOption","$await_3","concat","selectList","labelInValueList","onClear","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","onClick","ghost","suffixIcon","_jsxs","Flex","style","display","gap","_RedoOutlined","spin","_CloseCircleFilled","color","options","multiple"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/cascader-wrapper/utils.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { isPlainObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\nexport const getValues = (value: any) => {\n const values = toArray(value);\n return values.map((item) => {\n return isPlainObject(item) ? item?.['value'] : item;\n });\n};\n","import { CloseCircleFilled, RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { classNames, extend, get } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n LabelValueItem,\n TPlainObject,\n treeNodeParentsList,\n type TAny,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Cascader, CascaderProps, Flex } from 'antd';\nimport { forwardRef, ReactElement, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks/index';\nimport type { TRequestStatus, TRequestStatusProps } from '../request-status/request-status';\nimport { RequestStatus } from '../request-status/request-status';\nimport './style.less';\nimport { getValues } from './utils';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /** 响应数据适配器 */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n 'loading' | 'notFoundContent' | 'options' | 'value' | 'multiple' | 'onChange' | 'fieldNames'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. 默认值:value=value、label=label、children=children\n * 2. list 为 onRequest 返回数据中列表key值,可多级取值,例如: 'a.b.c'\n * 3. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * 4. 如果没有配置list,可说明接口返回为数组\n * ```\n */\n fieldNames?: {\n list?: string;\n label?: string;\n value?: string;\n children?: string;\n };\n /**\n * 请求服务需求的数据,当设置`selectorList`后无效果\n */\n serviceConfig?: CascaderWrapperServiceConfig;\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /**\n * 是否动态加载选项\n */\n isDynamicLoad?: boolean;\n value?: string | number | Array<string | number> | LabelValueItem | LabelValueItem[];\n onChange?: (value?: string | number | Array<string | number>, selectedList?: TPlainObject[]) => void;\n /** 配置数据查询状态描述,比如有依赖字段描述 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /**\n * 选择数据响应类型(当用户选中后响应数据),默认值:last\n * ```\n * 1. last 响应选中的最后一级数据\n * 2. all 响应选中的多级数据\n * ```\n */\n responseType?: 'last' | 'all';\n /** 响应数据是否包含label、value */\n labelInValue?: boolean;\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value(可配置返回多级),第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * 6. @flatbiz/antd@5.0.25 删除 modelKey 字段\n * 7. serviceConfig.params 参数发生变化时,会重新请求数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<CascaderWrapperRefApi, CascaderWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n responseType,\n labelInValue,\n ...otherProps\n } = props;\n const [dataList, setDataList] = useState<TAny[]>([]);\n\n const [status, setStatus] = useState<TRequestStatus>('request-init');\n\n const requestMessageConfigRef = useRef(requestMessageConfig);\n\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const fieldNamesMerge = extend(true, { label: 'label', value: 'value', children: 'children' }, fieldNames);\n const [valueList, setValueList] = useState<string[]>();\n\n const prevParams = fbaHooks.usePrevious(JSON.stringify(serviceConfig?.params || {}));\n\n const paramsStr = useMemo(() => {\n return JSON.stringify(serviceConfig?.params || {});\n }, [serviceConfig?.params]);\n\n useEffect(() => {\n requestMessageConfigRef.current = requestMessageConfig;\n }, [requestMessageConfig]);\n\n const serviceRespDataAdapter = (respData) => {\n if (serviceConfig?.onRequestResultAdapter) {\n return serviceConfig.onRequestResultAdapter(respData as unknown as TPlainObject);\n }\n if (fieldNames?.list) {\n respData = get(respData, fieldNames?.list);\n }\n if (!isArray(respData)) {\n console.warn('接口返回数据不是数组类型,已被忽略', respData);\n return [];\n }\n return respData;\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!serviceConfig?.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n const params = serviceConfig.params || {};\n // 判断必填参数是否完整\n if (serviceConfig?.requiredParamsKeys) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(params[item]);\n });\n if (target) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataList([]);\n setStatus('no-dependencies-params');\n if (props.value) {\n props.onChange?.(undefined);\n }\n return;\n }\n }\n setLoading(true);\n setStatus('request-progress');\n const respData = await serviceConfig.onRequest?.(params);\n const respAdapterData = serviceRespDataAdapter(respData);\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n setDataList(respAdapterData || []);\n onSelectorListChange?.(respAdapterData || []);\n setStatus('request-success');\n } catch (error: TAny) {\n setLoading(false);\n requestMessageConfigRef.current = {\n ...requestMessageConfigRef.current,\n 'request-error': error.message || '获取数据异常',\n };\n setStatus('request-error');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const values = getValues(props.value) as Array<number | string>;\n if (values.length > 0) {\n if (responseType === 'all') {\n setValueList(values as string[]);\n } else {\n const filterList = treeNodeParentsList(values[0], dataList, true, fieldNamesMerge).reverse();\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList as string[]);\n }\n }\n } else {\n setValueList(undefined);\n }\n }, [dataList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return dataList;\n },\n };\n });\n\n fbaHooks.useEffectCustom(() => {\n if (prevParams) {\n if (paramsStr !== prevParams) {\n void startDataSourceRequest();\n }\n }\n }, [prevParams, paramsStr]);\n\n const onAgainRequest = hooks.useCallbackRef(() => {\n void startDataSourceRequest();\n });\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest();\n }, []);\n\n const loadData = async (selectedOptions: TAny[]) => {\n const targetOption = selectedOptions[selectedOptions.length - 1];\n targetOption.loading = true;\n const respData = await serviceConfig?.onRequest?.({\n ...serviceConfig.params,\n [fieldNamesMerge.value]: targetOption[fieldNamesMerge.value],\n });\n const respAdapterData = serviceRespDataAdapter(respData);\n if (!respAdapterData || respAdapterData.length === 0) {\n targetOption.isLeaf = true;\n } else {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n targetOption.children = respAdapterData;\n }\n targetOption.loading = false;\n onSelectorListChange?.(dataList || []);\n setDataList([...dataList]);\n };\n\n const onChange = hooks.useCallbackRef((values: Array<string | number>, selectList) => {\n if (labelInValue !== true) {\n if (responseType === 'all') {\n props.onChange?.(values, selectList);\n } else {\n props.onChange?.(values?.[values.length - 1], selectList);\n }\n } else {\n const labelInValueList = selectList?.map((item) => {\n return {\n label: item[fieldNamesMerge.label],\n value: item[fieldNamesMerge.value],\n };\n });\n if (responseType === 'all') {\n props.onChange?.(labelInValueList, selectList);\n } else {\n props.onChange?.(labelInValueList?.[labelInValueList.length - 1], selectList);\n }\n }\n });\n\n const onClear = hooks.useCallbackRef(() => {\n void props.onChange?.(undefined);\n });\n\n return (\n <Cascader\n showSearch={true}\n allowClear={true}\n {...(otherProps as TAny)}\n popupClassName={classNames('cascader-wrapper-popup', otherProps.popupClassName)}\n notFoundContent={\n <RequestStatus\n status={status}\n loading={loading}\n messageConfig={requestMessageConfigRef.current}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest} ghost>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n status === 'request-error' ? (\n <Flex style={{ display: 'inline-flex', gap: 10 }}>\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n <CloseCircleFilled style={{ color: '#ff4d4f' }} />\n </Flex>\n ) : undefined\n }\n options={dataList}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["getValues","value","values","toArray","map","item","_isPlainObject","CascaderWrapper","forwardRef","props","ref","serviceConfig","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","responseType","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","dataList","setDataList","_useState2","status","setStatus","requestMessageConfigRef","useRef","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","fieldNamesMerge","_extend","label","children","_useState3","valueList","setValueList","prevParams","usePrevious","JSON","stringify","params","paramsStr","useMemo","useEffect","current","serviceRespDataAdapter","respData","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","target","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","_extends","message","requiredParamsKeys","find","isUndefinedOrNull","onChange","undefined","resolve","then","$await_2","isLeaf","useEffectCustom","length","filterList","treeNodeParentsList","reverse","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_extends2","targetOption","$await_3","concat","selectList","labelInValueList","onClear","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","onClick","ghost","suffixIcon","_jsxs","Flex","style","display","gap","_RedoOutlined","spin","_CloseCircleFilled","color","options","multiple"],"mappings":"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"}
@@ -3,5 +3,5 @@ import './../fba-utils/index.css';
3
3
  import './../fba-hooks/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{extend as t}from"@dimjs/utils/cjs/extend";import{hooks as n}from"@wove/react/cjs/hooks";import{useMemo as i}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{createCtx as l}from"@wove/react/cjs/create-ctx";import{toArray as o}from"@flatbiz/utils";import{jsx as s,jsxs as u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"../use-responsive-point-21b8c601.js";import"antd";var c=l(),d=c[0],f=c[1];var m=function e(r,t){if(r!==undefined){var n=o(r);return t?n:n.splice(0,1)}return null};var p=function e(l){var o=a.useArrayChange([]),c=o[0],d=o[1];var p=i((function(){return m(l.value,l.multiple)}),[l.value,l.multiple]);a.useEffectCustom((function(){var e=p||m(l.defaultValue,l.multiple);d.resetList(e||[])}),[]);n.useUpdateEffect((function(){d.resetList(p||[])}),[p]);var h=n.useCallbackRef((function(e,r){return new Promise((function(n,i){var a,o,s;if(l.onPreChange){return Promise.resolve(l.onPreChange(e)).then(function(e){try{return u.call(this)}catch(e){return i(e)}}.bind(this),i)}function u(){a=c.findIndex((function(r){return r===e}));if(l.multiple===true){if(c.length===1&&a>=0&&l.required){return n()}if(a>=0){d.delete(a)}else{d.add(e)}}else{if(a>=0&&l.required){return n()}else{d.resetList(a>=0?[]:[e])}}if(!r){o=d.getList();if(l.multiple){s=o.length>0?t([],o):undefined}else{s=o.length>0?o[0]:undefined}l.onChange==null||l.onChange(s,e)}return n()}return u.call(this)}))}));return s("div",{className:r("check-list",l.className),style:l.style,children:u(f,{value:{onChange:h,checkedValues:c,stopPropagation:l.stopPropagation},children:[l.beforeExtra,l.children,l.afterExtra]})})};var h=function e(t){var i;var a=d();if(a===null){console.error("CheckList.Item can only be used inside CheckList.");return null}var l=n.useCallbackRef((function(e){if(a.stopPropagation){e.stopPropagation()}if(!t.disabled){a==null||a.onChange(t.value)}}));var o=(a==null?void 0:a.checkedValues.findIndex((function(e){return e===t.value})))>=0;var s="check-list";var u=r(s+"-item",(i={},i[s+"-disabled"]=t.disabled,i[s+"-readonly"]=t.readonly,i[s+"-checked"]=o,i),t.className);return t.children({onClick:l,checked:o,disabled:t.disabled,readonly:t.readonly,className:u,style:t.style})};var v=e.attachPropertiesToComponent(p,{Item:h});export{v as CheckList};
6
+ import{fbaUtils as e}from"../fba-utils/index.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{extend as t}from"@dimjs/utils/cjs/extend";import{hooks as n}from"@wove/react/cjs/hooks";import{useMemo as i}from"react";import{fbaHooks as a}from"../fba-hooks/index.js";import{createCtx as l}from"@wove/react/cjs/create-ctx";import{toArray as s}from"@flatbiz/utils";import{jsx as o,jsxs as u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"../use-responsive-point-21b8c601.js";import"antd";import"@dimjs/utils/cjs/uuid";var c=l(),d=c[0],f=c[1];var m=function e(r,t){if(r!==undefined){var n=s(r);return t?n:n.splice(0,1)}return null};var p=function e(l){var s=a.useArrayChange([]),c=s[0],d=s[1];var p=i((function(){return m(l.value,l.multiple)}),[l.value,l.multiple]);a.useEffectCustom((function(){var e=p||m(l.defaultValue,l.multiple);d.resetList(e||[])}),[]);n.useUpdateEffect((function(){d.resetList(p||[])}),[p]);var h=n.useCallbackRef((function(e,r){return new Promise((function(n,i){var a,s,o;if(l.onPreChange){return Promise.resolve(l.onPreChange(e)).then(function(e){try{return u.call(this)}catch(e){return i(e)}}.bind(this),i)}function u(){a=c.findIndex((function(r){return r===e}));if(l.multiple===true){if(c.length===1&&a>=0&&l.required){return n()}if(a>=0){d.delete(a)}else{d.add(e)}}else{if(a>=0&&l.required){return n()}else{d.resetList(a>=0?[]:[e])}}if(!r){s=d.getList();if(l.multiple){o=s.length>0?t([],s):undefined}else{o=s.length>0?s[0]:undefined}l.onChange==null||l.onChange(o,e)}return n()}return u.call(this)}))}));return o("div",{className:r("check-list",l.className),style:l.style,children:u(f,{value:{onChange:h,checkedValues:c,stopPropagation:l.stopPropagation},children:[l.beforeExtra,l.children,l.afterExtra]})})};var h=function e(t){var i;var a=d();if(a===null){console.error("CheckList.Item can only be used inside CheckList.");return null}var l=n.useCallbackRef((function(e){if(a.stopPropagation){e.stopPropagation()}if(!t.disabled){a==null||a.onChange(t.value)}}));var s=(a==null?void 0:a.checkedValues.findIndex((function(e){return e===t.value})))>=0;var o="check-list";var u=r(o+"-item",(i={},i[o+"-disabled"]=t.disabled,i[o+"-readonly"]=t.readonly,i[o+"-checked"]=s,i),t.className);return t.children({onClick:l,checked:s,disabled:t.disabled,readonly:t.readonly,className:u,style:t.style})};var v=e.attachPropertiesToComponent(p,{Item:h});export{v as CheckList};
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/check-list/context.ts","@flatbiz/antd/src/check-list/utils.ts","@flatbiz/antd/src/check-list/check-list.tsx","@flatbiz/antd/src/check-list/check-list-item.tsx","@flatbiz/antd/src/check-list/index.ts"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { CheckListItemValue } from './types';\n\nexport const [useCheckListCtx, CheckListCtxProvider] = createCtx<{\n checkedValues: CheckListItemValue[];\n onChange: (value: CheckListItemValue, defaultChange?: boolean) => void;\n stopPropagation?: boolean;\n}>();\n","import { toArray } from '@flatbiz/utils';\nimport { CheckListItemValue, CheckListValue } from './types';\n\nexport const getValueList = (value?: CheckListValue, multiple?: boolean) => {\n if (value !== undefined) {\n const valueList = toArray<CheckListItemValue>(value);\n return multiple ? valueList : valueList.splice(0, 1);\n }\n return null;\n};\n","import { classNames, extend } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport { CheckListCtxProvider } from './context';\nimport './style.less';\nimport { CheckListItemValue } from './types';\nimport { getValueList } from './utils';\n\nexport type CheckListSelectedValue<T extends 'multi' | 'radio'> = T extends 'multi'\n ? CheckListItemValue[]\n : CheckListItemValue;\n\nexport type CheckListProps<T extends 'multi' | 'radio'> = {\n multiple?: boolean;\n onChange?: (value: CheckListSelectedValue<T>, operateValue: CheckListItemValue) => void;\n onPreChange?: (value: CheckListItemValue) => Promise<void>;\n value?: CheckListSelectedValue<T>;\n defaultValue?: CheckListSelectedValue<T>;\n beforeExtra?: ReactNode;\n afterExtra?: ReactNode;\n stopPropagation?: boolean;\n required?: boolean;\n} & CommonPropsWithChildren;\n\nexport const CheckListInner = <T extends 'multi' | 'radio'>(props: CheckListProps<T>) => {\n const [checkedValues, arrayOperate] = fbaHooks.useArrayChange<CheckListItemValue>([]);\n\n const valueList = useMemo(() => {\n return getValueList(props.value, props.multiple);\n }, [props.value, props.multiple]);\n\n fbaHooks.useEffectCustom(() => {\n const current = valueList || getValueList(props.defaultValue, props.multiple);\n arrayOperate.resetList(current || []);\n }, []);\n\n hooks.useUpdateEffect(() => {\n arrayOperate.resetList(valueList || []);\n }, [valueList]);\n\n const onChange = hooks.useCallbackRef(async (value: CheckListItemValue, defaultChange) => {\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n const targetIndex = checkedValues.findIndex((temp) => temp === value);\n if (props.multiple === true) {\n if (checkedValues.length === 1 && targetIndex >= 0 && props.required) {\n return;\n }\n if (targetIndex >= 0) {\n arrayOperate.delete(targetIndex);\n } else {\n arrayOperate.add(value);\n }\n } else {\n if (targetIndex >= 0 && props.required) {\n return;\n } else {\n arrayOperate.resetList(targetIndex >= 0 ? [] : [value]);\n }\n }\n if (!defaultChange) {\n const newValues = arrayOperate.getList();\n let selectedValue;\n if (props.multiple) {\n selectedValue = newValues.length > 0 ? extend([], newValues) : undefined;\n } else {\n selectedValue = newValues.length > 0 ? newValues[0] : undefined;\n }\n props.onChange?.(selectedValue as CheckListSelectedValue<T>, value);\n }\n });\n\n return (\n <div className={classNames('check-list', props.className)} style={props.style}>\n <CheckListCtxProvider\n value={{\n onChange,\n checkedValues,\n stopPropagation: props.stopPropagation,\n }}\n >\n {props.beforeExtra}\n {props.children}\n {props.afterExtra}\n </CheckListCtxProvider>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, ReactElement } from 'react';\nimport { useCheckListCtx } from './context';\nimport { CheckListItemValue } from './types';\n\nexport type CheckListItemContentProps = {\n checked?: boolean;\n disabled?: boolean;\n onClick?: (event) => void;\n className?: string;\n readonly?: boolean;\n style?: CSSProperties;\n};\n\nexport type CheckListItemProps = {\n value: CheckListItemValue;\n disabled?: boolean;\n readonly?: boolean;\n children: (data: CheckListItemContentProps) => ReactElement;\n className?: string;\n style?: CSSProperties;\n};\n\nexport const CheckListItem = (props: CheckListItemProps) => {\n const context = useCheckListCtx();\n\n if (context === null) {\n console.error('CheckList.Item can only be used inside CheckList.');\n return null;\n }\n\n const onClick = hooks.useCallbackRef((event) => {\n if (context.stopPropagation) {\n event.stopPropagation();\n }\n if (!props.disabled) {\n context?.onChange(props.value);\n }\n });\n\n const checked = context?.checkedValues.findIndex((temp) => temp === props.value) >= 0;\n const checkedClassPrefix = 'check-list';\n\n const className = classNames(\n `${checkedClassPrefix}-item`,\n {\n [`${checkedClassPrefix}-disabled`]: props.disabled,\n [`${checkedClassPrefix}-readonly`]: props.readonly,\n [`${checkedClassPrefix}-checked`]: checked,\n },\n props.className,\n );\n\n return props.children({\n onClick,\n checked,\n disabled: props.disabled,\n readonly: props.readonly,\n className,\n style: props.style,\n });\n};\n","import { fbaUtils } from '../fba-utils';\nimport { CheckListInner } from './check-list';\nimport { CheckListItem } from './check-list-item';\n\nexport const CheckList = fbaUtils.attachPropertiesToComponent(CheckListInner, {\n Item: CheckListItem,\n});\n"],"names":["_createCtx","_createCtx2","useCheckListCtx","CheckListCtxProvider","getValueList","value","multiple","undefined","valueList","toArray","splice","CheckListInner","props","_fbaHooks$useArrayCha","fbaHooks","useArrayChange","checkedValues","arrayOperate","useMemo","useEffectCustom","current","defaultValue","resetList","_hooks","useUpdateEffect","onChange","useCallbackRef","defaultChange","Promise","$return","$error","targetIndex","newValues","selectedValue","onPreChange","resolve","then","$await_2","$If_1","call","this","$boundEx","bind","findIndex","temp","length","required","delete","add","getList","_extend","_jsx","className","_classNames","style","children","_jsxs","stopPropagation","beforeExtra","afterExtra","CheckListItem","_classNames2","context","console","error","onClick","event","disabled","checked","checkedClassPrefix","readonly","CheckList","fbaUtils","attachPropertiesToComponent","Item"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/check-list/context.ts","@flatbiz/antd/src/check-list/utils.ts","@flatbiz/antd/src/check-list/check-list.tsx","@flatbiz/antd/src/check-list/check-list-item.tsx","@flatbiz/antd/src/check-list/index.ts"],"sourcesContent":["import { createCtx } from '@wove/react';\nimport { CheckListItemValue } from './types';\n\nexport const [useCheckListCtx, CheckListCtxProvider] = createCtx<{\n checkedValues: CheckListItemValue[];\n onChange: (value: CheckListItemValue, defaultChange?: boolean) => void;\n stopPropagation?: boolean;\n}>();\n","import { toArray } from '@flatbiz/utils';\nimport { CheckListItemValue, CheckListValue } from './types';\n\nexport const getValueList = (value?: CheckListValue, multiple?: boolean) => {\n if (value !== undefined) {\n const valueList = toArray<CheckListItemValue>(value);\n return multiple ? valueList : valueList.splice(0, 1);\n }\n return null;\n};\n","import { classNames, extend } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport { CheckListCtxProvider } from './context';\nimport './style.less';\nimport { CheckListItemValue } from './types';\nimport { getValueList } from './utils';\n\nexport type CheckListSelectedValue<T extends 'multi' | 'radio'> = T extends 'multi'\n ? CheckListItemValue[]\n : CheckListItemValue;\n\nexport type CheckListProps<T extends 'multi' | 'radio'> = {\n multiple?: boolean;\n onChange?: (value: CheckListSelectedValue<T>, operateValue: CheckListItemValue) => void;\n onPreChange?: (value: CheckListItemValue) => Promise<void>;\n value?: CheckListSelectedValue<T>;\n defaultValue?: CheckListSelectedValue<T>;\n beforeExtra?: ReactNode;\n afterExtra?: ReactNode;\n stopPropagation?: boolean;\n required?: boolean;\n} & CommonPropsWithChildren;\n\nexport const CheckListInner = <T extends 'multi' | 'radio'>(props: CheckListProps<T>) => {\n const [checkedValues, arrayOperate] = fbaHooks.useArrayChange<CheckListItemValue>([]);\n\n const valueList = useMemo(() => {\n return getValueList(props.value, props.multiple);\n }, [props.value, props.multiple]);\n\n fbaHooks.useEffectCustom(() => {\n const current = valueList || getValueList(props.defaultValue, props.multiple);\n arrayOperate.resetList(current || []);\n }, []);\n\n hooks.useUpdateEffect(() => {\n arrayOperate.resetList(valueList || []);\n }, [valueList]);\n\n const onChange = hooks.useCallbackRef(async (value: CheckListItemValue, defaultChange) => {\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n const targetIndex = checkedValues.findIndex((temp) => temp === value);\n if (props.multiple === true) {\n if (checkedValues.length === 1 && targetIndex >= 0 && props.required) {\n return;\n }\n if (targetIndex >= 0) {\n arrayOperate.delete(targetIndex);\n } else {\n arrayOperate.add(value);\n }\n } else {\n if (targetIndex >= 0 && props.required) {\n return;\n } else {\n arrayOperate.resetList(targetIndex >= 0 ? [] : [value]);\n }\n }\n if (!defaultChange) {\n const newValues = arrayOperate.getList();\n let selectedValue;\n if (props.multiple) {\n selectedValue = newValues.length > 0 ? extend([], newValues) : undefined;\n } else {\n selectedValue = newValues.length > 0 ? newValues[0] : undefined;\n }\n props.onChange?.(selectedValue as CheckListSelectedValue<T>, value);\n }\n });\n\n return (\n <div className={classNames('check-list', props.className)} style={props.style}>\n <CheckListCtxProvider\n value={{\n onChange,\n checkedValues,\n stopPropagation: props.stopPropagation,\n }}\n >\n {props.beforeExtra}\n {props.children}\n {props.afterExtra}\n </CheckListCtxProvider>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { CSSProperties, ReactElement } from 'react';\nimport { useCheckListCtx } from './context';\nimport { CheckListItemValue } from './types';\n\nexport type CheckListItemContentProps = {\n checked?: boolean;\n disabled?: boolean;\n onClick?: (event) => void;\n className?: string;\n readonly?: boolean;\n style?: CSSProperties;\n};\n\nexport type CheckListItemProps = {\n value: CheckListItemValue;\n disabled?: boolean;\n readonly?: boolean;\n children: (data: CheckListItemContentProps) => ReactElement;\n className?: string;\n style?: CSSProperties;\n};\n\nexport const CheckListItem = (props: CheckListItemProps) => {\n const context = useCheckListCtx();\n\n if (context === null) {\n console.error('CheckList.Item can only be used inside CheckList.');\n return null;\n }\n\n const onClick = hooks.useCallbackRef((event) => {\n if (context.stopPropagation) {\n event.stopPropagation();\n }\n if (!props.disabled) {\n context?.onChange(props.value);\n }\n });\n\n const checked = context?.checkedValues.findIndex((temp) => temp === props.value) >= 0;\n const checkedClassPrefix = 'check-list';\n\n const className = classNames(\n `${checkedClassPrefix}-item`,\n {\n [`${checkedClassPrefix}-disabled`]: props.disabled,\n [`${checkedClassPrefix}-readonly`]: props.readonly,\n [`${checkedClassPrefix}-checked`]: checked,\n },\n props.className,\n );\n\n return props.children({\n onClick,\n checked,\n disabled: props.disabled,\n readonly: props.readonly,\n className,\n style: props.style,\n });\n};\n","import { fbaUtils } from '../fba-utils';\nimport { CheckListInner } from './check-list';\nimport { CheckListItem } from './check-list-item';\n\nexport const CheckList = fbaUtils.attachPropertiesToComponent(CheckListInner, {\n Item: CheckListItem,\n});\n"],"names":["_createCtx","_createCtx2","useCheckListCtx","CheckListCtxProvider","getValueList","value","multiple","undefined","valueList","toArray","splice","CheckListInner","props","_fbaHooks$useArrayCha","fbaHooks","useArrayChange","checkedValues","arrayOperate","useMemo","useEffectCustom","current","defaultValue","resetList","_hooks","useUpdateEffect","onChange","useCallbackRef","defaultChange","Promise","$return","$error","targetIndex","newValues","selectedValue","onPreChange","resolve","then","$await_2","$If_1","call","this","$boundEx","bind","findIndex","temp","length","required","delete","add","getList","_extend","_jsx","className","_classNames","style","children","_jsxs","stopPropagation","beforeExtra","afterExtra","CheckListItem","_classNames2","context","console","error","onClick","event","disabled","checked","checkedClassPrefix","readonly","CheckList","fbaUtils","attachPropertiesToComponent","Item"],"mappings":"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"}
@@ -3,5 +3,5 @@ import './../fba-hooks/index.css';
3
3
  import './../types/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- export{C as ConfigProviderWrapper}from"../index-83bede1b.js";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"antd";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"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";
6
+ export{C as ConfigProviderWrapper}from"../index-83bede1b.js";import"../_rollupPluginBabelHelpers-c0dbec57.js";import"antd";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"@wove/react/cjs/hooks";import"react";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";
7
7
  //# sourceMappingURL=index.js.map
@@ -8,5 +8,5 @@ import './../pre-defined-class-name/index.css';
8
8
  import './../types/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{toArray as i}from"@flatbiz/utils";import{Form as o}from"antd";import{useMemo as t,useEffect as m,useRef as s}from"react";import{DateRangePickerWrapper as l}from"../date-range-picker-wrapper/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{fbaUtils as v}from"../fba-utils/index.js";import{FormItemHidden as c}from"../form-item-hidden/index.js";import{FormItemWrapper as f}from"../form-item-wrapper/index.js";import{jsxs as d,Fragment as p,jsx as j}from"react/jsx-runtime";import"dayjs";import"../time-53b3f55f.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/model";import"../pre-defined-class-name/index.js";import"@dimjs/utils/cjs/class-names";var h=["startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps"];var g=function s(u){var g;var C=u.startName,x=u.endName,N=u.formListName,k=u.formListCompleteName,P=u.dateRangePickerWrapperProps,b=e(u,h);var F=o.useFormInstance();var W=k||N;var L=t((function(){if(W&&n(C)&&n(x)){var e=C[0],r=C.slice(1);var a=x.slice(1);return[e].concat("__#invalid_date_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_date_"+C+"_"+x}),[W,C,x]);var w=t((function(){return W?[].concat(i(W),L):L}),[L,W]);var R=t((function(){return W?[].concat(i(W),i(C)):C}),[C,W]);var y=t((function(){return W?[].concat(i(W),i(x)):x}),[x,W]);var z=o.useWatch(R,F);var A=o.useWatch(y,F);var B=o.useWatch(w,F);var E=a.useCallbackRef((function(e){var r=e==null?void 0:e[0];var a=e==null?void 0:e[1];v.setFormFieldsAndTriggerValuesChange(F,[{name:R,value:r},{name:y,value:a}]);P==null||P.onChange==null||P.onChange(e)}));m((function(){if(z&&A){F.setFields([{name:w,value:[z,A]}])}else{F.setFields([{name:w,value:undefined}])}}),[z,A,B,F,w]);return d(p,{children:[j(c,{name:C}),j(c,{name:x}),j(f,r({},b,{name:L,children:W&&(g=u.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(l,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var o=s(0);var t=u.usePrevious(a.value);u.useEffectCustom((function(){var e,r;if(o.current===0&&!t&&(e=a.value)!=null&&e[0]&&(r=a.value)!=null&&r[1]){o.current=1;a.onChange==null||a.onChange(a.value)}}),[(n=a.value)==null?void 0:n[0],(i=a.value)==null?void 0:i[1]]);return j(l,r({},a))};export{g as DateRangePickerWrapperFormItem};
11
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as a}from"@wove/react/cjs/hooks";import{isArray as n}from"@dimjs/lang/cjs/is-array";import{toArray as i}from"@flatbiz/utils";import{Form as t}from"antd";import{useMemo as o,useEffect as m,useRef as s}from"react";import{DateRangePickerWrapper as l}from"../date-range-picker-wrapper/index.js";import{fbaHooks as u}from"../fba-hooks/index.js";import{fbaUtils as v}from"../fba-utils/index.js";import{FormItemHidden as c}from"../form-item-hidden/index.js";import{FormItemWrapper as d}from"../form-item-wrapper/index.js";import{jsxs as f,Fragment as p,jsx as j}from"react/jsx-runtime";import"dayjs";import"../time-53b3f55f.js";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/model";import"../pre-defined-class-name/index.js";import"@dimjs/utils/cjs/class-names";var h=["startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps"];var g=function s(u){var g;var C=u.startName,x=u.endName,N=u.formListName,k=u.formListCompleteName,P=u.dateRangePickerWrapperProps,b=e(u,h);var F=t.useFormInstance();var W=k||N;var L=o((function(){if(W&&n(C)&&n(x)){var e=C[0],r=C.slice(1);var a=x.slice(1);return[e].concat("__#invalid_date_"+r.join("-")+"_"+a.join("-"))}return"__#invalid_date_"+C+"_"+x}),[W,C,x]);var w=o((function(){return W?[].concat(i(W),L):L}),[L,W]);var R=o((function(){return W?[].concat(i(W),i(C)):C}),[C,W]);var y=o((function(){return W?[].concat(i(W),i(x)):x}),[x,W]);var z=t.useWatch(R,F);var A=t.useWatch(y,F);var B=t.useWatch(w,F);var E=a.useCallbackRef((function(e){var r=e==null?void 0:e[0];var a=e==null?void 0:e[1];v.setFormFieldsAndTriggerValuesChange(F,[{name:R,value:r},{name:y,value:a}]);P==null||P.onChange==null||P.onChange(e)}));m((function(){if(z&&A){F.setFields([{name:w,value:[z,A]}])}else{F.setFields([{name:w,value:undefined}])}}),[z,A,B,F,w]);return f(p,{children:[j(c,{name:C}),j(c,{name:x}),j(d,r({},b,{name:L,children:W&&(g=u.rules)!=null&&g.length?j(_,r({},P,{onChange:E})):j(l,r({},P,{onChange:E}))}))]})};var _=function e(a){var n,i;var t=s(0);var o=u.usePrevious(a.value);u.useEffectCustom((function(){var e,r;if(t.current===0&&!o&&(e=a.value)!=null&&e[0]&&(r=a.value)!=null&&r[1]){t.current=1;a.onChange==null||a.onChange(a.value)}}),[(n=a.value)==null?void 0:n[0],(i=a.value)==null?void 0:i[1]]);return j(l,r({},a))};export{g as DateRangePickerWrapperFormItem};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper-form-item/date-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\n\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { DateRangePickerWrapper, DateRangePickerWrapperProps } from '../date-range-picker-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type DateRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 DateRangePickerWrapperFormItem 在Form.List场景下 必传\n * @deprecated 使用 formListCompleteName 配置\n */\n formListName?: Array<string | number>;\n /**\n * 前端 formItem 前缀FormName,当 TimeRangePickerWrapperFormItem 处在Form.List场景下,必传\n * ```\n * 例如 处在formList内部时,则 formListCompleteName = ['xxxxList']\n * 例如 处在formList套formList内部时,则 formListCompleteName = ['xxxxList', 索引值, 'xxxxList2']\n * ```\n */\n formListCompleteName?: Array<string | number> | string;\n\n dateRangePickerWrapperProps?: DateRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_date_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 dateRangePickerWrapperProps={{ format: 'YYYY-MM-DD HH:mm' }}\n * 使用场景:\n * 1. 基础使用场景\n * <DateRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data.prevCompleteName} startName={data.getInsideFormItemName('date1')} endName={data.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * 3. Form.List 套 Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <FormListWrapper name={data.getInsideFormItemName('childrenList')} prevCompleteName={data.prevCompleteName}>\n * {(data2) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const DateRangePickerWrapperFormItem = (props: DateRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n dateRangePickerWrapperProps,\n ...otherProps\n } = props;\n const form = Form.useFormInstance();\n\n const prevName = formListCompleteName || formListName;\n\n const bodyName = useMemo(() => {\n if (prevName && isArray(startName) && isArray(endName)) {\n const [startName0, ...startNameOther] = startName;\n const [, ...endNameOther] = endName;\n return [startName0].concat(`__#invalid_date_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_date_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\n );\n\n const startCompleteName = useMemo(() => {\n return prevName\n ? [...toArray<string | number>(prevName), ...toArray<string | number>(startName)]\n : startName;\n }, [startName, prevName]);\n\n const endCompleteName = useMemo(() => {\n return prevName ? [...toArray<string | number>(prevName), ...toArray<string | number>(endName)] : endName;\n }, [endName, prevName]);\n\n const startVal = Form.useWatch(startCompleteName, form);\n const endVal = Form.useWatch(endCompleteName, form);\n const bodyValue = Form.useWatch(bodyCompleteName, form);\n\n const onChange = hooks.useCallbackRef((data) => {\n const value1 = data?.[0];\n const value2 = data?.[1];\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n { name: startCompleteName, value: value1 },\n { name: endCompleteName, value: value2 },\n ]);\n dateRangePickerWrapperProps?.onChange?.(data);\n });\n\n useEffect(() => {\n if (startVal && endVal) {\n form.setFields([{ name: bodyCompleteName, value: [startVal, endVal] }]);\n } else {\n form.setFields([{ name: bodyCompleteName, value: undefined }]);\n }\n }, [startVal, endVal, bodyValue, form, bodyCompleteName]);\n\n return (\n <>\n <FormItemHidden name={startName} />\n <FormItemHidden name={endName} />\n <FormItemWrapper {...otherProps} name={bodyName}>\n {prevName && props.rules?.length ? (\n <Content {...dateRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <DateRangePickerWrapper {...dateRangePickerWrapperProps} onChange={onChange} />\n )}\n </FormItemWrapper>\n </>\n );\n};\n\nconst Content = (props) => {\n const ref = useRef<number>(0);\n const preValue = fbaHooks.usePrevious(props.value);\n fbaHooks.useEffectCustom(() => {\n // 处在Form.List场景下,当第一次外部赋值时,会出现赋值成功,但显示异常效果\n if (ref.current === 0 && !preValue && props.value?.[0] && props.value?.[1]) {\n ref.current = 1;\n props.onChange?.(props.value);\n }\n }, [props.value?.[0], props.value?.[1]]);\n\n return <DateRangePickerWrapper {...props} />;\n};\n"],"names":["DateRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","prevName","bodyName","useMemo","_isArray","startName0","startNameOther","slice","endNameOther","concat","join","bodyCompleteName","toArray","startCompleteName","endCompleteName","startVal","useWatch","endVal","bodyValue","onChange","_hooks","useCallbackRef","data","value1","value2","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","useEffect","setFields","undefined","_jsxs","_Fragment","children","_jsx","FormItemHidden","FormItemWrapper","_extends","rules","length","Content","DateRangePickerWrapper","_props$value3","_props$value4","ref","useRef","preValue","fbaHooks","usePrevious","useEffectCustom","_props$value","_props$value2","current"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper-form-item/date-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\n\nimport { toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { DateRangePickerWrapper, DateRangePickerWrapperProps } from '../date-range-picker-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper, FormItemWrapperProps } from '../form-item-wrapper';\nimport { FormItemNamePath } from '../types';\n\nexport type DateRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 DateRangePickerWrapperFormItem 在Form.List场景下 必传\n * @deprecated 使用 formListCompleteName 配置\n */\n formListName?: Array<string | number>;\n /**\n * 前端 formItem 前缀FormName,当 TimeRangePickerWrapperFormItem 处在Form.List场景下,必传\n * ```\n * 例如 处在formList内部时,则 formListCompleteName = ['xxxxList']\n * 例如 处在formList套formList内部时,则 formListCompleteName = ['xxxxList', 索引值, 'xxxxList2']\n * ```\n */\n formListCompleteName?: Array<string | number> | string;\n\n dateRangePickerWrapperProps?: DateRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件,时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * ```\n * 1. 会在form中产生一个 `__#invalid_date_xxxx_xxxx` 的无效字段,可以直接忽略\n * 2. 设置日期格式 dateRangePickerWrapperProps={{ format: 'YYYY-MM-DD HH:mm' }}\n * 使用场景:\n * 1. 基础使用场景\n * <DateRangePickerWrapperFormItem startName={'date1'} endName={'date2'} />\n * 2. Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data.prevCompleteName} startName={data.getInsideFormItemName('date1')} endName={data.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * 3. Form.List 套 Form.List 内部使用\n * <FormListWrapper name=\"dataList\" prevCompleteName={[]}>\n * {(data) => {\n * return <FormListWrapper name={data.getInsideFormItemName('childrenList')} prevCompleteName={data.prevCompleteName}>\n * {(data2) => {\n * return <DateRangePickerWrapperFormItem formListCompleteName={data2.prevCompleteName} startName={data2.getInsideFormItemName('date1')} endName={data2.getInsideFormItemName('date2')} />\n * }}\n * </FormListWrapper>\n * }}\n * </FormListWrapper>\n * ```\n */\nexport const DateRangePickerWrapperFormItem = (props: DateRangePickerWrapperFormItemProps) => {\n const {\n startName,\n endName,\n formListName,\n formListCompleteName,\n dateRangePickerWrapperProps,\n ...otherProps\n } = props;\n const form = Form.useFormInstance();\n\n const prevName = formListCompleteName || formListName;\n\n const bodyName = useMemo(() => {\n if (prevName && isArray(startName) && isArray(endName)) {\n const [startName0, ...startNameOther] = startName;\n const [, ...endNameOther] = endName;\n return [startName0].concat(`__#invalid_date_${startNameOther.join('-')}_${endNameOther.join('-')}`);\n }\n return `__#invalid_date_${startName}_${endName}`;\n }, [prevName, startName, endName]);\n\n const bodyCompleteName = useMemo(\n () => (prevName ? [...toArray<string | number>(prevName), ...bodyName] : bodyName),\n [bodyName, prevName],\n );\n\n const startCompleteName = useMemo(() => {\n return prevName\n ? [...toArray<string | number>(prevName), ...toArray<string | number>(startName)]\n : startName;\n }, [startName, prevName]);\n\n const endCompleteName = useMemo(() => {\n return prevName ? [...toArray<string | number>(prevName), ...toArray<string | number>(endName)] : endName;\n }, [endName, prevName]);\n\n const startVal = Form.useWatch(startCompleteName, form);\n const endVal = Form.useWatch(endCompleteName, form);\n const bodyValue = Form.useWatch(bodyCompleteName, form);\n\n const onChange = hooks.useCallbackRef((data) => {\n const value1 = data?.[0];\n const value2 = data?.[1];\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n { name: startCompleteName, value: value1 },\n { name: endCompleteName, value: value2 },\n ]);\n dateRangePickerWrapperProps?.onChange?.(data);\n });\n\n useEffect(() => {\n if (startVal && endVal) {\n form.setFields([{ name: bodyCompleteName, value: [startVal, endVal] }]);\n } else {\n form.setFields([{ name: bodyCompleteName, value: undefined }]);\n }\n }, [startVal, endVal, bodyValue, form, bodyCompleteName]);\n\n return (\n <>\n <FormItemHidden name={startName} />\n <FormItemHidden name={endName} />\n <FormItemWrapper {...otherProps} name={bodyName}>\n {prevName && props.rules?.length ? (\n <Content {...dateRangePickerWrapperProps} onChange={onChange} />\n ) : (\n <DateRangePickerWrapper {...dateRangePickerWrapperProps} onChange={onChange} />\n )}\n </FormItemWrapper>\n </>\n );\n};\n\nconst Content = (props) => {\n const ref = useRef<number>(0);\n const preValue = fbaHooks.usePrevious(props.value);\n fbaHooks.useEffectCustom(() => {\n // 处在Form.List场景下,当第一次外部赋值时,会出现赋值成功,但显示异常效果\n if (ref.current === 0 && !preValue && props.value?.[0] && props.value?.[1]) {\n ref.current = 1;\n props.onChange?.(props.value);\n }\n }, [props.value?.[0], props.value?.[1]]);\n\n return <DateRangePickerWrapper {...props} />;\n};\n"],"names":["DateRangePickerWrapperFormItem","props","_props$rules","startName","endName","formListName","formListCompleteName","dateRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","prevName","bodyName","useMemo","_isArray","startName0","startNameOther","slice","endNameOther","concat","join","bodyCompleteName","toArray","startCompleteName","endCompleteName","startVal","useWatch","endVal","bodyValue","onChange","_hooks","useCallbackRef","data","value1","value2","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","useEffect","setFields","undefined","_jsxs","_Fragment","children","_jsx","FormItemHidden","FormItemWrapper","_extends","rules","length","Content","DateRangePickerWrapper","_props$value3","_props$value4","ref","useRef","preValue","fbaHooks","usePrevious","useEffectCustom","_props$value","_props$value2","current"],"mappings":"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"}
@@ -9,5 +9,5 @@ import './../fba-utils/index.css';
9
9
  import './../flex-layout/index.css';
10
10
  import './index.css';
11
11
  /*! @flatjs/forge MIT @flatbiz/antd */
12
- import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{dialogConfirm as o}from"../dialog-confirm/index.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.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"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var t={open:function t(r){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},r,{onOk:r.onClick}))}};export{t as dialogAlert};
12
+ import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{dialogConfirm as o}from"../dialog-confirm/index.js";import"@dimjs/utils/cjs/class-names";import"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var t={open:function t(s){return o.open(i({okText:"确定",cancelHidden:true,maskClosable:false},s,{onOk:s.onClick}))}};export{t as dialogAlert};
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-alert/dialog-alert.tsx"],"sourcesContent":["import { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\n\nexport type DialogAlertProps = Omit<\n DialogModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\n/**\n * 确认弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogAlert.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogAlert } = FbaApp.useDialogAlert();\n * appDialogAlert.open({})\n * ```\n */\nexport const dialogAlert = {\n open: (props: DialogAlertProps) => {\n return dialogConfirm.open({\n okText: '确定',\n cancelHidden: true,\n maskClosable: false,\n ...props,\n onOk: props.onClick,\n } as DialogModalProps);\n },\n};\n"],"names":["dialogAlert","open","props","dialogConfirm","_extends","okText","cancelHidden","maskClosable","onOk","onClick"],"mappings":";mmCAsBO,IAAMA,EAAc,CACzBC,KAAM,SAANA,EAAOC,GACL,OAAOC,EAAcF,KAAIG,EAAA,CACvBC,OAAQ,KACRC,aAAc,KACdC,aAAc,OACXL,EAAK,CACRM,KAAMN,EAAMO,UAEhB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-alert/dialog-alert.tsx"],"sourcesContent":["import { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\n\nexport type DialogAlertProps = Omit<\n DialogModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\n/**\n * 确认弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogAlert.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogAlert } = FbaApp.useDialogAlert();\n * appDialogAlert.open({})\n * ```\n */\nexport const dialogAlert = {\n open: (props: DialogAlertProps) => {\n return dialogConfirm.open({\n okText: '确定',\n cancelHidden: true,\n maskClosable: false,\n ...props,\n onOk: props.onClick,\n } as DialogModalProps);\n },\n};\n"],"names":["dialogAlert","open","props","dialogConfirm","_extends","okText","cancelHidden","maskClosable","onOk","onClick"],"mappings":";ioCAsBO,IAAMA,EAAc,CACzBC,KAAM,SAANA,EAAOC,GACL,OAAOC,EAAcF,KAAIG,EAAA,CACvBC,OAAQ,KACRC,aAAc,KACdC,aAAc,OACXL,EAAK,CACRM,KAAMN,EAAMO,UAEhB"}
@@ -8,5 +8,5 @@ import './../fba-utils/index.css';
8
8
  import './../flex-layout/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{dialogModal as t}from"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.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"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var s={open:function s(r){var e=o("v-dialog-confirm",r.className);return t.open(i({width:350,okText:"确定",cancelText:"取消",maskClosable:true,size:null},r,{className:e}))}};export{s as dialogConfirm};
11
+ import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{dialogModal as t}from"../dialog-modal/index.js";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@flatbiz/utils";import"ahooks";import"antd";import"react";import"react-dom/client";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../index-83bede1b.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/uuid";import"@dimjs/utils/cjs/extend";import"react/jsx-runtime";import"../fba-utils/index.js";import"@dimjs/model";import"../flex-layout/index.js";import"@wove/react/cjs/create-ctx";var s={open:function s(r){var e=o("v-dialog-confirm",r.className);return t.open(i({width:350,okText:"确定",cancelText:"取消",maskClosable:true,size:null},r,{className:e}))}};export{s as dialogConfirm};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-confirm/dialog-confirm.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dialogModal, DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\n/**\n * 确认弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogConfirm.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogConfirm } = FbaApp.useDialogConfirm();\n * appDialogConfirm.open({})\n * ```\n */\nexport const dialogConfirm = {\n open: (props: DialogModalProps) => {\n const className = classNames('v-dialog-confirm', props.className);\n return dialogModal.open({\n width: 350,\n okText: '确定',\n cancelText: '取消',\n maskClosable: true,\n size: null,\n ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable","size"],"mappings":";mlCAgBO,IAAMA,EAAgB,CAC3BC,KAAM,SAANA,EAAOC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,KACdC,KAAM,MACHT,EAAK,CACRC,UAAAA,IAEJ"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-confirm/dialog-confirm.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dialogModal, DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\n/**\n * 确认弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogConfirm.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogConfirm } = FbaApp.useDialogConfirm();\n * appDialogConfirm.open({})\n * ```\n */\nexport const dialogConfirm = {\n open: (props: DialogModalProps) => {\n const className = classNames('v-dialog-confirm', props.className);\n return dialogModal.open({\n width: 350,\n okText: '确定',\n cancelText: '取消',\n maskClosable: true,\n size: null,\n ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable","size"],"mappings":";inCAgBO,IAAMA,EAAgB,CAC3BC,KAAM,SAANA,EAAOC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,KACdC,KAAM,MACHT,EAAK,CACRC,UAAAA,IAEJ"}
@@ -8,5 +8,5 @@ import './../gap/index.css';
8
8
  import './../icon-wrapper/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{isString as e}from"@dimjs/lang/cjs/is-string";import o from"@ant-design/icons/es/icons/CloseOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isNumber as r}from"@dimjs/lang/cjs/is-number";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as n,Space as m}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as p}from"react-dom/client";import f from"react-draggable";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{Gap as g}from"../gap/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as h,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-undefined";var w=function e(p){var w,_,x;var b=v.useResponsivePoint()||"";var k=n.useForm(),C=k[0];var I=s(true),O=I[0],N=I[1];var H=p.xOffset||0;var R=l.useCallbackRef((function(){try{N(false);setTimeout((function(){a.removeBodyChild("#"+p.elementId);delete window[p.elementId]}),100)}catch(e){}N(false)}));v.useEffectCustom((function(){window[p.elementId]=R}),[R]);var B=p.footer===null||p.okHidden&&p.cancelHidden&&!p.footerOperateBeforeRender&&!p.footerOperateAfterRender;var E=d(document.querySelector("html"));var K=c((function(){var e={};if(E){var o=E.height;e={maxHeight:o-200+"px"}}return i({},e,{height:p.bodyHeight})}),[E,p.bodyHeight]);var Y=c((function(){var e={opacity:O?1:0};var o=p.event&&r(p.event.clientX)&&r(p.event.clientY);var t=p.width||500;var l=["xs","sm"].includes(b);if(l){if(p.event&&o){var a=p.event.clientY;return i({},e,{top:a-30<0?a:a-30,width:"90%",left:"5%"},p.style)}return i({},e,{top:30,width:"90%",left:"5%"},p.style)}var d=0;if(p.event&&o){var n=p.event,m=n.clientX,s=n.clientY;e.left=m+H+"px";var c=s-30<0?s:s-30;e.top=c+"px";d=((E==null?void 0:E.width)||0)-m-H-t;if(d<0){e.left=m-t-H}}else{e.top="100px";e.left="50%";e.marginLeft="-"+t/2+"px"}return i({width:t},e,p.style)}),[O,p.width,p.event,H,p.style,b,E]);return h(f,{handle:".dialog-drag-modal-move-handle",children:j("div",{className:t("dialog-drag-modal",p.className),style:Y,children:[j("div",{className:"dialog-drag-modal-header dialog-drag-modal-move-handle",style:(w=p.styles)==null?void 0:w.header,children:[h("div",{className:"dialog-drag-modal-title",children:p.title}),h(y,{className:"dialog-drag-modal-close",icon:h(o,{}),onClick:R})]}),h("div",{className:"dialog-drag-modal-body",style:i({},K,(_=p.styles)==null?void 0:_.body),children:typeof p.content==="function"?p.content(C,{onClose:R}):p.content}),B?h(g,{className:"dialog-drag-modal-move-handle",height:20}):h("div",{className:"dialog-drag-modal-footer dialog-drag-modal-move-handle",style:(x=p.styles)==null?void 0:x.footer,children:p.footer?p.footer(C,{onClose:R}):j(m,{children:[p.footerOperateBeforeRender==null?void 0:p.footerOperateBeforeRender(C,{onClose:R}),p.cancelHidden==true?null:h(u,{type:"default",onClick:R,children:"取消"}),p.okHidden==true?null:h(u,{type:"primary",children:"提交"}),p.footerOperateAfterRender==null?void 0:p.footerOperateAfterRender(C,{onClose:R})]})})]})})};var _={open:function e(o){if(o.modalKey&&document.getElementById(o.modalKey)){return}var t=a.bodyAppendDivElement(o.modalKey),r=t.divElement,l=t.elementId;var d=o.modalKey?"__dialog_drag_modal_elementId_"+o.modalKey:"__dialog_drag_modal_elementId";window[d]=l;var n=p(r);n.render(h(w,i({},o,{divElement:r,elementId:l})));return{close:function e(){var o,t;(o=(t=window)[l])==null||o.call(t)}}},close:function o(t){try{var r,i;var l=t?window["__dialog_drag_modal_elementId_"+t]:window["__dialog_drag_modal_elementId"];if(e(l))(r=(i=window)[l])==null||r.call(i)}catch(e){}}};export{_ as dialogDragModal};
11
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import o from"@ant-design/icons/es/icons/CloseOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{isNumber as r}from"@dimjs/lang/cjs/is-number";import{_ as i}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as l}from"@wove/react/cjs/hooks";import{dom as a}from"@flatbiz/utils";import{useSize as d}from"ahooks";import{Form as n,Space as m}from"antd";import{useState as s,useMemo as c}from"react";import{createRoot as p}from"react-dom/client";import f from"react-draggable";import{ButtonWrapper as u}from"../button-wrapper/index.js";import{fbaHooks as v}from"../fba-hooks/index.js";import{Gap as g}from"../gap/index.js";import{IconWrapper as y}from"../icon-wrapper/index.js";import{jsx as h,jsxs as j}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-83bede1b.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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@dimjs/lang/cjs/is-undefined";var w=function e(p){var w,_,x;var b=v.useResponsivePoint()||"";var k=n.useForm(),C=k[0];var I=s(true),O=I[0],N=I[1];var H=p.xOffset||0;var R=l.useCallbackRef((function(){try{N(false);setTimeout((function(){a.removeBodyChild("#"+p.elementId);delete window[p.elementId]}),100)}catch(e){}N(false)}));v.useEffectCustom((function(){window[p.elementId]=R}),[R]);var B=p.footer===null||p.okHidden&&p.cancelHidden&&!p.footerOperateBeforeRender&&!p.footerOperateAfterRender;var E=d(document.querySelector("html"));var K=c((function(){var e={};if(E){var o=E.height;e={maxHeight:o-200+"px"}}return i({},e,{height:p.bodyHeight})}),[E,p.bodyHeight]);var Y=c((function(){var e={opacity:O?1:0};var o=p.event&&r(p.event.clientX)&&r(p.event.clientY);var t=p.width||500;var l=["xs","sm"].includes(b);if(l){if(p.event&&o){var a=p.event.clientY;return i({},e,{top:a-30<0?a:a-30,width:"90%",left:"5%"},p.style)}return i({},e,{top:30,width:"90%",left:"5%"},p.style)}var d=0;if(p.event&&o){var n=p.event,m=n.clientX,s=n.clientY;e.left=m+H+"px";var c=s-30<0?s:s-30;e.top=c+"px";d=((E==null?void 0:E.width)||0)-m-H-t;if(d<0){e.left=m-t-H}}else{e.top="100px";e.left="50%";e.marginLeft="-"+t/2+"px"}return i({width:t},e,p.style)}),[O,p.width,p.event,H,p.style,b,E]);return h(f,{handle:".dialog-drag-modal-move-handle",children:j("div",{className:t("dialog-drag-modal",p.className),style:Y,children:[j("div",{className:"dialog-drag-modal-header dialog-drag-modal-move-handle",style:(w=p.styles)==null?void 0:w.header,children:[h("div",{className:"dialog-drag-modal-title",children:p.title}),h(y,{className:"dialog-drag-modal-close",icon:h(o,{}),onClick:R})]}),h("div",{className:"dialog-drag-modal-body",style:i({},K,(_=p.styles)==null?void 0:_.body),children:typeof p.content==="function"?p.content(C,{onClose:R}):p.content}),B?h(g,{className:"dialog-drag-modal-move-handle",height:20}):h("div",{className:"dialog-drag-modal-footer dialog-drag-modal-move-handle",style:(x=p.styles)==null?void 0:x.footer,children:p.footer?p.footer(C,{onClose:R}):j(m,{children:[p.footerOperateBeforeRender==null?void 0:p.footerOperateBeforeRender(C,{onClose:R}),p.cancelHidden==true?null:h(u,{type:"default",onClick:R,children:"取消"}),p.okHidden==true?null:h(u,{type:"primary",children:"提交"}),p.footerOperateAfterRender==null?void 0:p.footerOperateAfterRender(C,{onClose:R})]})})]})})};var _={open:function e(o){if(o.modalKey&&document.getElementById(o.modalKey)){return}var t=a.bodyAppendDivElement(o.modalKey),r=t.divElement,l=t.elementId;var d=o.modalKey?"__dialog_drag_modal_elementId_"+o.modalKey:"__dialog_drag_modal_elementId";window[d]=l;var n=p(r);n.render(h(w,i({},o,{divElement:r,elementId:l})));return{close:function e(){var o,t;(o=(t=window)[l])==null||o.call(t)}}},close:function o(t){try{var r,i;var l=t?window["__dialog_drag_modal_elementId_"+t]:window["__dialog_drag_modal_elementId"];if(e(l))(r=(i=window)[l])==null||r.call(i)}catch(e){}}};export{_ as dialogDragModal};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drag-modal/drag-modal.tsx"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { isNumber, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { BodyAppendDivElementProps, TNoopDefine } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Space } from 'antd';\nimport type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Draggable from 'react-draggable';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { Gap } from '../gap';\nimport { IconWrapper } from '../icon-wrapper';\nimport './style.less';\n\nexport type DialogDragModalProps = {\n /** 相同的modalKey,最多只有一个弹起状态 */\n modalKey?: string;\n className?: string;\n style?: CSSProperties;\n styles?: {\n header?: CSSProperties;\n body?: CSSProperties;\n footer?: CSSProperties;\n };\n width?: number;\n bodyHeight?: number;\n /** 触发弹起点击事件event,用于计算鼠标位置 */\n event?: React.MouseEvent<HTMLElement>;\n /** 定义弹出层距离触发点的x轴偏移量 */\n xOffset?: number;\n\n title?: string;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\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 /** 覆盖当前footer,自定义操作按钮 */\n footer?: null | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n /** 当前footer操作按钮,左侧扩展 */\n footerOperateBeforeRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n /** 当前footer操作按钮,右侧扩展 */\n footerOperateAfterRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDragModalProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [form] = Form.useForm();\n const [open, setOpen] = useState(true);\n const xOffset = props.xOffset || 0;\n const onClose = hooks.useCallbackRef(() => {\n try {\n setOpen(false);\n setTimeout(() => {\n dom.removeBodyChild(`#${props.elementId}`);\n delete window[props.elementId];\n }, 100);\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[props.elementId] = onClose;\n }, [onClose]);\n\n const hiddenFooter =\n props.footer === null ||\n (props.okHidden &&\n props.cancelHidden &&\n !props.footerOperateBeforeRender &&\n !props.footerOperateAfterRender);\n\n const htmlSize = useSize(document.querySelector('html'));\n\n const bodyStyle = useMemo(() => {\n let style: CSSProperties = {};\n if (htmlSize) {\n const { height } = htmlSize;\n style = {\n maxHeight: `${height - 200}px`,\n };\n }\n return {\n ...style,\n height: props.bodyHeight,\n };\n }, [htmlSize, props.bodyHeight]);\n\n const modalStyle = useMemo(() => {\n const style: CSSProperties = {\n opacity: open ? 1 : 0,\n };\n\n const hasEvent = props.event && isNumber(props.event.clientX) && isNumber(props.event.clientY);\n const width = props.width || 500;\n\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n if (props.event && hasEvent) {\n const { clientY } = props.event;\n return {\n ...style,\n top: clientY - 30 < 0 ? clientY : clientY - 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n return {\n ...style,\n top: 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n let modalToRightWallCount = 0;\n if (props.event && hasEvent) {\n const { clientX, clientY } = props.event;\n style.left = `${clientX + xOffset}px`;\n const top = clientY - 30 < 0 ? clientY : clientY - 30;\n style.top = `${top}px`;\n modalToRightWallCount = (htmlSize?.width || 0) - clientX - xOffset - width;\n\n if (modalToRightWallCount < 0) {\n style.left = clientX - width - xOffset;\n }\n } else {\n style.top = '100px';\n style.left = '50%';\n style.marginLeft = `-${width / 2}px`;\n }\n\n return {\n width,\n ...style,\n ...props.style,\n };\n }, [open, props.width, props.event, xOffset, props.style, screenType, htmlSize]);\n\n return (\n <Draggable handle=\".dialog-drag-modal-move-handle\">\n <div className={classNames('dialog-drag-modal', props.className)} style={modalStyle}>\n <div className=\"dialog-drag-modal-header dialog-drag-modal-move-handle\" style={props.styles?.header}>\n <div className=\"dialog-drag-modal-title\">{props.title}</div>\n <IconWrapper className=\"dialog-drag-modal-close\" icon={<CloseOutlined />} onClick={onClose} />\n </div>\n <div className=\"dialog-drag-modal-body\" style={{ ...bodyStyle, ...props.styles?.body }}>\n {typeof props.content === 'function' ? props.content(form, { onClose }) : props.content}\n </div>\n {hiddenFooter ? (\n <Gap className=\"dialog-drag-modal-move-handle\" height={20} />\n ) : (\n <div\n className=\"dialog-drag-modal-footer dialog-drag-modal-move-handle\"\n style={props.styles?.footer}\n >\n {props.footer ? (\n props.footer(form, { onClose })\n ) : (\n <Space>\n {props.footerOperateBeforeRender?.(form, { onClose })}\n {props.cancelHidden == true ? null : (\n <ButtonWrapper type=\"default\" onClick={onClose}>\n 取消\n </ButtonWrapper>\n )}\n {props.okHidden == true ? null : <ButtonWrapper type=\"primary\">提交</ButtonWrapper>}\n {props.footerOperateAfterRender?.(form, { onClose })}\n </Space>\n )}\n </div>\n )}\n </div>\n </Draggable>\n );\n};\n\n/**\n * 可移动弹框\n * ```\n * 1. 设置 event 后,弹起位置受鼠标点击位置控制\n * 2. 相同的modalKey,最多只有一个弹起状态\n * ```\n */\nexport const dialogDragModal = {\n open: (props: DialogDragModalProps) => {\n if (props.modalKey && document.getElementById(props.modalKey)) {\n return;\n }\n const { divElement, elementId } = dom.bodyAppendDivElement(props.modalKey);\n const idKey = props.modalKey\n ? `__dialog_drag_modal_elementId_${props.modalKey}`\n : '__dialog_drag_modal_elementId';\n window[idKey] = 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: (modalKey?: string) => {\n try {\n const elementId = (\n modalKey\n ? window[`__dialog_drag_modal_elementId_${modalKey}`]\n : window['__dialog_drag_modal_elementId']\n ) as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_props$styles","_props$styles2","_props$styles3","screenType","fbaHooks","useResponsivePoint","_Form$useForm","Form","useForm","form","_useState","useState","open","setOpen","xOffset","onClose","_hooks","useCallbackRef","setTimeout","dom","removeBodyChild","elementId","window","_error","useEffectCustom","hiddenFooter","footer","okHidden","cancelHidden","footerOperateBeforeRender","footerOperateAfterRender","htmlSize","useSize","document","querySelector","bodyStyle","useMemo","style","height","maxHeight","_extends","bodyHeight","modalStyle","opacity","hasEvent","event","_isNumber","clientX","clientY","width","isXsSm","includes","top","left","modalToRightWallCount","_props$event","marginLeft","_jsx","Draggable","handle","children","_jsxs","className","_classNames","styles","header","title","IconWrapper","icon","_CloseOutlined","onClick","body","content","Gap","Space","ButtonWrapper","type","dialogDragModal","modalKey","getElementById","_dom$bodyAppendDivEle","bodyAppendDivElement","divElement","idKey","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-drag-modal/drag-modal.tsx"],"sourcesContent":["import { CloseOutlined } from '@ant-design/icons';\nimport { isNumber, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { BodyAppendDivElementProps, TNoopDefine } from '@flatbiz/utils';\nimport { dom } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Space } from 'antd';\nimport type { CSSProperties, ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Draggable from 'react-draggable';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { Gap } from '../gap';\nimport { IconWrapper } from '../icon-wrapper';\nimport './style.less';\n\nexport type DialogDragModalProps = {\n /** 相同的modalKey,最多只有一个弹起状态 */\n modalKey?: string;\n className?: string;\n style?: CSSProperties;\n styles?: {\n header?: CSSProperties;\n body?: CSSProperties;\n footer?: CSSProperties;\n };\n width?: number;\n bodyHeight?: number;\n /** 触发弹起点击事件event,用于计算鼠标位置 */\n event?: React.MouseEvent<HTMLElement>;\n /** 定义弹出层距离触发点的x轴偏移量 */\n xOffset?: number;\n\n title?: string;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\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 /** 覆盖当前footer,自定义操作按钮 */\n footer?: null | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n /** 当前footer操作按钮,左侧扩展 */\n footerOperateBeforeRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n /** 当前footer操作按钮,右侧扩展 */\n footerOperateAfterRender?: (form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDragModalProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [form] = Form.useForm();\n const [open, setOpen] = useState(true);\n const xOffset = props.xOffset || 0;\n const onClose = hooks.useCallbackRef(() => {\n try {\n setOpen(false);\n setTimeout(() => {\n dom.removeBodyChild(`#${props.elementId}`);\n delete window[props.elementId];\n }, 100);\n } catch (_error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[props.elementId] = onClose;\n }, [onClose]);\n\n const hiddenFooter =\n props.footer === null ||\n (props.okHidden &&\n props.cancelHidden &&\n !props.footerOperateBeforeRender &&\n !props.footerOperateAfterRender);\n\n const htmlSize = useSize(document.querySelector('html'));\n\n const bodyStyle = useMemo(() => {\n let style: CSSProperties = {};\n if (htmlSize) {\n const { height } = htmlSize;\n style = {\n maxHeight: `${height - 200}px`,\n };\n }\n return {\n ...style,\n height: props.bodyHeight,\n };\n }, [htmlSize, props.bodyHeight]);\n\n const modalStyle = useMemo(() => {\n const style: CSSProperties = {\n opacity: open ? 1 : 0,\n };\n\n const hasEvent = props.event && isNumber(props.event.clientX) && isNumber(props.event.clientY);\n const width = props.width || 500;\n\n const isXsSm = ['xs', 'sm'].includes(screenType);\n\n if (isXsSm) {\n if (props.event && hasEvent) {\n const { clientY } = props.event;\n return {\n ...style,\n top: clientY - 30 < 0 ? clientY : clientY - 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n return {\n ...style,\n top: 30,\n width: '90%',\n left: '5%',\n ...props.style,\n };\n }\n let modalToRightWallCount = 0;\n if (props.event && hasEvent) {\n const { clientX, clientY } = props.event;\n style.left = `${clientX + xOffset}px`;\n const top = clientY - 30 < 0 ? clientY : clientY - 30;\n style.top = `${top}px`;\n modalToRightWallCount = (htmlSize?.width || 0) - clientX - xOffset - width;\n\n if (modalToRightWallCount < 0) {\n style.left = clientX - width - xOffset;\n }\n } else {\n style.top = '100px';\n style.left = '50%';\n style.marginLeft = `-${width / 2}px`;\n }\n\n return {\n width,\n ...style,\n ...props.style,\n };\n }, [open, props.width, props.event, xOffset, props.style, screenType, htmlSize]);\n\n return (\n <Draggable handle=\".dialog-drag-modal-move-handle\">\n <div className={classNames('dialog-drag-modal', props.className)} style={modalStyle}>\n <div className=\"dialog-drag-modal-header dialog-drag-modal-move-handle\" style={props.styles?.header}>\n <div className=\"dialog-drag-modal-title\">{props.title}</div>\n <IconWrapper className=\"dialog-drag-modal-close\" icon={<CloseOutlined />} onClick={onClose} />\n </div>\n <div className=\"dialog-drag-modal-body\" style={{ ...bodyStyle, ...props.styles?.body }}>\n {typeof props.content === 'function' ? props.content(form, { onClose }) : props.content}\n </div>\n {hiddenFooter ? (\n <Gap className=\"dialog-drag-modal-move-handle\" height={20} />\n ) : (\n <div\n className=\"dialog-drag-modal-footer dialog-drag-modal-move-handle\"\n style={props.styles?.footer}\n >\n {props.footer ? (\n props.footer(form, { onClose })\n ) : (\n <Space>\n {props.footerOperateBeforeRender?.(form, { onClose })}\n {props.cancelHidden == true ? null : (\n <ButtonWrapper type=\"default\" onClick={onClose}>\n 取消\n </ButtonWrapper>\n )}\n {props.okHidden == true ? null : <ButtonWrapper type=\"primary\">提交</ButtonWrapper>}\n {props.footerOperateAfterRender?.(form, { onClose })}\n </Space>\n )}\n </div>\n )}\n </div>\n </Draggable>\n );\n};\n\n/**\n * 可移动弹框\n * ```\n * 1. 设置 event 后,弹起位置受鼠标点击位置控制\n * 2. 相同的modalKey,最多只有一个弹起状态\n * ```\n */\nexport const dialogDragModal = {\n open: (props: DialogDragModalProps) => {\n if (props.modalKey && document.getElementById(props.modalKey)) {\n return;\n }\n const { divElement, elementId } = dom.bodyAppendDivElement(props.modalKey);\n const idKey = props.modalKey\n ? `__dialog_drag_modal_elementId_${props.modalKey}`\n : '__dialog_drag_modal_elementId';\n window[idKey] = 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: (modalKey?: string) => {\n try {\n const elementId = (\n modalKey\n ? window[`__dialog_drag_modal_elementId_${modalKey}`]\n : window['__dialog_drag_modal_elementId']\n ) as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (_error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_props$styles","_props$styles2","_props$styles3","screenType","fbaHooks","useResponsivePoint","_Form$useForm","Form","useForm","form","_useState","useState","open","setOpen","xOffset","onClose","_hooks","useCallbackRef","setTimeout","dom","removeBodyChild","elementId","window","_error","useEffectCustom","hiddenFooter","footer","okHidden","cancelHidden","footerOperateBeforeRender","footerOperateAfterRender","htmlSize","useSize","document","querySelector","bodyStyle","useMemo","style","height","maxHeight","_extends","bodyHeight","modalStyle","opacity","hasEvent","event","_isNumber","clientX","clientY","width","isXsSm","includes","top","left","modalToRightWallCount","_props$event","marginLeft","_jsx","Draggable","handle","children","_jsxs","className","_classNames","styles","header","title","IconWrapper","icon","_CloseOutlined","onClick","body","content","Gap","Space","ButtonWrapper","type","dialogDragModal","modalKey","getElementById","_dom$bodyAppendDivEle","bodyAppendDivElement","divElement","idKey","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"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 r,a as t}from"../_rollupPluginBabelHelpers-c0dbec57.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-83bede1b.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{u as v,C as j}from"../context-1f2093c6.js";import{jsx as h,jsxs as w}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"@dimjs/model";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 v=i.divElement,y=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,F=i.operatePosition,I=F===void 0?"footer":F,R=i.operateRender,W=i.width,H=i.okHidden,O=i.cancelHidden,D=i.extra,T=t(i,x);var z=s(true),S=z[0],Y=z[1];var A=s(),L=A[0],M=A[1];var N=a.useForm(),U=N[0];var q=f.useResponsivePoint()||"";var G=s({}),J=G[0],K=G[1];var Q=n.useCallbackRef((function(){try{delete window[y]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[y]=Q}),[Q]);var V=n.useCallbackRef((function(e){if(k){var r=k(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var X=n.useCallbackRef((function(e){if(g){var r=g(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var Z=f.useMemoCustom((function(){if(R){return R(U,J)}var e=H||(E==null?void 0:E.hidden);var t=H||(E==null?void 0:E.hidden);var o=w(l,{children:[t?null:h(u,r({},B,{onClick:V,children:_||"取消"})),e?null:h(u,r({type:"primary"},E,{onClick:X,children:b||"提交"}))]});if(!H||!O){return o}return null}),[J]);var $=typeof D==="function"?D(U):D;var ee=function e(r){M(r)};var re=c((function(){if(!q)return undefined;if(["xs","sm"].includes(q)){return{width:"90%",maxWidth:"90%"}}if(W){return{width:W,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[q,W]);var te=function e(r){K(r)};return h(j,{value:{onClose:Q,updateBodyStyle:ee,rerenderFooter:te},children:h(p,r({},P,{children:h(d,r({maskClosable:true,destroyOnClose:true,onClose:Q,contentWrapperStyle:{maxWidth:re==null?void 0:re.maxWidth},footer:I==="footer"?Z:null},T,{width:re==null?void 0:re.width,styles:r({},T.styles,{body:r({},L,(m=T.styles)==null?void 0:m.body)}),extra:I==="header"?Z:$,open:S,getContainer:v,children:typeof C==="function"?C(U,{onClose:Q}):C}))}))})};var g={open:function e(t){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(h(y,r({},t,{divElement:n,elementId:a})));return{close:function e(){var r,t;(r=(t=window)[a])==null||r.call(t)}}},close:function r(){try{var t,o;var n=window["__dialog_drawer_elementId"];if(e(n))(t=(o=window)[n])==null||t.call(o)}catch(e){}},useDialogDrawer:function e(){var r=v();return{rerenderFooter:function e(t){r.rerenderFooter(t)}}}};export{g as dialogDrawer};
9
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as r,a as t}from"../_rollupPluginBabelHelpers-c0dbec57.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-83bede1b.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{u as v,C as j}from"../context-1f2093c6.js";import{jsx as h,jsxs as w}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"@dimjs/model";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"@dimjs/utils/cjs/uuid";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 v=i.divElement,y=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,F=i.operatePosition,I=F===void 0?"footer":F,R=i.operateRender,W=i.width,H=i.okHidden,O=i.cancelHidden,D=i.extra,T=t(i,x);var z=s(true),S=z[0],Y=z[1];var A=s(),L=A[0],M=A[1];var N=a.useForm(),U=N[0];var q=f.useResponsivePoint()||"";var G=s({}),J=G[0],K=G[1];var Q=n.useCallbackRef((function(){try{delete window[y]}catch(e){}Y(false)}));f.useEffectCustom((function(){window[y]=Q}),[Q]);var V=n.useCallbackRef((function(e){if(k){var r=k(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var X=n.useCallbackRef((function(e){if(g){var r=g(U,e);if(r&&o(r)){return r.then(Q)}}return Q()}));var Z=f.useMemoCustom((function(){if(R){return R(U,J)}var e=H||(E==null?void 0:E.hidden);var t=H||(E==null?void 0:E.hidden);var o=w(l,{children:[t?null:h(u,r({},B,{onClick:V,children:_||"取消"})),e?null:h(u,r({type:"primary"},E,{onClick:X,children:b||"提交"}))]});if(!H||!O){return o}return null}),[J]);var $=typeof D==="function"?D(U):D;var ee=function e(r){M(r)};var re=c((function(){if(!q)return undefined;if(["xs","sm"].includes(q)){return{width:"90%",maxWidth:"90%"}}if(W){return{width:W,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[q,W]);var te=function e(r){K(r)};return h(j,{value:{onClose:Q,updateBodyStyle:ee,rerenderFooter:te},children:h(p,r({},P,{children:h(d,r({maskClosable:true,destroyOnClose:true,onClose:Q,contentWrapperStyle:{maxWidth:re==null?void 0:re.maxWidth},footer:I==="footer"?Z:null},T,{width:re==null?void 0:re.width,styles:r({},T.styles,{body:r({},L,(m=T.styles)==null?void 0:m.body)}),extra:I==="header"?Z:$,open:S,getContainer:v,children:typeof C==="function"?C(U,{onClose:Q}):C}))}))})};var g={open:function e(t){var o=i.bodyAppendDivElement(),n=o.divElement,a=o.elementId;window["__dialog_drawer_elementId"]=a;var l=m(n);l.render(h(y,r({},t,{divElement:n,elementId:a})));return{close:function e(){var r,t;(r=(t=window)[a])==null||r.call(t)}}},close:function r(){try{var t,o;var n=window["__dialog_drawer_elementId"];if(e(n))(t=(o=window)[n])==null||t.call(o)}catch(e){}},useDialogDrawer:function e(){var r=v();return{rerenderFooter:function e(t){r.rerenderFooter(t)}}}};export{g 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, TPlainObject } 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, useDialogDrawerCtx } 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\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => 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 const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData]);\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 const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle, rerenderFooter }}>\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' ? newOperateRender : 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' ? newOperateRender : 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 * ```\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 * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogDrawer: () => {\n const ctx = useDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\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","_useState3","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","newOperateRender","useMemoCustom","okHiddenNew","hidden","cancelHiddenNew","operateGroup","_jsxs","Space","children","_jsx","ButtonWrapper","_extends","onClick","type","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","rerenderFooter","data","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","useDialogDrawer","ctx","useDialogDrawerCtx"],"mappings":";m+CAwCA,IAAMA,EAAc,SAAdA,EAAeC,GAAyD,IAAAC,EAC5E,IACEC,EAiBEF,EAjBFE,WACAC,EAgBEH,EAhBFG,UACAC,EAeEJ,EAfFI,KACAC,EAcEL,EAdFK,SACAC,EAaEN,EAbFM,QACAC,EAYEP,EAZFO,oBACAC,EAWER,EAXFQ,OACAC,EAUET,EAVFS,WACAC,EASEV,EATFU,mBACAC,EAQEX,EARFW,uBAAsBC,EAQpBZ,EAPFa,gBAAAA,EAAeD,SAAG,EAAA,SAAQA,EAC1BE,EAMEd,EANFc,cACAC,EAKEf,EALFe,MACAC,EAIEhB,EAJFgB,SACAC,EAGEjB,EAHFiB,aACAC,EAEElB,EAFFkB,MACGC,EAAUC,EACXpB,EAAKqB,GACT,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpB,IAAAI,EAA4CH,IAArCI,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,GACxC,IAAAG,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAaC,EAASC,sBAAwB,GACpD,IAAAC,EAA8Cb,EAAuB,IAA9Dc,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,GAE1C,IAAMG,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOvC,EACf,CAAC,MAAOwC,GACP,CAEFlB,EAAQ,MACV,IAEAS,EAASU,iBAAgB,WACvBF,OAAOvC,GAAaoC,CACtB,GAAG,CAACA,IAEJ,IAAMM,EAAiBL,EAAMC,gBAAe,SAACK,GAC3C,GAAIzC,EAAU,CACZ,IAAM0C,EAAW1C,EAAS2B,EAAMc,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMW,EAAaV,EAAMC,gBAAe,SAACK,GACvC,GAAI1C,EAAM,CACR,IAAM2C,EAAW3C,EAAK4B,EAAMc,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKV,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMY,EAAmBjB,EAASkB,eAAc,WAC9C,GAAItC,EAAe,CACjB,OAAOA,EAAckB,EAAMK,EAC7B,CAEA,IAAMgB,EAAcrC,IAAYN,GAAAA,UAAAA,EAAAA,EAAoB4C,QACpD,IAAMC,EAAkBvC,IAAYN,GAAAA,UAAAA,EAAAA,EAAoB4C,QAExD,IAAME,EACJC,EAACC,EAAK,CAAAC,SAAA,CACHJ,EAAkB,KACjBK,EAACC,EAAaC,EAAA,CAAA,EAAKnD,EAAsB,CAAEoD,QAASlB,EAAec,SAChElD,GAAc,QAGlB4C,EAAc,KACbO,EAACC,EAAaC,EAAA,CAACE,KAAK,WAActD,EAAkB,CAAEqD,QAASb,EAAWS,SACvEnD,GAAU,WAKnB,IAAKQ,IAAaC,EAAc,CAC9B,OAAOuC,CACT,CACA,OAAO,IACT,GAAG,CAACnB,IAEJ,IAAM4B,SAAqB/C,IAAU,WAAaA,EAAMc,GAAQd,EAEhE,IAAMgD,GAAkB,SAAlBA,EAAmBC,GACvBvC,EAAkBuC,IAGpB,IAAMC,GAAaC,GAAQ,WACzB,IAAKpC,EAAY,OAAOqC,UACxB,GAAI,CAAC,KAAM,MAAMC,SAAStC,GAAa,CACrC,MAAO,CACLlB,MAAO,MACPyD,SAAU,MAEd,CACA,GAAIzD,EAAO,CACT,MAAO,CAAEA,MAAOA,EAAOyD,SAAU,qBACnC,CACA,MAAO,CAAEzD,MAAO,MAAOyD,SAAU,qBACnC,GAAG,CAACvC,EAAYlB,IAEhB,IAAM0D,GAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAGrB,OACEd,EAACe,EAAW,CAACC,MAAO,CAAErC,QAAAA,EAAS2B,gBAAAA,GAAiBO,eAAAA,IAAiBd,SAC/DC,EAACiB,EAAqBf,KAAKvD,EAAmB,CAAAoD,SAC5CC,EAACkB,EAAMhB,EAAA,CACLiB,aAAc,KACdC,eAAc,KACdzC,QAASA,EAET0C,oBAAqB,CAAET,SAAUJ,IAAAA,UAAAA,EAAAA,GAAYI,UAC7CU,OAAQrE,IAAoB,SAAWsC,EAAmB,MACtDhC,EAAU,CACdJ,MAAOqD,IAAAA,UAAAA,EAAAA,GAAYrD,MACnBoE,OAAMrB,EACD3C,GAAAA,EAAWgE,OAAM,CACpBC,KAAItB,EAAOnC,GAAAA,GAAc1B,EAAKkB,EAAWgE,SAAXlF,UAAAA,EAAAA,EAAmBmF,QAMnDlE,MAAOL,IAAoB,SAAWsC,EAAmBc,EACzDzC,KAAMA,EACN6D,aAAcnF,EAAWyD,gBAEjBrD,IAAY,WAAaA,EAAQ0B,EAAM,CAAEO,QAAAA,IAAajC,SAKxE,EAcO,IAAMgF,EAAe,CAC1B9D,KAAM,SAANA,EAAOxB,GACL,IAAAuF,EAAkCC,EAAIC,uBAA9BvF,EAAUqF,EAAVrF,WAAYC,EAASoF,EAATpF,UACpBuC,OAAO,6BAA+BvC,EACtC,IAAMuF,EAAOC,EAAWzF,GACxBwF,EAAKE,OAAOhC,EAAC7D,EAAW+D,EAAA,CAAA,EAAK9D,EAAK,CAAEE,WAAYA,EAAYC,UAAWA,MACvE,MAAO,CACL0F,MAAO,SAAPA,IAAa,IAAAC,EAAAC,GACXD,GAAAC,EAAArD,QAAOvC,KAAU,MAAjB2F,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAPA,IACE,IAAI,IAAAI,EAAAC,EACF,IAAM/F,EAAYuC,OAAO,6BACzB,GAAIyD,EAAShG,IAAY8F,GAAAC,EAAAxD,QAAOvC,KAAP8F,MAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAOvD,GACP,CAEH,EAMDyD,gBAAiB,SAAjBA,IACE,IAAMC,EAAMC,IACZ,MAAO,CAEL7B,eAAgB,SAAhBA,EAAiBC,GACf2B,EAAI5B,eAAeC,EACrB,EAEJ"}
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, TPlainObject } 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, useDialogDrawerCtx } 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\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n okHidden?: boolean;\n cancelHidden?: boolean;\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => 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 const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData]);\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 const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle, rerenderFooter }}>\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' ? newOperateRender : 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' ? newOperateRender : 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 * ```\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 * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useDialogDrawer: () => {\n const ctx = useDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\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","_useState3","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","window","error","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","newOperateRender","useMemoCustom","okHiddenNew","hidden","cancelHiddenNew","operateGroup","_jsxs","Space","children","_jsx","ButtonWrapper","_extends","onClick","type","extraRender","updateBodyStyle","bodyStyle","customSize","useMemo","undefined","includes","maxWidth","rerenderFooter","data","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","useDialogDrawer","ctx","useDialogDrawerCtx"],"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{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as o}from"@wove/react/cjs/hooks";import{Space as i}from"antd";import{ButtonWrapper as t}from"../button-wrapper/index.js";import{u as a}from"../context-1f2093c6.js";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsxs as l,jsx as s}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"react";import"../index-83bede1b.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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@wove/react/cjs/create-ctx";var d=function d(m){var p=a();var c=p.onClose;n.useEffectCustom((function(){p.updateBodyStyle({padding:0})}),[]);var u=m.okHidden,j=m.onCancel,f=m.onOk,y=m.cancelHidden,v=m.cancelText,g=m.okText,h=m.okButtonExtraProps,k=m.cancelButtonExtraProps,x=m.footer;var w=o.useCallbackRef((function(r){if(j){var o=j(r);if(o&&e(o)){return o.then(c)}}return c()}));var C=o.useCallbackRef((function(r){if(f){var o=f(r);if(o&&e(o)){return o.then(c)}}return c()}));var b=l(i,{children:[y||k!=null&&k.hidden?null:s(t,r({},k,{onClick:w,children:v||"取消"})),u||h!=null&&h.hidden?null:s(t,r({type:"primary"},h,{onClick:C,children:g||"提交"}))]});return l("div",{className:"dialog-drawer-content-wrapper",children:[s("div",{className:"dialog-drawer-content",children:m.children}),s("div",{className:"dialog-drawer-footer",style:m.footerStyle,children:(x==null?void 0:x({onClose:c}))||b})]})};export{d as DialogDrawerContent};
9
+ import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as i}from"@wove/react/cjs/hooks";import{Space as o}from"antd";import{ButtonWrapper as t}from"../button-wrapper/index.js";import{u as a}from"../context-1f2093c6.js";import{fbaHooks as n}from"../fba-hooks/index.js";import{jsxs as s,jsx as l}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"react";import"../index-83bede1b.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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";import"@wove/react/cjs/create-ctx";var d=function d(m){var p=a();var c=p.onClose;n.useEffectCustom((function(){p.updateBodyStyle({padding:0})}),[]);var u=m.okHidden,j=m.onCancel,f=m.onOk,y=m.cancelHidden,v=m.cancelText,g=m.okText,h=m.okButtonExtraProps,k=m.cancelButtonExtraProps,x=m.footer;var w=i.useCallbackRef((function(r){if(j){var i=j(r);if(i&&e(i)){return i.then(c)}}return c()}));var C=i.useCallbackRef((function(r){if(f){var i=f(r);if(i&&e(i)){return i.then(c)}}return c()}));var b=s(o,{children:[y||k!=null&&k.hidden?null:l(t,r({},k,{onClick:w,children:v||"取消"})),u||h!=null&&h.hidden?null:l(t,r({type:"primary"},h,{onClick:C,children:g||"提交"}))]});return s("div",{className:"dialog-drawer-content-wrapper",children:[l("div",{className:"dialog-drawer-content",children:m.children}),l("div",{className:"dialog-drawer-footer",style:m.footerStyle,children:(x==null?void 0:x({onClose:c}))||b})]})};export{d as DialogDrawerContent};
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer-content/content.tsx"],"sourcesContent":["import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { useDialogDrawerCtx } from '../dialog-drawer/context';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type DialogDrawerContentProps = {\n footer?: (data: { onClose: () => void }) => ReactElement;\n footerStyle?: CSSProperties;\n children?: ReactNode;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n/**\n * 当dialogDrawer底部操作按钮在业务content内部时,使用\n * ```\n * 1. 只能与 dialogDrawer 配合使用;与 FbaApp.useDialogDrawer 配合使用无效\n * 2. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效\n * ```\n */\nexport const DialogDrawerContent = (props: DialogDrawerContentProps) => {\n const ctx = useDialogDrawerCtx();\n const onClose = ctx.onClose;\n\n fbaHooks.useEffectCustom(() => {\n ctx.updateBodyStyle({ padding: 0 });\n }, []);\n\n const {\n okHidden,\n onCancel,\n onOk,\n cancelHidden,\n cancelText,\n okText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n footer,\n } = props;\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(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(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\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 return (\n <div className=\"dialog-drawer-content-wrapper\">\n <div className=\"dialog-drawer-content\">{props.children}</div>\n <div className=\"dialog-drawer-footer\" style={props.footerStyle}>\n {footer?.({ onClose }) || operateGroup}\n </div>\n </div>\n );\n};\n"],"names":["DialogDrawerContent","props","ctx","useDialogDrawerCtx","onClose","fbaHooks","useEffectCustom","updateBodyStyle","padding","okHidden","onCancel","onOk","cancelHidden","cancelText","okText","okButtonExtraProps","cancelButtonExtraProps","footer","onCancelHandle","_hooks","useCallbackRef","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","className","style","footerStyle"],"mappings":";mkCA6BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IAAMC,EAAMC,IACZ,IAAMC,EAAUF,EAAIE,QAEpBC,EAASC,iBAAgB,WACvBJ,EAAIK,gBAAgB,CAAEC,QAAS,GAChC,GAAE,IAEH,IACEC,EASER,EATFQ,SACAC,EAQET,EARFS,SACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,aACAC,EAKEZ,EALFY,WACAC,EAIEb,EAJFa,OACAC,EAGEd,EAHFc,mBACAC,EAEEf,EAFFe,uBACAC,EACEhB,EADFgB,OAEF,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,GAAIX,EAAU,CACZ,IAAMY,EAAWZ,EAASW,GAC1B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMqB,EAAaN,EAAMC,gBAAe,SAACC,GACvC,GAAIV,EAAM,CACR,IAAMW,EAAWX,EAAKU,GACtB,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IACA,IAAMsB,EACJC,EAACC,EAAK,CAAAC,UACHjB,GAAgBI,GAAsB,MAAtBA,EAAwBc,OAAS,KAChDC,EAACC,EAAaC,KAAKjB,EAAsB,CAAEkB,QAAShB,EAAeW,SAChEhB,GAAc,QAGlBJ,GAAYM,SAAAA,EAAoBe,OAAS,KACxCC,EAACC,EAAaC,EAAA,CAACE,KAAK,WAAcpB,EAAkB,CAAEmB,QAAST,EAAWI,SACvEf,GAAU,WAKnB,OACEa,EAAA,MAAA,CAAKS,UAAU,gCAA+BP,UAC5CE,EAAA,MAAA,CAAKK,UAAU,wBAAuBP,SAAE5B,EAAM4B,WAC9CE,EAAA,MAAA,CAAKK,UAAU,uBAAuBC,MAAOpC,EAAMqC,YAAYT,UAC5DZ,GAAM,UAAA,EAANA,EAAS,CAAEb,QAAAA,MAAcsB,MAIlC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-drawer-content/content.tsx"],"sourcesContent":["import { isPromise } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { useDialogDrawerCtx } from '../dialog-drawer/context';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type DialogDrawerContentProps = {\n footer?: (data: { onClose: () => void }) => ReactElement;\n footerStyle?: CSSProperties;\n children?: ReactNode;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n/**\n * 当dialogDrawer底部操作按钮在业务content内部时,使用\n * ```\n * 1. 只能与 dialogDrawer 配合使用;与 FbaApp.useDialogDrawer 配合使用无效\n * 2. 设置 footer 后,okHidden、cancelHidden、okButtonExtraProps、cancelButtonExtraProps、okText、cancelText、onOk、onCancel全部失效\n * ```\n */\nexport const DialogDrawerContent = (props: DialogDrawerContentProps) => {\n const ctx = useDialogDrawerCtx();\n const onClose = ctx.onClose;\n\n fbaHooks.useEffectCustom(() => {\n ctx.updateBodyStyle({ padding: 0 });\n }, []);\n\n const {\n okHidden,\n onCancel,\n onOk,\n cancelHidden,\n cancelText,\n okText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n footer,\n } = props;\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(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(e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\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 return (\n <div className=\"dialog-drawer-content-wrapper\">\n <div className=\"dialog-drawer-content\">{props.children}</div>\n <div className=\"dialog-drawer-footer\" style={props.footerStyle}>\n {footer?.({ onClose }) || operateGroup}\n </div>\n </div>\n );\n};\n"],"names":["DialogDrawerContent","props","ctx","useDialogDrawerCtx","onClose","fbaHooks","useEffectCustom","updateBodyStyle","padding","okHidden","onCancel","onOk","cancelHidden","cancelText","okText","okButtonExtraProps","cancelButtonExtraProps","footer","onCancelHandle","_hooks","useCallbackRef","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","className","style","footerStyle"],"mappings":";imCA6BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IAAMC,EAAMC,IACZ,IAAMC,EAAUF,EAAIE,QAEpBC,EAASC,iBAAgB,WACvBJ,EAAIK,gBAAgB,CAAEC,QAAS,GAChC,GAAE,IAEH,IACEC,EASER,EATFQ,SACAC,EAQET,EARFS,SACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,aACAC,EAKEZ,EALFY,WACAC,EAIEb,EAJFa,OACAC,EAGEd,EAHFc,mBACAC,EAEEf,EAFFe,uBACAC,EACEhB,EADFgB,OAEF,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,GAAIX,EAAU,CACZ,IAAMY,EAAWZ,EAASW,GAC1B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IAEA,IAAMqB,EAAaN,EAAMC,gBAAe,SAACC,GACvC,GAAIV,EAAM,CACR,IAAMW,EAAWX,EAAKU,GACtB,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKpB,EACvB,CACF,CACA,OAAOA,GACT,IACA,IAAMsB,EACJC,EAACC,EAAK,CAAAC,UACHjB,GAAgBI,GAAsB,MAAtBA,EAAwBc,OAAS,KAChDC,EAACC,EAAaC,KAAKjB,EAAsB,CAAEkB,QAAShB,EAAeW,SAChEhB,GAAc,QAGlBJ,GAAYM,SAAAA,EAAoBe,OAAS,KACxCC,EAACC,EAAaC,EAAA,CAACE,KAAK,WAAcpB,EAAkB,CAAEmB,QAAST,EAAWI,SACvEf,GAAU,WAKnB,OACEa,EAAA,MAAA,CAAKS,UAAU,gCAA+BP,UAC5CE,EAAA,MAAA,CAAKK,UAAU,wBAAuBP,SAAE5B,EAAM4B,WAC9CE,EAAA,MAAA,CAAKK,UAAU,uBAAuBC,MAAOpC,EAAMqC,YAAYT,UAC5DZ,GAAM,UAAA,EAANA,EAAS,CAAEb,QAAAA,MAAcsB,MAIlC"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as a}from"@wove/react/cjs/hooks";import{theme as l,Modal as n}from"antd";import{useState as i}from"react";import{createRoot as t}from"react-dom/client";import{fbaHooks as s}from"../fba-hooks/index.js";import{b as m,r as d}from"../dom-4d04aa64.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var u=function e(o){var t=o.elementId,m=o.className,u=o.divElement,v=o.message,p=o.mask;var g=l.useToken(),w=g.token;var j=w.colorPrimary;var k=i(true),_=k[0],b=k[1];var h=a.useCallbackRef((function(){try{delete window[t]}catch(e){}b(false)}));s.useEffectCustom((function(){window[t]=h}),[h]);var C=a.useCallbackRef((function(){d("#"+t)}));return c(n,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",m),open:_,afterClose:C,getContainer:u,footer:null,closable:false,style:{"--v-loading-color":j},mask:p,children:c("div",{className:r("v-dialog-loading-content"),children:f("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:v||"处理中"})]})})})};var v={open:function e(r){var a=m(),l=a.divElement,n=a.elementId;window["__dialog_loading_elementId"]=n;var i=t(l);i.render(c(u,o({},r,{divElement:l,elementId:n,mask:r==null?void 0:r.mask})));return{close:function e(){var o,r;(o=(r=window)[n])==null||o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null||r.call(a)}catch(e){}}};export{v as dialogLoading};
5
+ import{isString as e}from"@dimjs/lang/cjs/is-string";import{_ as o}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as a}from"@wove/react/cjs/hooks";import{theme as l,Modal as i}from"antd";import{useState as n}from"react";import{createRoot as s}from"react-dom/client";import{fbaHooks as t}from"../fba-hooks/index.js";import{b as m,r as d}from"../dom-4d04aa64.js";import{jsx as c,jsxs as u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";var f=function e(o){var s=o.elementId,m=o.className,f=o.divElement,v=o.message,p=o.mask;var g=l.useToken(),j=g.token;var w=j.colorPrimary;var k=n(true),_=k[0],b=k[1];var h=a.useCallbackRef((function(){try{delete window[s]}catch(e){}b(false)}));t.useEffectCustom((function(){window[s]=h}),[h]);var C=a.useCallbackRef((function(){d("#"+s)}));return c(i,{maskClosable:false,centered:true,destroyOnClose:true,className:r("v-dialog-loading",m),open:_,afterClose:C,getContainer:f,footer:null,closable:false,style:{"--v-loading-color":w},mask:p,children:c("div",{className:r("v-dialog-loading-content"),children:u("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:v||"处理中"})]})})})};var v={open:function e(r){var a=m(),l=a.divElement,i=a.elementId;window["__dialog_loading_elementId"]=i;var n=s(l);n.render(c(f,o({},r,{divElement:l,elementId:i,mask:r==null?void 0:r.mask})));return{close:function e(){var o,r;(o=(r=window)[i])==null||o.call(r)}}},close:function o(){try{var r,a;var l=window["__dialog_loading_elementId"];if(e(l))(r=(a=window)[l])==null||r.call(a)}catch(e){}}};export{v as dialogLoading};
6
6
  //# sourceMappingURL=index.js.map