@flatbiz/antd 4.2.68 → 4.2.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/{_rollupPluginBabelHelpers-1f4d8910.js → _rollupPluginBabelHelpers-fc015ef2.js} +2 -2
- package/esm/_rollupPluginBabelHelpers-fc015ef2.js.map +1 -0
- package/esm/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/color-picker-wrapper/index.css +0 -0
- package/esm/color-picker-wrapper/index.js +5 -0
- package/esm/color-picker-wrapper/index.js.map +1 -0
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/config-provider-wrapper/index.js.map +1 -1
- package/esm/context-1f2093c6.js.map +1 -1
- package/esm/css-node-hover/index.js +1 -1
- package/esm/css-node-hover/index.js.map +1 -1
- package/esm/data-render/index.js +1 -1
- package/esm/data-render/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dom-4d04aa64.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/dynamic-node/index.js +1 -1
- package/esm/dynamic-node/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-field-provider/index.js +1 -1
- package/esm/editable-field-provider/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-hidden/index.js +1 -1
- package/esm/form-item-hidden/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/gap/index.js +1 -1
- package/esm/gap/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/{pagination-0e66a3b5.js → index-e98b9352.js} +2 -2
- package/esm/index-e98b9352.js.map +1 -0
- package/esm/index.js +3 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/page-fixed-footer/index.js +1 -1
- package/esm/page-fixed-footer/index.js.map +1 -1
- package/esm/page404/index.js +1 -1
- package/esm/page404/index.js.map +1 -1
- package/esm/pagination-wrapper/index.js +1 -1
- package/esm/permission/index.js +1 -1
- package/esm/permission/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.js +1 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/table-title-tooltip/index.js +1 -1
- package/esm/table-title-tooltip/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-overflow-render/index.js.map +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tips-title/index.css +1 -0
- package/esm/tips-title/index.js +5 -0
- package/esm/tips-title/index.js.map +1 -0
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +2 -2
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/index.d.ts +100 -80
- package/package.json +7 -7
- package/esm/_rollupPluginBabelHelpers-1f4d8910.js.map +0 -1
- package/esm/anchor-steps-601a335f.js +0 -3
- package/esm/anchor-steps-601a335f.js.map +0 -1
- package/esm/button-operate-d00df6c9.js +0 -3
- package/esm/button-operate-d00df6c9.js.map +0 -1
- package/esm/button-wrapper-125fce50.js +0 -3
- package/esm/button-wrapper-125fce50.js.map +0 -1
- package/esm/cascader-wrapper-2f6a926f.js +0 -3
- package/esm/cascader-wrapper-2f6a926f.js.map +0 -1
- package/esm/cell-render-4934a7de.js +0 -3
- package/esm/cell-render-4934a7de.js.map +0 -1
- package/esm/center-a4dfda6f.js +0 -3
- package/esm/center-a4dfda6f.js.map +0 -1
- package/esm/checkbox-wrapper-018a5c59.js +0 -3
- package/esm/checkbox-wrapper-018a5c59.js.map +0 -1
- package/esm/config-provider-wrapper-dfe8f592.js +0 -3
- package/esm/config-provider-wrapper-dfe8f592.js.map +0 -1
- package/esm/content-c0e49ffb.js +0 -3
- package/esm/content-c0e49ffb.js.map +0 -1
- package/esm/css-node-hover-ed7b9860.js +0 -3
- package/esm/css-node-hover-ed7b9860.js.map +0 -1
- package/esm/data-render-07c0ab6b.js +0 -3
- package/esm/data-render-07c0ab6b.js.map +0 -1
- package/esm/date-picker-wrapper-ba650858.js +0 -3
- package/esm/date-picker-wrapper-ba650858.js.map +0 -1
- package/esm/date-range-picker-wrapper-fb15c592.js +0 -3
- package/esm/date-range-picker-wrapper-fb15c592.js.map +0 -1
- package/esm/date-range-picker-wrapper-form-item-688cf465.js +0 -3
- package/esm/date-range-picker-wrapper-form-item-688cf465.js.map +0 -1
- package/esm/dialog-alert-89d37729.js +0 -3
- package/esm/dialog-alert-89d37729.js.map +0 -1
- package/esm/dialog-confirm-74fc9337.js +0 -3
- package/esm/dialog-confirm-74fc9337.js.map +0 -1
- package/esm/dialog-drawer-550ce42c.js +0 -3
- package/esm/dialog-drawer-550ce42c.js.map +0 -1
- package/esm/dialog-loading-53cf2c60.js +0 -3
- package/esm/dialog-loading-53cf2c60.js.map +0 -1
- package/esm/dialog-modal-4a0c72c5.js +0 -3
- package/esm/dialog-modal-4a0c72c5.js.map +0 -1
- package/esm/drag-collapse-24ccfe8c.js +0 -3
- package/esm/drag-collapse-24ccfe8c.js.map +0 -1
- package/esm/drag-collapse-433fb1e0.js +0 -3
- package/esm/drag-collapse-433fb1e0.js.map +0 -1
- package/esm/drawer-wrapper-9af2f178.js +0 -3
- package/esm/drawer-wrapper-9af2f178.js.map +0 -1
- package/esm/dropdown-menu-wrapper-3a565fd8.js +0 -3
- package/esm/dropdown-menu-wrapper-3a565fd8.js.map +0 -1
- package/esm/dynamic-node-c7864af4.js +0 -3
- package/esm/dynamic-node-c7864af4.js.map +0 -1
- package/esm/editable-field-bcac193d.js +0 -3
- package/esm/editable-field-bcac193d.js.map +0 -1
- package/esm/editable-field-provider-3223073a.js +0 -3
- package/esm/editable-field-provider-3223073a.js.map +0 -1
- package/esm/editable-table-64554cac.js +0 -3
- package/esm/editable-table-64554cac.js.map +0 -1
- package/esm/editor-wrapper-ff6e75b7.js +0 -3
- package/esm/editor-wrapper-ff6e75b7.js.map +0 -1
- package/esm/fba-utils-f9e11d02.js +0 -3
- package/esm/fba-utils-f9e11d02.js.map +0 -1
- package/esm/file-import-890a1df9.js +0 -3
- package/esm/file-import-890a1df9.js.map +0 -1
- package/esm/flex-layout-8d2b668b.js +0 -3
- package/esm/flex-layout-8d2b668b.js.map +0 -1
- package/esm/form-item-hidden-45541774.js +0 -3
- package/esm/form-item-hidden-45541774.js.map +0 -1
- package/esm/form-item-wrapper-208febed.js +0 -3
- package/esm/form-item-wrapper-208febed.js.map +0 -1
- package/esm/gap-284e1f59.js +0 -3
- package/esm/gap-284e1f59.js.map +0 -1
- package/esm/icon-wrapper-ed5fcacc.js +0 -3
- package/esm/icon-wrapper-ed5fcacc.js.map +0 -1
- package/esm/in-view-448ba714.js +0 -3
- package/esm/in-view-448ba714.js.map +0 -1
- package/esm/input-search-wrapper-10d4a9b9.js +0 -3
- package/esm/input-search-wrapper-10d4a9b9.js.map +0 -1
- package/esm/input-text-area-wrapper-1f22992b.js +0 -3
- package/esm/input-text-area-wrapper-1f22992b.js.map +0 -1
- package/esm/input-wrapper-338ae416.js +0 -3
- package/esm/input-wrapper-338ae416.js.map +0 -1
- package/esm/label-value-layout-beb35b0d.js +0 -3
- package/esm/label-value-layout-beb35b0d.js.map +0 -1
- package/esm/modal-action-5c5ca8a7.js +0 -3
- package/esm/modal-action-5c5ca8a7.js.map +0 -1
- package/esm/modal-wrapper-ff8df98b.js +0 -3
- package/esm/modal-wrapper-ff8df98b.js.map +0 -1
- package/esm/page-fixed-footer-9ec2b46c.js +0 -3
- package/esm/page-fixed-footer-9ec2b46c.js.map +0 -1
- package/esm/page404-f087129a.js +0 -3
- package/esm/page404-f087129a.js.map +0 -1
- package/esm/pagination-0e66a3b5.js.map +0 -1
- package/esm/permission-17ed4d0b.js +0 -3
- package/esm/permission-17ed4d0b.js.map +0 -1
- package/esm/radio-group-wrapper-b34746d1.js +0 -3
- package/esm/radio-group-wrapper-b34746d1.js.map +0 -1
- package/esm/relation-tree-7bec12bd.js +0 -3
- package/esm/relation-tree-7bec12bd.js.map +0 -1
- package/esm/request-status-03fc60e2.js +0 -3
- package/esm/request-status-03fc60e2.js.map +0 -1
- package/esm/rich-text-editor-213daa34.js +0 -3
- package/esm/rich-text-editor-213daa34.js.map +0 -1
- package/esm/rich-text-viewer-4a859351.js +0 -3
- package/esm/rich-text-viewer-4a859351.js.map +0 -1
- package/esm/rule-describe-b4a8e831.js +0 -3
- package/esm/rule-describe-b4a8e831.js.map +0 -1
- package/esm/selector-wrapper-efc44920.js +0 -3
- package/esm/selector-wrapper-efc44920.js.map +0 -1
- package/esm/selector-wrapper-search-54866dd6.js +0 -3
- package/esm/selector-wrapper-search-54866dd6.js.map +0 -1
- package/esm/selector-wrapper-simple-7b34f7bd.js +0 -3
- package/esm/selector-wrapper-simple-7b34f7bd.js.map +0 -1
- package/esm/simple-layout-0dce0d39.js +0 -3
- package/esm/simple-layout-0dce0d39.js.map +0 -1
- package/esm/sms-count-down-c2609386.js +0 -3
- package/esm/sms-count-down-c2609386.js.map +0 -1
- package/esm/switch-confirm-wrapper-984d57c4.js +0 -3
- package/esm/switch-confirm-wrapper-984d57c4.js.map +0 -1
- package/esm/switch-wrapper-f20b9a58.js +0 -3
- package/esm/switch-wrapper-f20b9a58.js.map +0 -1
- package/esm/table-scrollbar-66c1682c.js +0 -3
- package/esm/table-scrollbar-66c1682c.js.map +0 -1
- package/esm/tabs-wrapper-0a2da713.js +0 -3
- package/esm/tabs-wrapper-0a2da713.js.map +0 -1
- package/esm/tag-group-4fbcaa14.js +0 -3
- package/esm/tag-group-4fbcaa14.js.map +0 -1
- package/esm/tag-list-select-066f682f.js +0 -3
- package/esm/tag-list-select-066f682f.js.map +0 -1
- package/esm/tag-wrapper-6d8b505e.js +0 -3
- package/esm/tag-wrapper-6d8b505e.js.map +0 -1
- package/esm/text-css-ellipsis-9135d4c5.js +0 -3
- package/esm/text-css-ellipsis-9135d4c5.js.map +0 -1
- package/esm/text-overflow-render-7a6541f5.js +0 -3
- package/esm/text-overflow-render-7a6541f5.js.map +0 -1
- package/esm/time-picker-wrapper-f1d26d96.js +0 -3
- package/esm/time-picker-wrapper-f1d26d96.js.map +0 -1
- package/esm/time-range-picker-wrapper-be9850b5.js +0 -3
- package/esm/time-range-picker-wrapper-be9850b5.js.map +0 -1
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js +0 -3
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js.map +0 -1
- package/esm/title-render-4f255df0.js +0 -3
- package/esm/title-render-4f255df0.js.map +0 -1
- package/esm/tree-selector-wrapper-1e520ad1.js +0 -3
- package/esm/tree-selector-wrapper-1e520ad1.js.map +0 -1
- package/esm/upload-wrapper-bd9ef592.js +0 -3
- package/esm/upload-wrapper-bd9ef592.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatbiz/antd",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.70",
|
|
4
4
|
"description": "flat-biz ui components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@dimjs/model": ">=1.1.8",
|
|
32
32
|
"@dimjs/model-react": ">=1.1.8",
|
|
33
33
|
"@dimjs/utils": ">=1.3.2",
|
|
34
|
-
"@flatbiz/utils": ">=4.0.
|
|
34
|
+
"@flatbiz/utils": ">=4.0.13",
|
|
35
35
|
"@wove/react": ">=1.2.23",
|
|
36
|
-
"antd": ">=5.
|
|
37
|
-
"dayjs": ">=1.11.
|
|
36
|
+
"antd": ">=5.5.1",
|
|
37
|
+
"dayjs": ">=1.11.9",
|
|
38
38
|
"react": ">=18.2.0",
|
|
39
39
|
"react-dom": ">=18.2.0",
|
|
40
40
|
"ahooks": "^3.7.5"
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"@dimjs/model": "^1.1.8",
|
|
46
46
|
"@dimjs/model-react": "^1.1.8",
|
|
47
47
|
"@ant-design/icons": "^4.8.0",
|
|
48
|
-
"@flatbiz/utils": "^4.0.
|
|
48
|
+
"@flatbiz/utils": "^4.0.13",
|
|
49
49
|
"@wove/react": "^1.2.22",
|
|
50
|
-
"antd": "
|
|
51
|
-
"dayjs": "1.11.
|
|
50
|
+
"antd": "5.5.1",
|
|
51
|
+
"dayjs": "1.11.9",
|
|
52
52
|
"dequal": "^2.0.3",
|
|
53
53
|
"react": "18.2.0",
|
|
54
54
|
"react-dom": "18.2.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers-1f4d8910.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Anchor as e,Steps as r}from"antd";import{useState as n,useRef as i}from"react";import{G as a}from"./gap-284e1f59.js";import{jsxs as s,jsx as o}from"react/jsx-runtime";function c(t){var e=1;return t.tagName!=="HTML"&&t.tagName!=="BODY"&&t.nodeType===e}function f(t){var e=t;while(e&&c(e)){var r=window.getComputedStyle(e),n=r.overflowY;if(/scroll|auto/i.test(n)){return e}e=e.parentNode}return undefined}var u=function c(u){var d=n(),m=d[0],l=d[1];var p=i();var v=function t(e){if(e){l(e.replace("#vas-",""))}};var h=function t(){return f(p.current)||window};var w=function t(e){if(e){p.current=e}};return s("div",{className:t("v-anchor-steps",u.className),ref:w,children:[o(e,{onChange:v,className:"v-fixed-anchor",affix:false,getContainer:h,children:o(r,{size:"small",direction:"vertical",current:u.steps.findIndex((function(t){return t.id===m})),items:u.steps.map((function(t){return{title:o(e.Link,{href:"#vas-"+t.id,title:t.title}),description:o(a,{height:20}),status:t.id===m?"process":"wait"}}))})}),u.steps.map((function(t){return o("div",{id:"vas-"+t.id,children:t.content},t.id)}))]})};export{u as A};
|
|
3
|
-
//# sourceMappingURL=anchor-steps-601a335f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-steps-601a335f.js","sources":["@flatbiz/antd/src/anchor-steps/anchor-steps.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Anchor, Steps } from 'antd';\nimport { ReactElement, useRef, useState } from 'react';\nimport { Gap } from '../gap';\nimport './style.less';\n\nfunction isElement(node: Element) {\n const ELEMENT_NODE_TYPE = 1;\n return node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === ELEMENT_NODE_TYPE;\n}\n\nfunction getParentScroll(el: HTMLElement) {\n let node = el;\n\n while (node && isElement(node)) {\n const { overflowY } = window.getComputedStyle(node);\n if (/scroll|auto/i.test(overflowY)) {\n return node;\n }\n node = node.parentNode as HTMLElement;\n }\n return undefined;\n}\n\nexport type AnchorStepsProps = {\n steps: {\n id: string;\n title: string;\n content: ReactElement;\n }[];\n className?: string;\n};\n\n/**\n * 锚点步骤组件\n * @param props\n * @returns\n */\nexport const AnchorSteps = (props: AnchorStepsProps) => {\n const [activeKey, setActiveKey] = useState<string>();\n const rootNode = useRef<HTMLDivElement>();\n\n const onChange = (link: string) => {\n if (link) {\n setActiveKey(link.replace('#vas-', ''));\n }\n };\n\n const getContainer = () => {\n return getParentScroll(rootNode.current as HTMLElement) || (window as Window);\n };\n const refHandle = (node) => {\n if (node) {\n rootNode.current = node;\n }\n };\n\n return (\n <div className={classNames('v-anchor-steps', props.className)} ref={refHandle}>\n <Anchor onChange={onChange} className=\"v-fixed-anchor\" affix={false} getContainer={getContainer}>\n <Steps\n size=\"small\"\n direction=\"vertical\"\n current={props.steps.findIndex((item) => item.id === activeKey)}\n items={props.steps.map((item) => {\n return {\n title: <Anchor.Link href={`#vas-${item.id}`} title={item.title} />,\n description: <Gap height={20} />,\n status: item.id === activeKey ? 'process' : 'wait',\n };\n })}\n />\n </Anchor>\n {props.steps.map((item) => {\n return (\n <div id={`vas-${item.id}`} key={item.id}>\n {item.content}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["isElement","node","ELEMENT_NODE_TYPE","tagName","nodeType","getParentScroll","el","_window$getComputedSt","window","getComputedStyle","overflowY","test","parentNode","undefined","AnchorSteps","props","_useState","useState","activeKey","setActiveKey","rootNode","useRef","onChange","link","replace","getContainer","current","refHandle","_jsxs","className","_classNames","ref","children","_jsx","Anchor","affix","Steps","size","direction","steps","findIndex","item","id","items","map","title","Link","href","description","Gap","height","status","content"],"mappings":";wOAMA,SAASA,EAAUC,GACjB,IAAMC,EAAoB,EAC1B,OAAOD,EAAKE,UAAY,QAAUF,EAAKE,UAAY,QAAUF,EAAKG,WAAaF,CACjF,CAEA,SAASG,EAAgBC,GACvB,IAAIL,EAAOK,EAEX,MAAOL,GAAQD,EAAUC,GAAO,CAC9B,IAAAM,EAAsBC,OAAOC,iBAAiBR,GAAtCS,EAASH,EAATG,UACR,GAAI,eAAeC,KAAKD,GAAY,CAClC,OAAOT,CACT,CACAA,EAAOA,EAAKW,UACd,CACA,OAAOC,SACT,KAgBaC,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAAkCC,IAA3BC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9B,IAAMI,EAAWC,IAEjB,IAAMC,EAAW,SAAXA,EAAYC,GAChB,GAAIA,EAAM,CACRJ,EAAaI,EAAKC,QAAQ,QAAS,IACrC,GAGF,IAAMC,EAAe,SAAfA,IACJ,OAAOpB,EAAgBe,EAASM,UAA4BlB,QAE9D,IAAMmB,EAAY,SAAZA,EAAa1B,GACjB,GAAIA,EAAM,CACRmB,EAASM,QAAUzB,CACrB,GAGF,OACE2B,EAAA,MAAA,CAAKC,UAAWC,EAAW,iBAAkBf,EAAMc,WAAYE,IAAKJ,EAAUK,SAAA,CAC5EC,EAACC,EAAM,CAACZ,SAAUA,EAAUO,UAAU,iBAAiBM,MAAO,MAAOV,aAAcA,EAAaO,SAC9FC,EAACG,EAAK,CACJC,KAAK,QACLC,UAAU,WACVZ,QAASX,EAAMwB,MAAMC,WAAU,SAACC,GAAI,OAAKA,EAAKC,KAAOxB,KACrDyB,MAAO5B,EAAMwB,MAAMK,KAAI,SAACH,GACtB,MAAO,CACLI,MAAOZ,EAACC,EAAOY,KAAI,CAACC,KAAI,QAAUN,EAAKC,GAAMG,MAAOJ,EAAKI,QACzDG,YAAaf,EAACgB,EAAG,CAACC,OAAQ,KAC1BC,OAAQV,EAAKC,KAAOxB,EAAY,UAAY,eAKnDH,EAAMwB,MAAMK,KAAI,SAACH,GAChB,OACER,EAAA,MAAA,CAAKS,GAAE,OAASD,EAAKC,GAAKV,SACvBS,EAAKW,SADwBX,EAAKC,GAIzC,MAGN"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import r from"@ant-design/icons/es/icons/MoreOutlined";import{a as e,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isUndefined as t}from"@dimjs/lang/cjs/is-undefined";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isPlainObject as o}from"@dimjs/lang/cjs/is-plain-object";import{isString as s}from"@dimjs/lang/cjs/is-string";import{isPromise as p}from"@dimjs/lang/cjs/is-promise";import{hooks as a}from"@wove/react/cjs/hooks";import{Popover as l,Tooltip as c,Space as f,Divider as u,Popconfirm as d,Button as m}from"antd";import{isValidElement as v,Fragment as h,useState as g,useMemo as T,createElement as y}from"react";import{B as j}from"./button-wrapper-125fce50.js";import{D as k}from"./dropdown-menu-wrapper-3a565fd8.js";import{f as C}from"./fba-utils-f9e11d02.js";import{jsx as P,jsxs as b}from"react/jsx-runtime";var w=["text","onClick","needConfirm","confirmMessage","popconfirmProps","hoverTips"];var x=function r(e){if(e.hoverTips){if(e.tipsType==="popover"){return P(l,{content:e.hoverTips,zIndex:1e3,children:P("span",{children:e.content})})}return P(c,{title:e.hoverTips,zIndex:1e3,children:P("span",{children:e.content})})}if(v(e.content)){return P(h,{children:e.content})}return P("span",{children:e.content})};var B=function l(c){var h=g(false),B=h[0],I=h[1];var M=a.useCallbackRef((function(r,e){var n=r.onClick==null?void 0:r.onClick(e);if(n&&p(n)){I(true);return n.finally((function(){I(false)}))}return}));var z=c.operateList.filter((function(r){if(!r)return false;if(v(r)){var e,n;if(((e=r.props)==null?void 0:e["hidden"])===true)return false;var t=(n=r.props)==null?void 0:n["v-permission"];if(s(t)){return C.hasPermission(t)}return true}if(o(r)){if(!C.hasPermission(r["permission"])){return false}return!r["hidden"]}return false}));var F=T((function(){return z.filter((function(r){if(v(r)){return true}return!r["isFold"]}))}),[z]);var N=T((function(){var r=z.filter((function(r){if(v(r)){return false}return r["isFold"]}));var n=[];r.forEach((function(r){var t=e({},r);delete t.isFold;n.push(t)}));return n}),[z]);var O=c.gap===undefined?10:c.gap;var H=!c.split?O:0;return P("div",{className:i("table-operate",c.className),style:c.style,children:b(f,e({split:c.split?P(u,{type:"vertical"}):null,size:H,wrap:t(c.wrap)?true:c.wrap},c.spaceProps,{children:[F.map((function(r,t){if(r&&v(r)){return P(x,{content:r,hoverTips:r.hoverTips,tipsType:r.tipsType},t)}var i=r.text,o=r.onClick,s=r.needConfirm,p=r.confirmMessage,a=r.popconfirmProps,l=r.hoverTips,c=n(r,w);var f=r.type||"link";if(s&&!c.disabled){var u=!!r.color?false:true;return y(d,e({okText:"确定",cancelText:"取消",trigger:["click"],placement:"topRight",arrow:true,destroyTooltipOnHide:true},a,{title:p,onConfirm:M.bind(null,r),key:t,okButtonProps:{loading:B},onOpenChange:function r(e){if(!e){I(false)}},onCancel:function r(e){e==null?void 0:e.stopPropagation()}}),P(j,e({danger:u},c,{onClick:function r(e){e.stopPropagation()},type:f,children:P(x,{content:i,hoverTips:l,tipsType:r.tipsType},t)})))}return y(j,e({loadingPosition:"center"},c,{type:f,onClick:function r(e){e.stopPropagation();return o==null?void 0:o(e)},key:t}),P(x,{content:i,hoverTips:l,tipsType:r.tipsType}))})),N.length>0?P(k,e({menuList:N,placement:"bottomCenter"},c.dropdownMenuProps,{children:P(m,{type:"link",className:"fold-more-button",onClick:function r(e){e.stopPropagation()},children:c.foldIcon?c.foldIcon:P(r,{})})})):null]}))})};B.defaultProps={split:true};export{x as B,B as a};
|
|
3
|
-
//# sourceMappingURL=button-operate-d00df6c9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-operate-d00df6c9.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Divider, Popconfirm, PopconfirmProps, Popover, Space, SpaceProps, Tooltip } from 'antd';\nimport {\n CSSProperties,\n FC,\n Fragment,\n isValidElement,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { DropdownMenuWrapper, DropdownMenuWrapperProps } from '../dropdown-menu-wrapper';\nimport { fbaUtils } from '../fba-utils';\n\nimport { DialogModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n hidden?: boolean;\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: string;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<PopconfirmProps, 'placement' | 'okText' | 'cancelText' | 'trigger'>;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n wrap?: boolean;\n foldIcon?: ReactElement;\n className?: string;\n split?: boolean;\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n style?: CSSProperties;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & { content: ReactNode },\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * @flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div className={classNames('table-operate', props.className)} style={props.style}>\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const { text, onClick, needConfirm, confirmMessage, popconfirmProps, hoverTips, ...otherProps } =\n item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = !!item.color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={type}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent content={text} hoverTips={hoverTips} tipsType={item.tipsType} />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper menuList={foldList} placement=\"bottomCenter\" {...props.dropdownMenuProps}>\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","result","onClick","_isPromise","finally","operateList","filter","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_extends","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutPropertiesLoose","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import r from"@ant-design/icons/es/icons/LoadingOutlined";import{_ as o,a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as l}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Button as c}from"antd";import{useState as t}from"react";import{C as a}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as s}from"./fba-hooks/index.js";import{f as d}from"./fba-utils-f9e11d02.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";var u=["loadingPosition","color","debounceDuration","permission","hidden","loading"];var p=function r(o){if(o.color&&!o.disabled){var i={};if(o.type==="link"){i={colorLink:o.color,colorLinkActive:o.color,colorLinkHover:o.color}}else if(o.type==="primary"){i={colorPrimary:o.color,colorPrimaryHover:o.color,colorPrimaryActive:o.color}}else{i={colorPrimaryHover:o.color,colorPrimaryActive:o.color,colorText:o.color,colorBorder:o.color}}return f(a,{theme:{components:{Button:i}},children:o.children})}return o.children};var v=function a(v){var h=v.loadingPosition,y=v.color,b=v.debounceDuration,g=v.permission,k=v.hidden,P=v.loading,j=o(v,u);var C=P;var x=t(false),B=x[0],H=x[1];var L=h===undefined?"left":h;var w=L==="left";var A=n(b)?500:b;s.useEffectCustom((function(){if(!n(P)){H(C||false)}}),[P]);var D=l.useDebounceClick((function(r){var o=v.onClick;if(!o){return}var i=o(r);if(i&&e(i)){H(true);i.catch((function(r){console.error(r)})).finally((function(){H(false)}))}}),A);if(!d.hasPermission(g)){return null}if(k){return null}if(w){return f(p,{color:y,disabled:v.disabled,type:v.type,children:f(c,i({},j,{onClick:D,loading:B,children:v.children}))})}return f(p,{color:y,disabled:v.disabled,type:v.type,children:m(c,i({},j,{onClick:D,children:[B&&f("div",{className:"bw-center-loading",children:f(r,{})}),B?f("div",{style:{opacity:.5},children:v.children}):v.children]}))})};export{v as B};
|
|
3
|
-
//# sourceMappingURL=button-wrapper-125fce50.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-wrapper-125fce50.js","sources":["@flatbiz/antd/src/button-wrapper/button-wrapper.tsx"],"sourcesContent":["import { LoadingOutlined } from '@ant-design/icons';\nimport { isPromise } from '@dimjs/lang';\nimport { isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, ButtonProps } from 'antd';\nimport { OverrideToken } from 'antd/es/theme/interface';\nimport { ReactElement, useState } from 'react';\nimport { ConfigProviderWrapper } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport './style.less';\n\nexport type ButtonWrapperProps = Omit<ButtonProps, 'onClick'> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => Promise<TAny> | void;\n // 重复点击间隙,单位毫秒 默认值:500\n debounceDuration?: number;\n permission?: string;\n hidden?: boolean;\n /** loading 显示位置,默认值:left */\n loadingPosition?: 'left' | 'center';\n};\n\nconst DefaultButton = (props: {\n children: ReactElement;\n color?: string;\n type?: ButtonProps['type'];\n disabled?: boolean;\n}) => {\n if (props.color && !props.disabled) {\n let buttonTheme: OverrideToken['Button'] = {};\n if (props.type === 'link') {\n buttonTheme = {\n colorLink: props.color,\n colorLinkActive: props.color,\n colorLinkHover: props.color,\n };\n } else if (props.type === 'primary') {\n buttonTheme = {\n colorPrimary: props.color,\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n };\n } else {\n buttonTheme = {\n colorPrimaryHover: props.color,\n colorPrimaryActive: props.color,\n colorText: props.color,\n colorBorder: props.color,\n };\n }\n\n return (\n <ConfigProviderWrapper\n theme={{\n components: {\n Button: buttonTheme,\n },\n }}\n >\n {props.children}\n </ConfigProviderWrapper>\n );\n }\n return props.children;\n};\n\n/**\n * antd Button包装组件\n * 1. 添加按钮 onClick 返回 Promise自动loading效果\n * 2. 内置 防抖 效果(在第一触发函数后,在指定时间内再次触发无效,即两次触发的时间间隙大于指定时间)\n * @param props\n * @returns\n */\nexport const ButtonWrapper = (props: ButtonWrapperProps) => {\n const { loadingPosition, color, debounceDuration, permission, hidden, loading, ...otherProps } = props;\n const loadingNew = loading as boolean | undefined;\n const [innerLoading, setLoading] = useState(false);\n const loadingPositionNew = loadingPosition === undefined ? 'left' : loadingPosition;\n const isLoadingLeft = loadingPositionNew === 'left';\n const debounceDurationMew = isUndefinedOrNull(debounceDuration) ? 500 : debounceDuration;\n\n fbaHooks.useEffectCustom(() => {\n if (!isUndefinedOrNull(loading)) {\n setLoading(loadingNew || false);\n }\n }, [loading]);\n\n const onClick = hooks.useDebounceClick((e) => {\n const onClick = props.onClick;\n if (!onClick) {\n return;\n }\n const result = onClick(e);\n if (result && isPromise(result)) {\n setLoading(true);\n result\n .catch((error) => {\n console.error(error);\n })\n .finally(() => {\n setLoading(false);\n });\n }\n }, debounceDurationMew);\n\n if (!fbaUtils.hasPermission(permission)) {\n return null;\n }\n\n if (hidden) {\n return null;\n }\n\n if (isLoadingLeft) {\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick} loading={innerLoading}>\n {props.children}\n </Button>\n </DefaultButton>\n );\n }\n\n return (\n <DefaultButton color={color} disabled={props.disabled} type={props.type}>\n <Button {...otherProps} onClick={onClick}>\n {innerLoading && (\n <div className=\"bw-center-loading\">\n <LoadingOutlined />\n </div>\n )}\n {innerLoading ? <div style={{ opacity: 0.5 }}>{props.children}</div> : props.children}\n </Button>\n </DefaultButton>\n );\n};\n"],"names":["DefaultButton","props","color","disabled","buttonTheme","type","colorLink","colorLinkActive","colorLinkHover","colorPrimary","colorPrimaryHover","colorPrimaryActive","colorText","colorBorder","_jsx","ConfigProviderWrapper","theme","components","Button","children","ButtonWrapper","loadingPosition","debounceDuration","permission","hidden","loading","otherProps","_objectWithoutPropertiesLoose","_excluded","loadingNew","_useState","useState","innerLoading","setLoading","loadingPositionNew","undefined","isLoadingLeft","debounceDurationMew","isUndefinedOrNull","fbaHooks","useEffectCustom","onClick","_hooks","useDebounceClick","e","result","_isPromise","catch","error","console","finally","fbaUtils","hasPermission","_extends","_jsxs","className","_LoadingOutlined","style","opacity"],"mappings":";inBAsBA,IAAMA,EAAgB,SAAhBA,EAAiBC,GAMrB,GAAIA,EAAMC,QAAUD,EAAME,SAAU,CAClC,IAAIC,EAAuC,CAAA,EAC3C,GAAIH,EAAMI,OAAS,OAAQ,CACzBD,EAAc,CACZE,UAAWL,EAAMC,MACjBK,gBAAiBN,EAAMC,MACvBM,eAAgBP,EAAMC,MAE1B,MAAO,GAAID,EAAMI,OAAS,UAAW,CACnCD,EAAc,CACZK,aAAcR,EAAMC,MACpBQ,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAE9B,KAAO,CACLE,EAAc,CACZM,kBAAmBT,EAAMC,MACzBS,mBAAoBV,EAAMC,MAC1BU,UAAWX,EAAMC,MACjBW,YAAaZ,EAAMC,MAEvB,CAEA,OACEY,EAACC,EAAqB,CACpBC,MAAO,CACLC,WAAY,CACVC,OAAQd,IAEVe,SAEDlB,EAAMkB,UAGb,CACA,OAAOlB,EAAMkB,QACf,MASaC,EAAgB,SAAhBA,EAAiBnB,GAC5B,IAAQoB,EAAyFpB,EAAzFoB,gBAAiBnB,EAAwED,EAAxEC,MAAOoB,EAAiErB,EAAjEqB,iBAAkBC,EAA+CtB,EAA/CsB,WAAYC,EAAmCvB,EAAnCuB,OAAQC,EAA2BxB,EAA3BwB,QAAYC,EAAUC,EAAK1B,EAAK2B,GACtG,IAAMC,EAAaJ,EACnB,IAAAK,EAAmCC,EAAS,OAArCC,EAAYF,EAAA,GAAEG,EAAUH,EAAA,GAC/B,IAAMI,EAAqBb,IAAoBc,UAAY,OAASd,EACpE,IAAMe,EAAgBF,IAAuB,OAC7C,IAAMG,EAAsBC,EAAkBhB,GAAoB,IAAMA,EAExEiB,EAASC,iBAAgB,WACvB,IAAKF,EAAkBb,GAAU,CAC/BQ,EAAWJ,GAAc,MAC3B,CACF,GAAG,CAACJ,IAEJ,IAAMgB,EAAUC,EAAMC,kBAAiB,SAACC,GACtC,IAAMH,EAAUxC,EAAMwC,QACtB,IAAKA,EAAS,CACZ,MACF,CACA,IAAMI,EAASJ,EAAQG,GACvB,GAAIC,GAAUC,EAAUD,GAAS,CAC/BZ,EAAW,MACXY,EACGE,OAAM,SAACC,GACNC,QAAQD,MAAMA,EAChB,IACCE,SAAQ,WACPjB,EAAW,MACb,GACJ,CACD,GAAEI,GAEH,IAAKc,EAASC,cAAc7B,GAAa,CACvC,OAAO,IACT,CAEA,GAAIC,EAAQ,CACV,OAAO,IACT,CAEA,GAAIY,EAAe,CACjB,OACEtB,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEL,EAACI,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAShB,QAASO,EAAab,SAC7DlB,EAAMkB,aAIf,CAEA,OACEL,EAACd,EAAa,CAACE,MAAOA,EAAOC,SAAUF,EAAME,SAAUE,KAAMJ,EAAMI,KAAKc,SACtEmC,EAACpC,EAAMmC,KAAK3B,EAAU,CAAEe,QAASA,EAAQtB,SAAA,CACtCa,GACClB,EAAA,MAAA,CAAKyC,UAAU,oBAAmBpC,SAChCL,EAAA0C,EAAA,MAGHxB,EAAelB,EAAA,MAAA,CAAK2C,MAAO,CAAEC,QAAS,IAAMvC,SAAElB,EAAMkB,WAAkBlB,EAAMkB,cAIrF"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/RedoOutlined";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{_ as r,a as s}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as n}from"@wove/react/cjs/hooks";import{extend as o}from"@dimjs/utils/cjs/extend";import{cloneState as a}from"@dimjs/model";import{treeLeafParentsArray as u,treeToTiledArray as i}from"@flatbiz/utils";import{Cascader as l,Button as c,message as f}from"antd";import{forwardRef as d,useState as m,useImperativeHandle as v}from"react";import{fbaHooks as p}from"./fba-hooks/index.js";import{R as g}from"./request-status-03fc60e2.js";import{Model as h}from"@dimjs/model-react";import{jsx as q}from"react/jsx-runtime";var C={selectorList:[],queryIsEmpty:false,requestStatus:"request-init"};var L={actions:{setSelectBoxList:function e(t){return function(e){e.selectorList=t.selectorList||[];e.requestStatus="request-success"}},changeRequestStatus:function e(t){return function(e){e.requestStatus=t}}},state:C};var R={};var S=function e(t){if(!R[t]){R[t]=h(L)}return R[t]};var w=["serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange"];var y=d((function(d,h){var C=d.serviceConfig,L=d.modelKey,R=d.fieldNames,y=d.isDynamicLoad,j=d.requestMessageConfig,b=d.onSelectorListChange,k=r(d,w);var x=m([]),B=x[0],N=x[1];var P=C||{};var E=p.useSafeState(false),K=E[0],D=E[1];var A=S(L).useStore(),I=A[0],M=A[1];var _="request-progress-"+d.modelKey;var z=o(true,{label:"label",value:"value",children:"children"},R);var F=m(),H=F[0],O=F[1];var G=function e(t){var r=P.onRequestResultAdapter?P.onRequestResultAdapter(t):t;return r||[]};var J=n.useCallbackRef((function(){return new Promise((function(e,t){var r,s;if(!P.onRequest){return t(new Error("onRequest 调用接口服务不能为空"))}var n=function(){try{return e()}catch(e){return t(e)}};var o=function(e){try{D(false);window[_]=false;void M.changeRequestStatus("request-error");void f.error(e.message||"获取数据异常");return n()}catch(e){return t(e)}};try{D(true);window[_]=true;void M.changeRequestStatus("request-progress");return Promise.resolve(P.onRequest==null?void 0:P.onRequest(P.params)).then((function(e){try{r=e;s=G(r);if(y){s.map((function(e){e.isLeaf=e.isLeaf||false}))}D(false);window[_]=false;void M.setSelectBoxList({selectorList:s||[]});b==null?void 0:b(s||[]);return n()}catch(e){return o(e)}}),o)}catch(e){o(e)}}))}));p.useEffectCustom((function(){if(window[_])return;if(I.requestStatus==="request-success"){N(a(I.selectorList))}else{void J()}}),[]);p.useEffectCustom((function(){var e=a(I.selectorList);if(d.value){var t=u(d.value,i(e,z),true);if(t.length===0){O([d.value])}else{O(t.map((function(e){return e.value})))}}else{O(undefined)}N(e)}),[I.selectorList,d.value]);v(h,(function(){return{getCascaderList:function e(){return I.selectorList}}}));var Q=n.useCallbackRef((function(){void J()}));var T=function e(t){return new Promise((function(e,r){var n,o,a,u;o=t[t.length-1];o.loading=true;return Promise.resolve(P.onRequest==null?void 0:P.onRequest(s({},P.params,(n={},n[z.value]=o[z.value],n)))).then((function(t){try{a=t;u=G(a);if(!u||u.length===0){o.isLeaf=true}else{u.map((function(e){e.isLeaf=e.isLeaf||false}));o.children=u}o.loading=false;void M.setSelectBoxList({selectorList:B||[]});b==null?void 0:b(B||[]);N([].concat(B));return e()}catch(e){return r(e)}}),r)}))};var U=n.useCallbackRef((function(e,t){void(d.onChange==null?void 0:d.onChange(e==null?void 0:e[e.length-1],t))}));var V=n.useCallbackRef((function(){void(d.onChange==null?void 0:d.onChange(undefined))}));return q(l,s({showSearch:true,allowClear:true},k,{popupClassName:t("cascader-wrapper-popup",k.popupClassName),notFoundContent:q(g,{status:I.requestStatus,loading:K,messageConfig:j,errorButton:q(c,{type:"primary",onClick:Q,children:"重新获取数据"})}),loading:K,loadData:y?T:undefined,fieldNames:z,suffixIcon:I.requestStatus==="request-error"?q(e,{spin:K,onClick:Q}):undefined,options:B,value:H,multiple:false,onChange:U,onClear:V}))}));export{y as C};
|
|
3
|
-
//# sourceMappingURL=cascader-wrapper-2f6a926f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cascader-wrapper-2f6a926f.js","sources":["@flatbiz/antd/src/cascader-wrapper/model.ts","@flatbiz/antd/src/cascader-wrapper/cascader-wrapper.tsx"],"sourcesContent":["import { API, ModelType } from '@dimjs/model';\nimport { Model } from '@dimjs/model-react';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { TRequestStatus } from '../request-status';\n\nexport type ModelState = {\n selectorList: TPlainObject[];\n queryIsEmpty: boolean;\n requestStatus: TRequestStatus;\n};\n\ntype ModelActionParams = {\n setSelectBoxList: { selectorList: TPlainObject[] };\n changeRequestStatus: ModelState['requestStatus'];\n};\n\nconst defaultState: ModelState = {\n selectorList: [],\n queryIsEmpty: false,\n requestStatus: 'request-init',\n};\n\nconst _SelectorWrapperModel: ModelType<ModelState, ModelActionParams> = {\n actions: {\n setSelectBoxList: (params) => {\n return (state) => {\n state.selectorList = params.selectorList || [];\n state.requestStatus = 'request-success';\n };\n },\n changeRequestStatus: (params) => {\n return (state) => {\n state.requestStatus = params;\n };\n },\n },\n state: defaultState,\n};\n\nconst cascaderWrapperModels: Record<string, API<ModelType<ModelState, ModelActionParams, TAny>>> = {};\n\n/**\n * ```\n * 使用方式\n * const [state, actions] = selectorWrapperModel('key值').useStore();\n * ```\n */\nexport const cascaderWrapperModel = (key: string) => {\n if (!cascaderWrapperModels[key]) {\n cascaderWrapperModels[key] = Model(_SelectorWrapperModel);\n }\n return cascaderWrapperModels[key];\n};\n","import { RedoOutlined } from '@ant-design/icons';\nimport { cloneState } from '@dimjs/model';\nimport { classNames, extend } from '@dimjs/utils';\nimport { TAny, TPlainObject, treeLeafParentsArray, treeToTiledArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Cascader, CascaderProps, message } from 'antd';\nimport { forwardRef, ReactElement, useImperativeHandle, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { RequestStatus, TRequestStatusProps } from '../request-status';\nimport { cascaderWrapperModel } from './model';\nimport './style.less';\n\ntype CascaderWrapperServiceConfig = {\n params?: TPlainObject;\n onRequest?: (params?: TAny) => TAny;\n /**\n * 响应数据适配器\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type CascaderWrapperProps = Omit<\n CascaderProps<TAny>,\n 'loading' | 'notFoundContent' | 'options' | 'value' | 'multiple' | 'onChange'\n> & {\n // 模型唯一值\n modelKey: string;\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;\n onChange?: (value?: string | number, selectedList?: TPlainObject[]) => void;\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n};\n\nexport type CascaderWrapperRefApi = {\n getCascaderList: () => TPlainObject[];\n};\n/**\n * 级联选择器包装组件,接收value和相应data都是叶子节点数据\n * @param props\n * @returns\n * ```\n * 1. 数据源中 value 不能重复\n * 2. 不支持多选\n * 3. modelKey的配置是为了缓存数据,只缓存初始化数据,如果isDynamicLoad=true,动态获取的数据不再缓存\n * 4. onChange操作第一个参数返回叶子节点value,第二个参数返回选中的多级数据\n * 5. isDynamicLoad=true 会在请求中添加当前选中option的fieldNames.value为key的数据\n * ```\n */\nexport const CascaderWrapper = forwardRef<CascaderWrapperRefApi, CascaderWrapperProps>((props, ref) => {\n const {\n serviceConfig,\n modelKey,\n fieldNames,\n isDynamicLoad,\n requestMessageConfig,\n onSelectorListChange,\n ...otherProps\n } = props;\n const [options, setOptions] = useState<TAny[]>([]);\n\n const newServiceConfig = serviceConfig || {};\n const [loading, setLoading] = fbaHooks.useSafeState(false);\n const [state, actions] = cascaderWrapperModel(modelKey).useStore();\n const requestPreKey = `request-progress-${props.modelKey}`;\n const fieldNamesMerge = extend(true, { label: 'label', value: 'value', children: 'children' }, fieldNames);\n const [valueList, setValueList] = useState<string[]>();\n\n const serviceRespDataAdapter = (respData) => {\n const respDataList = newServiceConfig.onRequestResultAdapter\n ? newServiceConfig.onRequestResultAdapter(respData as unknown as TPlainObject)\n : respData;\n return respDataList || [];\n };\n\n const startDataSourceRequest = hooks.useCallbackRef(async () => {\n if (!newServiceConfig.onRequest) {\n throw new Error('onRequest 调用接口服务不能为空');\n }\n try {\n setLoading(true);\n window[requestPreKey] = true;\n void actions.changeRequestStatus('request-progress');\n const respData = await newServiceConfig.onRequest?.(newServiceConfig.params);\n const respAdapterData = serviceRespDataAdapter(respData) as TAny[];\n if (isDynamicLoad) {\n respAdapterData.map((item) => {\n item.isLeaf = item.isLeaf || false;\n });\n }\n setLoading(false);\n window[requestPreKey] = false;\n void actions.setSelectBoxList({\n selectorList: respAdapterData || [],\n });\n onSelectorListChange?.(respAdapterData || []);\n } catch (error) {\n setLoading(false);\n window[requestPreKey] = false;\n void actions.changeRequestStatus('request-error');\n void message.error(error.message || '获取数据异常');\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n if (window[requestPreKey]) return;\n if (state.requestStatus === 'request-success') {\n setOptions(cloneState(state.selectorList));\n } else {\n void startDataSourceRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n const cloneList = cloneState(state.selectorList);\n if (props.value) {\n const filterList = treeLeafParentsArray(\n props.value,\n treeToTiledArray(cloneList, fieldNamesMerge),\n true,\n );\n if (filterList.length === 0) {\n setValueList([props.value as string]);\n } else {\n setValueList(filterList.map((item) => item.value) as string[]);\n }\n } else {\n setValueList(undefined);\n }\n setOptions(cloneList);\n }, [state.selectorList, props.value]);\n\n useImperativeHandle(ref, () => {\n return {\n getCascaderList: () => {\n return state.selectorList;\n },\n };\n });\n\n const onAgainRequest = hooks.useCallbackRef(() => {\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 newServiceConfig.onRequest?.({\n ...newServiceConfig.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 void actions.setSelectBoxList({\n selectorList: options || [],\n });\n onSelectorListChange?.(options || []);\n setOptions([...options]);\n };\n\n const onChange = hooks.useCallbackRef((values: Array<string | number>, selectList) => {\n void props.onChange?.(values?.[values.length - 1], selectList);\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={state.requestStatus}\n loading={loading}\n messageConfig={requestMessageConfig}\n errorButton={\n <Button type=\"primary\" onClick={onAgainRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n loading={loading}\n loadData={isDynamicLoad ? loadData : undefined}\n fieldNames={fieldNamesMerge}\n suffixIcon={\n state.requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onAgainRequest} />\n ) : undefined\n }\n options={options}\n value={valueList}\n multiple={false}\n onChange={onChange}\n onClear={onClear}\n />\n );\n});\n"],"names":["defaultState","selectorList","queryIsEmpty","requestStatus","_SelectorWrapperModel","actions","setSelectBoxList","params","state","changeRequestStatus","cascaderWrapperModels","cascaderWrapperModel","key","Model","CascaderWrapper","forwardRef","props","ref","serviceConfig","modelKey","fieldNames","isDynamicLoad","requestMessageConfig","onSelectorListChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","options","setOptions","newServiceConfig","_fbaHooks$useSafeStat","fbaHooks","useSafeState","loading","setLoading","_cascaderWrapperModel","useStore","requestPreKey","fieldNamesMerge","_extend","label","value","children","_useState2","valueList","setValueList","serviceRespDataAdapter","respData","respDataList","onRequestResultAdapter","startDataSourceRequest","_hooks","useCallbackRef","Promise","$return","$error","_respData","respAdapterData","onRequest","Error","$Try_1_Post","$boundEx","$Try_1_Catch","error","window","message","resolve","then","$await_2","map","item","isLeaf","useEffectCustom","cloneState","cloneList","filterList","treeLeafParentsArray","treeToTiledArray","length","undefined","useImperativeHandle","getCascaderList","onAgainRequest","loadData","selectedOptions","_extends2","targetOption","_extends","$await_3","concat","onChange","values","selectList","onClear","_jsx","Cascader","showSearch","allowClear","popupClassName","_classNames","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","suffixIcon","_RedoOutlined","spin","multiple"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as r}from"@dimjs/lang/cjs/is-string";import{isObject as t}from"@dimjs/lang/cjs/is-object";import{get as e}from"@dimjs/utils/cjs/get";import{isPlainObject as n}from"@dimjs/lang/cjs/is-plain-object";import{a as i}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isNumber as o}from"@dimjs/lang/cjs/is-number";import{isEmpty as a}from"@dimjs/lang/cjs/is-empty";import{isUndefinedOrNull as u,getStrByteLen as l,cutString as f,flatbizDate as c}from"@flatbiz/utils";import{Tooltip as s,Space as m}from"antd";import{Fragment as p}from"react";import{a as v}from"./button-operate-d00df6c9.js";import{T as d}from"./tag-list-select-066f682f.js";import{jsx as j}from"react/jsx-runtime";var h=function r(t,e){return function(r){if(a(r)||r==="")return e;if(o(r))return r;var n=r.toString();var i=u(t)?10:t;var c=l(n);if(c<=i*2){return n}return j(s,{placement:"topLeft",title:n,children:f(n,i*2)})}};var g=function r(t){return function(r,e,n){var o=t(e,n);return j(v,i({},o))}};var x=function r(t,e){return function(r){if(a(r)||r==="")return e;try{return c.format(new Date(r),t)}catch(t){return r||e}}};var C=function r(t,e){return function(r,n,i){if(e&&t){return(t-1)*e+i+1}return i+1}};var b=function r(t){return function(r,e,n){var i=(t==null?void 0:t())||{},o=i.pageNo,a=i.pageSize;if(a&&o){return(o-1)*a+n+1}return n+1}};var w=function r(t,e){return function(r){return j(d,{dataList:t,colorMap:e,value:r,forceMatch:false})}};var k=function r(i,o){return function(r){if(n(r)){var a=e(r,i,o);if(!a)return"";if(t(a))return JSON.stringify(a);return a}return r||o}};var N=function t(e){return function(t,n){var i=e==null?void 0:e(n);if(!i)return j(p,{children:t});var o=u(i.showData)?true:i.showData;var a=u(i.notOverflowShowExtra)?true:i.notOverflowShowExtra;var l=u(i.showMaxNumber)?10:i.showMaxNumber;var c=i.extraPosition?i.extraPosition:"after";var s=r(t)?f(t,l*2):t;if(i.extra&&o){if(s===t&&!a){return t}var v=[j("span",{children:s},"1"),j(p,{children:i.extra},"2")];var d=c==="before"?v.reverse():v;return j(m,{onClick:i.onClick,style:{cursor:i.onClick?"pointer":undefined},size:5,children:d.map((function(r,t){return j(p,{children:r},t)}))})}return j("span",{onClick:i.onClick,children:i.extra})}};var S={extraContentRender:N,indexCell:C,serialNumberCell:b,dateCell:x,operateCell:g,tooltipCell:h,selectorCell:w,objectCell:k};export{S as t};
|
|
3
|
-
//# sourceMappingURL=cell-render-4934a7de.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cell-render-4934a7de.js","sources":["@flatbiz/antd/src/table-cell-render/cell-render.tsx"],"sourcesContent":["import { isEmpty, isNumber, isObject, isPlainObject, isString } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n cutString,\n DateFormatType,\n flatbizDate,\n getStrByteLen,\n isUndefinedOrNull,\n TAny,\n TPlainObject,\n} from '@flatbiz/utils';\nimport { Space, Tooltip } from 'antd';\nimport { Fragment, ReactElement } from 'react';\nimport { ButtonOperate, ButtonOperateProps } from '../button-operate';\nimport { TagListSelect, TagListSelectProps } from '../tag-list-select';\n\nconst tableColumnTooltipRender = (showMaxNumber?: number, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n if (isNumber(value)) return value;\n const colunmText = value.toString();\n const maxNumber = (isUndefinedOrNull(showMaxNumber) ? 10 : showMaxNumber) as number;\n const strByteLen = getStrByteLen(colunmText);\n if (strByteLen <= maxNumber * 2) {\n return colunmText;\n }\n return (\n <Tooltip placement=\"topLeft\" title={colunmText}>\n {cutString(colunmText, maxNumber * 2)}\n </Tooltip>\n );\n };\n};\n\nconst tableColumnOperateRender = (options: (item: TAny, index: number) => ButtonOperateProps) => {\n return (_value: string | number, record, index: number) => {\n const operateProps = options(record, index);\n return <ButtonOperate {...operateProps} />;\n };\n};\n\nconst tableColumnDateRender = (dateFormatType?: DateFormatType, defaultValue?: string) => {\n return (value: string | number) => {\n if (isEmpty(value) || value === '') return defaultValue;\n try {\n return flatbizDate.format(new Date(value), dateFormatType);\n } catch (error) {\n return value || defaultValue;\n }\n };\n};\n\n/**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @param pageSize\n * @param pageNo\n * @returns\n */\nconst tableColumnIndexRender = (pageNo?: number, pageSize?: number) => {\n return (_value, _record, index: number) => {\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\nconst tableColumnIndexRender2 = (method?: () => { pageNo?: number; pageSize?: number }) => {\n return (_value, _record, index: number) => {\n const { pageNo, pageSize } = method?.() || {};\n if (pageSize && pageNo) {\n return (pageNo - 1) * pageSize + index + 1;\n }\n return index + 1;\n };\n};\n\nconst tableColumnSelectorRender = (\n selectorList: TagListSelectProps['dataList'],\n colorMap?: TagListSelectProps['colorMap'],\n) => {\n return (value: string | number) => {\n return <TagListSelect dataList={selectorList} colorMap={colorMap} value={value} forceMatch={false} />;\n };\n};\n\nconst tableColumnObjectRender = (key: string, defaultValue?: string) => {\n return (value?: TPlainObject) => {\n if (isPlainObject(value)) {\n const target = get(value, key, defaultValue);\n if (!target) return '';\n if (isObject(target)) return JSON.stringify(target);\n return target;\n }\n return value || defaultValue;\n };\n};\n\ntype TableColumnIconRenderProps = {\n /** 额外内容,一般为Icon */\n extra: ReactElement;\n extraPosition?: 'before' | 'after';\n onClick?: (e) => void;\n /** 是否显示原单元格数据,默认值:true */\n showData?: boolean;\n /** 溢出显示【...】, 最大长度(默认:20个字节) */\n showMaxNumber?: number;\n /** 未溢出显示【extra】配置,默认值:true */\n notOverflowShowExtra?: boolean;\n};\n\nconst tableColumnExtraContentRender = (handle: (item: TPlainObject) => TableColumnIconRenderProps) => {\n return (value: TAny, item: TPlainObject) => {\n const options = handle?.(item);\n if (!options) return <Fragment>{value}</Fragment>;\n const showData = isUndefinedOrNull(options.showData) ? true : options.showData;\n const notOverflowShowExtra = isUndefinedOrNull(options.notOverflowShowExtra)\n ? true\n : options.notOverflowShowExtra;\n const showMaxNumber = isUndefinedOrNull(options.showMaxNumber) ? 10 : (options.showMaxNumber as number);\n const extraPosition = options.extraPosition ? options.extraPosition : 'after';\n const renderValue = isString(value) ? cutString(value, showMaxNumber * 2) : value;\n\n if (options.extra && showData) {\n if (renderValue === value && !notOverflowShowExtra) {\n return value;\n }\n const spaceContent = [<span key=\"1\">{renderValue}</span>, <Fragment key=\"2\">{options.extra}</Fragment>];\n const spaceContentRender = extraPosition === 'before' ? spaceContent.reverse() : spaceContent;\n return (\n <Space onClick={options.onClick} style={{ cursor: options.onClick ? 'pointer' : undefined }} size={5}>\n {spaceContentRender.map((item, index) => {\n return <Fragment key={index}>{item}</Fragment>;\n })}\n </Space>\n );\n }\n return <span onClick={options.onClick}>{options.extra}</span>;\n };\n};\n\nexport const tableCellRender = {\n /**\n * 表格单元格 拼接额外内容渲染\n * ```\n * 1. extra 额外内容\n * 2. showData 是否显示原单元格数据,默认值:true\n * 3. showMaxNumber 显示最大长度,作用于原单元格字符串数据\n * ```\n */\n extraContentRender: tableColumnExtraContentRender,\n /**\n * table 索引展示,如果存在pageSize、pageNo参数可分页展示索引,否则每页都从1开始\n * @deprecated 已过时 4.3.0版本移除,请使用 serialNumberCell\n */\n indexCell: tableColumnIndexRender,\n /**\n * table 序号展示,如果存在pageSize、pageNo参数可分页展示累加序号,否则每页都从1开始\n * ```\n * render: tableCellRender.serialNumberCell(() => {\n * return { pageNo,pageSize };\n * }),\n * ```\n */\n serialNumberCell: tableColumnIndexRender2,\n /**\n * 表格日期格式数据渲染,默认格式:YYYY-MM-DD\n * ```\n * dateFormatType: 日期格式\n * ```\n */\n dateCell: tableColumnDateRender,\n /**\n * table操作栏目渲染\n * ```\n * 使用方式\n * tableCellRender.operateCell((item) => ({\n * operateList: [\n * {\n * text: '编辑',\n * onClick: onItemOperate.bind(null, 'update', item),\n * permission: SystemAdminPermissionEnum.system_admin_edit,\n * },\n * {\n * text: '删除',\n * needConfirm: true,\n * confirmMessage: '确定要删除吗?',\n * onClick: onItemOperate.bind(null, 'delete', item),\n * permission: SystemAdminPermissionEnum.system_admin_delete,\n * },\n * ],\n * }))\n * ```\n */\n operateCell: tableColumnOperateRender,\n /**\n * 实现字段超出隐藏,默认长度10个字符\n * ```\n * 1. showMaxNumber: 显示最大长度\n * 2. 会讲字符转出字节进行计算显示\n * ```\n */\n tooltipCell: tableColumnTooltipRender,\n /**\n * ```\n * 使用方式1\n * tableCellRender.selectorCell([{ label: '已开启', value: 1, color: '#108ee9' }])\n *\n * 使用方式2\n * tableCellRender.selectorCell([{ label: '已开启', value: 1 }], { 1: '#108ee9' })\n * ```\n */\n selectorCell: tableColumnSelectorRender,\n /**\n * 单元格对象数据处理,支持多级处理\n * ```\n * tableCellRender.objectCell('a.b.c')\n * ```\n */\n objectCell: tableColumnObjectRender,\n};\n"],"names":["tableColumnTooltipRender","showMaxNumber","defaultValue","value","_isEmpty","_isNumber","colunmText","toString","maxNumber","isUndefinedOrNull","strByteLen","getStrByteLen","_jsx","Tooltip","placement","title","children","cutString","tableColumnOperateRender","options","_value","record","index","operateProps","ButtonOperate","_extends","tableColumnDateRender","dateFormatType","flatbizDate","format","Date","error","tableColumnIndexRender","pageNo","pageSize","_record","tableColumnIndexRender2","method","_ref","tableColumnSelectorRender","selectorList","colorMap","TagListSelect","dataList","forceMatch","tableColumnObjectRender","key","_isPlainObject","target","_get","_isObject","JSON","stringify","tableColumnExtraContentRender","handle","item","Fragment","showData","notOverflowShowExtra","extraPosition","renderValue","_isString","extra","spaceContent","spaceContentRender","reverse","Space","onClick","style","cursor","undefined","size","map","tableCellRender","extraContentRender","indexCell","serialNumberCell","dateCell","operateCell","tooltipCell","selectorCell","objectCell"],"mappings":"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"}
|
package/esm/center-a4dfda6f.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{useMutationObserver as r}from"ahooks";import{useRef as t}from"react";import{fbaHooks as o}from"./fba-hooks/index.js";import{jsx as l}from"react/jsx-runtime";var i=function i(a){var c=t(null);var v=a.behavior||"smooth";var n=a.direction||"vertical";var s=function e(r){var t,o;var l=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+r);var i=(o=c.current)==null?void 0:o.offsetHeight;var a=l.offsetTop;var n=l.offsetHeight;if(a<=n){var s;(s=c.current)==null?void 0:s.scrollTo({top:0,behavior:v})}else{var f=a-i/2+n/2;if(f>0){var u;(u=c.current)==null?void 0:u.scrollTo({top:f,behavior:v})}else{var d;(d=c.current)==null?void 0:d.scrollTo({top:0,behavior:v})}}};var f=function e(r){var t,o;var l=(t=c.current)==null?void 0:t.querySelector(".roll-location-center-"+r);var i=(o=c.current)==null?void 0:o.offsetWidth;var a=l.offsetLeft;var n=l.offsetWidth;if(a<=n){var s;(s=c.current)==null?void 0:s.scrollTo({left:0,behavior:v})}else{var f=a-i/2+n/2;if(f>0){var u;(u=c.current)==null?void 0:u.scrollTo({left:f,behavior:v})}else{var d;(d=c.current)==null?void 0:d.scrollTo({left:0,behavior:v})}}};o.useEffectCustom((function(){if(a.activeKey){if(n==="vertical"){s(a.activeKey)}else{f(a.activeKey)}}}),[a.activeKey]);r((function(){if(a.activeKey){if(n==="vertical"){s(a.activeKey)}else{f(a.activeKey)}}}),c,{subtree:true,childList:true,characterData:true});return l("div",{className:e("roll-location-center","roll-location-center-"+n,a.className),style:a.style,ref:c,children:a.renderList.map((function(e){return l("div",{className:"roll-location-center-"+e.activeKey,children:e.render},e.activeKey)}))})};export{i as R};
|
|
3
|
-
//# sourceMappingURL=center-a4dfda6f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"center-a4dfda6f.js","sources":["@flatbiz/antd/src/roll-location-center/center.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMutationObserver } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type RollLocationCenterProps = {\n renderList: { activeKey: string; render: ReactElement }[];\n activeKey?: string;\n behavior?: ScrollBehavior;\n direction?: 'horizontal' | 'vertical';\n style?: CSSProperties;\n className?: string;\n};\nexport const RollLocationCenter = (props: RollLocationCenterProps) => {\n const rollLocationCenterRef = useRef<HTMLDivElement>(null);\n const behavior = props.behavior || 'smooth';\n const direction = props.direction || 'vertical';\n\n const targetVerticalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeHeight = rollLocationCenterRef.current?.offsetHeight as number;\n const targetNodeOffsetTop = targetNode.offsetTop;\n const targetNodeHeight = targetNode.offsetHeight;\n if (targetNodeOffsetTop <= targetNodeHeight) {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n } else {\n const rollHeight = targetNodeOffsetTop - parentNodeHeight / 2 + targetNodeHeight / 2;\n if (rollHeight > 0) {\n rollLocationCenterRef.current?.scrollTo({ top: rollHeight, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ top: 0, behavior });\n }\n }\n };\n const targetHorizontalRoll = (key: string) => {\n const targetNode = rollLocationCenterRef.current?.querySelector(\n `.roll-location-center-${key}`,\n ) as HTMLDivElement;\n const parentNodeWidth = rollLocationCenterRef.current?.offsetWidth as number;\n const targetNodeOffsetLeft = targetNode.offsetLeft;\n const targetNodeWidth = targetNode.offsetWidth;\n if (targetNodeOffsetLeft <= targetNodeWidth) {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n } else {\n const rollWidth = targetNodeOffsetLeft - parentNodeWidth / 2 + targetNodeWidth / 2;\n if (rollWidth > 0) {\n rollLocationCenterRef.current?.scrollTo({ left: rollWidth, behavior });\n } else {\n rollLocationCenterRef.current?.scrollTo({ left: 0, behavior });\n }\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n }, [props.activeKey]);\n\n useMutationObserver(\n () => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n },\n rollLocationCenterRef,\n {\n subtree: true,\n childList: true,\n characterData: true,\n },\n );\n\n return (\n <div\n className={classNames('roll-location-center', `roll-location-center-${direction}`, props.className)}\n style={props.style}\n ref={rollLocationCenterRef}\n >\n {props.renderList.map((item) => {\n return (\n <div className={`roll-location-center-${item.activeKey}`} key={item.activeKey}>\n {item.render}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RollLocationCenter","props","rollLocationCenterRef","useRef","behavior","direction","targetVerticalRoll","key","_rollLocationCenterRe","_rollLocationCenterRe2","targetNode","current","querySelector","parentNodeHeight","offsetHeight","targetNodeOffsetTop","offsetTop","targetNodeHeight","_rollLocationCenterRe3","scrollTo","top","rollHeight","_rollLocationCenterRe4","_rollLocationCenterRe5","targetHorizontalRoll","_rollLocationCenterRe6","_rollLocationCenterRe7","parentNodeWidth","offsetWidth","targetNodeOffsetLeft","offsetLeft","targetNodeWidth","_rollLocationCenterRe8","left","rollWidth","_rollLocationCenterRe9","_rollLocationCenterRe10","fbaHooks","useEffectCustom","activeKey","useMutationObserver","subtree","childList","characterData","_jsx","className","_classNames","style","ref","children","renderList","map","item","render"],"mappings":";kOAcaA,EAAqB,SAArBA,EAAsBC,GACjC,IAAMC,EAAwBC,EAAuB,MACrD,IAAMC,EAAWH,EAAMG,UAAY,SACnC,IAAMC,EAAYJ,EAAMI,WAAa,WAErC,IAAMC,EAAqB,SAArBA,EAAsBC,GAAgB,IAAAC,EAAAC,EAC1C,IAAMC,GAAUF,EAAGN,EAAsBS,UAAO,UAAA,EAA7BH,EAA+BI,cAAa,yBACpCL,GAE3B,IAAMM,GAAgBJ,EAAGP,EAAsBS,UAAO,UAAA,EAA7BF,EAA+BK,aACxD,IAAMC,EAAsBL,EAAWM,UACvC,IAAMC,EAAmBP,EAAWI,aACpC,GAAIC,GAAuBE,EAAkB,CAAA,IAAAC,GAC3CA,EAAAhB,EAAsBS,UAAtBO,UAAAA,EAAAA,EAA+BC,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,KAAO,CACL,IAAMiB,EAAaN,EAAsBF,EAAmB,EAAII,EAAmB,EACnF,GAAII,EAAa,EAAG,CAAA,IAAAC,GAClBA,EAAApB,EAAsBS,UAAtBW,UAAAA,EAAAA,EAA+BH,SAAS,CAAEC,IAAKC,EAAYjB,SAAAA,GAC7D,KAAO,CAAA,IAAAmB,GACLA,EAAArB,EAAsBS,UAAtBY,UAAAA,EAAAA,EAA+BJ,SAAS,CAAEC,IAAK,EAAGhB,SAAAA,GACpD,CACF,GAEF,IAAMoB,EAAuB,SAAvBA,EAAwBjB,GAAgB,IAAAkB,EAAAC,EAC5C,IAAMhB,GAAUe,EAAGvB,EAAsBS,UAAO,UAAA,EAA7Bc,EAA+Bb,cAAa,yBACpCL,GAE3B,IAAMoB,GAAeD,EAAGxB,EAAsBS,UAAO,UAAA,EAA7Be,EAA+BE,YACvD,IAAMC,EAAuBnB,EAAWoB,WACxC,IAAMC,EAAkBrB,EAAWkB,YACnC,GAAIC,GAAwBE,EAAiB,CAAA,IAAAC,GAC3CA,EAAA9B,EAAsBS,UAAtBqB,UAAAA,EAAAA,EAA+Bb,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,KAAO,CACL,IAAM8B,EAAYL,EAAuBF,EAAkB,EAAII,EAAkB,EACjF,GAAIG,EAAY,EAAG,CAAA,IAAAC,GACjBA,EAAAjC,EAAsBS,UAAtBwB,UAAAA,EAAAA,EAA+BhB,SAAS,CAAEc,KAAMC,EAAW9B,SAAAA,GAC7D,KAAO,CAAA,IAAAgC,GACLA,EAAAlC,EAAsBS,UAAtByB,UAAAA,EAAAA,EAA+BjB,SAAS,CAAEc,KAAM,EAAG7B,SAAAA,GACrD,CACF,GAGFiC,EAASC,iBAAgB,WACvB,GAAIrC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACF,GAAG,CAACtC,EAAMsC,YAEVC,GACE,WACE,GAAIvC,EAAMsC,UAAW,CACnB,GAAIlC,IAAc,WAAY,CAC5BC,EAAmBL,EAAMsC,UAC3B,KAAO,CACLf,EAAqBvB,EAAMsC,UAC7B,CACF,CACD,GACDrC,EACA,CACEuC,QAAS,KACTC,UAAW,KACXC,cAAe,OAInB,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,uBAAsB,wBAA0BzC,EAAaJ,EAAM4C,WACzFE,MAAO9C,EAAM8C,MACbC,IAAK9C,EAAsB+C,SAE1BhD,EAAMiD,WAAWC,KAAI,SAACC,GACrB,OACER,EAAA,MAAA,CAAKC,UAAS,wBAA0BO,EAAKb,UAAYU,SACtDG,EAAKC,QADuDD,EAAKb,eAO9E"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Checkbox as l}from"antd";import{jsx as n}from"react/jsx-runtime";var t=["checkedValue","unCheckedValue","onChange","value"];var u=function u(c){var i=c.checkedValue,m=c.unCheckedValue,h=c.onChange,s=c.value,f=e(c,t);var v=r.useCallbackRef((function(e){var a=e.target.checked;h==null?void 0:h(a?i:m)}));return n(l,a({},f,{checked:!o(s)&&i===s,onChange:v}))};export{u as C};
|
|
3
|
-
//# sourceMappingURL=checkbox-wrapper-018a5c59.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-wrapper-018a5c59.js","sources":["@flatbiz/antd/src/checkbox-wrapper/checkbox-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, CheckboxProps } from 'antd';\n\nexport type CheckboxWrapperProps = Omit<CheckboxProps, 'checked' | 'defaultChecked' | 'onChange'> & {\n value?: string | number | boolean;\n checkedValue: string | number | boolean;\n unCheckedValue: string | number | boolean;\n onChange?: (value: string | number | boolean) => void;\n};\n/**\n * 解决 Checkbox 只能接收boolean的限制,与Form.Item结合使用最佳\n * ```\n * 1. value 为状态值,不局限于boolean,可以为 [string | number | boolean]\n * 2. checkedValue 选中值\n * 3. unCheckedValue 未选中值\n * 4. 与 Form.Item 结合使用,不再需要配置 valuePropName\n * <Form.Item name=\"fieldName\">\n * <CheckboxWrapper checkedValue={2} unCheckedValue={1} />\n * </Form.Item>\n * ```\n */\nexport const CheckboxWrapper = (props: CheckboxWrapperProps) => {\n const { checkedValue, unCheckedValue, onChange, value, ...otherProps } = props;\n const onChangeHandle = hooks.useCallbackRef((event) => {\n const checked = event.target.checked;\n onChange?.(checked ? checkedValue : unCheckedValue);\n });\n\n return (\n <Checkbox\n {...otherProps}\n checked={!isUndefinedOrNull(value) && checkedValue === value}\n onChange={onChangeHandle}\n />\n );\n};\n"],"names":["CheckboxWrapper","props","checkedValue","unCheckedValue","onChange","value","otherProps","_objectWithoutPropertiesLoose","_excluded","onChangeHandle","_hooks","useCallbackRef","event","checked","target","_jsx","Checkbox","_extends","isUndefinedOrNull"],"mappings":";sSAsBaA,EAAkB,SAAlBA,EAAmBC,GAC9B,IAAQC,EAAiED,EAAjEC,aAAcC,EAAmDF,EAAnDE,eAAgBC,EAAmCH,EAAnCG,SAAUC,EAAyBJ,EAAzBI,MAAUC,EAAUC,EAAKN,EAAKO,GAC9E,IAAMC,EAAiBC,EAAMC,gBAAe,SAACC,GAC3C,IAAMC,EAAUD,EAAME,OAAOD,QAC7BT,GAAQ,UAAA,EAARA,EAAWS,EAAUX,EAAeC,EACtC,IAEA,OACEY,EAACC,EAAQC,KACHX,EAAU,CACdO,SAAUK,EAAkBb,IAAUH,IAAiBG,EACvDD,SAAUK,IAGhB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{ConfigProvider as r}from"antd";import a from"antd/es/locale/en_US";import t from"antd/es/locale/zh_CN";import m from"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import l from"dayjs/plugin/advancedFormat";import n from"dayjs/plugin/customParseFormat";import i from"dayjs/plugin/localeData";import d from"dayjs/plugin/utc";import p from"dayjs/plugin/weekday";import s from"dayjs/plugin/weekOfYear";import c from"dayjs/plugin/weekYear";import{fbaHooks as f}from"./fba-hooks/index.js";import{jsx as u}from"react/jsx-runtime";var j=["locale"];m.extend(n);m.extend(l);m.extend(p);m.extend(i);m.extend(s);m.extend(c);m.extend(d);var y=function l(n){var i=n.locale,d=e(n,j);f.useEffectCustom((function(){m.locale(n.locale||"zh-cn")}),[]);return u(r,o({componentSize:"middle",space:{size:"middle"}},d,{locale:i==="en"?a:t,children:n.children}))};export{y as C};
|
|
3
|
-
//# sourceMappingURL=config-provider-wrapper-dfe8f592.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider-wrapper-dfe8f592.js","sources":["@flatbiz/antd/src/config-provider-wrapper/config-provider-wrapper.tsx"],"sourcesContent":["import { ConfigProvider } from 'antd';\nimport { ConfigProviderProps } from 'antd/es/config-provider';\nimport enUS from 'antd/es/locale/en_US';\nimport zhCN from 'antd/es/locale/zh_CN';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/zh-cn';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport localeData from 'dayjs/plugin/localeData';\nimport dayjsUtc from 'dayjs/plugin/utc';\nimport weekday from 'dayjs/plugin/weekday';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport weekYear from 'dayjs/plugin/weekYear';\nimport { fbaHooks } from '../fba-hooks';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(weekday);\ndayjs.extend(localeData);\ndayjs.extend(weekOfYear);\ndayjs.extend(weekYear);\ndayjs.extend(dayjsUtc);\n\nexport type ConfigProviderWrapperProps = Omit<ConfigProviderProps, 'locale'> & {\n locale?: 'en' | 'zh-cn';\n};\n\nexport const ConfigProviderWrapper = (props: ConfigProviderWrapperProps) => {\n const { locale, ...otherProps } = props;\n\n fbaHooks.useEffectCustom(() => {\n dayjs.locale((props.locale as unknown as string) || 'zh-cn');\n }, []);\n return (\n <ConfigProvider\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...otherProps}\n locale={locale === 'en' ? enUS : zhCN}\n >\n {props.children}\n </ConfigProvider>\n );\n};\n"],"names":["dayjs","extend","customParseFormat","advancedFormat","weekday","localeData","weekOfYear","weekYear","dayjsUtc","ConfigProviderWrapper","props","locale","otherProps","_objectWithoutPropertiesLoose","_excluded","fbaHooks","useEffectCustom","_jsx","ConfigProvider","_extends","componentSize","space","size","enUS","zhCN","children"],"mappings":";knBAeAA,EAAMC,OAAOC,GACbF,EAAMC,OAAOE,GACbH,EAAMC,OAAOG,GACbJ,EAAMC,OAAOI,GACbL,EAAMC,OAAOK,GACbN,EAAMC,OAAOM,GACbP,EAAMC,OAAOO,OAMAC,EAAwB,SAAxBA,EAAyBC,GACpC,IAAQC,EAA0BD,EAA1BC,OAAWC,EAAUC,EAAKH,EAAKI,GAEvCC,EAASC,iBAAgB,WACvBhB,EAAMW,OAAQD,EAAMC,QAAgC,QACrD,GAAE,IACH,OACEM,EAACC,EAAcC,EAAA,CACbC,cAAe,SACfC,MAAO,CAAEC,KAAM,WACXV,EAAU,CACdD,OAAQA,IAAW,KAAOY,EAAOC,EAAKC,SAErCf,EAAMe,WAGb"}
|
package/esm/content-c0e49ffb.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as e}from"@dimjs/lang/cjs/is-promise";import{hooks as o}from"@wove/react/cjs/hooks";import{Space as n}from"antd";import{B as t}from"./button-wrapper-125fce50.js";import{u as a}from"./context-1f2093c6.js";import{fbaHooks as i}from"./fba-hooks/index.js";import{jsxs as l,jsx as c}from"react/jsx-runtime";var d=function d(s){var u=a();var f=u.onClose;i.useEffectCustom((function(){u.updateBodyStyle({padding:0})}),[]);var m=s.okHidden,p=s.onCancel,v=s.onOk,h=s.cancelHidden,k=s.cancelText,j=s.okText,x=s.okButtonExtraProps,C=s.cancelButtonExtraProps,g=s.footer;var w=o.useCallbackRef((function(r){if(p){var o=p(r);if(o&&e(o)){return o.then(f)}}return f()}));var y=o.useCallbackRef((function(r){if(v){var o=v(r);if(o&&e(o)){return o.then(f)}}return f()}));var b=l(n,{children:[h||C!=null&&C.hidden?null:c(t,r({},C,{onClick:w,children:k||"取消"})),m||x!=null&&x.hidden?null:c(t,r({type:"primary"},x,{onClick:y,children:j||"提交"}))]});return l("div",{className:"dialog-drawer-content-wrapper",children:[c("div",{className:"dialog-drawer-content",children:s.children}),c("div",{className:"dialog-drawer-footer",style:s.footerStyle,children:(g==null?void 0:g({onClose:f}))||b})]})};export{d as D};
|
|
3
|
-
//# sourceMappingURL=content-c0e49ffb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-c0e49ffb.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. 设置 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":";+XA4BaA,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,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{toArray as e}from"@flatbiz/utils";import{Fragment as l,cloneElement as t}from"react";import{jsx as a}from"react/jsx-runtime";var i=function i(o){var m=e(o.children);if(m.length>1){return a("div",{className:"v-css-hover",style:o.style,children:m})}var c=o.children;return a(l,{children:t(c,{className:s("v-css-hover",c.props.className),style:r({},o.style,c.props.style)})})};export{i as C};
|
|
3
|
-
//# sourceMappingURL=css-node-hover-ed7b9860.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css-node-hover-ed7b9860.js","sources":["@flatbiz/antd/src/css-node-hover/css-node-hover.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { cloneElement, CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport { CommonPropsWithChildren } from '../_utils/native-props';\nimport './style.less';\n\nexport type CssHoverProps = {\n children: ReactElement | ReactElement[];\n} & Pick<\n CommonPropsWithChildren<{\n '--v-css-hover-bgcolor': CSSProperties['backgroundColor'];\n '--v-css-hover-opacity': CSSProperties['opacity'];\n }>,\n 'style' | 'children'\n>;\n/**\n * css hover 效果\n * ```\n * 1. 当children为数组时,会为children添加父级(会产生新节点)\n * 2. 当children为单个元素时,会在children元素上添加className、style(不会产生新节点)\n * ```\n * @param props\n * @returns\n */\nexport const CssNodeHover = (props: CssHoverProps) => {\n const children = toArray<ReactNode>(props.children);\n if (children.length > 1) {\n return (\n <div className=\"v-css-hover\" style={props.style}>\n {children}\n </div>\n );\n }\n\n const element = props.children as ReactElement;\n\n return (\n <Fragment>\n {cloneElement(element, {\n className: classNames('v-css-hover', element.props.className),\n style: { ...props.style, ...element.props.style },\n })}\n </Fragment>\n );\n};\n"],"names":["CssNodeHover","props","children","toArray","length","_jsx","className","style","element","Fragment","cloneElement","_classNames","_extends"],"mappings":";8PAwBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAWC,EAAmBF,EAAMC,UAC1C,GAAIA,EAASE,OAAS,EAAG,CACvB,OACEC,EAAA,MAAA,CAAKC,UAAU,cAAcC,MAAON,EAAMM,MAAML,SAC7CA,GAGP,CAEA,IAAMM,EAAUP,EAAMC,SAEtB,OACEG,EAACI,EAAQ,CAAAP,SACNQ,EAAaF,EAAS,CACrBF,UAAWK,EAAW,cAAeH,EAAQP,MAAMK,WACnDC,MAAKK,EAAA,GAAOX,EAAMM,MAAUC,EAAQP,MAAMM,UAIlD"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as t}from"@dimjs/utils/cjs/class-names";import{Empty as e}from"antd";import{Fragment as r}from"react";import{jsx as m}from"react/jsx-runtime";var i=function i(s){var p=typeof s.isEmpty==="function"?s.isEmpty():s.isEmpty;if(p){return s.empty?s.empty:m("div",{className:t("v-data-render-empty",s.emptyClassName),style:s.emptyStyle,children:m(e,{description:s.emptyText})})}return m(r,{children:s.children})};export{i as D};
|
|
3
|
-
//# sourceMappingURL=data-render-07c0ab6b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-render-07c0ab6b.js","sources":["@flatbiz/antd/src/data-render/data-render.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Empty } from 'antd';\nimport { CSSProperties, Fragment, ReactElement, ReactNode } from 'react';\nimport './style.less';\n\nexport type DataRenderProps = {\n isEmpty: boolean | (() => boolean);\n empty?: ReactElement;\n emptyText?: string | ReactElement;\n emptyStyle?: CSSProperties;\n emptyClassName?: string;\n children: ReactNode;\n};\n\n/**\n * 数据渲染,内置处理数据为空渲染\n * ```\n * 1. 配置 empty 后,emptyText、emptyStyle、emptyClassName将失效\n * 2. 使用方式,例如\n * <DataRender isEmpty={list.length === 0}>\n * <Fragment>\n * {list.map((item) => {\n * return (\n * <div key={item}>....</div>\n * );\n * })}\n * </Fragment>\n * </DataRender>\n * ```\n */\nexport const DataRender = (props: DataRenderProps) => {\n const isEmpty = typeof props.isEmpty === 'function' ? props.isEmpty() : props.isEmpty;\n if (isEmpty) {\n return props.empty ? (\n props.empty\n ) : (\n <div className={classNames('v-data-render-empty', props.emptyClassName)} style={props.emptyStyle}>\n <Empty description={props.emptyText} />\n </div>\n );\n }\n return <Fragment>{props.children}</Fragment>;\n};\n"],"names":["DataRender","props","isEmpty","empty","_jsx","className","_classNames","emptyClassName","style","emptyStyle","children","Empty","description","emptyText","Fragment"],"mappings":";oKA8BaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,SAAiBD,EAAMC,UAAY,WAAaD,EAAMC,UAAYD,EAAMC,QAC9E,GAAIA,EAAS,CACX,OAAOD,EAAME,MACXF,EAAME,MAENC,EAAA,MAAA,CAAKC,UAAWC,EAAW,sBAAuBL,EAAMM,gBAAiBC,MAAOP,EAAMQ,WAAWC,SAC/FN,EAACO,EAAK,CAACC,YAAaX,EAAMY,aAGhC,CACA,OAAOT,EAACU,EAAQ,CAAAJ,SAAET,EAAMS,UAC1B"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as a}from"@wove/react/cjs/hooks";import{flatbizDate as t}from"@flatbiz/utils";import{DatePicker as i}from"antd";import n from"dayjs";import{useMemo as o}from"react";import{D as s,g as u,a as f,b as d}from"./time-53b3f55f.js";import{jsx as l}from"react/jsx-runtime";var m=["value","onChange","style","format"];var b=function b(c){var v=c.value,D=c.onChange,p=c.style,M=c.format,g=e(c,m);var C=c.disabledDateConfig||{},h=C.minDate,Y=C.maxDate,L=C.disabledHourList,j=C.disabledMinuteList,w=C.disabledSecondList;var H=h?n(h):undefined;var T=Y?n(Y):undefined;var k=o((function(){if(M)return M;if(c.showTime)return s.YMDHms;return s.YMD}),[c.showTime,M]);var x=a.useCallbackRef((function(e,r){if(e){D==null?void 0:D(r)}else{D==null?void 0:D(undefined)}}));var y=a.useCallbackRef((function(e){var r=e.format(s.YMD);if(!c.disabledDateConfig){return false}if(H&&T){if(!t.in(r,H.format(s.YMD),T.format(s.YMD))){return true}}else if(H){if(!t.gte(r,H.format(s.YMD))){return true}}else if(T){if(!t.gte(T.format(s.YMD),r)){return true}}return false}));var R=o((function(){if(v){return n(t.dateNormalize(v))}return undefined}),[v]);var S=a.useCallbackRef((function(e){var r={minDateTime:H,maxDateTime:T,disabledHourList:L,disabledMinuteList:j,disabledSecondList:w};e=e||R||n(new Date);return{disabledHours:function a(){return u(e,r)},disabledMinutes:function a(){return f(e,r)},disabledSeconds:function a(){return d(e,r)}}}));return l(i,r({disabledDate:y,disabledTime:S},g,{format:k,style:r({width:"100%"},p),value:R,onChange:x}))};export{b as D};
|
|
3
|
-
//# sourceMappingURL=date-picker-wrapper-ba650858.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker-wrapper-ba650858.js","sources":["@flatbiz/antd/src/date-picker-wrapper/date-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport type { PickerDateProps } from 'antd/es/date-picker/generatePicker';\nimport dayjs from 'dayjs';\nimport { useMemo } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DatePickerWrapperProps = Omit<PickerDateProps<dayjs.Dayjs>, 'value' | 'onChange' | 'format'> & {\n value?: string;\n onChange?: (value?: string) => void;\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n /** 可自定义格式 */\n format?: TDayjsDateType;\n};\n\n/**\n * DatePicker包装组件\n * ```\n * 1. value类型为 string\n * 2. onChange返回类型 string\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型 DayjsDateTypeEnum.YMDHms;其他格式化类型自定义format\n * 4. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 5. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n * ```\n */\nexport const DatePickerWrapper = (props: DatePickerWrapperProps) => {\n const { value, onChange, style, format, ...otherProps } = props;\n const { minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((date, dateString: string) => {\n if (date) {\n onChange?.(dateString);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current: dayjs.Dayjs) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n return false;\n });\n\n const datePickerValue = useMemo(() => {\n if (value) {\n return dayjs(flatbizDate.dateNormalize(value));\n }\n return undefined;\n }, [value]);\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || datePickerValue || dayjs(new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={datePickerValue}\n onChange={onChangeDate}\n />\n );\n};\n"],"names":["DatePickerWrapper","props","value","onChange","style","format","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","customFormat","useMemo","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","date","dateString","getDisabledDate","current","currentDate","flatbizDate","in","gte","datePickerValue","dateNormalize","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","_extends","disabledDate","disabledTime","width"],"mappings":";yYAoCaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAQC,EAAkDD,EAAlDC,MAAOC,EAA2CF,EAA3CE,SAAUC,EAAiCH,EAAjCG,MAAOC,EAA0BJ,EAA1BI,OAAWC,EAAUC,EAAKN,EAAKO,GAC/D,IAAAC,EACER,EAAMS,oBAAsB,CAAE,EADxBC,EAAOF,EAAPE,QAASC,EAAOH,EAAPG,QAASC,EAAgBJ,EAAhBI,iBAAkBC,EAAkBL,EAAlBK,mBAAoBC,EAAkBN,EAAlBM,mBAEhE,IAAMC,EAAqBL,EAAUM,EAAMN,GAAWO,UACtD,IAAMC,EAAqBP,EAAUK,EAAML,GAAWM,UACtD,IAAME,EAAeC,GAAQ,WAC3B,GAAIhB,EAAQ,OAAOA,EACnB,GAAIJ,EAAMqB,SAAU,OAAOC,EAAkBC,OAC7C,OAAOD,EAAkBE,GAC1B,GAAE,CAACxB,EAAMqB,SAAUjB,IAEpB,IAAMqB,EAAeC,EAAMC,gBAAe,SAACC,EAAMC,GAC/C,GAAID,EAAM,CACR1B,GAAAA,UAAAA,EAAAA,EAAW2B,EACb,KAAO,CACL3B,GAAAA,UAAAA,EAAAA,EAAWe,UACb,CACF,IAEA,IAAMa,EAAkBJ,EAAMC,gBAAe,SAACI,GAC5C,IAAMC,EAAcD,EAAQ3B,OAAOkB,EAAkBE,KACrD,IAAKxB,EAAMS,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIM,GAAsBG,EAAoB,CAC5C,IACGe,EAAYC,GACXF,EACAjB,EAAmBX,OAAOkB,EAAkBE,KAC5CN,EAAmBd,OAAOkB,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIT,EAAoB,CAC7B,IAAKkB,EAAYE,IAAIH,EAAajB,EAAmBX,OAAOkB,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIN,EAAoB,CAC7B,IAAKe,EAAYE,IAAIjB,EAAmBd,OAAOkB,EAAkBE,KAAMQ,GAAc,CACnF,OAAO,IACT,CACF,CACA,OAAO,KACT,IAEA,IAAMI,EAAkBhB,GAAQ,WAC9B,GAAInB,EAAO,CACT,OAAOe,EAAMiB,EAAYI,cAAcpC,GACzC,CACA,OAAOgB,SACT,GAAG,CAAChB,IAEJ,IAAMqC,EAAkBZ,EAAMC,gBAAe,SAACI,GAC5C,IAAMQ,EAAU,CACdC,YAAazB,EACb0B,YAAavB,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEFiB,EAAUA,GAAWK,GAAmBpB,EAAM,IAAI0B,MAClD,MAAO,CACLC,cAAe,SAAAA,IACb,OAAOC,EAAgBb,EAASQ,EACjC,EACDM,gBAAiB,SAAAA,IACf,OAAOC,EAAkBf,EAASQ,EACnC,EACDQ,gBAAiB,SAAAA,IACf,OAAOC,EAAkBjB,EAASQ,EACpC,EAEJ,IAEA,OACEU,EAACC,EAAUC,EAAA,CACTC,aAActB,EACduB,aAAcf,GACVjC,EAAU,CACdD,OAAQe,EACRhB,MAAKgD,EAAA,CAAIG,MAAO,QAAWnD,GAC3BF,MAAOmC,EACPlC,SAAUuB,IAGhB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{flatbizDate as n}from"@flatbiz/utils";import{DatePicker as i}from"antd";import t from"dayjs";import{useState as l,useMemo as u}from"react";import{D as o,g as f,a as s,b as d}from"./time-53b3f55f.js";import{jsx as m}from"react/jsx-runtime";var v=["value","onChange","style","format","onOpenChange"];var c=function c(b){var D=b.value,g=b.onChange,p=b.style,C=b.format,h=b.onOpenChange,M=e(b,v);var y=b.disabledDateConfig||{},Y=y.maxDays,L=y.minDate,j=y.maxDate,k=y.disabledHourList,w=y.disabledMinuteList,x=y.disabledSecondList;var H=L?t(L):undefined;var T=j?t(j):undefined;var R=l(null),z=R[0],O=R[1];var S=l(null),N=S[0],P=S[1];var _=D||[],B=_[0],q=_[1];var A=u((function(){if(B&&q){var e=n.dateNormalize(B);var a=n.dateNormalize(q);return[t(e),t(a)]}return undefined}),[B,q]);var E=u((function(){if(C)return C;if(b.showTime===true)return o.YMDHms;return o.YMD}),[b.showTime,C]);var F=r.useCallbackRef((function(e,a){if(e&&e[0]&&e[1]){g==null?void 0:g(a)}else{g==null?void 0:g(undefined)}}));var G=r.useCallbackRef((function(e){var a=e.format(o.YMD);if(!b.disabledDateConfig){return false}if(H&&T){if(!n.in(a,H.format(o.YMD),T.format(o.YMD))){return true}}else if(H){if(!n.gte(a,H.format(o.YMD))){return true}}else if(T){if(!n.gte(T.format(o.YMD),a)){return true}}if(!Y||!(z!=null&&z[0])&&!(z!=null&&z[1])){return false}var r=(z==null?void 0:z[0])&&e.diff(z[0],"days")>Y-1;var i=(z==null?void 0:z[1])&&z[1].diff(e,"days")>Y-1;return!!i||!!r}));var I=function e(a){if(Y&&Y>0){if(a){P([null,null]);O([null,null])}else{P(null)}}h==null?void 0:h(a)};var J=r.useCallbackRef((function(e){var a={minDateTime:H,maxDateTime:T,disabledHourList:k,disabledMinuteList:w,disabledSecondList:x};e=e||t(B||new Date);return{disabledHours:function r(){return f(e,a)},disabledMinutes:function r(){return s(e,a)},disabledSeconds:function r(){return d(e,a)}}}));return m(i.RangePicker,a({disabledDate:G,disabledTime:J},M,{format:E,style:a({width:"100%"},p),value:N||A,onChange:F,onOpenChange:I,onCalendarChange:function e(a){return O(a)}}))};export{c as D};
|
|
3
|
-
//# sourceMappingURL=date-range-picker-wrapper-fb15c592.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker-wrapper-fb15c592.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper/date-range-picker-wrapper.tsx"],"sourcesContent":["import { flatbizDate } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { DatePicker } from 'antd';\nimport { RangePickerDateProps } from 'antd/lib/date-picker/generatePicker';\nimport type { Dayjs } from 'dayjs';\nimport dayjs from 'dayjs';\nimport { useMemo, useState } from 'react';\nimport { DayjsDateTypeEnum, TDayjsDateType } from '../_utils/constants';\nimport { getDisabledHour, getDisabledMinute, getDisabledSecond } from '../_utils/time';\n\nexport type DateRangePickerWrapperProps = Omit<\n RangePickerDateProps<Dayjs>,\n 'value' | 'onChange' | 'onCalendarChange' | 'disabledDate' | 'format'\n> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n /**\n * 1. minDate、maxDate 与 format格式相同;默认:YYYY-MM-DD\n * 2. maxDays 最大可选的天数\n */\n disabledDateConfig?: {\n minDate?: TDayjsDateType;\n maxDate?: TDayjsDateType;\n maxDays?: number;\n /** 禁用 小时 刻度列表,与日期无关 */\n disabledHourList?: number[];\n /** 禁用 分钟 刻度列表,与日期无关 */\n disabledMinuteList?: number[];\n /** 禁用 秒钟 刻度列表,与日期无关 */\n disabledSecondList?: number[];\n };\n format?: TDayjsDateType;\n};\n\ntype RangeValue = [Dayjs | null, Dayjs | null] | null;\n\n/**\n * DatePicker.RangePicker包装组件\n * ```\n * 1. value类型为 [string, string]\n * 2. onChange返回类型 [string, string]\n * 3. 默认格式化类型 YYYY-MM-DD; 当showTime===true时,默认格式化类型YYYY-MM-DD HH:mm:ss;其他格式化类型自定义format\n * 4. 可设置disabledDateConfig,来控制日期项的disbaled状态\n * 5. 设置 disabledDate 后,disabledDateConfig配置将失效\n * 6. 设置 disabledTime 后,内置的disabledTime逻辑将失效\n *\n * TODO: 引用DatePicker.RangePicker TS有问题,待解决\n * TODO: 存在场景缺陷,当设置maxDays、showTime后,在选择单个日期不通过确认按钮直接切换输入框,无法获取回调,无法约束disabledDate\n * ```\n */\nexport const DateRangePickerWrapper = (props: DateRangePickerWrapperProps) => {\n const { value, onChange, style, format, onOpenChange: onAntdOpenChange, ...otherProps } = props;\n const { maxDays, minDate, maxDate, disabledHourList, disabledMinuteList, disabledSecondList } =\n props.disabledDateConfig || {};\n const minDateTimeDayInst = minDate ? dayjs(minDate) : undefined;\n const maxDateTimeDayInst = maxDate ? dayjs(maxDate) : undefined;\n\n const [dates, setDates] = useState<RangeValue>(null);\n const [hackValue, setHackValue] = useState<RangeValue>(null);\n\n const [date1, date2] = value || [];\n const rangePickerValue = useMemo(() => {\n if (date1 && date2) {\n const newDate1 = flatbizDate.dateNormalize(date1);\n const newDate2 = flatbizDate.dateNormalize(date2);\n return [dayjs(newDate1), dayjs(newDate2)];\n }\n return undefined;\n }, [date1, date2]) as [Dayjs, Dayjs];\n\n const customFormat = useMemo(() => {\n if (format) return format as string;\n if (props.showTime === true) return DayjsDateTypeEnum.YMDHms;\n return DayjsDateTypeEnum.YMD;\n }, [props.showTime, format]);\n\n const onChangeDate = hooks.useCallbackRef((dates, dateStrings) => {\n if (dates && dates[0] && dates[1]) {\n onChange?.(dateStrings);\n } else {\n onChange?.(undefined);\n }\n });\n\n const getDisabledDate = hooks.useCallbackRef((current) => {\n const currentDate = current.format(DayjsDateTypeEnum.YMD);\n if (!props.disabledDateConfig) {\n return false;\n }\n if (minDateTimeDayInst && maxDateTimeDayInst) {\n if (\n !flatbizDate.in(\n currentDate,\n minDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD),\n )\n ) {\n return true;\n }\n } else if (minDateTimeDayInst) {\n if (!flatbizDate.gte(currentDate, minDateTimeDayInst.format(DayjsDateTypeEnum.YMD))) {\n return true;\n }\n } else if (maxDateTimeDayInst) {\n if (!flatbizDate.gte(maxDateTimeDayInst.format(DayjsDateTypeEnum.YMD), currentDate)) {\n return true;\n }\n }\n\n if (!maxDays || (!dates?.[0] && !dates?.[1])) {\n return false;\n }\n\n const tooLate = dates?.[0] && current.diff(dates[0], 'days') > maxDays - 1;\n const tooEarly = dates?.[1] && dates[1].diff(current, 'days') > maxDays - 1;\n return !!tooEarly || !!tooLate;\n });\n\n const onOpenChange = (open: boolean) => {\n if (maxDays && maxDays > 0) {\n if (open) {\n setHackValue([null, null]);\n setDates([null, null]);\n } else {\n setHackValue(null);\n }\n }\n onAntdOpenChange?.(open);\n };\n\n const getDisabledTime = hooks.useCallbackRef((current) => {\n const options = {\n minDateTime: minDateTimeDayInst,\n maxDateTime: maxDateTimeDayInst,\n disabledHourList,\n disabledMinuteList,\n disabledSecondList,\n };\n current = current || dayjs(date1 || new Date());\n return {\n disabledHours: () => {\n return getDisabledHour(current, options);\n },\n disabledMinutes: () => {\n return getDisabledMinute(current, options);\n },\n disabledSeconds: () => {\n return getDisabledSecond(current, options);\n },\n };\n });\n\n return (\n <DatePicker.RangePicker\n disabledDate={getDisabledDate}\n disabledTime={getDisabledTime}\n {...otherProps}\n format={customFormat}\n style={{ width: '100%', ...style }}\n value={hackValue || rangePickerValue}\n onChange={onChangeDate}\n onOpenChange={onOpenChange}\n onCalendarChange={(val) => setDates(val as RangeValue)}\n />\n );\n};\n"],"names":["DateRangePickerWrapper","props","value","onChange","style","format","onAntdOpenChange","onOpenChange","otherProps","_objectWithoutPropertiesLoose","_excluded","_ref","disabledDateConfig","maxDays","minDate","maxDate","disabledHourList","disabledMinuteList","disabledSecondList","minDateTimeDayInst","dayjs","undefined","maxDateTimeDayInst","_useState","useState","dates","setDates","_useState2","hackValue","setHackValue","_ref2","date1","date2","rangePickerValue","useMemo","newDate1","flatbizDate","dateNormalize","newDate2","customFormat","showTime","DayjsDateTypeEnum","YMDHms","YMD","onChangeDate","_hooks","useCallbackRef","dateStrings","getDisabledDate","current","currentDate","in","gte","tooLate","diff","tooEarly","open","getDisabledTime","options","minDateTime","maxDateTime","Date","disabledHours","getDisabledHour","disabledMinutes","getDisabledMinute","disabledSeconds","getDisabledSecond","_jsx","DatePicker","RangePicker","_extends","disabledDate","disabledTime","width","onCalendarChange","val"],"mappings":";iaAkDaA,EAAyB,SAAzBA,EAA0BC,GACrC,IAAQC,EAAkFD,EAAlFC,MAAOC,EAA2EF,EAA3EE,SAAUC,EAAiEH,EAAjEG,MAAOC,EAA0DJ,EAA1DI,OAAsBC,EAAoCL,EAAlDM,aAAmCC,EAAUC,EAAKR,EAAKS,GAC/F,IAAAC,EACEV,EAAMW,oBAAsB,CAAE,EADxBC,EAAOF,EAAPE,QAASC,EAAOH,EAAPG,QAASC,EAAOJ,EAAPI,QAASC,EAAgBL,EAAhBK,iBAAkBC,EAAkBN,EAAlBM,mBAAoBC,EAAkBP,EAAlBO,mBAEzE,IAAMC,EAAqBL,EAAUM,EAAMN,GAAWO,UACtD,IAAMC,EAAqBP,EAAUK,EAAML,GAAWM,UAEtD,IAAAE,EAA0BC,EAAqB,MAAxCC,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtB,IAAAI,EAAkCH,EAAqB,MAAhDI,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9B,IAAAG,EAAuB5B,GAAS,GAAzB6B,EAAKD,EAAA,GAAEE,EAAKF,EAAA,GACnB,IAAMG,EAAmBC,GAAQ,WAC/B,GAAIH,GAASC,EAAO,CAClB,IAAMG,EAAWC,EAAYC,cAAcN,GAC3C,IAAMO,EAAWF,EAAYC,cAAcL,GAC3C,MAAO,CAACZ,EAAMe,GAAWf,EAAMkB,GACjC,CACA,OAAOjB,SACT,GAAG,CAACU,EAAOC,IAEX,IAAMO,EAAeL,GAAQ,WAC3B,GAAI7B,EAAQ,OAAOA,EACnB,GAAIJ,EAAMuC,WAAa,KAAM,OAAOC,EAAkBC,OACtD,OAAOD,EAAkBE,GAC1B,GAAE,CAAC1C,EAAMuC,SAAUnC,IAEpB,IAAMuC,EAAeC,EAAMC,gBAAe,SAACrB,EAAOsB,GAChD,GAAItB,GAASA,EAAM,IAAMA,EAAM,GAAI,CACjCtB,GAAAA,UAAAA,EAAAA,EAAW4C,EACb,KAAO,CACL5C,GAAAA,UAAAA,EAAAA,EAAWkB,UACb,CACF,IAEA,IAAM2B,EAAkBH,EAAMC,gBAAe,SAACG,GAC5C,IAAMC,EAAcD,EAAQ5C,OAAOoC,EAAkBE,KACrD,IAAK1C,EAAMW,mBAAoB,CAC7B,OAAO,KACT,CACA,GAAIO,GAAsBG,EAAoB,CAC5C,IACGc,EAAYe,GACXD,EACA/B,EAAmBd,OAAOoC,EAAkBE,KAC5CrB,EAAmBjB,OAAOoC,EAAkBE,MAE9C,CACA,OAAO,IACT,CACD,MAAM,GAAIxB,EAAoB,CAC7B,IAAKiB,EAAYgB,IAAIF,EAAa/B,EAAmBd,OAAOoC,EAAkBE,MAAO,CACnF,OAAO,IACT,CACD,MAAM,GAAIrB,EAAoB,CAC7B,IAAKc,EAAYgB,IAAI9B,EAAmBjB,OAAOoC,EAAkBE,KAAMO,GAAc,CACnF,OAAO,IACT,CACF,CAEA,IAAKrC,KAAaY,GAAK,MAALA,EAAQ,OAAOA,GAAAA,MAAAA,EAAQ,IAAK,CAC5C,OAAO,KACT,CAEA,IAAM4B,GAAU5B,GAAK,UAAA,EAALA,EAAQ,KAAMwB,EAAQK,KAAK7B,EAAM,GAAI,QAAUZ,EAAU,EACzE,IAAM0C,GAAW9B,GAAK,UAAA,EAALA,EAAQ,KAAMA,EAAM,GAAG6B,KAAKL,EAAS,QAAUpC,EAAU,EAC1E,QAAS0C,KAAcF,CACzB,IAEA,IAAM9C,EAAe,SAAfA,EAAgBiD,GACpB,GAAI3C,GAAWA,EAAU,EAAG,CAC1B,GAAI2C,EAAM,CACR3B,EAAa,CAAC,KAAM,OACpBH,EAAS,CAAC,KAAM,MAClB,KAAO,CACLG,EAAa,KACf,CACF,CACAvB,GAAAA,UAAAA,EAAAA,EAAmBkD,IAGrB,IAAMC,EAAkBZ,EAAMC,gBAAe,SAACG,GAC5C,IAAMS,EAAU,CACdC,YAAaxC,EACbyC,YAAatC,EACbN,iBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,GAEF+B,EAAUA,GAAW7B,EAAMW,GAAS,IAAI8B,MACxC,MAAO,CACLC,cAAe,SAAAA,IACb,OAAOC,EAAgBd,EAASS,EACjC,EACDM,gBAAiB,SAAAA,IACf,OAAOC,EAAkBhB,EAASS,EACnC,EACDQ,gBAAiB,SAAAA,IACf,OAAOC,EAAkBlB,EAASS,EACpC,EAEJ,IAEA,OACEU,EAACC,EAAWC,YAAWC,EAAA,CACrBC,aAAcxB,EACdyB,aAAchB,GACVjD,EAAU,CACdH,OAAQkC,EACRnC,MAAKmE,EAAA,CAAIG,MAAO,QAAWtE,GAC3BF,MAAO0B,GAAaK,EACpB9B,SAAUyC,EACVrC,aAAcA,EACdoE,iBAAkB,SAAAA,EAACC,GAAG,OAAKlD,EAASkD,EAAkB,IAG5D"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as r}from"@wove/react/cjs/hooks";import{isArray as a}from"@dimjs/lang/cjs/is-array";import{Form as o,Input as t}from"antd";import{useMemo as i,useRef as l,forwardRef as u,useImperativeHandle as s}from"react";import{D as v}from"./date-range-picker-wrapper-fb15c592.js";import{fbaHooks as m}from"./fba-hooks/index.js";import{jsxs as c,Fragment as d,jsx as f}from"react/jsx-runtime";var h=["startName","endName","formListName","dateRangePickerWrapperProps"];var p=function t(u){var s=u.startName,p=u.endName,C=u.formListName,_=u.dateRangePickerWrapperProps,j=e(u,h);var P=o.useFormInstance();var k=i((function(){if(a(s)&&a(p)){return s.slice(0,s.length-1).concat("__#invalid_date_"+s[s.length-1]+"_"+p[p.length-1])}return"__#invalid_date_"+s+"_"+p}),[s,p]);var N=i((function(){return C?[].concat(C,s):s}),[s,C]);var F=i((function(){return C?[].concat(C,p):p}),[p,C]);var I=o.useWatch(N,P);var W=o.useWatch(F,P);var b=m.usePrevious(I);var x=m.usePrevious(W);m.useEffectCustom((function(){var e=C?[].concat(C,k):k;if(I&&W){P.setFields([{name:e,value:[I,W]}])}if(b&&x&&!I&&!W){P.setFields([{name:e,value:undefined}])}}),[I,W]);var R=l(null);var w=l(null);var D=r.useCallbackRef((function(e){var n,r;P.setFields([{name:N,value:e==null?void 0:e[0]},{name:F,value:e==null?void 0:e[1]}]);(n=R.current)==null?void 0:n.onChange==null?void 0:n.onChange(e==null?void 0:e[0]);(r=w.current)==null?void 0:r.onChange==null?void 0:r.onChange(e==null?void 0:e[1]);_==null?void 0:_.onChange==null?void 0:_.onChange(e)}));return c(d,{children:[f(o.Item,{name:s,hidden:true,children:f(g,{ref:R})}),f(o.Item,{name:p,hidden:true,children:f(g,{ref:w})}),f(o.Item,n({},j,{name:k,children:f(v,n({},_,{onChange:D}))}))]})};var g=u((function(e,n){s(n,(function(){return{onChange:function n(r){e.onChange==null?void 0:e.onChange(r)}}}));return f(t,{value:e.value})}));export{p as D};
|
|
3
|
-
//# sourceMappingURL=date-range-picker-wrapper-form-item-688cf465.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker-wrapper-form-item-688cf465.js","sources":["@flatbiz/antd/src/date-range-picker-wrapper-form-item/date-range-picker-wrapper-form-item.tsx"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, FormItemProps, Input } from 'antd';\nimport { forwardRef, useImperativeHandle, useMemo, useRef } from 'react';\nimport { DateRangePickerWrapper, DateRangePickerWrapperProps } from '../date-range-picker-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormItemNamePath } from '../types';\n\nexport type DateRangePickerWrapperFormItemProps = Omit<FormItemProps, 'name'> & {\n /**\n * 开始的时间name\n */\n startName: FormItemNamePath;\n /**\n * 结束的时间name\n */\n endName: FormItemNamePath;\n /**\n * 如果 DateRangePickerWrapperFormItem 在Form.List场景下 必传\n */\n formListName?: FormItemNamePath;\n dateRangePickerWrapperProps?: DateRangePickerWrapperProps;\n};\n/**\n * 包含了Form.Item组件的时间区间选择组件\n * ```\n * 1. 时间区间组件可以定义成两个字段操作,不用再通过数组处理\n * 2. 会在form中产生一个 `__#invalid_date_xxxx_xxxx` 的无效字段,可以直接忽略\n * ```\n */\nexport const DateRangePickerWrapperFormItem = (props: DateRangePickerWrapperFormItemProps) => {\n const { startName, endName, formListName, dateRangePickerWrapperProps, ...otherProps } = props;\n const form = Form.useFormInstance();\n const bodyName = useMemo(() => {\n if (isArray(startName) && isArray(endName)) {\n return startName\n .slice(0, startName.length - 1)\n .concat(`__#invalid_date_${startName[startName.length - 1]}_${endName[endName.length - 1]}`);\n }\n return `__#invalid_date_${startName}_${endName}`;\n }, [startName, endName]);\n\n const startNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, startName) : startName;\n }, [startName, formListName]);\n\n const endNameMerge = useMemo(() => {\n return formListName ? ([] as (string | number)[]).concat(formListName, endName) : endName;\n }, [endName, formListName]);\n\n const startVal = Form.useWatch(startNameMerge, form);\n const endVal = Form.useWatch(endNameMerge, form);\n // const bodyVal = Form.useWatch(bodyName, form);\n\n const preValue1 = fbaHooks.usePrevious(startVal);\n const preValue2 = fbaHooks.usePrevious(endVal);\n\n fbaHooks.useEffectCustom(() => {\n const name = formListName ? ([] as (string | number)[]).concat(formListName, bodyName) : bodyName;\n if (startVal && endVal) {\n form.setFields([{ name, value: [startVal, endVal] }]);\n }\n if (preValue1 && preValue2 && !startVal && !endVal) {\n form.setFields([{ name, value: undefined }]);\n }\n }, [startVal, endVal]);\n\n const reftest = useRef<InputContentRef>(null);\n const reftest2 = useRef<InputContentRef>(null);\n\n const onChange = hooks.useCallbackRef((data) => {\n form.setFields([\n { name: startNameMerge, value: data?.[0] },\n { name: endNameMerge, value: data?.[1] },\n ]);\n // 为了解决 外部Form onValuesChange获取到操作值\n reftest.current?.onChange?.(data?.[0]);\n reftest2.current?.onChange?.(data?.[1]);\n dateRangePickerWrapperProps?.onChange?.(data);\n });\n\n return (\n <>\n <Form.Item name={startName} hidden>\n <InputContent ref={reftest} />\n </Form.Item>\n <Form.Item name={endName} hidden>\n <InputContent ref={reftest2} />\n </Form.Item>\n <Form.Item {...otherProps} name={bodyName}>\n <DateRangePickerWrapper {...dateRangePickerWrapperProps} onChange={onChange} />\n </Form.Item>\n </>\n );\n};\n\ntype InputContentProps = {\n onChange?: (data: TAny) => void;\n value?: string;\n};\n\ntype InputContentRef = {\n onChange?: (data: TAny) => void;\n};\n\nconst InputContent = forwardRef<InputContentRef, InputContentProps>((props, ref) => {\n useImperativeHandle(ref, () => {\n return {\n onChange: (startVal) => {\n props.onChange?.(startVal);\n },\n };\n });\n\n return <Input value={props.value} />;\n});\n"],"names":["DateRangePickerWrapperFormItem","props","startName","endName","formListName","dateRangePickerWrapperProps","otherProps","_objectWithoutPropertiesLoose","_excluded","form","Form","useFormInstance","bodyName","useMemo","_isArray","slice","length","concat","startNameMerge","endNameMerge","startVal","useWatch","endVal","preValue1","fbaHooks","usePrevious","preValue2","useEffectCustom","name","setFields","value","undefined","reftest","useRef","reftest2","onChange","_hooks","useCallbackRef","data","_reftest$current","_reftest2$current","current","_jsxs","_Fragment","children","_jsx","Item","hidden","InputContent","ref","_extends","DateRangePickerWrapper","forwardRef","useImperativeHandle","Input"],"mappings":";2hBA+BaA,EAAiC,SAAjCA,EAAkCC,GAC7C,IAAQC,EAAiFD,EAAjFC,UAAWC,EAAsEF,EAAtEE,QAASC,EAA6DH,EAA7DG,aAAcC,EAA+CJ,EAA/CI,4BAAgCC,EAAUC,EAAKN,EAAKO,GAC9F,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAWC,GAAQ,WACvB,GAAIC,EAAQZ,IAAcY,EAAQX,GAAU,CAC1C,OAAOD,EACJa,MAAM,EAAGb,EAAUc,OAAS,GAC5BC,OAA0Bf,mBAAAA,EAAUA,EAAUc,OAAS,GAAMb,IAAAA,EAAQA,EAAQa,OAAS,GAC3F,CACA,MAA0Bd,mBAAAA,MAAaC,CACzC,GAAG,CAACD,EAAWC,IAEf,IAAMe,EAAiBL,GAAQ,WAC7B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcF,GAAaA,CACtF,GAAG,CAACA,EAAWE,IAEf,IAAMe,EAAeN,GAAQ,WAC3B,OAAOT,EAAgB,GAA2Ba,OAAOb,EAAcD,GAAWA,CACpF,GAAG,CAACA,EAASC,IAEb,IAAMgB,EAAWV,EAAKW,SAASH,EAAgBT,GAC/C,IAAMa,EAASZ,EAAKW,SAASF,EAAcV,GAG3C,IAAMc,EAAYC,EAASC,YAAYL,GACvC,IAAMM,EAAYF,EAASC,YAAYH,GAEvCE,EAASG,iBAAgB,WACvB,IAAMC,EAAOxB,EAAgB,GAA2Ba,OAAOb,EAAcQ,GAAYA,EACzF,GAAIQ,GAAYE,EAAQ,CACtBb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAO,CAACV,EAAUE,KAC5C,CACA,GAAIC,GAAaG,IAAcN,IAAaE,EAAQ,CAClDb,EAAKoB,UAAU,CAAC,CAAED,KAAAA,EAAME,MAAOC,YACjC,CACF,GAAG,CAACX,EAAUE,IAEd,IAAMU,EAAUC,EAAwB,MACxC,IAAMC,EAAWD,EAAwB,MAEzC,IAAME,EAAWC,EAAMC,gBAAe,SAACC,GAAS,IAAAC,EAAAC,EAC9C/B,EAAKoB,UAAU,CACb,CAAED,KAAMV,EAAgBY,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,IACtC,CAAEV,KAAMT,EAAcW,MAAOQ,GAAAA,UAAAA,EAAAA,EAAO,OAGtCC,EAAAP,EAAQS,UAARF,UAAAA,EAAAA,EAAiBJ,UAAQ,UAAA,EAAzBI,EAAiBJ,SAAWG,GAAI,UAAA,EAAJA,EAAO,KACnCE,EAAAN,EAASO,UAATD,UAAAA,EAAAA,EAAkBL,UAAQ,UAAA,EAA1BK,EAAkBL,SAAWG,GAAI,UAAA,EAAJA,EAAO,IACpCjC,GAA2B,UAAA,EAA3BA,EAA6B8B,UAAQ,UAAA,EAArC9B,EAA6B8B,SAAWG,EAC1C,IAEA,OACEI,EAAAC,EAAA,CAAAC,SACEC,CAAAA,EAACnC,EAAKoC,KAAI,CAAClB,KAAM1B,EAAW6C,OAAM,KAAAH,SAChCC,EAACG,EAAY,CAACC,IAAKjB,MAErBa,EAACnC,EAAKoC,KAAI,CAAClB,KAAMzB,EAAS4C,OAAM,KAAAH,SAC9BC,EAACG,EAAY,CAACC,IAAKf,MAErBW,EAACnC,EAAKoC,KAAII,EAAA,CAAA,EAAK5C,EAAU,CAAEsB,KAAMhB,EAASgC,SACxCC,EAACM,EAAsBD,KAAK7C,EAA2B,CAAE8B,SAAUA,UAI3E,EAWA,IAAMa,EAAeI,GAA+C,SAACnD,EAAOgD,GAC1EI,EAAoBJ,GAAK,WACvB,MAAO,CACLd,SAAU,SAAAA,EAACf,GACTnB,EAAMkC,UAANlC,UAAAA,EAAAA,EAAMkC,SAAWf,EACnB,EAEJ,IAEA,OAAOyB,EAACS,EAAK,CAACxB,MAAO7B,EAAM6B,OAC7B"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{d as e}from"./dialog-confirm-74fc9337.js";var r={open:function r(a){return e.open(o({okText:"确定",cancelHidden:true,maskClosable:false},a,{onOk:a.onClick}))}};export{r as d};
|
|
3
|
-
//# sourceMappingURL=dialog-alert-89d37729.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-alert-89d37729.js","sources":["@flatbiz/antd/src/dialog-alert/dialog-alert.tsx"],"sourcesContent":["import { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\nimport './style.less';\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\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":";6GAWO,IAAMA,EAAc,CACzBC,KAAM,SAAAA,EAACC,GACL,OAAOC,EAAcF,KAAIG,EAAA,CACvBC,OAAQ,KACRC,aAAc,KACdC,aAAc,OACXL,EAAK,CACRM,KAAMN,EAAMO,UAEhB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as s}from"@dimjs/utils/cjs/class-names";import{d as o}from"./dialog-modal-4a0c72c5.js";var e={open:function e(l){var r=s("v-dialog-confirm",l.className);return o.open(a({width:350,okText:"确定",cancelText:"取消",maskClosable:true},l,{className:r}))}};export{e as d};
|
|
3
|
-
//# sourceMappingURL=dialog-confirm-74fc9337.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-confirm-74fc9337.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\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 ...props,\n className,\n });\n },\n};\n"],"names":["dialogConfirm","open","props","className","_classNames","dialogModal","_extends","width","okText","cancelText","maskClosable"],"mappings":";gKAIO,IAAMA,EAAgB,CAC3BC,KAAM,SAAAA,EAACC,GACL,IAAMC,EAAYC,EAAW,mBAAoBF,EAAMC,WACvD,OAAOE,EAAYJ,KAAIK,EAAA,CACrBC,MAAO,IACPC,OAAQ,KACRC,WAAY,KACZC,aAAc,MACXR,EAAK,CACRC,UAAAA,IAEJ"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as r,_ as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as n}from"@dimjs/lang/cjs/is-promise";import{hooks as t}from"@wove/react/cjs/hooks";import{Form as i,Space as a,Drawer as l}from"antd";import{useState as d}from"react";import{createRoot as c}from"react-dom/client";import{B as s}from"./button-wrapper-125fce50.js";import{C as u}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as f}from"./fba-hooks/index.js";import{b as m}from"./dom-4d04aa64.js";import{C as p}from"./context-1f2093c6.js";import{jsx as v,jsxs as w}from"react/jsx-runtime";var h=["divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra","bodyStyle"];var k=function e(c){var m=c.divElement,k=c.elementId,x=c.onOk,y=c.onCancel,C=c.content,b=c.configProviderProps,j=c.okText,P=c.cancelText,g=c.okButtonExtraProps,_=c.cancelButtonExtraProps,E=c.operatePosition,B=E===void 0?"footer":E,I=c.operateRender,H=c.width,R=H===void 0?600:H,S=c.okHidden,T=c.cancelHidden,O=c.extra,W=c.bodyStyle,F=o(c,h);var q=d(true),z=q[0],A=q[1];var D=d(),G=D[0],J=D[1];var K=i.useForm(),L=K[0];var M=t.useCallbackRef((function(){try{delete window[k]}catch(e){}A(false)}));f.useEffectCustom((function(){window[k]=M}),[M]);var N=t.useCallbackRef((function(e){if(y){var r=y(L,e);if(r&&n(r)){return r.then(M)}}return M()}));var Q=t.useCallbackRef((function(e){if(x){var r=x(L,e);if(r&&n(r)){return r.then(M)}}return M()}));var U=w(a,{children:[T||_!=null&&_.hidden?null:v(s,r({},_,{onClick:N,children:P||"取消"})),S||g!=null&&g.hidden?null:v(s,r({type:"primary"},g,{onClick:Q,children:j||"提交"}))]});var V=function e(){if(I){return I(L)}if(!S||!T){return U}return null};var X=typeof O==="function"?O(L):O;var Y=function e(r){J(r)};return v(p,{value:{onClose:M,updateBodyStyle:Y},children:v(u,r({},b,{children:v(l,r({maskClosable:true,destroyOnClose:true,onClose:M,width:"80%",contentWrapperStyle:{maxWidth:R},footer:B==="footer"?V():null},F,{bodyStyle:r({},G,W),extra:B==="header"?V():X,open:z,getContainer:m,children:typeof C==="function"?C(L,{onClose:M}):C}))}))})};var x={open:function e(o){var n=m(),t=n.divElement,i=n.elementId;window["__dialog_drawer_elementId"]=i;var a=c(t);a.render(v(k,r({},o,{divElement:t,elementId:i})));return{close:function e(){var r,o;(r=(o=window)[i])==null?void 0:r.call(o)}}},close:function r(){try{var o,n;var t=window["__dialog_drawer_elementId"];if(e(t))(o=(n=window)[t])==null?void 0:o.call(n)}catch(e){}}};export{x as d};
|
|
3
|
-
//# sourceMappingURL=dialog-drawer-550ce42c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-drawer-550ce42c.js","sources":["@flatbiz/antd/src/dialog-drawer/dialog-drawer.tsx"],"sourcesContent":["import { isPromise, isString } from '@dimjs/lang';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { CSSProperties, ReactElement, ReactNode, 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 { bodyAppendDivElement, BodyAppendDivElementProps } from '../_utils/dom';\nimport { CtxProvider } from './context';\n\nexport type DialogDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogDrawerProps) => {\n const {\n divElement,\n elementId,\n onOk,\n onCancel,\n content,\n configProviderProps,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n bodyStyle,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [innerBodyStyle, setInnerBodyStyle] = useState<CSSProperties>();\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n return onClose();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const updateBodyStyle = (bodyStyle?: CSSProperties) => {\n setInnerBodyStyle(bodyStyle);\n };\n\n return (\n <CtxProvider value={{ onClose, updateBodyStyle }}>\n <ConfigProviderWrapper {...configProviderProps}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n bodyStyle={{ ...innerBodyStyle, ...bodyStyle }}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={open}\n getContainer={divElement}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n </ConfigProviderWrapper>\n </CtxProvider>\n );\n};\n\n/**\n * 函数式调用弹框;初始化后,内容无法更新\n *```\n * 1. 基础使用方式\n * dialogDrawer.open({\n * title: '我是标题',\n * content: <div>我是内容</div>,\n * });\n * ```\n * ```\n * ***************************\n * 2. 结合内置form使用,可在onOK、onCancel获取form对象\n * dialogDrawer.open({\n * title: '我是标题',\n * content: (form, operate) => {\n * return (\n * <Form form={form}>\n * <Form.Item name=\"useName\">\n * <Input placeholder=\"请输入\" />\n * </Form.Item>\n * </Form>\n * );\n * },\n * onOk: (form) => {\n * console.log('content form数据', form.getFieldsValue());\n * return Promise.resolve();\n * },\n * });\n *\n * 注意:\n * 1. 设置operateRender后,需要自定义操作按钮,onOk、onCancel、okText、cancelText、okButtonExtraProps、cancelButtonExtraProps配置失效\n * ```\n */\nexport const dialogDrawer = {\n open: (props: DialogDrawerProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_drawer_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_drawer_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","divElement","elementId","onOk","onCancel","content","configProviderProps","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","width","okHidden","cancelHidden","extra","bodyStyle","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_useState2","innerBodyStyle","setInnerBodyStyle","_Form$useForm","Form","useForm","form","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","operateGroup","_jsxs","Space","children","hidden","_jsx","ButtonWrapper","_extends","onClick","type","operateRenderHandle","extraRender","updateBodyStyle","CtxProvider","value","ConfigProviderWrapper","Drawer","maskClosable","destroyOnClose","contentWrapperStyle","maxWidth","footer","getContainer","dialogDrawer","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{hooks as r}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 d,r as m}from"./dom-4d04aa64.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";var v=function e(o){var t=o.elementId,d=o.className,v=o.divElement,u=o.message,p=o.mask;var g=l.useToken(),w=g.token;var k=w.colorPrimary;var j=i(true),_=j[0],b=j[1];var h=r.useCallbackRef((function(){try{delete window[t]}catch(e){}b(false)}));s.useEffectCustom((function(){window[t]=h}),[h]);var C=r.useCallbackRef((function(){m("#"+t)}));return c(n,{maskClosable:false,centered:true,destroyOnClose:true,className:a("v-dialog-loading",d),open:_,afterClose:C,getContainer:v,footer:null,closable:false,style:{"--v-loading-color":k},mask:p,children:c("div",{className:a("v-dialog-loading-content"),children:f("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:u||"处理中"})]})})})};var u={open:function e(a){var r=d(),l=r.divElement,n=r.elementId;window["__dialog_loading_elementId"]=n;var i=t(l);i.render(c(v,o({},a,{divElement:l,elementId:n,mask:a==null?void 0:a.mask})));return{close:function e(){var o,a;(o=(a=window)[n])==null?void 0:o.call(a)}}},close:function o(){try{var a,r;var l=window["__dialog_loading_elementId"];if(e(l))(a=(r=window)[l])==null?void 0:a.call(r)}catch(e){}}};export{u as d};
|
|
3
|
-
//# sourceMappingURL=dialog-loading-53cf2c60.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-loading-53cf2c60.js","sources":["@flatbiz/antd/src/dialog-loading/dialog-loading.tsx"],"sourcesContent":["import { isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties, useState } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { fbaHooks } from '../fba-hooks';\nimport { bodyAppendDivElement, BodyAppendDivElementProps, removeBodyChild } from '../_utils/dom';\nimport './style.less';\n\nexport type DialogLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogLoadingProps) => {\n const { elementId, className, divElement, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n const [open, setOpen] = useState(true);\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 onAfterClose = hooks.useCallbackRef(() => {\n removeBodyChild(`#${elementId}`);\n });\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('v-dialog-loading', className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={null}\n closable={false}\n style={{ '--v-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('v-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n\nexport const dialogLoading = {\n open: (props?: DialogLoadingProps) => {\n const { divElement, elementId } = bodyAppendDivElement();\n window['__dialog_loading_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} mask={props?.mask} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_loading_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","elementId","className","divElement","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","_useState","useState","open","setOpen","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onAfterClose","removeBodyChild","_jsx","Modal","maskClosable","centered","destroyOnClose","_classNames","afterClose","getContainer","footer","closable","style","children","_jsxs","dialogLoading","_bodyAppendDivElement","bodyAppendDivElement","root","createRoot","render","_extends","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":";+dAgBA,IAAMA,EAAc,SAAdA,EAAeC,GACnB,IAAQC,EAAoDD,EAApDC,UAAWC,EAAyCF,EAAzCE,UAAWC,EAA8BH,EAA9BG,WAAYC,EAAkBJ,EAAlBI,QAASC,EAASL,EAATK,KACnD,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,IAAAC,EAAwBC,EAAS,MAA1BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAMI,EAAUC,EAAMC,gBAAe,WACnC,WACSC,OAAOjB,EACf,CAAC,MAAOkB,GACP,CAEFL,EAAQ,MACV,IAEAM,EAASC,iBAAgB,WACvBH,OAAOjB,GAAac,CACtB,GAAG,CAACA,IAEJ,IAAMO,EAAeN,EAAMC,gBAAe,WACxCM,EAAe,IAAKtB,EACtB,IAEA,OACEuB,EAACC,EAAK,CACJC,aAAc,MACdC,SAAU,KACVC,eAAc,KACd1B,UAAW2B,EAAW,mBAAoB3B,GAC1CW,KAAMA,EACNiB,WAAYR,EACZS,aAAc5B,EACd6B,OAAQ,KACRC,SAAU,MACVC,MAAO,CAAE,oBAAqBxB,GAC9BL,KAAMA,EAAK8B,SAEXX,EAAA,MAAA,CAAKtB,UAAW2B,EAAW,4BAA4BM,SACrDC,EAAA,MAAA,CAAKlC,UAAU,iBAAgBiC,UAC7BX,EAAA,MAAA,CAAKtB,UAAU,iBACfsB,EAAA,MAAA,CAAKtB,UAAU,cAAaiC,SAAE/B,GAAW,cAKnD,EAEO,IAAMiC,EAAgB,CAC3BxB,KAAM,SAAAA,EAACb,GACL,IAAAsC,EAAkCC,IAA1BpC,EAAUmC,EAAVnC,WAAYF,EAASqC,EAATrC,UACpBiB,OAAO,8BAAgCjB,EACvC,IAAMuC,EAAOC,EAAWtC,GACxBqC,EAAKE,OAAOlB,EAACzB,EAAW4C,EAAA,CAAA,EAAK3C,EAAK,CAAEG,WAAYA,EAAYF,UAAWA,EAAWI,KAAML,GAAAA,UAAAA,EAAAA,EAAOK,SAC/F,MAAO,CACLuC,MAAO,SAAAA,IAAM,IAAAC,EAAAC,GACXD,GAAAC,EAAA5B,QAAOjB,KAAU,UAAA,EAAjB4C,EAAAE,KAAAD,EACF,EAEH,EAODF,MAAO,SAAAA,IACL,IAAI,IAAAI,EAAAC,EACF,IAAMhD,EAAYiB,OAAO,8BACzB,GAAIgC,EAASjD,IAAY+C,GAAAC,EAAA/B,QAAOjB,KAAP+C,UAAAA,EAAAA,EAAAD,KAAAE,EAC1B,CAAC,MAAO9B,GACP,CAEJ"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isString as e}from"@dimjs/lang/cjs/is-string";import{classNames as o}from"@dimjs/utils/cjs/class-names";import{a as r,_ as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{isPromise as t}from"@dimjs/lang/cjs/is-promise";import{hooks as i}from"@wove/react/cjs/hooks";import{dom as l}from"@flatbiz/utils";import{useSize as a}from"ahooks";import{Form as c,Modal as d}from"antd";import{useState as m,useMemo as s}from"react";import{createRoot as u}from"react-dom/client";import{B as f}from"./button-wrapper-125fce50.js";import{C as v}from"./config-provider-wrapper-dfe8f592.js";import{fbaHooks as p}from"./fba-hooks/index.js";import{jsx as h}from"react/jsx-runtime";var g=["divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var C=function e(u){var C=u.divElement,k=u.elementId,w=u.onOk,y=u.onCancel,b=u.okButtonProps,j=u.cancelButtonProps,P=u.content,_=u.configProviderProps,x=u.className,H=u.okHidden,B=u.cancelHidden,E=u.footer,I=u.cancelText,R=u.okText,T=u.bodyHeightPercent,N=n(u,g);var O=m(true),S=O[0],q=O[1];var z=c.useForm(),A=z[0];var D=a(document.querySelector("html"));var F=i.useCallbackRef((function(){try{delete window[k]}catch(e){}q(false)}));p.useEffectCustom((function(){window[k]=F}),[F]);var G=i.useCallbackRef((function(e){if(y){var o=y(A,e);if(o&&t(o)){return o.then(F)}}return F()}));var J=i.useCallbackRef((function(e){if(w){var o=w(A,e);if(o&&t(o)){return o.then(F)}}return F()}));var K=i.useCallbackRef((function(){l.removeBodyChild("#"+k);u.afterClose==null?void 0:u.afterClose()}));var L=[h(f,r({},j,{onClick:G,hidden:B,children:I||"取消"}),"0"),h(f,r({type:"primary"},b,{onClick:J,hidden:H,children:R||"提交"}),"1")];var M=E||L;var Q=s((function(){if(!(D!=null&&D.height)||!T){return"auto"}return(D==null?void 0:D.height)*(T/100)}),[T,D==null?void 0:D.height]);return h(v,r({},_,{children:h(d,r({maskClosable:true,centered:true,onCancel:F,destroyOnClose:true},N,{bodyStyle:r({height:Q,maxHeight:D!=null&&D.height?(D==null?void 0:D.height)*.8:"calc(100vh - 200px)"},N.bodyStyle),className:o("v-dialog-modal",x),open:S,afterClose:K,getContainer:C,footer:M,children:typeof P==="function"?P(A,{onClose:F}):P}))}))};var k={open:function e(o){var n=l.bodyAppendDivElement(),t=n.divElement,i=n.elementId;window["__dialog_modal_elementId"]=i;var a=u(t);a.render(h(C,r({},o,{divElement:t,elementId:i})));return{close:function e(){var o,r;(o=(r=window)[i])==null?void 0:o.call(r)}}},close:function o(){try{var r,n;var t=window["__dialog_modal_elementId"];if(e(t))(r=(n=window)[t])==null?void 0:r.call(n)}catch(e){}}};export{k as d};
|
|
3
|
-
//# sourceMappingURL=dialog-modal-4a0c72c5.js.map
|