@cozeloop/components 0.0.2 → 0.0.4
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/README.md +82 -1
- package/dist/es/index.css +661 -0
- package/dist/es/index.js +6044 -65
- package/dist/es/static/svg/select.svg +1 -0
- package/dist/lib/base-search-select/base-search-form-select.d.ts +3 -0
- package/dist/lib/base-search-select/base-search-form-select.js +6 -0
- package/dist/lib/base-search-select/base-search-form-select.js.map +1 -0
- package/dist/lib/base-search-select/base-search-select.d.ts +9 -0
- package/dist/lib/base-search-select/base-search-select.js +127 -0
- package/dist/lib/base-search-select/base-search-select.js.map +1 -0
- package/dist/lib/base-search-select/index.d.ts +3 -0
- package/dist/lib/base-search-select/index.js +3 -0
- package/dist/lib/base-search-select/index.js.map +1 -0
- package/dist/lib/base-search-select/types.d.ts +13 -0
- package/dist/lib/base-search-select/types.js +2 -0
- package/dist/lib/base-search-select/types.js.map +1 -0
- package/dist/lib/base-search-select/utils.d.ts +8 -0
- package/dist/lib/base-search-select/utils.js +48 -0
- package/dist/lib/base-search-select/utils.js.map +1 -0
- package/dist/lib/basic-card/index.d.ts +7 -0
- package/dist/lib/basic-card/index.js +4 -0
- package/dist/lib/basic-card/index.js.map +1 -0
- package/dist/lib/card-pane/index.d.ts +5 -0
- package/dist/lib/card-pane/index.js +9 -0
- package/dist/lib/card-pane/index.js.map +1 -0
- package/dist/lib/chip-select/index.d.ts +2 -0
- package/dist/lib/chip-select/index.js +6 -0
- package/dist/lib/chip-select/index.js.map +1 -0
- package/dist/lib/code-editor/index.d.ts +3 -0
- package/dist/lib/code-editor/index.js +7 -0
- package/dist/lib/code-editor/index.js.map +1 -0
- package/dist/lib/code-usage/index.d.ts +14 -0
- package/dist/lib/code-usage/index.js +31 -0
- package/dist/lib/code-usage/index.js.map +1 -0
- package/dist/lib/codemirror-editor/code-editor.d.ts +2 -0
- package/dist/lib/codemirror-editor/code-editor.js +108 -0
- package/dist/lib/codemirror-editor/code-editor.js.map +1 -0
- package/dist/lib/codemirror-editor/index.d.ts +4 -0
- package/dist/lib/codemirror-editor/index.js +5 -0
- package/dist/lib/codemirror-editor/index.js.map +1 -0
- package/dist/lib/codemirror-editor/json-editor.d.ts +19 -0
- package/dist/lib/codemirror-editor/json-editor.js +97 -0
- package/dist/lib/codemirror-editor/json-editor.js.map +1 -0
- package/dist/lib/codemirror-editor/raw-text-editor.d.ts +11 -0
- package/dist/lib/codemirror-editor/raw-text-editor.js +32 -0
- package/dist/lib/codemirror-editor/raw-text-editor.js.map +1 -0
- package/dist/lib/codemirror-editor/text-editor.d.ts +2 -0
- package/dist/lib/codemirror-editor/text-editor.js +44 -0
- package/dist/lib/codemirror-editor/text-editor.js.map +1 -0
- package/dist/lib/codemirror-editor/themes/coze-dark.d.ts +1 -0
- package/dist/lib/codemirror-editor/themes/coze-dark.js +113 -0
- package/dist/lib/codemirror-editor/themes/coze-dark.js.map +1 -0
- package/dist/lib/codemirror-editor/themes/coze-light.d.ts +1 -0
- package/dist/lib/codemirror-editor/themes/coze-light.js +119 -0
- package/dist/lib/codemirror-editor/themes/coze-light.js.map +1 -0
- package/dist/lib/collapse-card/index.d.ts +13 -0
- package/dist/lib/collapse-card/index.js +31 -0
- package/dist/lib/collapse-card/index.js.map +1 -0
- package/dist/lib/collapsible-card/index.d.ts +13 -0
- package/dist/lib/collapsible-card/index.js +12 -78
- package/dist/lib/collapsible-card/index.js.map +1 -0
- package/dist/{types → lib}/column-manage-storage/index.d.ts +6 -6
- package/dist/lib/column-manage-storage/index.js +43 -93
- package/dist/lib/column-manage-storage/index.js.map +1 -0
- package/dist/lib/columns-select/index.d.ts +19 -0
- package/dist/lib/columns-select/index.js +73 -237
- package/dist/lib/columns-select/index.js.map +1 -0
- package/dist/lib/edit-icon-button/index.d.ts +8 -0
- package/dist/lib/edit-icon-button/index.js +13 -0
- package/dist/lib/edit-icon-button/index.js.map +1 -0
- package/dist/lib/footer-actions/index.d.ts +15 -0
- package/dist/lib/footer-actions/index.js +9 -0
- package/dist/lib/footer-actions/index.js.map +1 -0
- package/dist/{types → lib}/hooks/use-infinite-scroll.d.ts +12 -12
- package/dist/lib/hooks/use-infinite-scroll.js +130 -192
- package/dist/lib/hooks/use-infinite-scroll.js.map +1 -0
- package/dist/lib/hooks/use-mouse-down-offset.d.ts +9 -0
- package/dist/lib/hooks/use-mouse-down-offset.js +38 -64
- package/dist/lib/hooks/use-mouse-down-offset.js.map +1 -0
- package/dist/lib/hooks/use-unsave-leave-warning.d.ts +12 -0
- package/dist/lib/hooks/use-unsave-leave-warning.js +33 -0
- package/dist/lib/hooks/use-unsave-leave-warning.js.map +1 -0
- package/dist/lib/id-render/icon-button-container.d.ts +8 -0
- package/dist/lib/id-render/icon-button-container.js +7 -88
- package/dist/lib/id-render/icon-button-container.js.map +1 -0
- package/dist/lib/id-render/index.d.ts +7 -0
- package/dist/lib/id-render/index.js +20 -111
- package/dist/lib/id-render/index.js.map +1 -0
- package/dist/lib/index-controller/record-navigation.d.ts +6 -0
- package/dist/lib/index-controller/record-navigation.js +9 -0
- package/dist/lib/index-controller/record-navigation.js.map +1 -0
- package/dist/lib/index-controller/use-item-index-controller.d.ts +47 -0
- package/dist/lib/index-controller/use-item-index-controller.js +123 -0
- package/dist/lib/index-controller/use-item-index-controller.js.map +1 -0
- package/dist/lib/index.d.ts +70 -0
- package/dist/lib/index.js +76 -110
- package/dist/lib/index.js.map +1 -0
- package/dist/{types → lib}/infinite-scroll-table/index.d.ts +6 -6
- package/dist/lib/infinite-scroll-table/index.js +31 -123
- package/dist/lib/infinite-scroll-table/index.js.map +1 -0
- package/dist/lib/info-tooltip/index.d.ts +9 -0
- package/dist/lib/info-tooltip/index.js +9 -0
- package/dist/lib/info-tooltip/index.js.map +1 -0
- package/dist/lib/input-components/radio-button.d.ts +14 -0
- package/dist/lib/input-components/radio-button.js +21 -0
- package/dist/lib/input-components/radio-button.js.map +1 -0
- package/dist/lib/input-slider/index.d.ts +15 -0
- package/dist/lib/input-slider/index.js +73 -146
- package/dist/lib/input-slider/index.js.map +1 -0
- package/dist/lib/input-with-count/index.d.ts +2 -0
- package/dist/lib/input-with-count/index.js +7 -0
- package/dist/lib/input-with-count/index.js.map +1 -0
- package/dist/lib/jump-button/jump-icon-button.d.ts +4 -0
- package/dist/lib/jump-button/jump-icon-button.js +7 -0
- package/dist/lib/jump-button/jump-icon-button.js.map +1 -0
- package/dist/{types → lib}/large-txt-render/index.d.ts +2 -2
- package/dist/lib/large-txt-render/index.js +24 -60
- package/dist/lib/large-txt-render/index.js.map +1 -0
- package/dist/lib/layout/content.d.ts +7 -0
- package/dist/lib/layout/content.js +5 -0
- package/dist/lib/layout/content.js.map +1 -0
- package/dist/lib/layout/header.d.ts +7 -0
- package/dist/lib/layout/header.js +6 -0
- package/dist/lib/layout/header.js.map +1 -0
- package/dist/lib/layout/index.d.ts +12 -0
- package/dist/lib/layout/index.js +9 -0
- package/dist/lib/layout/index.js.map +1 -0
- package/dist/lib/layout/tabs.d.ts +6 -0
- package/dist/lib/layout/tabs.js +10 -0
- package/dist/lib/layout/tabs.js.map +1 -0
- package/dist/lib/lazy-load-component/index.d.ts +5 -0
- package/dist/lib/lazy-load-component/index.js +42 -0
- package/dist/lib/lazy-load-component/index.js.map +1 -0
- package/dist/lib/logic-editor/index.d.ts +3 -0
- package/dist/lib/logic-editor/index.js +3 -0
- package/dist/lib/logic-editor/index.js.map +1 -0
- package/dist/lib/logic-editor/logic-editor.d.ts +17 -0
- package/dist/lib/logic-editor/logic-editor.js +69 -0
- package/dist/lib/logic-editor/logic-editor.js.map +1 -0
- package/dist/lib/logic-editor/logic-left-render.d.ts +3 -0
- package/dist/lib/logic-editor/logic-left-render.js +60 -0
- package/dist/lib/logic-editor/logic-left-render.js.map +1 -0
- package/dist/lib/logic-editor/logic-operator-render.d.ts +3 -0
- package/dist/lib/logic-editor/logic-operator-render.js +29 -0
- package/dist/lib/logic-editor/logic-operator-render.js.map +1 -0
- package/dist/lib/logic-editor/logic-right-render.d.ts +3 -0
- package/dist/lib/logic-editor/logic-right-render.js +25 -0
- package/dist/lib/logic-editor/logic-right-render.js.map +1 -0
- package/dist/lib/logic-editor/logic-types.d.ts +49 -0
- package/dist/lib/logic-editor/logic-types.js +136 -0
- package/dist/lib/logic-editor/logic-types.js.map +1 -0
- package/dist/lib/logic-editor/utils.d.ts +2 -0
- package/dist/lib/logic-editor/utils.js +18 -0
- package/dist/lib/logic-editor/utils.js.map +1 -0
- package/dist/lib/logic-expr/consts.d.ts +2 -0
- package/dist/lib/logic-expr/consts.js +5 -0
- package/dist/lib/logic-expr/consts.js.map +1 -0
- package/dist/lib/logic-expr/expr-group-render.d.ts +2 -0
- package/dist/lib/logic-expr/expr-group-render.js +61 -0
- package/dist/lib/logic-expr/expr-group-render.js.map +1 -0
- package/dist/lib/logic-expr/expr-render.d.ts +2 -0
- package/dist/lib/logic-expr/expr-render.js +85 -0
- package/dist/lib/logic-expr/expr-render.js.map +1 -0
- package/dist/lib/logic-expr/index.d.ts +2 -0
- package/dist/lib/logic-expr/index.js +2 -0
- package/dist/lib/logic-expr/index.js.map +1 -0
- package/dist/lib/logic-expr/logic-expr.d.ts +2 -0
- package/dist/lib/logic-expr/logic-expr.js +187 -0
- package/dist/lib/logic-expr/logic-expr.js.map +1 -0
- package/dist/lib/logic-expr/logic-not.d.ts +10 -0
- package/dist/lib/logic-expr/logic-not.js +21 -0
- package/dist/lib/logic-expr/logic-not.js.map +1 -0
- package/dist/lib/logic-expr/logic-toggle.d.ts +12 -0
- package/dist/lib/logic-expr/logic-toggle.js +33 -0
- package/dist/lib/logic-expr/logic-toggle.js.map +1 -0
- package/dist/lib/logic-expr/types.d.ts +79 -0
- package/dist/lib/logic-expr/types.js +2 -0
- package/dist/lib/logic-expr/types.js.map +1 -0
- package/dist/lib/loop-radio-group/index.d.ts +2 -0
- package/dist/lib/loop-radio-group/index.js +7 -0
- package/dist/lib/loop-radio-group/index.js.map +1 -0
- package/dist/lib/multi-part-editor/components/image-item-renderer.d.ts +14 -0
- package/dist/lib/multi-part-editor/components/image-item-renderer.js +57 -0
- package/dist/lib/multi-part-editor/components/image-item-renderer.js.map +1 -0
- package/dist/lib/multi-part-editor/components/multipart-item-renderer.d.ts +10 -0
- package/dist/lib/multi-part-editor/components/multipart-item-renderer.js +25 -0
- package/dist/lib/multi-part-editor/components/multipart-item-renderer.js.map +1 -0
- package/dist/lib/multi-part-editor/components/url-input-modal.d.ts +14 -0
- package/dist/lib/multi-part-editor/components/url-input-modal.js +150 -0
- package/dist/lib/multi-part-editor/components/url-input-modal.js.map +1 -0
- package/dist/lib/multi-part-editor/components/video-item-renderer.d.ts +14 -0
- package/dist/lib/multi-part-editor/components/video-item-renderer.js +57 -0
- package/dist/lib/multi-part-editor/components/video-item-renderer.js.map +1 -0
- package/dist/lib/multi-part-editor/index.d.ts +3 -0
- package/dist/lib/multi-part-editor/index.js +300 -0
- package/dist/lib/multi-part-editor/index.js.map +1 -0
- package/dist/lib/multi-part-editor/multi-part-render.d.ts +10 -0
- package/dist/lib/multi-part-editor/multi-part-render.js +40 -0
- package/dist/lib/multi-part-editor/multi-part-render.js.map +1 -0
- package/dist/lib/multi-part-editor/type.d.ts +81 -0
- package/dist/lib/multi-part-editor/type.js +25 -0
- package/dist/lib/multi-part-editor/type.js.map +1 -0
- package/dist/lib/multi-part-editor/upload-button.d.ts +23 -0
- package/dist/lib/multi-part-editor/upload-button.js +103 -0
- package/dist/lib/multi-part-editor/upload-button.js.map +1 -0
- package/dist/lib/multi-part-editor/utils.d.ts +16 -0
- package/dist/lib/multi-part-editor/utils.js +43 -0
- package/dist/lib/multi-part-editor/utils.js.map +1 -0
- package/dist/lib/open-detail-button/index.d.ts +6 -0
- package/dist/lib/open-detail-button/index.js +11 -0
- package/dist/lib/open-detail-button/index.js.map +1 -0
- package/dist/lib/page-content/index.d.ts +20 -0
- package/dist/lib/page-content/index.js +17 -130
- package/dist/lib/page-content/index.js.map +1 -0
- package/dist/lib/primary-page/index.d.ts +1 -0
- package/dist/lib/primary-page/index.js +2 -28
- package/dist/lib/primary-page/index.js.map +1 -0
- package/dist/lib/primary-page/primary-header.d.ts +13 -0
- package/dist/lib/primary-page/primary-header.js +4 -72
- package/dist/lib/primary-page/primary-header.js.map +1 -0
- package/dist/lib/primary-title/index.d.ts +6 -0
- package/dist/lib/primary-title/index.js +8 -0
- package/dist/lib/primary-title/index.js.map +1 -0
- package/dist/lib/provider/index.d.ts +18 -0
- package/dist/lib/provider/index.js +43 -0
- package/dist/lib/provider/index.js.map +1 -0
- package/dist/lib/resizable-side-sheet/index.d.ts +10 -0
- package/dist/lib/resizable-side-sheet/index.js +32 -0
- package/dist/lib/resizable-side-sheet/index.js.map +1 -0
- package/dist/{types → lib}/resize-sidesheet/index.d.ts +4 -3
- package/dist/lib/resize-sidesheet/index.js +15 -129
- package/dist/lib/resize-sidesheet/index.js.map +1 -0
- package/dist/lib/resize-sidesheet/use-drag.d.ts +11 -0
- package/dist/lib/resize-sidesheet/use-drag.js +26 -51
- package/dist/lib/resize-sidesheet/use-drag.js.map +1 -0
- package/dist/lib/schema-editor/index.d.ts +11 -0
- package/dist/lib/schema-editor/index.js +5 -0
- package/dist/lib/schema-editor/index.js.map +1 -0
- package/dist/lib/search-form/index.d.ts +15 -0
- package/dist/lib/search-form/index.js +77 -0
- package/dist/lib/search-form/index.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field-item.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js +19 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field-item.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field.js +39 -0
- package/dist/lib/semi-schema-form/components/tmpls/array-field.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/base-input.d.ts +8 -0
- package/dist/lib/semi-schema-form/components/tmpls/base-input.js +32 -0
- package/dist/lib/semi-schema-form/components/tmpls/base-input.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/description-field.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/description-field.js +13 -0
- package/dist/lib/semi-schema-form/components/tmpls/description-field.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/error-list.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/error-list.js +14 -0
- package/dist/lib/semi-schema-form/components/tmpls/error-list.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/field-error.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/field-error.js +16 -0
- package/dist/lib/semi-schema-form/components/tmpls/field-error.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/field.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/tmpls/field.js +21 -0
- package/dist/lib/semi-schema-form/components/tmpls/field.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/icon-button.d.ts +11 -0
- package/dist/lib/semi-schema-form/components/tmpls/icon-button.js +29 -0
- package/dist/lib/semi-schema-form/components/tmpls/icon-button.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/index.d.ts +2 -0
- package/dist/lib/semi-schema-form/components/tmpls/index.js +31 -0
- package/dist/lib/semi-schema-form/components/tmpls/index.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/object-field.d.ts +8 -0
- package/dist/lib/semi-schema-form/components/tmpls/object-field.js +81 -0
- package/dist/lib/semi-schema-form/components/tmpls/object-field.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/submit.d.ts +4 -0
- package/dist/lib/semi-schema-form/components/tmpls/submit.js +13 -0
- package/dist/lib/semi-schema-form/components/tmpls/submit.js.map +1 -0
- package/dist/lib/semi-schema-form/components/tmpls/title-field.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/tmpls/title-field.js +12 -0
- package/dist/lib/semi-schema-form/components/tmpls/title-field.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/checkbox.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/widgets/checkbox.js +26 -0
- package/dist/lib/semi-schema-form/components/widgets/checkbox.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/checkboxs.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/widgets/checkboxs.js +27 -0
- package/dist/lib/semi-schema-form/components/widgets/checkboxs.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/index.d.ts +2 -0
- package/dist/lib/semi-schema-form/components/widgets/index.js +15 -0
- package/dist/lib/semi-schema-form/components/widgets/index.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/radio.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/widgets/radio.js +27 -0
- package/dist/lib/semi-schema-form/components/widgets/radio.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/range.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/widgets/range.js +26 -0
- package/dist/lib/semi-schema-form/components/widgets/range.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/select.d.ts +7 -0
- package/dist/lib/semi-schema-form/components/widgets/select.js +44 -0
- package/dist/lib/semi-schema-form/components/widgets/select.js.map +1 -0
- package/dist/lib/semi-schema-form/components/widgets/textarea.d.ts +6 -0
- package/dist/lib/semi-schema-form/components/widgets/textarea.js +18 -0
- package/dist/lib/semi-schema-form/components/widgets/textarea.js.map +1 -0
- package/dist/lib/semi-schema-form/index.d.ts +4 -0
- package/dist/lib/semi-schema-form/index.js +9 -0
- package/dist/lib/semi-schema-form/index.js.map +1 -0
- package/dist/lib/sentinel-form/enum.d.ts +8 -0
- package/dist/lib/sentinel-form/enum.js +15 -0
- package/dist/lib/sentinel-form/enum.js.map +1 -0
- package/dist/lib/sentinel-form/index.d.ts +20 -0
- package/dist/lib/sentinel-form/index.js +289 -0
- package/dist/lib/sentinel-form/index.js.map +1 -0
- package/dist/lib/step-nav/index.d.ts +12 -0
- package/dist/lib/step-nav/index.js +13 -0
- package/dist/lib/step-nav/index.js.map +1 -0
- package/dist/{types → lib}/table/index.d.ts +1 -1
- package/dist/lib/table/index.js +6 -88
- package/dist/lib/table/index.js.map +1 -0
- package/dist/lib/table/sort-icon.d.ts +8 -0
- package/dist/lib/table/sort-icon.js +25 -132
- package/dist/lib/table/sort-icon.js.map +1 -0
- package/dist/lib/table/table-with-pagination.d.ts +21 -0
- package/dist/lib/table/table-with-pagination.js +71 -143
- package/dist/lib/table/table-with-pagination.js.map +1 -0
- package/dist/lib/table/table-without-pagniation.d.ts +6 -0
- package/dist/lib/table/table-without-pagniation.js +36 -107
- package/dist/lib/table/table-without-pagniation.js.map +1 -0
- package/dist/lib/table-batch-operate/table-batch-operation.d.ts +9 -0
- package/dist/lib/table-batch-operate/table-batch-operation.js +14 -0
- package/dist/lib/table-batch-operate/table-batch-operation.js.map +1 -0
- package/dist/lib/table-batch-operate/use-batch-operate.d.ts +30 -0
- package/dist/lib/table-batch-operate/use-batch-operate.js +71 -0
- package/dist/lib/table-batch-operate/use-batch-operate.js.map +1 -0
- package/dist/lib/table-col-actions/index.d.ts +22 -0
- package/dist/lib/table-col-actions/index.js +34 -122
- package/dist/lib/table-col-actions/index.js.map +1 -0
- package/dist/lib/table-cols-config/index.d.ts +11 -0
- package/dist/lib/table-cols-config/index.js +57 -0
- package/dist/lib/table-cols-config/index.js.map +1 -0
- package/dist/lib/table-cols-config/type.d.ts +6 -0
- package/dist/lib/table-cols-config/type.js +2 -0
- package/dist/lib/table-cols-config/type.js.map +1 -0
- package/dist/lib/table-cols-config/use-hidden-col-keys.d.ts +5 -0
- package/dist/lib/table-cols-config/use-hidden-col-keys.js +32 -0
- package/dist/lib/table-cols-config/use-hidden-col-keys.js.map +1 -0
- package/dist/lib/table-cols-config/util.d.ts +3 -0
- package/dist/lib/table-cols-config/util.js +39 -0
- package/dist/lib/table-cols-config/util.js.map +1 -0
- package/dist/lib/table-empty/index.d.ts +2 -0
- package/dist/lib/table-empty/index.js +10 -0
- package/dist/lib/table-empty/index.js.map +1 -0
- package/dist/lib/table-header/index.d.ts +14 -0
- package/dist/lib/table-header/index.js +10 -95
- package/dist/lib/table-header/index.js.map +1 -0
- package/dist/{types → lib}/tabs/index.d.ts +1 -1
- package/dist/lib/tabs/index.js +9 -74
- package/dist/lib/tabs/index.js.map +1 -0
- package/dist/lib/text-area-pro/index.d.ts +6 -0
- package/dist/lib/text-area-pro/index.js +10 -0
- package/dist/lib/text-area-pro/index.js.map +1 -0
- package/dist/lib/text-with-copy/index.d.ts +14 -0
- package/dist/lib/text-with-copy/index.js +23 -104
- package/dist/lib/text-with-copy/index.js.map +1 -0
- package/dist/lib/title-with-sub/index.d.ts +7 -0
- package/dist/lib/title-with-sub/index.js +6 -0
- package/dist/lib/title-with-sub/index.js.map +1 -0
- package/dist/lib/tooltip-when-disabled/index.d.ts +6 -0
- package/dist/lib/tooltip-when-disabled/index.js +9 -0
- package/dist/lib/tooltip-when-disabled/index.js.map +1 -0
- package/dist/lib/tooltip-with-disabled/index.d.ts +5 -0
- package/dist/lib/tooltip-with-disabled/index.js +7 -69
- package/dist/lib/tooltip-with-disabled/index.js.map +1 -0
- package/dist/lib/tsconfig.build.tsbuildinfo +1 -0
- package/dist/lib/upload/index.d.ts +9 -0
- package/dist/lib/upload/index.js +25 -0
- package/dist/lib/upload/index.js.map +1 -0
- package/dist/lib/user-profile/index.d.ts +9 -0
- package/dist/lib/user-profile/index.js +21 -0
- package/dist/lib/user-profile/index.js.map +1 -0
- package/dist/lib/utils/basic.d.ts +2 -0
- package/dist/lib/utils/basic.js +27 -76
- package/dist/lib/utils/basic.js.map +1 -0
- package/dist/lib/version-list/version-descriptions.d.ts +15 -0
- package/dist/lib/version-list/version-descriptions.js +14 -0
- package/dist/lib/version-list/version-descriptions.js.map +1 -0
- package/dist/lib/version-list/version-item.d.ts +9 -0
- package/dist/lib/version-list/version-item.js +6 -0
- package/dist/lib/version-list/version-item.js.map +1 -0
- package/dist/lib/version-list/version-list.d.ts +11 -0
- package/dist/lib/version-list/version-list.js +11 -0
- package/dist/lib/version-list/version-list.js.map +1 -0
- package/dist/lib/version-list/version-switch-panel.d.ts +5 -0
- package/dist/lib/version-list/version-switch-panel.js +10 -0
- package/dist/lib/version-list/version-switch-panel.js.map +1 -0
- package/package.json +31 -21
- package/dist/es/collapsible-card/index.js +0 -45
- package/dist/es/collapsible-card/index.module.js +0 -5
- package/dist/es/collapsible-card/index_module.css +0 -48
- package/dist/es/column-manage-storage/index.js +0 -73
- package/dist/es/columns-select/index.js +0 -219
- package/dist/es/hooks/use-infinite-scroll.js +0 -178
- package/dist/es/hooks/use-mouse-down-offset.js +0 -41
- package/dist/es/id-render/icon-button-container.js +0 -61
- package/dist/es/id-render/index.js +0 -78
- package/dist/es/infinite-scroll-table/index.js +0 -98
- package/dist/es/input-slider/index.js +0 -123
- package/dist/es/input-slider/index.module.js +0 -5
- package/dist/es/input-slider/index_module.css +0 -21
- package/dist/es/large-txt-render/index.js +0 -38
- package/dist/es/page-content/index.js +0 -108
- package/dist/es/primary-page/index.js +0 -4
- package/dist/es/primary-page/primary-header.js +0 -38
- package/dist/es/resize-sidesheet/index.js +0 -100
- package/dist/es/resize-sidesheet/index.module.js +0 -5
- package/dist/es/resize-sidesheet/index_module.css +0 -9
- package/dist/es/resize-sidesheet/use-drag.js +0 -31
- package/dist/es/table/index.js +0 -56
- package/dist/es/table/index.module.js +0 -5
- package/dist/es/table/index_module.css +0 -90
- package/dist/es/table/sort-icon.js +0 -105
- package/dist/es/table/table-with-pagination.js +0 -112
- package/dist/es/table/table-without-pagniation.js +0 -74
- package/dist/es/table-col-actions/index.js +0 -103
- package/dist/es/table-header/index.js +0 -68
- package/dist/es/table-header/index.module.js +0 -5
- package/dist/es/table-header/index_module.css +0 -3
- package/dist/es/tabs/index.js +0 -42
- package/dist/es/tabs/index.module.js +0 -5
- package/dist/es/tabs/index_module.css +0 -37
- package/dist/es/text-with-copy/index.js +0 -71
- package/dist/es/tooltip-with-disabled/index.js +0 -49
- package/dist/es/utils/basic.js +0 -44
- package/dist/es/utils/rect.js +0 -37
- package/dist/lib/collapsible-card/index.module.js +0 -25
- package/dist/lib/collapsible-card/index_module.css +0 -48
- package/dist/lib/input-slider/index.module.js +0 -25
- package/dist/lib/input-slider/index_module.css +0 -21
- package/dist/lib/resize-sidesheet/index.module.js +0 -25
- package/dist/lib/resize-sidesheet/index_module.css +0 -9
- package/dist/lib/table/index.module.js +0 -25
- package/dist/lib/table/index_module.css +0 -90
- package/dist/lib/table-header/index.module.js +0 -25
- package/dist/lib/table-header/index_module.css +0 -3
- package/dist/lib/tabs/index.module.js +0 -25
- package/dist/lib/tabs/index_module.css +0 -37
- package/dist/lib/utils/rect.js +0 -65
- package/dist/types/collapsible-card/index.d.ts +0 -22
- package/dist/types/columns-select/index.d.ts +0 -29
- package/dist/types/hooks/use-mouse-down-offset.d.ts +0 -9
- package/dist/types/id-render/icon-button-container.d.ts +0 -12
- package/dist/types/id-render/index.d.ts +0 -13
- package/dist/types/index.d.ts +0 -19
- package/dist/types/input-slider/index.d.ts +0 -14
- package/dist/types/page-content/index.d.ts +0 -36
- package/dist/types/primary-page/index.d.ts +0 -1
- package/dist/types/primary-page/primary-header.d.ts +0 -17
- package/dist/types/resize-sidesheet/use-drag.d.ts +0 -10
- package/dist/types/table/sort-icon.d.ts +0 -13
- package/dist/types/table/table-with-pagination.d.ts +0 -14
- package/dist/types/table/table-without-pagniation.d.ts +0 -8
- package/dist/types/table-col-actions/index.d.ts +0 -21
- package/dist/types/table-header/index.d.ts +0 -20
- package/dist/types/text-with-copy/index.d.ts +0 -24
- package/dist/types/tooltip-with-disabled/index.d.ts +0 -9
- package/dist/types/utils/basic.d.ts +0 -1
- package/dist/types/utils/rect.d.ts +0 -10
|
@@ -1,62 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var large_txt_render_exports = {};
|
|
20
|
-
__export(large_txt_render_exports, {
|
|
21
|
-
LargeTxtRender: () => LargeTxtRender
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(large_txt_render_exports);
|
|
24
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_react = require("react");
|
|
26
|
-
var import_ahooks = require("ahooks");
|
|
27
|
-
const PER_PRE_MAX_LENGTH = 25e3;
|
|
28
|
-
const LargeTxtRender = (props) => {
|
|
29
|
-
const { text } = props;
|
|
30
|
-
const ref = (0, import_react.useRef)(null);
|
|
31
|
-
const getMoreTextChunk = (startIndex) => {
|
|
32
|
-
const endIndex = startIndex + PER_PRE_MAX_LENGTH;
|
|
33
|
-
const chunk = text.slice(startIndex, endIndex);
|
|
34
|
-
const hasMore = endIndex < text.length;
|
|
35
|
-
return {
|
|
36
|
-
list: [chunk],
|
|
37
|
-
nextId: hasMore ? endIndex.toString() : void 0
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { useInfiniteScroll } from 'ahooks';
|
|
4
|
+
const PER_PRE_MAX_LENGTH = 25000;
|
|
5
|
+
export const LargeTxtRender = (props) => {
|
|
6
|
+
const { text } = props;
|
|
7
|
+
const ref = useRef(null);
|
|
8
|
+
const getMoreTextChunk = (startIndex) => {
|
|
9
|
+
const endIndex = startIndex + PER_PRE_MAX_LENGTH;
|
|
10
|
+
const chunk = text.slice(startIndex, endIndex);
|
|
11
|
+
const hasMore = endIndex < text.length;
|
|
12
|
+
return {
|
|
13
|
+
list: [chunk],
|
|
14
|
+
nextId: hasMore ? endIndex.toString() : undefined,
|
|
15
|
+
};
|
|
38
16
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
isNoMore: (d) => (d == null ? void 0 : d.nextId) === void 0
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
51
|
-
"pre",
|
|
52
|
-
{
|
|
53
|
-
ref,
|
|
54
|
-
className: "m-0 break-words whitespace-pre-wrap max-h-full overflow-y-auto text-[13px] leading-4 text-[var(--coz-fg-primary)] font-normal",
|
|
55
|
-
dangerouslySetInnerHTML: { __html: (data == null ? void 0 : data.list.join("")) || "" }
|
|
56
|
-
}
|
|
57
|
-
);
|
|
17
|
+
const { data } = useInfiniteScroll(d => {
|
|
18
|
+
const startIndex = d ? parseInt(d.nextId) : 0;
|
|
19
|
+
return Promise.resolve(getMoreTextChunk(startIndex));
|
|
20
|
+
}, {
|
|
21
|
+
target: ref,
|
|
22
|
+
isNoMore: d => d?.nextId === undefined,
|
|
23
|
+
});
|
|
24
|
+
return (_jsx("pre", { ref: ref, className: "m-0 break-words whitespace-pre-wrap max-h-full overflow-y-auto text-[13px] leading-4 text-[var(--coz-fg-primary)] font-normal", children: data?.list.join('') || '' }));
|
|
58
25
|
};
|
|
59
|
-
|
|
60
|
-
0 && (module.exports = {
|
|
61
|
-
LargeTxtRender
|
|
62
|
-
});
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/large-txt-render/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAMjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,UAAU,GAAG,kBAAkB,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAEvC,OAAO;YACL,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAChC,CAAC,CAAC,EAAE;QACF,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC,EACD;QACE,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS;KACvC,CACF,CAAC;IAEF,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,+HAA+H,YAExI,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GACtB,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
export const Content = forwardRef(({ children, style, className, top }, ref) => (_jsxs("div", { className: "w-full h-full flex flex-col", children: [top, _jsx("div", { ref: ref, className: classNames('bg-white m-4 mb-0 p-4 rounded-md flex-1 flex flex-col overflow-y-auto', className), style: style, children: children })] })));
|
|
5
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/layout/content.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAsC,MAAM,OAAO,CAAC;AAE9E,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAQ/B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9C,eAAK,SAAS,EAAC,6BAA6B,aACzC,GAAG,EACJ,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,UAAU,CACnB,uEAAuE,EACvE,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,IAEF,CACP,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
export function Header({ children, className }) {
|
|
4
|
+
return (_jsx("div", { className: classNames('flex items-center pb-4', className), children: children }));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/layout/header.tsx"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,YAAY,CAAC;AAMpC,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAS;IACnD,OAAO,CACL,cAAK,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,SAAS,CAAC,YAC5D,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Tabs } from './tabs';
|
|
2
|
+
import { Header } from './header';
|
|
3
|
+
export declare const Layout: {
|
|
4
|
+
Header: typeof Header;
|
|
5
|
+
Content: import("react").ForwardRefExoticComponent<{
|
|
6
|
+
children?: import("react").ReactNode;
|
|
7
|
+
style?: import("react").CSSProperties;
|
|
8
|
+
className?: string;
|
|
9
|
+
top?: import("react").ReactNode;
|
|
10
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
11
|
+
Tabs: typeof Tabs;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,MAAM;IACN,OAAO;IACP,IAAI;CACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type TabsProps } from '@coze-arch/coze-design';
|
|
2
|
+
export declare function Tabs({ className, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare namespace Tabs {
|
|
4
|
+
var TabPane: typeof import("@coze-arch/coze-design").TabPane;
|
|
5
|
+
var TabItem;
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { Tabs as SemiTabs } from '@coze-arch/coze-design';
|
|
4
|
+
import styles from './index.module.less';
|
|
5
|
+
export function Tabs({ className, ...props }) {
|
|
6
|
+
return _jsx(SemiTabs, { className: classNames(styles.tabs, className), ...props });
|
|
7
|
+
}
|
|
8
|
+
Tabs.TabPane = SemiTabs.TabPane;
|
|
9
|
+
Tabs.TabItem = SemiTabs.TabItem;
|
|
10
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/layout/tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAkB,IAAI,IAAI,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,MAAM,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAa;IACrD,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAChF,CAAC;AAED,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAChC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect, useRef } from 'react';
|
|
3
|
+
import { Skeleton } from '@coze-arch/coze-design';
|
|
4
|
+
export const LazyLoadComponent = ({ children, placeholder, }) => {
|
|
5
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
6
|
+
const domRef = useRef(null);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if ('IntersectionObserver' in window) {
|
|
9
|
+
if (!domRef.current) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
// 使用 Intersection Observer
|
|
13
|
+
const observer = new IntersectionObserver(entries => {
|
|
14
|
+
entries.forEach(entry => {
|
|
15
|
+
if (entry.isIntersecting) {
|
|
16
|
+
setIsVisible(true);
|
|
17
|
+
observer.unobserve(domRef.current);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
observer.observe(domRef.current);
|
|
22
|
+
return () => observer.disconnect();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// 回退到 scroll 事件监听
|
|
26
|
+
const handleScroll = () => {
|
|
27
|
+
if (domRef.current) {
|
|
28
|
+
const rect = domRef.current.getBoundingClientRect();
|
|
29
|
+
if (rect.top <= window.innerHeight && rect.bottom >= 0) {
|
|
30
|
+
setIsVisible(true);
|
|
31
|
+
window.removeEventListener('scroll', handleScroll);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
handleScroll(); // 初始化检查
|
|
36
|
+
document.addEventListener('scroll', handleScroll);
|
|
37
|
+
return () => document.removeEventListener('scroll', handleScroll);
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
return (_jsx("div", { ref: domRef, children: isVisible ? children : _jsx(Skeleton, { placeholder: placeholder }) }));
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lazy-load-component/index.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,WAAW,GAIZ,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,IAAI,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;gBAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACtB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACzB,YAAY,CAAC,IAAI,CAAC,CAAC;wBACnB,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBACpD,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACvD,YAAY,CAAC,IAAI,CAAC,CAAC;wBACnB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,YAAY,EAAE,CAAC,CAAC,QAAQ;YACxB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cAAK,GAAG,EAAE,MAAM,YACb,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,WAAW,EAAE,WAAW,GAAI,GAC1D,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logic-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAoB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type PopoverProps } from '@coze-arch/coze-design';
|
|
2
|
+
import { type LogicFilter, type LogicField } from './logic-types';
|
|
3
|
+
/** 逻辑筛选器 */
|
|
4
|
+
export declare function LogicEditor({ fields, disabled, value, popoverProps, tooltip, clearEmptyCondition, enableCascadeMode, onChange, onConfirm, onClose, }: {
|
|
5
|
+
fields: LogicField[];
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
value?: LogicFilter | undefined;
|
|
8
|
+
popoverProps?: PopoverProps;
|
|
9
|
+
tooltip?: React.ReactNode;
|
|
10
|
+
/** 是否过滤空条件 */
|
|
11
|
+
clearEmptyCondition?: boolean;
|
|
12
|
+
/** 字段选择开启级联模式 */
|
|
13
|
+
enableCascadeMode?: boolean;
|
|
14
|
+
onChange?: (val?: LogicFilter) => void;
|
|
15
|
+
onConfirm?: (val?: LogicFilter) => void;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { IconCozFilter, IconCozInfoCircle } from '@coze-arch/coze-design/icons';
|
|
5
|
+
import { Button, Divider, Popover, Tooltip, } from '@coze-arch/coze-design';
|
|
6
|
+
import { LogicExpr } from '../logic-expr';
|
|
7
|
+
import RightRender from './logic-right-render';
|
|
8
|
+
import OperatorRender from './logic-operator-render';
|
|
9
|
+
import LeftRender from './logic-left-render';
|
|
10
|
+
import styles from './logic-editor.module.less';
|
|
11
|
+
const getValidFilterFields = (value) => {
|
|
12
|
+
if (!value?.exprs) {
|
|
13
|
+
return {
|
|
14
|
+
exprs: [],
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const isEmpty = (val) => val === undefined ||
|
|
18
|
+
val === '' ||
|
|
19
|
+
val === null ||
|
|
20
|
+
(Array.isArray(val) && val.length === 0);
|
|
21
|
+
// 左中右 三元都存在才有效
|
|
22
|
+
const validArray = value.exprs.filter(
|
|
23
|
+
// 由于暂时不包含为空不为空的case,所以这里的判断条件要求左中右都必须存在
|
|
24
|
+
exp => !isEmpty(exp.left) && !isEmpty(exp.operator) && !isEmpty(exp.right));
|
|
25
|
+
return {
|
|
26
|
+
exprs: validArray,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/** 逻辑筛选器 */
|
|
30
|
+
// eslint-disable-next-line @coze-arch/max-line-per-function, complexity
|
|
31
|
+
export function LogicEditor({ fields = [], disabled = false, value, popoverProps = {}, tooltip, clearEmptyCondition = true, enableCascadeMode = false, onChange, onConfirm, onClose, }) {
|
|
32
|
+
const [logicFilter, setLogicFilter] = useState(value);
|
|
33
|
+
const [visible, setVisible] = useState(false);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
setLogicFilter(value);
|
|
36
|
+
}, [value]);
|
|
37
|
+
const logicExpr = (_jsx(LogicExpr, { defaultExpr: {
|
|
38
|
+
left: '',
|
|
39
|
+
operator: '',
|
|
40
|
+
right: '',
|
|
41
|
+
}, value: logicFilter, onChange: val => {
|
|
42
|
+
setLogicFilter(val);
|
|
43
|
+
onChange?.(val);
|
|
44
|
+
}, leftRender: renderProps => (_jsx(LeftRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), operatorRender: renderProps => (_jsx(OperatorRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), rightRender: renderProps => (_jsx(RightRender, { ...renderProps, fields: fields, disabled: disabled, enableCascadeMode: enableCascadeMode })), allowLogicOperators: ['and'], logicToggleReadonly: true, maxNestingDepth: 1 }));
|
|
45
|
+
const hasMultiExpr = Array.isArray(logicFilter?.exprs) && logicFilter.exprs.length > 1;
|
|
46
|
+
const popoverContentConatienr = (_jsxs("div", { className: classNames('flex flex-col py-3 gap-3 text-[13px]', enableCascadeMode ? 'w-[640px]' : 'w-[620px]', styles['expr-logic-editor']), children: [_jsxs("div", { className: "flex items-center px-4", children: [_jsx("div", { className: "font-medium", children: "\u8FC7\u6EE4\u5668" }), tooltip ? (_jsx(Tooltip, { theme: "dark", content: tooltip, children: _jsx(IconCozInfoCircle, { className: "ml-1 text-[var(--coz-fg-secondary)] hover:text-[var(--coz-fg-primary)]" }) })) : null, _jsx("div", { className: "ml-auto cursor-pointer font-medium text-[var(--coz-fg-secondary)] hover:text-[rgb(var(--coze-up-brand-9))]", onClick: () => {
|
|
47
|
+
setLogicFilter(undefined);
|
|
48
|
+
onChange?.(undefined);
|
|
49
|
+
}, children: "\u6E05\u7A7A\u7B5B\u9009" })] }), _jsx("div", { className: hasMultiExpr ? '' : 'pl-3 pr-2', children: _jsx("div", { children: logicExpr }) }), _jsx(Divider, {}), _jsx("div", { className: "flex justify-end px-4", children: _jsx(Button, { color: "brand", onClick: () => {
|
|
50
|
+
let logicFilterData = logicFilter;
|
|
51
|
+
if (clearEmptyCondition) {
|
|
52
|
+
logicFilterData = getValidFilterFields(logicFilter);
|
|
53
|
+
setLogicFilter(logicFilterData);
|
|
54
|
+
}
|
|
55
|
+
onConfirm?.(logicFilterData);
|
|
56
|
+
setVisible(false);
|
|
57
|
+
onClose?.();
|
|
58
|
+
}, children: "\u5E94\u7528" }) })] }));
|
|
59
|
+
const count = value?.exprs?.length ?? 0;
|
|
60
|
+
return (_jsx(Popover, { trigger: "click", position: "bottomLeft", ...popoverProps, style: { padding: 0, ...(popoverProps.style ?? {}) }, visible: visible, content: popoverContentConatienr, onVisibleChange: newVisible => {
|
|
61
|
+
setVisible(newVisible);
|
|
62
|
+
if (!newVisible) {
|
|
63
|
+
// 关闭时放弃本次变更,恢复为上层设置的 value
|
|
64
|
+
setLogicFilter(value);
|
|
65
|
+
onClose?.();
|
|
66
|
+
}
|
|
67
|
+
}, children: _jsxs(Button, { icon: _jsx(IconCozFilter, {}), color: "primary", children: ["\u8FC7\u6EE4\u5668", count ? (_jsx("div", { className: "flex items-center justify-center w-5 h-5 rounded-[50%] text-brand-9 bg-brand-4 ml-1 text-[13px]", children: count })) : null] }) }));
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=logic-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-editor.js","sourceRoot":"","sources":["../../../src/logic-editor/logic-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type LeftRenderProps } from '../logic-expr';
|
|
2
|
+
import { type RenderProps, type LogicFilterLeft } from './logic-types';
|
|
3
|
+
export default function LeftRender(props: LeftRenderProps<LogicFilterLeft, string, string | number | undefined> & RenderProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Cascader, Select } from '@coze-arch/coze-design';
|
|
3
|
+
import { findFieldByPath } from './utils';
|
|
4
|
+
import { dataTypeList, } from './logic-types';
|
|
5
|
+
function fieldsToOptions(fields) {
|
|
6
|
+
return fields.map(field => ({
|
|
7
|
+
label: field.title,
|
|
8
|
+
value: field.name,
|
|
9
|
+
children: field.children?.length
|
|
10
|
+
? fieldsToOptions(field.children)
|
|
11
|
+
: undefined,
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
export default function LeftRender(props) {
|
|
15
|
+
const { expr, onExprChange, fields, disabled, enableCascadeMode } = props;
|
|
16
|
+
if (enableCascadeMode) {
|
|
17
|
+
return (_jsx("div", { className: "w-56", children: _jsx(Cascader, { placeholder: "\u8BF7\u9009\u62E9", value: expr.left, className: "w-full", disabled: disabled, treeData: fieldsToOptions(fields), onChange: cascadeVal => {
|
|
18
|
+
if (!Array.isArray(cascadeVal)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const fieldPaths = cascadeVal;
|
|
22
|
+
const field = findFieldByPath(fields, fieldPaths);
|
|
23
|
+
const { disabledOperations = [], customOperations } = field ?? {};
|
|
24
|
+
const dataType = dataTypeList.find(item => item.type === field?.type);
|
|
25
|
+
let operations = dataType?.operations ?? [];
|
|
26
|
+
if (Array.isArray(customOperations)) {
|
|
27
|
+
operations = customOperations;
|
|
28
|
+
}
|
|
29
|
+
else if (disabledOperations.length > 0) {
|
|
30
|
+
operations = operations.filter(item => !disabledOperations.includes(item.value));
|
|
31
|
+
}
|
|
32
|
+
onExprChange?.({
|
|
33
|
+
left: [...fieldPaths],
|
|
34
|
+
operator: operations?.find(e => e.value === expr.operator)
|
|
35
|
+
? expr.operator
|
|
36
|
+
: operations?.[0]?.value,
|
|
37
|
+
right: undefined,
|
|
38
|
+
});
|
|
39
|
+
} }) }));
|
|
40
|
+
}
|
|
41
|
+
return (_jsx("div", { className: "w-40", children: _jsx(Select, { placeholder: "\u8BF7\u9009\u62E9", value: expr.left, className: "w-full", disabled: disabled, filter: true, optionList: fieldsToOptions(fields), onChange: val => {
|
|
42
|
+
const field = fields.find(item => item.name === val);
|
|
43
|
+
const { disabledOperations = [] } = field ?? {};
|
|
44
|
+
const dataType = dataTypeList.find(item => item.type === field?.type);
|
|
45
|
+
let operations = (field?.operatorProps?.operations ??
|
|
46
|
+
dataType?.operations ??
|
|
47
|
+
[]);
|
|
48
|
+
if (disabledOperations.length > 0) {
|
|
49
|
+
operations = operations.filter(item => !disabledOperations.includes(item.value));
|
|
50
|
+
}
|
|
51
|
+
onExprChange?.({
|
|
52
|
+
left: val,
|
|
53
|
+
operator: operations?.find(e => e.value === expr.operator)
|
|
54
|
+
? expr.operator
|
|
55
|
+
: operations?.[0]?.value,
|
|
56
|
+
right: undefined,
|
|
57
|
+
});
|
|
58
|
+
} }) }));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=logic-left-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-left-render.js","sourceRoot":"","sources":["../../../src/logic-editor/logic-left-render.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type OperatorRenderProps } from '../logic-expr';
|
|
2
|
+
import { type LogicFilterLeft, type RenderProps } from './logic-types';
|
|
3
|
+
export default function OperatorRender(props: OperatorRenderProps<LogicFilterLeft, string, string | number | undefined> & RenderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Select } from '@coze-arch/coze-design';
|
|
3
|
+
import { findFieldByPath } from './utils';
|
|
4
|
+
import { dataTypeList, } from './logic-types';
|
|
5
|
+
export default function OperatorRender(props) {
|
|
6
|
+
const { expr, onExprChange, fields, disabled = false } = props;
|
|
7
|
+
const field = findFieldByPath(fields, expr.left);
|
|
8
|
+
const dataType = dataTypeList.find(item => item.type === field?.type);
|
|
9
|
+
if (!field) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const { disabledOperations = [], customOperations } = field;
|
|
13
|
+
let options = (field.operatorProps?.operations ??
|
|
14
|
+
dataType?.operations ??
|
|
15
|
+
[]);
|
|
16
|
+
if (Array.isArray(customOperations)) {
|
|
17
|
+
options = customOperations;
|
|
18
|
+
}
|
|
19
|
+
else if (disabledOperations.length > 0) {
|
|
20
|
+
options = options.filter(item => !disabledOperations.includes(item.value));
|
|
21
|
+
}
|
|
22
|
+
return (_jsx("div", { className: "w-24", children: _jsx(Select, { placeholder: "\u64CD\u4F5C\u7B26", value: expr.operator, style: { width: '100%' }, disabled: disabled, optionList: options, onChange: val => {
|
|
23
|
+
onExprChange?.({
|
|
24
|
+
...expr,
|
|
25
|
+
operator: val,
|
|
26
|
+
});
|
|
27
|
+
} }) }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=logic-operator-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-operator-render.js","sourceRoot":"","sources":["../../../src/logic-editor/logic-operator-render.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,YAAY,GAIb,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,KAKa;IAEb,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,kBAAkB,GAAG,EAAE,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU;QAC5C,QAAQ,EAAE,UAAU;QACpB,EAAE,CAAqB,CAAC;IAE1B,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,OAAO,GAAG,gBAAgB,CAAC;IAC7B,CAAC;SAAM,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,MAAM,IACL,WAAW,EAAC,oBAAK,EACjB,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACd,YAAY,EAAE,CAAC;oBACb,GAAG,IAAI;oBACP,QAAQ,EAAE,GAAyB;iBACpC,CAAC,CAAC;YACL,CAAC,GACD,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type RightRenderProps } from '../logic-expr';
|
|
2
|
+
import { type LogicFilterLeft, type RenderProps } from './logic-types';
|
|
3
|
+
export default function RightRender(props: RightRenderProps<LogicFilterLeft, string, string | number | undefined> & RenderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { findFieldByPath } from './utils';
|
|
3
|
+
import { dataTypeList, } from './logic-types';
|
|
4
|
+
export default function RightRender(props) {
|
|
5
|
+
const { expr, onExprChange, fields, disabled = false } = props;
|
|
6
|
+
const field = findFieldByPath(fields, expr.left);
|
|
7
|
+
if (!field) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
if (expr.operator === 'is-empty' || expr.operator === 'is-not-empty') {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const Setter = field?.setter ||
|
|
14
|
+
dataTypeList.find(dataType => dataType.type === field.type)?.setter;
|
|
15
|
+
if (!Setter) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return (_jsx("div", { className: "w-48 grow overflow-hidden", children: _jsx(Setter, { ...(field.setterProps ?? {}), expr: expr, field: field, disabled: disabled, value: expr.right, onChange: val => {
|
|
19
|
+
onExprChange?.({
|
|
20
|
+
...expr,
|
|
21
|
+
right: val,
|
|
22
|
+
});
|
|
23
|
+
} }) }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=logic-right-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic-right-render.js","sourceRoot":"","sources":["../../../src/logic-editor/logic-right-render.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,YAAY,GAGb,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,OAAO,UAAU,WAAW,CACjC,KAKa;IAEb,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GACV,KAAK,EAAE,MAAM;QACb,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,MAAM,OACD,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAC7B,IAAI,EAAE,IAAoC,EAC1C,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,IAAI,CAAC,KAAe,EAC3B,QAAQ,EAAE,GAAG,CAAC,EAAE;gBACd,YAAY,EAAE,CAAC;oBACb,GAAG,IAAI;oBACP,KAAK,EAAE,GAAyB;iBACjC,CAAC,CAAC;YACL,CAAC,GACD,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type Expr, type ExprGroup } from '../logic-expr';
|
|
2
|
+
export interface LogicOperation {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
export type LogicFilterLeft = string | string[];
|
|
7
|
+
export type LogicFilter = ExprGroup<LogicFilterLeft, string, any>;
|
|
8
|
+
export interface RenderProps {
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
fields: LogicField[];
|
|
11
|
+
/** 开启级联模式,佐治会变成数组 */
|
|
12
|
+
enableCascadeMode?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** 逻辑编辑器的字段 */
|
|
15
|
+
export interface LogicField {
|
|
16
|
+
/** 字段标题 */
|
|
17
|
+
title: React.ReactNode;
|
|
18
|
+
/** 字段名称 */
|
|
19
|
+
name: string;
|
|
20
|
+
/** 字段类型 */
|
|
21
|
+
type: 'string' | 'number' | 'options' | 'custom';
|
|
22
|
+
setterProps?: Record<string, unknown>;
|
|
23
|
+
/** 自定义操作符右边的输入编辑器 */
|
|
24
|
+
setter?: LogicSetter;
|
|
25
|
+
/** 禁用操作符列表 */
|
|
26
|
+
disabledOperations?: string[];
|
|
27
|
+
/** operator 自定义属性 */
|
|
28
|
+
operatorProps?: Record<string, unknown>;
|
|
29
|
+
/** 自定义操作符列表,会覆盖原有列表 */
|
|
30
|
+
customOperations?: LogicOperation[];
|
|
31
|
+
/** 子字段 */
|
|
32
|
+
children?: LogicField[];
|
|
33
|
+
}
|
|
34
|
+
export interface DataTypeSetterProps<T = any> {
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
value: T;
|
|
37
|
+
expr: Expr | undefined;
|
|
38
|
+
field: LogicField;
|
|
39
|
+
disabled: boolean;
|
|
40
|
+
onChange: (val: T) => void;
|
|
41
|
+
}
|
|
42
|
+
export type LogicSetter = (props: DataTypeSetterProps) => JSX.Element | null;
|
|
43
|
+
export interface LogicDataType {
|
|
44
|
+
type: 'string' | 'number' | 'date' | 'options';
|
|
45
|
+
operations: LogicOperation[];
|
|
46
|
+
setter: LogicSetter;
|
|
47
|
+
}
|
|
48
|
+
export declare const baseOperations: LogicOperation[];
|
|
49
|
+
export declare const dataTypeList: LogicDataType[];
|