@qxs-bns/components 0.0.90 → 0.0.91
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 +11 -15
- package/es/base/define.mjs +2 -0
- package/es/base/define.mjs.map +1 -0
- package/es/base/uid.mjs +2 -0
- package/es/base/uid.mjs.map +1 -0
- package/es/data-chart.mjs +142 -0
- package/es/data-chart.mjs.map +1 -0
- package/es/editor/blocksuite-editor.mjs +1115 -0
- package/es/editor/blocksuite-editor.mjs.map +1 -0
- package/es/editor/content-format.mjs +2 -0
- package/es/editor/content-format.mjs.map +1 -0
- package/es/editor/index.mjs +2 -0
- package/es/editor/index.mjs.map +1 -0
- package/es/editor/toolbar.mjs +2 -0
- package/es/editor/toolbar.mjs.map +1 -0
- package/es/entry-data-chart.mjs +2 -0
- package/es/entry-data-chart.mjs.map +1 -0
- package/es/entry-editor.mjs +2 -0
- package/es/entry-editor.mjs.map +1 -0
- package/es/entry-file-upload.mjs +2 -0
- package/es/entry-file-upload.mjs.map +1 -0
- package/es/entry-fixed-action-bar.mjs +2 -0
- package/es/entry-fixed-action-bar.mjs.map +1 -0
- package/es/entry-icon.mjs +2 -0
- package/es/entry-icon.mjs.map +1 -0
- package/es/entry-image-upload.mjs +2 -0
- package/es/entry-image-upload.mjs.map +1 -0
- package/es/entry-photo-crop-tool.mjs +2 -0
- package/es/entry-photo-crop-tool.mjs.map +1 -0
- package/es/entry-subject.mjs +2 -0
- package/es/entry-subject.mjs.map +1 -0
- package/es/file-upload.mjs +157 -0
- package/es/file-upload.mjs.map +1 -0
- package/es/fixed-action-bar.mjs +39 -0
- package/es/fixed-action-bar.mjs.map +1 -0
- package/es/icon.mjs +20 -0
- package/es/icon.mjs.map +1 -0
- package/es/image-upload.mjs +333 -0
- package/es/image-upload.mjs.map +1 -0
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs +2 -0
- package/es/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.mjs.map +1 -0
- package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs +2 -0
- package/es/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.mjs.map +1 -0
- package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs +2 -0
- package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.mjs.map +1 -0
- package/es/photo-crop-tool.mjs +147 -0
- package/es/photo-crop-tool.mjs.map +1 -0
- package/es/src/alert/src/alert.mjs.map +1 -1
- package/es/src/components.mjs +1 -1
- package/es/src/data-chart/index.mjs +1 -1
- package/es/src/data-chart/index.mjs.map +1 -1
- package/es/src/dialog/src/dialog.mjs +1 -1
- package/es/src/dialog/src/dialog.mjs.map +1 -1
- package/es/src/file-upload/index.mjs +1 -1
- package/es/src/file-upload/index.mjs.map +1 -1
- package/es/src/image-upload/index.mjs +1 -1
- package/es/src/image-upload/index.mjs.map +1 -1
- package/es/src/message/src/message.mjs +1 -1
- package/es/src/message/src/message.mjs.map +1 -1
- package/es/src/photo-crop-tool/index.mjs +1 -1
- package/es/src/photo-crop-tool/index.mjs.map +1 -1
- package/es/src/ui/button/index.mjs.map +1 -1
- package/es/src/ui/checkbox/index.mjs.map +1 -1
- package/es/src/ui/dialog/index.mjs.map +1 -1
- package/es/src/ui/input/index.mjs +1 -1
- package/es/src/ui/input/index.mjs.map +1 -1
- package/es/src/ui/input-number/index.mjs.map +1 -1
- package/es/src/ui/layout/index.mjs.map +1 -1
- package/es/src/ui/popover/index.mjs.map +1 -1
- package/es/src/ui/radio/index.mjs.map +1 -1
- package/es/src/ui/scrollbar/index.mjs.map +1 -1
- package/es/src/ui/select/index.mjs +1 -1
- package/es/src/ui/select/index.mjs.map +1 -1
- package/es/src/ui/table/index.mjs.map +1 -1
- package/es/src/ui/tag/index.mjs.map +1 -1
- package/es/src/wc-bridge.mjs +2 -0
- package/es/src/wc-bridge.mjs.map +1 -0
- package/es/subject/action.mjs +171 -0
- package/es/subject/action.mjs.map +1 -0
- package/es/subject/blank-fill.mjs +385 -0
- package/es/subject/blank-fill.mjs.map +1 -0
- package/es/subject/draft.mjs +2 -0
- package/es/subject/draft.mjs.map +1 -0
- package/es/subject/layout.mjs +21 -0
- package/es/subject/layout.mjs.map +1 -0
- package/es/subject/page-end.mjs +28 -0
- package/es/subject/page-end.mjs.map +1 -0
- package/es/subject/pagination.mjs +2 -0
- package/es/subject/pagination.mjs.map +1 -0
- package/es/subject/runtime.mjs +2 -0
- package/es/subject/runtime.mjs.map +1 -0
- package/es/subject/scale.mjs +267 -0
- package/es/subject/scale.mjs.map +1 -0
- package/es/subject/shared-methods.mjs +2 -0
- package/es/subject/shared-methods.mjs.map +1 -0
- package/es/subject/shared-styles.mjs +75 -0
- package/es/subject/shared-styles.mjs.map +1 -0
- package/es/subject/single.mjs +600 -0
- package/es/subject/single.mjs.map +1 -0
- package/es/subject/sort-controller.mjs +2 -0
- package/es/subject/sort-controller.mjs.map +1 -0
- package/es/subject/sortable.mjs +30 -0
- package/es/subject/sortable.mjs.map +1 -0
- package/es/subject/sorting-card.mjs +52 -0
- package/es/subject/sorting-card.mjs.map +1 -0
- package/es/subject/text-fill.mjs +395 -0
- package/es/subject/text-fill.mjs.map +1 -0
- package/es/subject/title-prefix.mjs +2 -0
- package/es/subject/title-prefix.mjs.map +1 -0
- package/es/subject/types.mjs +2 -0
- package/es/subject/types.mjs.map +1 -0
- package/lib/base/define.cjs +2 -0
- package/lib/base/define.cjs.map +1 -0
- package/lib/base/uid.cjs +2 -0
- package/lib/base/uid.cjs.map +1 -0
- package/lib/data-chart.cjs +142 -0
- package/lib/data-chart.cjs.map +1 -0
- package/lib/editor/blocksuite-editor.cjs +1115 -0
- package/lib/editor/blocksuite-editor.cjs.map +1 -0
- package/lib/editor/content-format.cjs +2 -0
- package/lib/editor/content-format.cjs.map +1 -0
- package/lib/editor/index.cjs +2 -0
- package/lib/editor/index.cjs.map +1 -0
- package/lib/editor/toolbar.cjs +2 -0
- package/lib/editor/toolbar.cjs.map +1 -0
- package/lib/entry-data-chart.cjs +2 -0
- package/lib/entry-data-chart.cjs.map +1 -0
- package/lib/entry-editor.cjs +2 -0
- package/lib/entry-editor.cjs.map +1 -0
- package/lib/entry-file-upload.cjs +2 -0
- package/lib/entry-file-upload.cjs.map +1 -0
- package/lib/entry-fixed-action-bar.cjs +2 -0
- package/lib/entry-fixed-action-bar.cjs.map +1 -0
- package/lib/entry-icon.cjs +2 -0
- package/lib/entry-icon.cjs.map +1 -0
- package/lib/entry-image-upload.cjs +2 -0
- package/lib/entry-image-upload.cjs.map +1 -0
- package/lib/entry-photo-crop-tool.cjs +2 -0
- package/lib/entry-photo-crop-tool.cjs.map +1 -0
- package/lib/entry-subject.cjs +2 -0
- package/lib/entry-subject.cjs.map +1 -0
- package/lib/file-upload.cjs +157 -0
- package/lib/file-upload.cjs.map +1 -0
- package/lib/fixed-action-bar.cjs +39 -0
- package/lib/fixed-action-bar.cjs.map +1 -0
- package/lib/icon.cjs +20 -0
- package/lib/icon.cjs.map +1 -0
- package/lib/image-upload.cjs +333 -0
- package/lib/image-upload.cjs.map +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs +2 -0
- package/lib/node_modules/.pnpm/marked@17.0.6/node_modules/marked/lib/marked.esm.cjs.map +1 -0
- package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs +2 -0
- package/lib/node_modules/.pnpm/turndown-plugin-gfm@1.0.2/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.cjs.map +1 -0
- package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs +2 -0
- package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.es.cjs.map +1 -0
- package/lib/photo-crop-tool.cjs +147 -0
- package/lib/photo-crop-tool.cjs.map +1 -0
- package/lib/src/alert/src/alert.cjs.map +1 -1
- package/lib/src/components.cjs +1 -1
- package/lib/src/data-chart/index.cjs +1 -1
- package/lib/src/data-chart/index.cjs.map +1 -1
- package/lib/src/dialog/src/dialog.cjs +1 -1
- package/lib/src/dialog/src/dialog.cjs.map +1 -1
- package/lib/src/file-upload/index.cjs +1 -1
- package/lib/src/file-upload/index.cjs.map +1 -1
- package/lib/src/image-upload/index.cjs +1 -1
- package/lib/src/image-upload/index.cjs.map +1 -1
- package/lib/src/message/src/message.cjs +1 -1
- package/lib/src/message/src/message.cjs.map +1 -1
- package/lib/src/photo-crop-tool/index.cjs +1 -1
- package/lib/src/photo-crop-tool/index.cjs.map +1 -1
- package/lib/src/ui/button/index.cjs.map +1 -1
- package/lib/src/ui/checkbox/index.cjs.map +1 -1
- package/lib/src/ui/dialog/index.cjs.map +1 -1
- package/lib/src/ui/input/index.cjs +1 -1
- package/lib/src/ui/input/index.cjs.map +1 -1
- package/lib/src/ui/input-number/index.cjs.map +1 -1
- package/lib/src/ui/layout/index.cjs.map +1 -1
- package/lib/src/ui/popover/index.cjs.map +1 -1
- package/lib/src/ui/radio/index.cjs.map +1 -1
- package/lib/src/ui/scrollbar/index.cjs.map +1 -1
- package/lib/src/ui/select/index.cjs +1 -1
- package/lib/src/ui/select/index.cjs.map +1 -1
- package/lib/src/ui/table/index.cjs.map +1 -1
- package/lib/src/ui/tag/index.cjs.map +1 -1
- package/lib/src/wc-bridge.cjs +2 -0
- package/lib/src/wc-bridge.cjs.map +1 -0
- package/lib/subject/action.cjs +171 -0
- package/lib/subject/action.cjs.map +1 -0
- package/lib/subject/blank-fill.cjs +385 -0
- package/lib/subject/blank-fill.cjs.map +1 -0
- package/lib/subject/draft.cjs +2 -0
- package/lib/subject/draft.cjs.map +1 -0
- package/lib/subject/layout.cjs +21 -0
- package/lib/subject/layout.cjs.map +1 -0
- package/lib/subject/page-end.cjs +28 -0
- package/lib/subject/page-end.cjs.map +1 -0
- package/lib/subject/pagination.cjs +2 -0
- package/lib/subject/pagination.cjs.map +1 -0
- package/lib/subject/runtime.cjs +2 -0
- package/lib/subject/runtime.cjs.map +1 -0
- package/lib/subject/scale.cjs +267 -0
- package/lib/subject/scale.cjs.map +1 -0
- package/lib/subject/shared-methods.cjs +2 -0
- package/lib/subject/shared-methods.cjs.map +1 -0
- package/lib/subject/shared-styles.cjs +75 -0
- package/lib/subject/shared-styles.cjs.map +1 -0
- package/lib/subject/single.cjs +600 -0
- package/lib/subject/single.cjs.map +1 -0
- package/lib/subject/sort-controller.cjs +2 -0
- package/lib/subject/sort-controller.cjs.map +1 -0
- package/lib/subject/sortable.cjs +30 -0
- package/lib/subject/sortable.cjs.map +1 -0
- package/lib/subject/sorting-card.cjs +52 -0
- package/lib/subject/sorting-card.cjs.map +1 -0
- package/lib/subject/text-fill.cjs +395 -0
- package/lib/subject/text-fill.cjs.map +1 -0
- package/lib/subject/title-prefix.cjs +2 -0
- package/lib/subject/title-prefix.cjs.map +1 -0
- package/lib/subject/types.cjs +2 -0
- package/lib/subject/types.cjs.map +1 -0
- package/package.json +94 -32
- package/types/base/define.d.ts +1 -0
- package/types/base/uid.d.ts +1 -0
- package/types/data-chart.d.ts +65 -0
- package/types/editor/blocksuite-editor.d.ts +191 -0
- package/types/editor/content-format.d.ts +4 -0
- package/types/editor/index.d.ts +4 -0
- package/types/editor/toolbar.d.ts +6 -0
- package/types/editor/types.d.ts +42 -0
- package/types/entry-data-chart.d.ts +1 -0
- package/types/entry-editor.d.ts +2 -0
- package/types/entry-file-upload.d.ts +1 -0
- package/types/entry-fixed-action-bar.d.ts +1 -0
- package/types/entry-icon.d.ts +2 -0
- package/types/entry-image-upload.d.ts +1 -0
- package/types/entry-photo-crop-tool.d.ts +1 -0
- package/types/entry-subject.d.ts +2 -0
- package/types/file-upload.d.ts +48 -0
- package/types/fixed-action-bar.d.ts +25 -0
- package/types/icon.d.ts +30 -0
- package/types/image-upload.d.ts +68 -0
- package/types/index.d.ts +21 -6
- package/types/photo-crop-tool.d.ts +43 -0
- package/types/src/components.d.ts +2 -7
- package/types/src/components.d.ts.map +1 -1
- package/types/src/data-chart/index.d.ts +11 -27
- package/types/src/data-chart/index.d.ts.map +1 -1
- package/types/src/dialog/src/dialog.d.ts.map +1 -1
- package/types/src/file-upload/index.d.ts +10 -17
- package/types/src/file-upload/index.d.ts.map +1 -1
- package/types/src/icon/index.d.ts +1 -1
- package/types/src/icon/src/icon.d.ts +1 -1
- package/types/src/image-upload/index.d.ts +10 -25
- package/types/src/image-upload/index.d.ts.map +1 -1
- package/types/src/message/index.d.ts +2 -2
- package/types/src/message/index.d.ts.map +1 -1
- package/types/src/message/src/message.d.ts.map +1 -1
- package/types/src/photo-crop-tool/index.d.ts +9 -52
- package/types/src/photo-crop-tool/index.d.ts.map +1 -1
- package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
- package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +2 -2
- package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +2 -2
- package/types/src/subject-list/src/components/subject-scale.vue.d.ts +2 -2
- package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +1 -1
- package/types/src/subject-list/src/components/subject-single.vue.d.ts +2 -2
- package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +1 -1
- package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +2 -2
- package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
- package/types/src/subject-type/src/subject-type.vue.d.ts.map +1 -1
- package/types/src/ui/button/index.d.ts +4 -4
- package/types/src/ui/checkbox/index.d.ts +2 -2
- package/types/src/ui/checkbox/index.d.ts.map +1 -1
- package/types/src/ui/dialog/index.d.ts +2 -2
- package/types/src/ui/dialog/index.d.ts.map +1 -1
- package/types/src/ui/index.d.ts +9 -9
- package/types/src/ui/index.d.ts.map +1 -1
- package/types/src/ui/input/index.d.ts +4 -4
- package/types/src/ui/input-number/index.d.ts +4 -4
- package/types/src/ui/input-number/index.d.ts.map +1 -1
- package/types/src/ui/layout/index.d.ts +6 -6
- package/types/src/ui/layout/index.d.ts.map +1 -1
- package/types/src/ui/popover/index.d.ts +4 -4
- package/types/src/ui/popover/index.d.ts.map +1 -1
- package/types/src/ui/radio/index.d.ts.map +1 -1
- package/types/src/ui/scrollbar/index.d.ts.map +1 -1
- package/types/src/ui/select/index.d.ts +4 -4
- package/types/src/ui/select/index.d.ts.map +1 -1
- package/types/src/ui/table/index.d.ts +3 -3
- package/types/src/ui/table/index.d.ts.map +1 -1
- package/types/src/ui/tag/index.d.ts +2 -2
- package/types/src/ui/tag/index.d.ts.map +1 -1
- package/types/src/wc-bridge.d.ts +23 -0
- package/types/src/wc-bridge.d.ts.map +1 -0
- package/types/subject/action.d.ts +37 -0
- package/types/subject/blank-fill.d.ts +79 -0
- package/types/subject/draft.d.ts +63 -0
- package/types/subject/index.d.ts +13 -0
- package/types/subject/layout.d.ts +7 -0
- package/types/subject/page-end.d.ts +16 -0
- package/types/subject/pagination.d.ts +23 -0
- package/types/subject/runtime.d.ts +12 -0
- package/types/subject/scale.d.ts +55 -0
- package/types/subject/shared-methods.d.ts +8 -0
- package/types/subject/shared-styles.d.ts +5 -0
- package/types/subject/single.d.ts +288 -0
- package/types/subject/sort-controller.d.ts +3 -0
- package/types/subject/sortable.d.ts +19 -0
- package/types/subject/sorting-card.d.ts +2 -0
- package/types/subject/text-fill.d.ts +88 -0
- package/types/subject/title-prefix.d.ts +2 -0
- package/types/subject/types.d.ts +12 -0
- package/types/tsconfig.tsbuildinfo +1 -1
- package/es/_virtual/_commonjsHelpers.mjs +0 -2
- package/es/_virtual/_commonjsHelpers.mjs.map +0 -1
- package/es/_virtual/_plugin-vue_export-helper.mjs +0 -2
- package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
- package/es/_virtual/sortable.esm.mjs +0 -2
- package/es/_virtual/sortable.esm.mjs.map +0 -1
- package/es/_virtual/vuedraggable.umd.mjs +0 -2
- package/es/_virtual/vuedraggable.umd.mjs.map +0 -1
- package/es/_virtual/vuedraggable.umd2.mjs +0 -2
- package/es/_virtual/vuedraggable.umd2.mjs.map +0 -1
- package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs +0 -8
- package/es/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.mjs.map +0 -1
- package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +0 -2
- package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +0 -1
- package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs +0 -2
- package/es/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.mjs.map +0 -1
- package/es/src/data-chart/src/analyze.mjs +0 -2
- package/es/src/data-chart/src/analyze.mjs.map +0 -1
- package/es/src/data-chart/src/components/area.vue.mjs +0 -2
- package/es/src/data-chart/src/components/area.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/area.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/area.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/area.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/area.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/bar.vue.mjs +0 -2
- package/es/src/data-chart/src/components/bar.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/bar.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/bar.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/bar.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/bar.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/card.vue.mjs +0 -2
- package/es/src/data-chart/src/components/card.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/card.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/card.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/card.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/card.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs +0 -2
- package/es/src/data-chart/src/components/data-chart-card-bg-left.svg.mjs.map +0 -1
- package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs +0 -2
- package/es/src/data-chart/src/components/data-chart-card-bg-right.svg.mjs.map +0 -1
- package/es/src/data-chart/src/components/empty.svg.mjs +0 -2
- package/es/src/data-chart/src/components/empty.svg.mjs.map +0 -1
- package/es/src/data-chart/src/components/empty.vue.mjs +0 -2
- package/es/src/data-chart/src/components/empty.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/empty.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/empty.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/funnel.vue.mjs +0 -2
- package/es/src/data-chart/src/components/funnel.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/funnel.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/funnel.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/funnel.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/funnel.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/line.vue.mjs +0 -2
- package/es/src/data-chart/src/components/line.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/line.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/line.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/line.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/line.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/pie.vue.mjs +0 -2
- package/es/src/data-chart/src/components/pie.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/pie.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/pie.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/pie.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/pie.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/radar.vue.mjs +0 -2
- package/es/src/data-chart/src/components/radar.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/radar.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/radar.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/radar.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/radar.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter-simple.vue.mjs +0 -2
- package/es/src/data-chart/src/components/scatter-simple.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter-simple.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/scatter-simple.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter-simple.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/scatter-simple.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter.vue.mjs +0 -2
- package/es/src/data-chart/src/components/scatter.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/scatter.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/components/scatter.vue3.mjs +0 -2
- package/es/src/data-chart/src/components/scatter.vue3.mjs.map +0 -1
- package/es/src/data-chart/src/components/table.vue.mjs +0 -2
- package/es/src/data-chart/src/components/table.vue.mjs.map +0 -1
- package/es/src/data-chart/src/components/table.vue2.mjs +0 -2
- package/es/src/data-chart/src/components/table.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/data-chart.vue.mjs +0 -2
- package/es/src/data-chart/src/data-chart.vue.mjs.map +0 -1
- package/es/src/data-chart/src/data-chart.vue2.mjs +0 -2
- package/es/src/data-chart/src/data-chart.vue2.mjs.map +0 -1
- package/es/src/data-chart/src/utils/config.mjs +0 -2
- package/es/src/data-chart/src/utils/config.mjs.map +0 -1
- package/es/src/data-chart/src/utils/injectionKeys.mjs +0 -2
- package/es/src/data-chart/src/utils/injectionKeys.mjs.map +0 -1
- package/es/src/data-chart/src/utils/mapData.mjs +0 -2
- package/es/src/data-chart/src/utils/mapData.mjs.map +0 -1
- package/es/src/data-chart/src/utils/safe-eval.mjs +0 -2
- package/es/src/data-chart/src/utils/safe-eval.mjs.map +0 -1
- package/es/src/data-chart/src/utils/types.mjs +0 -2
- package/es/src/data-chart/src/utils/types.mjs.map +0 -1
- package/es/src/data-chart/src/utils/useCharts.mjs +0 -2
- package/es/src/data-chart/src/utils/useCharts.mjs.map +0 -1
- package/es/src/file-upload/src/file-upload.vue.mjs +0 -2
- package/es/src/file-upload/src/file-upload.vue.mjs.map +0 -1
- package/es/src/file-upload/src/file-upload.vue2.mjs +0 -2
- package/es/src/file-upload/src/file-upload.vue2.mjs.map +0 -1
- package/es/src/file-upload/src/file-upload.vue3.mjs +0 -2
- package/es/src/file-upload/src/file-upload.vue3.mjs.map +0 -1
- package/es/src/fixed-action-bar/index.mjs +0 -2
- package/es/src/fixed-action-bar/index.mjs.map +0 -1
- package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs +0 -2
- package/es/src/fixed-action-bar/src/fixed-action-bar.vue.mjs.map +0 -1
- package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs +0 -2
- package/es/src/fixed-action-bar/src/fixed-action-bar.vue2.mjs.map +0 -1
- package/es/src/image-upload/src/image-upload.vue.mjs +0 -2
- package/es/src/image-upload/src/image-upload.vue.mjs.map +0 -1
- package/es/src/image-upload/src/image-upload.vue2.mjs +0 -2
- package/es/src/image-upload/src/image-upload.vue2.mjs.map +0 -1
- package/es/src/image-upload/src/image-upload.vue3.mjs +0 -2
- package/es/src/image-upload/src/image-upload.vue3.mjs.map +0 -1
- package/es/src/photo-crop-tool/src/composables.mjs +0 -2
- package/es/src/photo-crop-tool/src/composables.mjs.map +0 -1
- package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs +0 -2
- package/es/src/photo-crop-tool/src/photo-crop-tool.vue.mjs.map +0 -1
- package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs +0 -2
- package/es/src/photo-crop-tool/src/photo-crop-tool.vue2.mjs.map +0 -1
- package/es/src/subject-action/index.mjs +0 -2
- package/es/src/subject-action/index.mjs.map +0 -1
- package/es/src/subject-action/src/subject-action.vue.mjs +0 -2
- package/es/src/subject-action/src/subject-action.vue.mjs.map +0 -1
- package/es/src/subject-action/src/subject-action.vue2.mjs +0 -2
- package/es/src/subject-action/src/subject-action.vue2.mjs.map +0 -1
- package/es/src/subject-layout/index.mjs +0 -2
- package/es/src/subject-layout/index.mjs.map +0 -1
- package/es/src/subject-layout/src/subject-layout.vue.mjs +0 -2
- package/es/src/subject-layout/src/subject-layout.vue.mjs.map +0 -1
- package/es/src/subject-layout/src/subject-layout.vue2.mjs +0 -2
- package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +0 -1
- package/es/src/subject-list/index.mjs +0 -2
- package/es/src/subject-list/index.mjs.map +0 -1
- package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +0 -2
- package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +0 -2
- package/es/src/subject-list/src/components/SubjectRichText.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs +0 -2
- package/es/src/subject-list/src/components/subject-blank-fill.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/subject-blank-fill.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-scale.vue.mjs +0 -2
- package/es/src/subject-list/src/components/subject-scale.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-scale.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/subject-scale.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-single.vue.mjs +0 -2
- package/es/src/subject-list/src/components/subject-single.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-single.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-text-fill.vue.mjs +0 -2
- package/es/src/subject-list/src/components/subject-text-fill.vue.mjs.map +0 -1
- package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs +0 -2
- package/es/src/subject-list/src/components/subject-text-fill.vue2.mjs.map +0 -1
- package/es/src/subject-list/src/subject-list.vue.mjs +0 -2
- package/es/src/subject-list/src/subject-list.vue.mjs.map +0 -1
- package/es/src/subject-list/src/subject-list.vue2.mjs +0 -2
- package/es/src/subject-list/src/subject-list.vue2.mjs.map +0 -1
- package/es/src/subject-type/index.mjs +0 -2
- package/es/src/subject-type/index.mjs.map +0 -1
- package/es/src/subject-type/src/subject-type.vue.mjs +0 -2
- package/es/src/subject-type/src/subject-type.vue.mjs.map +0 -1
- package/es/src/subject-type/src/subject-type.vue2.mjs +0 -2
- package/es/src/subject-type/src/subject-type.vue2.mjs.map +0 -1
- package/lib/_virtual/_commonjsHelpers.cjs +0 -2
- package/lib/_virtual/_commonjsHelpers.cjs.map +0 -1
- package/lib/_virtual/_plugin-vue_export-helper.cjs +0 -2
- package/lib/_virtual/_plugin-vue_export-helper.cjs.map +0 -1
- package/lib/_virtual/sortable.esm.cjs +0 -2
- package/lib/_virtual/sortable.esm.cjs.map +0 -1
- package/lib/_virtual/vuedraggable.umd.cjs +0 -2
- package/lib/_virtual/vuedraggable.umd.cjs.map +0 -1
- package/lib/_virtual/vuedraggable.umd2.cjs +0 -2
- package/lib/_virtual/vuedraggable.umd2.cjs.map +0 -1
- package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs +0 -9
- package/lib/node_modules/.pnpm/sortablejs@1.14.0/node_modules/sortablejs/modular/sortable.esm.cjs.map +0 -1
- package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs +0 -2
- package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs.map +0 -1
- package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs +0 -2
- package/lib/node_modules/.pnpm/vuedraggable@4.1.0_vue@3.5.18_typescript@5.9.2_/node_modules/vuedraggable/dist/vuedraggable.umd.cjs.map +0 -1
- package/lib/src/data-chart/src/analyze.cjs +0 -2
- package/lib/src/data-chart/src/analyze.cjs.map +0 -1
- package/lib/src/data-chart/src/components/area.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/area.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/area.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/area.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/area.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/area.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/bar.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/bar.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/bar.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/bar.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/bar.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/bar.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/card.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/card.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/card.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/card.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/card.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/card.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs +0 -2
- package/lib/src/data-chart/src/components/data-chart-card-bg-left.svg.cjs.map +0 -1
- package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs +0 -2
- package/lib/src/data-chart/src/components/data-chart-card-bg-right.svg.cjs.map +0 -1
- package/lib/src/data-chart/src/components/empty.svg.cjs +0 -2
- package/lib/src/data-chart/src/components/empty.svg.cjs.map +0 -1
- package/lib/src/data-chart/src/components/empty.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/empty.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/empty.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/empty.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/funnel.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/funnel.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/funnel.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/funnel.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/funnel.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/funnel.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/line.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/line.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/line.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/line.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/line.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/line.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/pie.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/pie.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/pie.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/pie.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/pie.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/pie.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/radar.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/radar.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/radar.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/radar.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/radar.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/radar.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter-simple.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter-simple.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter-simple.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter-simple.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/components/scatter.vue3.cjs +0 -2
- package/lib/src/data-chart/src/components/scatter.vue3.cjs.map +0 -1
- package/lib/src/data-chart/src/components/table.vue.cjs +0 -2
- package/lib/src/data-chart/src/components/table.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/components/table.vue2.cjs +0 -2
- package/lib/src/data-chart/src/components/table.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/data-chart.vue.cjs +0 -2
- package/lib/src/data-chart/src/data-chart.vue.cjs.map +0 -1
- package/lib/src/data-chart/src/data-chart.vue2.cjs +0 -2
- package/lib/src/data-chart/src/data-chart.vue2.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/config.cjs +0 -2
- package/lib/src/data-chart/src/utils/config.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/injectionKeys.cjs +0 -2
- package/lib/src/data-chart/src/utils/injectionKeys.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/mapData.cjs +0 -2
- package/lib/src/data-chart/src/utils/mapData.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/safe-eval.cjs +0 -2
- package/lib/src/data-chart/src/utils/safe-eval.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/types.cjs +0 -2
- package/lib/src/data-chart/src/utils/types.cjs.map +0 -1
- package/lib/src/data-chart/src/utils/useCharts.cjs +0 -2
- package/lib/src/data-chart/src/utils/useCharts.cjs.map +0 -1
- package/lib/src/file-upload/src/file-upload.vue.cjs +0 -2
- package/lib/src/file-upload/src/file-upload.vue.cjs.map +0 -1
- package/lib/src/file-upload/src/file-upload.vue2.cjs +0 -2
- package/lib/src/file-upload/src/file-upload.vue2.cjs.map +0 -1
- package/lib/src/file-upload/src/file-upload.vue3.cjs +0 -2
- package/lib/src/file-upload/src/file-upload.vue3.cjs.map +0 -1
- package/lib/src/fixed-action-bar/index.cjs +0 -2
- package/lib/src/fixed-action-bar/index.cjs.map +0 -1
- package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs +0 -2
- package/lib/src/fixed-action-bar/src/fixed-action-bar.vue.cjs.map +0 -1
- package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs +0 -2
- package/lib/src/fixed-action-bar/src/fixed-action-bar.vue2.cjs.map +0 -1
- package/lib/src/image-upload/src/image-upload.vue.cjs +0 -2
- package/lib/src/image-upload/src/image-upload.vue.cjs.map +0 -1
- package/lib/src/image-upload/src/image-upload.vue2.cjs +0 -2
- package/lib/src/image-upload/src/image-upload.vue2.cjs.map +0 -1
- package/lib/src/image-upload/src/image-upload.vue3.cjs +0 -2
- package/lib/src/image-upload/src/image-upload.vue3.cjs.map +0 -1
- package/lib/src/photo-crop-tool/src/composables.cjs +0 -2
- package/lib/src/photo-crop-tool/src/composables.cjs.map +0 -1
- package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs +0 -2
- package/lib/src/photo-crop-tool/src/photo-crop-tool.vue.cjs.map +0 -1
- package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs +0 -2
- package/lib/src/photo-crop-tool/src/photo-crop-tool.vue2.cjs.map +0 -1
- package/lib/src/subject-action/index.cjs +0 -2
- package/lib/src/subject-action/index.cjs.map +0 -1
- package/lib/src/subject-action/src/subject-action.vue.cjs +0 -2
- package/lib/src/subject-action/src/subject-action.vue.cjs.map +0 -1
- package/lib/src/subject-action/src/subject-action.vue2.cjs +0 -2
- package/lib/src/subject-action/src/subject-action.vue2.cjs.map +0 -1
- package/lib/src/subject-layout/index.cjs +0 -2
- package/lib/src/subject-layout/index.cjs.map +0 -1
- package/lib/src/subject-layout/src/subject-layout.vue.cjs +0 -2
- package/lib/src/subject-layout/src/subject-layout.vue.cjs.map +0 -1
- package/lib/src/subject-layout/src/subject-layout.vue2.cjs +0 -2
- package/lib/src/subject-layout/src/subject-layout.vue2.cjs.map +0 -1
- package/lib/src/subject-list/index.cjs +0 -2
- package/lib/src/subject-list/index.cjs.map +0 -1
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/SubjectRichText.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/SubjectRichText.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-blank-fill.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-blank-fill.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-scale.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-scale.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-scale.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-scale.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-single.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-single.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-single.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-single.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-text-fill.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs +0 -2
- package/lib/src/subject-list/src/components/subject-text-fill.vue2.cjs.map +0 -1
- package/lib/src/subject-list/src/subject-list.vue.cjs +0 -2
- package/lib/src/subject-list/src/subject-list.vue.cjs.map +0 -1
- package/lib/src/subject-list/src/subject-list.vue2.cjs +0 -2
- package/lib/src/subject-list/src/subject-list.vue2.cjs.map +0 -1
- package/lib/src/subject-type/index.cjs +0 -2
- package/lib/src/subject-type/index.cjs.map +0 -1
- package/lib/src/subject-type/src/subject-type.vue.cjs +0 -2
- package/lib/src/subject-type/src/subject-type.vue.cjs.map +0 -1
- package/lib/src/subject-type/src/subject-type.vue2.cjs +0 -2
- package/lib/src/subject-type/src/subject-type.vue2.cjs.map +0 -1
- package/theme-chalk/index.css +0 -1
- package/theme-chalk/index.scss +0 -21
- package/theme-chalk/src/base.css +0 -1
- package/theme-chalk/src/base.scss +0 -16
- package/theme-chalk/src/common/qxs-components.css +0 -1
- package/theme-chalk/src/common/qxs-components.scss +0 -4
- package/theme-chalk/src/common/qxs-variables.css +0 -1
- package/theme-chalk/src/common/qxs-variables.scss +0 -81
- package/theme-chalk/src/data-chart/empty.css +0 -1
- package/theme-chalk/src/data-chart/empty.scss +0 -24
- package/theme-chalk/src/data-chart/index.css +0 -1
- package/theme-chalk/src/data-chart/index.scss +0 -11
- package/theme-chalk/src/data-chart/table.css +0 -1
- package/theme-chalk/src/data-chart/table.scss +0 -43
- package/theme-chalk/src/dialog.css +0 -1
- package/theme-chalk/src/dialog.scss +0 -122
- package/theme-chalk/src/file-upload.css +0 -0
- package/theme-chalk/src/file-upload.scss +0 -7
- package/theme-chalk/src/fixed-action-bar.css +0 -1
- package/theme-chalk/src/fixed-action-bar.scss +0 -18
- package/theme-chalk/src/icon.css +0 -1
- package/theme-chalk/src/icon.scss +0 -35
- package/theme-chalk/src/image-upload.css +0 -1
- package/theme-chalk/src/image-upload.scss +0 -149
- package/theme-chalk/src/mixins/_var.css +0 -0
- package/theme-chalk/src/mixins/_var.scss +0 -24
- package/theme-chalk/src/mixins/config.css +0 -0
- package/theme-chalk/src/mixins/config.scss +0 -12
- package/theme-chalk/src/mixins/function.css +0 -0
- package/theme-chalk/src/mixins/function.scss +0 -95
- package/theme-chalk/src/mixins/mixins.css +0 -0
- package/theme-chalk/src/mixins/mixins.scss +0 -102
- package/theme-chalk/src/normalize.css +0 -1
- package/theme-chalk/src/normalize.scss +0 -11
- package/theme-chalk/src/photo-crop-tool.css +0 -1
- package/theme-chalk/src/photo-crop-tool.scss +0 -98
- package/theme-chalk/src/subject-action.css +0 -1
- package/theme-chalk/src/subject-action.scss +0 -78
- package/theme-chalk/src/subject-layout.css +0 -1
- package/theme-chalk/src/subject-layout.scss +0 -28
- package/theme-chalk/src/subject-list.css +0 -1
- package/theme-chalk/src/subject-list.scss +0 -568
- package/theme-chalk/src/subject-template.css +0 -1
- package/theme-chalk/src/subject-template.scss +0 -5
- package/theme-chalk/src/subject-type.css +0 -1
- package/theme-chalk/src/subject-type.scss +0 -42
- package/theme-chalk/src/tiny-mce-editor.css +0 -1
- package/theme-chalk/src/tiny-mce-editor.scss +0 -29
- package/theme-chalk/src/ui/button.css +0 -1
- package/theme-chalk/src/ui/button.scss +0 -173
- package/theme-chalk/src/ui/input.css +0 -1
- package/theme-chalk/src/ui/input.scss +0 -128
- package/theme-chalk/src/ui/table.css +0 -1
- package/theme-chalk/src/ui/table.scss +0 -166
- package/types/src/data-chart/src/analyze.d.ts +0 -23
- package/types/src/data-chart/src/analyze.d.ts.map +0 -1
- package/types/src/data-chart/src/components/area.vue.d.ts +0 -12
- package/types/src/data-chart/src/components/area.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/bar.vue.d.ts +0 -12
- package/types/src/data-chart/src/components/bar.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/card.vue.d.ts +0 -27
- package/types/src/data-chart/src/components/card.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/empty.vue.d.ts +0 -11
- package/types/src/data-chart/src/components/empty.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/funnel.vue.d.ts +0 -11
- package/types/src/data-chart/src/components/funnel.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/line.vue.d.ts +0 -12
- package/types/src/data-chart/src/components/line.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/pie.vue.d.ts +0 -12
- package/types/src/data-chart/src/components/pie.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/radar.vue.d.ts +0 -11
- package/types/src/data-chart/src/components/radar.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/scatter-simple.vue.d.ts +0 -11
- package/types/src/data-chart/src/components/scatter-simple.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/scatter.vue.d.ts +0 -11
- package/types/src/data-chart/src/components/scatter.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/components/table.vue.d.ts +0 -27
- package/types/src/data-chart/src/components/table.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/data-chart.vue.d.ts +0 -28
- package/types/src/data-chart/src/data-chart.vue.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/config.d.ts +0 -41
- package/types/src/data-chart/src/utils/config.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/injectionKeys.d.ts +0 -3
- package/types/src/data-chart/src/utils/injectionKeys.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/mapData.d.ts +0 -64
- package/types/src/data-chart/src/utils/mapData.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/safe-eval.d.ts +0 -9
- package/types/src/data-chart/src/utils/safe-eval.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/types.d.ts +0 -72
- package/types/src/data-chart/src/utils/types.d.ts.map +0 -1
- package/types/src/data-chart/src/utils/useCharts.d.ts +0 -16
- package/types/src/data-chart/src/utils/useCharts.d.ts.map +0 -1
- package/types/src/file-upload/src/file-upload.vue.d.ts +0 -34
- package/types/src/file-upload/src/file-upload.vue.d.ts.map +0 -1
- package/types/src/fixed-action-bar/index.d.ts +0 -56
- package/types/src/fixed-action-bar/index.d.ts.map +0 -1
- package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts +0 -31
- package/types/src/fixed-action-bar/src/fixed-action-bar.vue.d.ts.map +0 -1
- package/types/src/image-upload/src/image-upload.vue.d.ts +0 -49
- package/types/src/image-upload/src/image-upload.vue.d.ts.map +0 -1
- package/types/src/photo-crop-tool/src/composables.d.ts +0 -7
- package/types/src/photo-crop-tool/src/composables.d.ts.map +0 -1
- package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts +0 -65
- package/types/src/photo-crop-tool/src/photo-crop-tool.vue.d.ts.map +0 -1
- package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts +0 -25
- package/types/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),a=require("@qxs-bns/icons"),t=require("../../icon/index.cjs"),l=require("../../message/src/message.cjs");const i={class:"qxs-image-upload__list"},o=["src","alt"],s={key:1,class:"qxs-image-upload__placeholder"},r={key:2,class:"qxs-image-upload__progress"},n={class:"qxs-image-upload__actions"},c=["onClick"],u=["onClick"],d=["accept","multiple","disabled"],m={class:"qxs-image-upload__add-content"},p={key:0,class:"qxs-image-upload__tip"},v=["src"];var g=e.defineComponent({name:"QxsImageUpload",__name:"image-upload",props:e.mergeModels({action:{type:String,required:!0},headers:{type:Object,required:!1},data:{type:Object,required:!1},name:{type:String,required:!1,default:"file"},size:{type:Number,required:!1,default:20},width:{type:Number,required:!1,default:160},height:{type:Number,required:!1,default:90},accept:{type:String,required:!1,default:"image/jpeg,image/jpg,image/png,image/gif"},placeholder:{type:String,required:!1,default:"上传图片"},notip:{type:Boolean,required:!1,default:!1},tipText:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},limit:{type:Number,required:!1,default:1}},{fileList:{type:Array,default:()=>[]},fileListModifiers:{}}),emits:e.mergeModels(["success","remove"],["update:fileList"]),setup(g,{emit:f}){const k=g,h=f,x=e.useModel(g,"fileList"),q=e.ref(!1),_=e.ref(0),y=e.ref(!1),b=e.ref(0),B=e.computed(()=>k.accept.split(",").map(e=>e.split("/").pop())),E=e.computed(()=>{if(k.tipText)return k.tipText;return`支持 ${B.value.join(" / ")} 格式,大小不超过 ${k.size}MB`+(k.width&&k.height?`,建议尺寸 ${k.width}×${k.height}`:"")}),N=e.computed(()=>({"--upload-width":`${k.width}px`,"--upload-height":`${k.height}px`}));function C(e){const a=e.target,t=a.files;t&&!k.disabled&&(x.value.length+t.length>k.limit?l.QxsMessage.warning(`最多上传 ${k.limit} 张图片`):(Array.from(t).forEach(e=>{if(!function(e){const a=e.name.split(".").pop()?.toLowerCase()??"";return B.value.some(e=>e?.toLowerCase()===a)?!(e.size/1024/1024>k.size&&(l.QxsMessage.error(`图片大小不能超过 ${k.size}MB`),1)):(l.QxsMessage.error(`仅支持上传 ${B.value.join(" / ")} 格式的图片`),!1)}(e))return;const a={uid:Date.now()+Math.random(),name:e.name,size:e.size,status:"uploading",url:URL.createObjectURL(e),file:e};x.value.push(a),function(e,a){const t=new FormData;t.append(k.name,e),k.data&&Object.entries(k.data).forEach(([e,a])=>{t.append(e,a)});const i=new XMLHttpRequest;i.open("POST",k.action),k.headers&&Object.entries(k.headers).forEach(([e,a])=>{i.setRequestHeader(e,a)});i.upload.onprogress=e=>{e.lengthComputable&&(_.value=Math.floor(e.loaded/e.total*100))},i.onload=()=>{if(q.value=!1,_.value=0,i.status>=200&&i.status<300){const e=JSON.parse(i.responseText);a.status="success",h("success",e,a,x.value)}else a.status="fail",l.QxsMessage.error("上传失败")},i.onerror=()=>{q.value=!1,_.value=0,a.status="fail",l.QxsMessage.error("上传失败")},q.value=!0,_.value=0,i.send(t)}(e,a)}),a.value=""))}function V(){y.value=!1}function w(){b.value=(b.value-1+x.value.length)%x.value.length}function M(){b.value=(b.value+1)%x.value.length}return e.onUnmounted(()=>{x.value.forEach(e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)})}),(l,g)=>(e.openBlock(),e.createElementBlock("div",{class:"qxs-image-upload",style:e.normalizeStyle(N.value)},[e.createElementVNode("div",i,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(i,d)=>(e.openBlock(),e.createElementBlock("div",{key:i.uid||d,class:"qxs-image-upload__item"},[i.url?(e.openBlock(),e.createElementBlock("img",{key:0,src:i.url,alt:i.name},null,8,o)):(e.openBlock(),e.createElementBlock("div",s,"无图片")),"uploading"===i.status?(e.openBlock(),e.createElementBlock("div",r,[e.createElementVNode("div",{class:"qxs-image-upload__progress-bar",style:e.normalizeStyle({width:`${_.value}%`})},null,4)])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",n,[i.url?(e.openBlock(),e.createElementBlock("span",{key:0,class:"qxs-image-upload__action",onClick:e=>function(e){b.value=e,y.value=!0}(d)},[e.createVNode(e.unref(t.QxsIcon),{icon:e.unref(a.ZoomIn),size:"14px"},null,8,["icon"])],8,c)):e.createCommentVNode("v-if",!0),e.createElementVNode("span",{class:e.normalizeClass(["qxs-image-upload__action",{"is-disabled":l.disabled}]),onClick:e=>function(e){if(k.disabled)return;const a=x.value[e];a.url?.startsWith("blob:")&&URL.revokeObjectURL(a.url),x.value.splice(e,1),h("remove",a)}(d)},[e.createVNode(e.unref(t.QxsIcon),{icon:e.unref(a.Delete),size:"14px"},null,8,["icon"])],10,u)])]))),128)),x.value.length<l.limit?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["qxs-image-upload__add",{"is-disabled":l.disabled}])},[e.createElementVNode("input",{type:"file",accept:l.accept,multiple:l.limit>1,disabled:l.disabled,onChange:C},null,40,d),e.createElementVNode("div",m,[e.createVNode(e.unref(t.QxsIcon),{icon:e.unref(a.UploadImage),size:"32px"},null,8,["icon"]),e.createElementVNode("p",null,e.toDisplayString(l.placeholder),1)])],2)):e.createCommentVNode("v-if",!0)]),l.notip?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",p,e.toDisplayString(E.value),1)),e.createCommentVNode(" Image Viewer "),y.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"qxs-image-viewer",onClick:e.withModifiers(V,["self"])},[e.createElementVNode("div",{class:"qxs-image-viewer__mask",onClick:V}),e.createElementVNode("span",{class:"qxs-image-viewer__close",onClick:V},"×"),x.value.length>1?(e.openBlock(),e.createElementBlock("span",{key:0,class:"qxs-image-viewer__prev",onClick:w},"‹")):e.createCommentVNode("v-if",!0),x.value.length>1?(e.openBlock(),e.createElementBlock("span",{key:1,class:"qxs-image-viewer__next",onClick:M},"›")):e.createCommentVNode("v-if",!0),x.value[b.value]?.url?(e.openBlock(),e.createElementBlock("img",{key:2,src:x.value[b.value].url,class:"qxs-image-viewer__img"},null,8,v)):e.createCommentVNode("v-if",!0)])):e.createCommentVNode("v-if",!0)],4))}});exports.default=g;
|
|
2
|
-
//# sourceMappingURL=image-upload.vue2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-upload.vue2.cjs","sources":["../../../../../../packages/components/src/image-upload/src/image-upload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Delete, UploadImage, ZoomIn } from '@qxs-bns/icons'\nimport { QxsIcon } from '../../icon'\nimport { computed, onUnmounted, ref } from 'vue'\nimport { QxsMessage } from '../../message'\n\nexport interface ImageFile {\n uid?: string | number\n name: string\n url?: string\n size?: number\n status?: 'ready' | 'uploading' | 'success' | 'fail'\n file?: File\n}\n\nexport interface ImageUploadProps {\n action: string\n headers?: Record<string, string>\n data?: Record<string, string | Blob>\n name?: string\n size?: number\n width?: number\n height?: number\n accept?: string\n placeholder?: string\n notip?: boolean\n tipText?: string\n disabled?: boolean\n limit?: number\n}\n\ndefineOptions({\n name: 'QxsImageUpload',\n})\n\nconst props = withDefaults(defineProps<ImageUploadProps>(), {\n name: 'file',\n size: 20,\n width: 160,\n height: 90,\n limit: 1,\n placeholder: '上传图片',\n notip: false,\n accept: 'image/jpeg,image/jpg,image/png,image/gif',\n tipText: '',\n disabled: false,\n})\n\nconst emits = defineEmits<{\n success: [res: any, file: ImageFile, files: ImageFile[]]\n remove: [file: ImageFile]\n}>()\n\nconst fileList = defineModel<ImageFile[]>('fileList', { default: () => [] })\n\nconst isUploading = ref(false)\nconst uploadProgress = ref(0)\nconst viewerVisible = ref(false)\nconst viewerIndex = ref(0)\n\nconst exts = computed(() =>\n props.accept.split(',').map((ext) => ext.split('/').pop()),\n)\n\nconst tipMessage = computed(() => {\n if (props.tipText) return props.tipText\n const formatText = `支持 ${exts.value.join(' / ')} 格式,大小不超过 ${props.size}MB`\n const sizeText = props.width && props.height ? `,建议尺寸 ${props.width}×${props.height}` : ''\n return formatText + sizeText\n})\n\nconst cssVars = computed(() => ({\n '--upload-width': `${props.width}px`,\n '--upload-height': `${props.height}px`,\n}))\n\nfunction validateFile(file: File): boolean {\n const fileExt = file.name.split('.').pop()?.toLowerCase() ?? ''\n const isTypeOk = exts.value.some((ext) => ext?.toLowerCase() === fileExt)\n\n if (!isTypeOk) {\n QxsMessage.error(`仅支持上传 ${exts.value.join(' / ')} 格式的图片`)\n return false\n }\n\n const fileSizeMB = file.size / 1024 / 1024\n if (fileSizeMB > props.size) {\n QxsMessage.error(`图片大小不能超过 ${props.size}MB`)\n return false\n }\n\n return true\n}\n\nfunction handleFileSelect(e: Event) {\n const target = e.target as HTMLInputElement\n const files = target.files\n if (!files || props.disabled) return\n\n if (fileList.value.length + files.length > props.limit) {\n QxsMessage.warning(`最多上传 ${props.limit} 张图片`)\n return\n }\n\n Array.from(files).forEach((file) => {\n if (!validateFile(file)) return\n\n const uid = Date.now() + Math.random()\n const imageFile: ImageFile = {\n uid,\n name: file.name,\n size: file.size,\n status: 'uploading',\n url: URL.createObjectURL(file),\n file,\n }\n\n fileList.value.push(imageFile)\n uploadFile(file, imageFile)\n })\n\n target.value = ''\n}\n\nfunction uploadFile(file: File, imageFile: ImageFile) {\n const formData = new FormData()\n formData.append(props.name, file)\n\n if (props.data) {\n Object.entries(props.data).forEach(([key, value]) => {\n formData.append(key, value)\n })\n }\n\n const xhr = new XMLHttpRequest()\n xhr.open('POST', props.action)\n\n if (props.headers) {\n Object.entries(props.headers).forEach(([key, value]) => {\n xhr.setRequestHeader(key, value)\n })\n }\n\n xhr.upload.onprogress = (e) => {\n if (e.lengthComputable) {\n uploadProgress.value = Math.floor((e.loaded / e.total) * 100)\n }\n }\n\n xhr.onload = () => {\n isUploading.value = false\n uploadProgress.value = 0\n\n if (xhr.status >= 200 && xhr.status < 300) {\n const res = JSON.parse(xhr.responseText)\n imageFile.status = 'success'\n emits('success', res, imageFile, fileList.value)\n } else {\n imageFile.status = 'fail'\n QxsMessage.error('上传失败')\n }\n }\n\n xhr.onerror = () => {\n isUploading.value = false\n uploadProgress.value = 0\n imageFile.status = 'fail'\n QxsMessage.error('上传失败')\n }\n\n isUploading.value = true\n uploadProgress.value = 0\n xhr.send(formData)\n}\n\nfunction handleRemove(index: number) {\n if (props.disabled) return\n\n const file = fileList.value[index]\n if (file.url?.startsWith('blob:')) {\n URL.revokeObjectURL(file.url)\n }\n\n fileList.value.splice(index, 1)\n emits('remove', file)\n}\n\nfunction handlePreview(index: number) {\n viewerIndex.value = index\n viewerVisible.value = true\n}\n\nfunction closeViewer() {\n viewerVisible.value = false\n}\n\nfunction prevImage() {\n viewerIndex.value = (viewerIndex.value - 1 + fileList.value.length) % fileList.value.length\n}\n\nfunction nextImage() {\n viewerIndex.value = (viewerIndex.value + 1) % fileList.value.length\n}\n\nonUnmounted(() => {\n fileList.value.forEach((file) => {\n if (file.url?.startsWith('blob:')) {\n URL.revokeObjectURL(file.url)\n }\n })\n})\n</script>\n\n<template>\n <div class=\"qxs-image-upload\" :style=\"cssVars\">\n <div class=\"qxs-image-upload__list\">\n <div\n v-for=\"(file, index) in fileList\"\n :key=\"file.uid || index\"\n class=\"qxs-image-upload__item\"\n >\n <img v-if=\"file.url\" :src=\"file.url\" :alt=\"file.name\">\n <div v-else class=\"qxs-image-upload__placeholder\">无图片</div>\n\n <div v-if=\"file.status === 'uploading'\" class=\"qxs-image-upload__progress\">\n <div class=\"qxs-image-upload__progress-bar\" :style=\"{ width: `${uploadProgress}%` }\" />\n </div>\n\n <div class=\"qxs-image-upload__actions\">\n <span v-if=\"file.url\" class=\"qxs-image-upload__action\" @click=\"handlePreview(index)\">\n <QxsIcon :icon=\"ZoomIn\" size=\"14px\" />\n </span>\n <span class=\"qxs-image-upload__action\" :class=\"{ 'is-disabled': disabled }\" @click=\"handleRemove(index)\">\n <QxsIcon :icon=\"Delete\" size=\"14px\" />\n </span>\n </div>\n </div>\n\n <label\n v-if=\"fileList.length < limit\"\n class=\"qxs-image-upload__add\"\n :class=\"{ 'is-disabled': disabled }\"\n >\n <input\n type=\"file\"\n :accept=\"accept\"\n :multiple=\"limit > 1\"\n :disabled=\"disabled\"\n @change=\"handleFileSelect\"\n >\n <div class=\"qxs-image-upload__add-content\">\n <QxsIcon :icon=\"UploadImage\" size=\"32px\" />\n <p>{{ placeholder }}</p>\n </div>\n </label>\n </div>\n\n <div v-if=\"!notip\" class=\"qxs-image-upload__tip\">\n {{ tipMessage }}\n </div>\n\n <!-- Image Viewer -->\n <div v-if=\"viewerVisible\" class=\"qxs-image-viewer\" @click.self=\"closeViewer\">\n <div class=\"qxs-image-viewer__mask\" @click=\"closeViewer\" />\n <span class=\"qxs-image-viewer__close\" @click=\"closeViewer\">×</span>\n <span v-if=\"fileList.length > 1\" class=\"qxs-image-viewer__prev\" @click=\"prevImage\">‹</span>\n <span v-if=\"fileList.length > 1\" class=\"qxs-image-viewer__next\" @click=\"nextImage\">›</span>\n <img\n v-if=\"fileList[viewerIndex]?.url\"\n :src=\"fileList[viewerIndex].url\"\n class=\"qxs-image-viewer__img\"\n >\n </div>\n </div>\n</template>\n\n<style scoped>\n.qxs-image-upload {\n --upload-width: 160px;\n --upload-height: 90px;\n}\n\n.qxs-image-upload__list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.qxs-image-upload__item,\n.qxs-image-upload__add {\n position: relative;\n width: var(--upload-width);\n height: var(--upload-height);\n overflow: hidden;\n cursor: pointer;\n border: 1px dashed #d9d9d9;\n border-radius: 6px;\n}\n\n.qxs-image-upload__item:hover,\n.qxs-image-upload__add:hover {\n border-color: #409eff;\n}\n\n.qxs-image-upload__add.is-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.qxs-image-upload__add input {\n display: none;\n}\n\n.qxs-image-upload__add-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #8c939d;\n}\n\n.qxs-image-upload__add-content p {\n margin: 8px 0 0;\n font-size: 14px;\n}\n\n.qxs-image-upload__item img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.qxs-image-upload__placeholder {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #909399;\n background: #f5f7fa;\n}\n\n.qxs-image-upload__progress {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 4px;\n background: rgb(0 0 0 / 10%);\n}\n\n.qxs-image-upload__progress-bar {\n height: 100%;\n background: #409eff;\n transition: width 0.2s;\n}\n\n.qxs-image-upload__actions {\n position: absolute;\n inset: 0;\n display: flex;\n gap: 16px;\n align-items: center;\n justify-content: center;\n background: rgb(0 0 0 / 50%);\n opacity: 0;\n transition: opacity 0.2s;\n}\n\n.qxs-image-upload__item:hover .qxs-image-upload__actions {\n opacity: 1;\n}\n\n.qxs-image-upload__action {\n padding: 4px;\n color: #fff;\n cursor: pointer;\n}\n\n.qxs-image-upload__action.is-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.qxs-image-upload__tip {\n margin-top: 8px;\n font-size: 12px;\n color: #909399;\n}\n\n/* Image Viewer */\n.qxs-image-viewer {\n position: fixed;\n inset: 0;\n z-index: 9999;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.qxs-image-viewer__mask {\n position: absolute;\n inset: 0;\n background: rgb(0 0 0 / 80%);\n}\n\n.qxs-image-viewer__close {\n position: absolute;\n top: 40px;\n right: 40px;\n z-index: 1;\n font-size: 40px;\n color: #fff;\n cursor: pointer;\n}\n\n.qxs-image-viewer__prev,\n.qxs-image-viewer__next {\n position: absolute;\n top: 50%;\n z-index: 1;\n font-size: 60px;\n color: #fff;\n cursor: pointer;\n user-select: none;\n transform: translateY(-50%);\n}\n\n.qxs-image-viewer__prev {\n left: 40px;\n}\n\n.qxs-image-viewer__next {\n right: 40px;\n}\n\n.qxs-image-viewer__img {\n z-index: 1;\n max-width: 80%;\n max-height: 80%;\n}\n</style>\n"],"names":["props","__props","emits","__emit","fileList","_useModel","isUploading","ref","uploadProgress","viewerVisible","viewerIndex","exts","computed","accept","split","map","ext","pop","tipMessage","tipText","value","join","size","width","height","cssVars","handleFileSelect","e","target","files","disabled","length","limit","QxsMessage","warning","Array","from","forEach","file","fileExt","name","toLowerCase","some","error","validateFile","imageFile","uid","Date","now","Math","random","status","url","URL","createObjectURL","push","formData","FormData","append","data","Object","entries","key","xhr","XMLHttpRequest","open","action","headers","setRequestHeader","upload","onprogress","lengthComputable","floor","loaded","total","onload","res","JSON","parse","responseText","onerror","send","uploadFile","closeViewer","prevImage","nextImage","onUnmounted","startsWith","revokeObjectURL","_createElementBlock","class","style","_createElementVNode","_hoisted_1","_openBlock","_Fragment","_renderList","index","src","alt","_hoisted_3","_hoisted_4","_hoisted_5","onClick","$event","handlePreview","_createVNode","_unref","QxsIcon","icon","ZoomIn","_normalizeClass","splice","handleRemove","Delete","type","multiple","onChange","_hoisted_9","UploadImage","placeholder","notip","_hoisted_10","_toDisplayString","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=".qxs-image-upload[data-v-299e0c8a]{--upload-width:160px;--upload-height:90px}.qxs-image-upload__list[data-v-299e0c8a]{display:flex;flex-wrap:wrap;gap:8px}.qxs-image-upload__add[data-v-299e0c8a],.qxs-image-upload__item[data-v-299e0c8a]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;height:var(--upload-height);overflow:hidden;position:relative;width:var(--upload-width)}.qxs-image-upload__add[data-v-299e0c8a]:hover,.qxs-image-upload__item[data-v-299e0c8a]:hover{border-color:#409eff}.qxs-image-upload__add.is-disabled[data-v-299e0c8a]{cursor:not-allowed;opacity:.5}.qxs-image-upload__add input[data-v-299e0c8a]{display:none}.qxs-image-upload__add-content[data-v-299e0c8a]{align-items:center;color:#8c939d;display:flex;flex-direction:column;height:100%;justify-content:center}.qxs-image-upload__add-content p[data-v-299e0c8a]{font-size:14px;margin:8px 0 0}.qxs-image-upload__item img[data-v-299e0c8a]{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.qxs-image-upload__placeholder[data-v-299e0c8a]{align-items:center;background:#f5f7fa;color:#909399;display:flex;height:100%;justify-content:center}.qxs-image-upload__progress[data-v-299e0c8a]{background:rgba(0,0,0,.1);bottom:0;height:4px;left:0;position:absolute;right:0}.qxs-image-upload__progress-bar[data-v-299e0c8a]{background:#409eff;height:100%;transition:width .2s}.qxs-image-upload__actions[data-v-299e0c8a]{align-items:center;background:rgba(0,0,0,.5);display:flex;gap:16px;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.qxs-image-upload__item:hover .qxs-image-upload__actions[data-v-299e0c8a]{opacity:1}.qxs-image-upload__action[data-v-299e0c8a]{color:#fff;cursor:pointer;padding:4px}.qxs-image-upload__action.is-disabled[data-v-299e0c8a]{cursor:not-allowed;opacity:.5}.qxs-image-upload__tip[data-v-299e0c8a]{color:#909399;font-size:12px;margin-top:8px}.qxs-image-viewer[data-v-299e0c8a]{align-items:center;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.qxs-image-viewer__mask[data-v-299e0c8a]{background:rgba(0,0,0,.8);inset:0;position:absolute}.qxs-image-viewer__close[data-v-299e0c8a]{color:#fff;cursor:pointer;font-size:40px;position:absolute;right:40px;top:40px;z-index:1}.qxs-image-viewer__next[data-v-299e0c8a],.qxs-image-viewer__prev[data-v-299e0c8a]{color:#fff;cursor:pointer;font-size:60px;position:absolute;top:50%;transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.qxs-image-viewer__prev[data-v-299e0c8a]{left:40px}.qxs-image-viewer__next[data-v-299e0c8a]{right:40px}.qxs-image-viewer__img[data-v-299e0c8a]{max-height:80%;max-width:80%;z-index:1}";require("../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.cjs").default(e),exports.default=e;
|
|
2
|
-
//# sourceMappingURL=image-upload.vue3.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-upload.vue3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("vue");exports.useCanvas=function(a){const l=e.ref(null);return a&&(l.value=a.getContext("2d")),{clearCanvas:()=>{l.value&&l.value.clearRect(0,0,a.width,a.height)},drawColor:(e,a,t,n,r)=>{l.value&&(l.value.fillStyle=r,l.value.fillRect(e,a,t,n))},drawImage:(e,a,t,n,r)=>{l.value.drawImage(e,a,t,n,r)},cropCanvas:(e,t,n,r)=>new Promise(u=>{if(l.value){const l=document.createElement("canvas");l.width=n,l.height=r;const i=l.getContext("2d");i?(i.drawImage(a,e,t,n,r,0,0,n,r),l.toBlob(e=>{if(e){const a=new File([e],"cropped_image.png",{type:"image/png"});u(a)}else u(null)},"image/png")):u(null)}else u(null)})}};
|
|
2
|
-
//# sourceMappingURL=composables.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composables.cjs","sources":["../../../../../../packages/components/src/photo-crop-tool/src/composables.ts"],"sourcesContent":["import type { Ref } from 'vue'\n// useCanvas.ts\nimport { ref } from 'vue'\n\nexport function useCanvas(canvasElement: HTMLCanvasElement) {\n const context: Ref<CanvasRenderingContext2D | null> = ref(null)\n\n if (canvasElement) {\n context.value = canvasElement.getContext('2d')\n }\n\n const clearCanvas = () => {\n if (context.value) {\n context.value.clearRect(0, 0, canvasElement.width, canvasElement.height)\n }\n }\n\n const drawColor = (x: number, y: number, width: number, height: number, color: string) => {\n if (context.value) {\n context.value.fillStyle = color\n context.value.fillRect(x, y, width, height)\n }\n }\n\n const drawImage = (image: HTMLImageElement, x: number, y: number, width: number, height: number) => {\n context.value!.drawImage(image, x, y, width, height)\n }\n\n const cropCanvas = (x: number, y: number, width: number, height: number): Promise<File | null> => {\n return new Promise((resolve) => {\n if (context.value) {\n const croppedCanvas = document.createElement('canvas')\n croppedCanvas.width = width\n croppedCanvas.height = height\n const croppedContext = croppedCanvas.getContext('2d')\n if (croppedContext) {\n croppedContext.drawImage(canvasElement, x, y, width, height, 0, 0, width, height)\n croppedCanvas.toBlob((blob) => {\n if (blob) {\n const file = new File([blob], 'cropped_image.png', { type: 'image/png' })\n resolve(file)\n }\n else {\n resolve(null)\n }\n }, 'image/png')\n }\n else {\n resolve(null)\n }\n }\n else {\n resolve(null)\n }\n })\n }\n\n return {\n clearCanvas,\n drawColor,\n drawImage,\n cropCanvas,\n }\n}\n"],"names":["canvasElement","context","ref","value","getContext","clearCanvas","clearRect","width","height","drawColor","x","y","color","fillStyle","fillRect","drawImage","image","cropCanvas","Promise","resolve","croppedCanvas","document","createElement","croppedContext","toBlob","blob","file","File","type"],"mappings":"oDAIO,SAAmBA,GACxB,MAAMC,EAAgDC,EAAAA,IAAI,MAoD1D,OAlDIF,IACFC,EAAQE,MAAQH,EAAcI,WAAW,OAiDpC,CACLC,YA/CkBA,KACdJ,EAAQE,OACVF,EAAQE,MAAMG,UAAU,EAAG,EAAGN,EAAcO,MAAOP,EAAcQ,SA8CnEC,UA1CgBA,CAACC,EAAWC,EAAWJ,EAAeC,EAAgBI,KAClEX,EAAQE,QACVF,EAAQE,MAAMU,UAAYD,EAC1BX,EAAQE,MAAMW,SAASJ,EAAGC,EAAGJ,EAAOC,KAwCtCO,UApCgBA,CAACC,EAAyBN,EAAWC,EAAWJ,EAAeC,KAC/EP,EAAQE,MAAOY,UAAUC,EAAON,EAAGC,EAAGJ,EAAOC,IAoC7CS,WAjCiBA,CAACP,EAAWC,EAAWJ,EAAeC,IAChD,IAAIU,QAASC,IAClB,GAAIlB,EAAQE,MAAO,CACjB,MAAMiB,EAAgBC,SAASC,cAAc,UAC7CF,EAAcb,MAAQA,EACtBa,EAAcZ,OAASA,EACvB,MAAMe,EAAiBH,EAAchB,WAAW,MAC5CmB,GACFA,EAAeR,UAAUf,EAAeU,EAAGC,EAAGJ,EAAOC,EAAQ,EAAG,EAAGD,EAAOC,GAC1EY,EAAcI,OAAQC,IACpB,GAAIA,EAAM,CACR,MAAMC,EAAO,IAAIC,KAAK,CAACF,GAAO,oBAAqB,CAAEG,KAAM,cAC3DT,EAAQO,EACV,MAEEP,EAAQ,OAET,cAGHA,EAAQ,KAEZ,MAEEA,EAAQ,QAWhB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),o=require("@vueuse/core"),l=require("./composables.cjs");const a=["src"];var i=e.defineComponent({name:"QxsPhotoCropTool",__name:"photo-crop-tool",props:{imgFile:{type:Object,default:()=>null},aspectRatio:{type:String,default:()=>"16 / 9"},defaultWidth:{type:Number,default:()=>320},defaultHeight:{type:Number,default:()=>180},zoomType:{type:String,default:()=>"fixed"}},setup(i,{expose:u}){const n=i;let s=0,r=0,v=0,h=0;const c=t.useNamespace("photo-crop-tool"),p=e.ref(null),d=e.ref(null),f=e.ref(null),m=e.ref(""),g=e.ref(""),w=e.ref({x:0,y:0}),y=e.ref({width:n.defaultWidth,height:n.defaultHeight,x:0,y:0}),{width:x,height:b}=o.useElementSize(p),{width:E}=o.useElementSize(f),{x:T,y:M,style:z}=o.useDraggable(p,{containerElement:d,draggingElement:p,disabled:e.computed(()=>!!g.value),exact:!0,initialValue:w}),N=e.computed(()=>n.imgFile?URL.createObjectURL(n.imgFile):"");e.watch(()=>n.imgFile,e=>{e&&!e.type.startsWith("image/")?m.value="文件类型错误":m.value=""});const R=e.computed(()=>(f.value?.naturalWidth||0)/E.value),k=e.computed(()=>{const e={left:0,top:0};return"bottom-right"===g.value?(e.left=y.value.x,e.top=y.value.y):"top-left"===g.value?(e.left=y.value.x-x.value,e.top=y.value.y-b.value):"top-right"===g.value?(e.top=y.value.y-b.value,e.left=y.value.x):"bottom-left"===g.value&&(e.left=y.value.x-x.value,e.top=y.value.y),e}),H=e.computed(()=>{const{aspectRatio:e}=n,t={width:`${y.value.width||n.defaultWidth}`,height:`${y.value.height||n.defaultHeight}`,"aspect-ratio":e,top:`${k.value.top}px`,left:`${k.value.left}px`};return"free"===n.zoomType?delete t["aspect-ratio"]:"fixed"===n.zoomType&&delete t.height,c.cssVarBlock(t)});function C(e){return e*R.value}function L(e,t){const o=d.value?.clientWidth||1/0,l=d.value?.clientHeight||1/0;return{width:Math.min(Math.max(e,0),o),height:Math.min(Math.max(t,0),l)}}function F(e){return e instanceof MouseEvent?{clientX:e.clientX,clientY:e.clientY}:e instanceof TouchEvent&&e.touches.length>0?{clientX:e.touches[0].clientX,clientY:e.touches[0].clientY}:{clientX:0,clientY:0}}function W(e,t){const{clientX:o,clientY:l}=F(e);g.value=t,s=o,r=l,v=y.value.width,h=y.value.height,document.addEventListener("touchmove",B,{passive:!1}),document.addEventListener("touchend",V),"bottom-right"===t?(y.value.x=T.value,y.value.y=M.value):"top-left"===t?(y.value.x=T.value+x.value,y.value.y=M.value+b.value):"top-right"===t?(y.value.x=T.value,y.value.y=M.value+b.value):"bottom-left"===t&&(y.value.x=T.value+x.value,y.value.y=M.value),e instanceof TouchEvent&&e.preventDefault()}function B(e){e instanceof TouchEvent&&g.value&&e.preventDefault();const{clientX:t,clientY:o}=F(e),l=t-s,a=o-r;if("bottom-right"===g.value){if("free"===n.zoomType){const{width:e,height:t}=L(v+l,h+a);y.value.width=e,y.value.height=t}else if("fixed"===n.zoomType){const e=Number.parseFloat(n.aspectRatio.split(" / ")[0])/Number.parseFloat(n.aspectRatio.split(" / ")[1]);let t=v+l,o=t/e;const{width:a,height:i}=L(t,o);i>(d.value?.clientHeight||1/0)&&(o=d.value?.clientHeight||1/0,t=o*e),y.value.width=a,y.value.height=i}}else if("top-left"===g.value){if("free"===n.zoomType){const{width:e,height:t}=L(v-l,h-a);y.value.width=e,y.value.height=t}else if("fixed"===n.zoomType){const e=Number.parseFloat(n.aspectRatio.split(" / ")[0])/Number.parseFloat(n.aspectRatio.split(" / ")[1]);let t=v-l,o=t/e;const{width:a,height:i}=L(t,o);i>(d.value?.clientHeight||1/0)&&(o=d.value?.clientHeight||1/0,t=o*e),y.value.width=a,y.value.height=i}T.value=k.value.left,M.value=k.value.top}else if("top-right"===g.value){if("free"===n.zoomType){const{width:e,height:t}=L(v+l,h-a);y.value.width=e,y.value.height=t}else if("fixed"===n.zoomType){const e=Number.parseFloat(n.aspectRatio.split(" / ")[0])/Number.parseFloat(n.aspectRatio.split(" / ")[1]);let t=v+l,o=t/e;const{width:a,height:i}=L(t,o);i>(d.value?.clientHeight||1/0)&&(o=d.value?.clientHeight||1/0,t=o*e),y.value.width=a,y.value.height=i}T.value=k.value.left,M.value=k.value.top}else if("bottom-left"===g.value){if("free"===n.zoomType){const{width:e,height:t}=L(v-l,h+a);y.value.width=e,y.value.height=t}else if("fixed"===n.zoomType){const e=Number.parseFloat(n.aspectRatio.split(" / ")[0])/Number.parseFloat(n.aspectRatio.split(" / ")[1]);let t=v-l,o=t/e;const{width:a,height:i}=L(t,o);i>(d.value?.clientHeight||1/0)&&(o=d.value?.clientHeight||1/0,t=o*e),y.value.width=a,y.value.height=i}T.value=k.value.left,M.value=k.value.top}}function V(){document.removeEventListener("touchmove",B),document.removeEventListener("touchend",V),g.value=""}return e.onMounted(()=>{e.nextTick(()=>{w.value.x=(d.value?.offsetWidth||0)/2-y.value.width/2,w.value.y=(d.value?.offsetHeight||0)/2-y.value.height/2}),document.addEventListener("mouseup",V),document.addEventListener("mousemove",B,{passive:!1}),document.addEventListener("touchmove",B,{passive:!1}),document.addEventListener("touchend",V)}),e.onUnmounted(()=>{N.value&&URL.revokeObjectURL(N.value),document.removeEventListener("mouseup",V),document.removeEventListener("mousemove",B)}),u({crop:async function(e=f.value){let t="transparent";d.value&&(t=window.getComputedStyle(d.value).backgroundColor);const o=document.createElement("canvas");o.width=C(d.value?.clientWidth||0),o.height=C(d.value?.clientHeight||0);const{drawImage:a,cropCanvas:i,drawColor:u}=l.useCanvas(o);return u(0,0,o.width,o.height,t),a(e,C(e.offsetLeft),C(e.offsetTop),e.naturalWidth,e.naturalHeight),await i(C(T.value),C(M.value),C(x.value),C(b.value))},resize:function(){y.value.width=n.defaultWidth,y.value.height=n.defaultHeight,T.value=0,M.value=0}}),(t,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"containerBoxRef",ref:d,class:e.normalizeClass([e.unref(c).e("img-box")])},[m.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(c).e("error-message")])},e.toDisplayString(m.value),3)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("img",{ref_key:"imgRef",ref:f,class:e.normalizeClass([e.unref(c).e("image")]),src:N.value},null,10,a),e.createElementVNode("div",{ref_key:"cropBoxRef",ref:p,class:e.normalizeClass([e.unref(c).e("crop-tool-box")]),style:e.normalizeStyle([H.value,g.value?`left: ${k.value.left}px;top: ${k.value.top}px`:e.unref(z)]),onTouchstart:o[8]||(o[8]=e.withModifiers(()=>{},["stop","prevent"])),onTouchend:e.withModifiers(V,["stop","prevent"])},[e.createElementVNode("div",{class:e.normalizeClass([e.unref(c).e("top-left")]),onMousedown:o[0]||(o[0]=e.withModifiers(e=>W(e,"top-left"),["stop","prevent"])),onTouchstart:o[1]||(o[1]=e.withModifiers(e=>W(e,"top-left"),["stop","prevent"])),onTouchend:e.withModifiers(V,["stop","prevent"])},null,34),e.createElementVNode("div",{class:e.normalizeClass([e.unref(c).e("top-right")]),onMousedown:o[2]||(o[2]=e.withModifiers(e=>W(e,"top-right"),["stop","prevent"])),onTouchstart:o[3]||(o[3]=e.withModifiers(e=>W(e,"top-right"),["stop","prevent"])),onTouchend:e.withModifiers(V,["stop","prevent"])},null,34),e.createElementVNode("div",{class:e.normalizeClass([e.unref(c).e("bottom-right")]),onMousedown:o[4]||(o[4]=e.withModifiers(e=>W(e,"bottom-right"),["stop","prevent"])),onTouchstart:o[5]||(o[5]=e.withModifiers(e=>W(e,"bottom-right"),["stop","prevent"])),onTouchend:e.withModifiers(V,["stop","prevent"])},null,34),e.createElementVNode("div",{class:e.normalizeClass([e.unref(c).e("bottom-left")]),onMousedown:o[6]||(o[6]=e.withModifiers(e=>W(e,"bottom-left"),["stop","prevent"])),onTouchstart:o[7]||(o[7]=e.withModifiers(e=>W(e,"bottom-left"),["stop","prevent"])),onTouchend:e.withModifiers(V,["stop","prevent"])},null,34)],38)],64))],2))}});exports.default=i;
|
|
2
|
-
//# sourceMappingURL=photo-crop-tool.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"photo-crop-tool.vue.cjs","sources":["../../../../../../packages/components/src/photo-crop-tool/src/photo-crop-tool.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { PropType } from 'vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { useDraggable, useElementSize } from '@vueuse/core'\nimport { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'\nimport { useCanvas } from './composables'\n\ndefineOptions({\n name: 'QxsPhotoCropTool',\n})\n\nconst props = defineProps({\n imgFile: {\n type: Object as PropType<File>,\n default: () => null,\n },\n aspectRatio: {\n type: String,\n default: () => '16 / 9',\n },\n defaultWidth: {\n type: Number,\n default: () => 320,\n },\n defaultHeight: {\n type: Number,\n default: () => 180,\n },\n /**\n * free 自由缩放\n * fixed 固定比例缩放\n */\n zoomType: {\n type: String,\n default: () => 'fixed',\n },\n})\nlet startX = 0\nlet startY = 0\nlet startWidth = 0\nlet startHeight = 0\n\nconst ns = useNamespace('photo-crop-tool')\n\nconst cropBoxRef = ref<HTMLElement | null>(null)\nconst containerBoxRef = ref<HTMLElement | null>(null)\nconst imgRef = ref<HTMLImageElement | null>(null)\nconst errorMessage = ref('')\nconst dargPoint = ref('')\nconst initialValue = ref({\n x: 0,\n y: 0,\n})\nconst cropInfo = ref({\n width: props.defaultWidth,\n height: props.defaultHeight,\n x: 0,\n y: 0,\n})\n\nconst { width, height } = useElementSize(cropBoxRef)\nconst { width: imgWidth } = useElementSize(imgRef)\n\nconst { x, y, style } = useDraggable(cropBoxRef, {\n containerElement: containerBoxRef,\n draggingElement: cropBoxRef,\n disabled: computed(() => !!dargPoint.value),\n exact: true,\n initialValue,\n})\n\nconst imageUrl = computed(() => {\n if (!props.imgFile) {\n return ''\n }\n return URL.createObjectURL(props.imgFile)\n})\n\nwatch(\n () => props.imgFile,\n (newFile: File | null) => {\n if (newFile && !newFile.type.startsWith('image/')) {\n errorMessage.value = '文件类型错误'\n }\n else {\n errorMessage.value = ''\n }\n },\n)\n\nconst ratio = computed(() => {\n return (imgRef.value?.naturalWidth || 0) / imgWidth.value\n})\n\nconst customStyle = computed(() => {\n const position = {\n left: 0,\n top: 0,\n }\n if (dargPoint.value === 'bottom-right') {\n position.left = cropInfo.value.x\n position.top = cropInfo.value.y\n }\n else if (dargPoint.value === 'top-left') {\n position.left = cropInfo.value.x - width.value\n position.top = cropInfo.value.y - height.value\n }\n else if (dargPoint.value === 'top-right') {\n position.top = cropInfo.value.y - height.value\n position.left = cropInfo.value.x\n }\n else if (dargPoint.value === 'bottom-left') {\n position.left = cropInfo.value.x - width.value\n position.top = cropInfo.value.y\n }\n return position\n})\n\nconst sizeStyle = computed(() => {\n const { aspectRatio } = props\n\n const style: {\n 'height'?: string\n 'width': string\n 'aspect-ratio'?: string\n 'top': string\n 'left': string\n } = {\n 'width': `${cropInfo.value.width || props.defaultWidth}`,\n 'height': `${cropInfo.value.height || props.defaultHeight}`,\n 'aspect-ratio': aspectRatio,\n 'top': `${customStyle.value.top}px`,\n 'left': `${customStyle.value.left}px`,\n }\n if (props.zoomType === 'free') {\n delete style['aspect-ratio']\n }\n else if (props.zoomType === 'fixed') {\n delete style.height\n }\n return ns.cssVarBlock(style)\n})\n\nfunction zoom(pixel: number) {\n return pixel * ratio.value\n}\nasync function crop(img: HTMLImageElement = imgRef.value!) {\n let backgroundColor = 'transparent'\n if (containerBoxRef.value) {\n backgroundColor = window.getComputedStyle(\n containerBoxRef.value,\n ).backgroundColor\n }\n const canvas = document.createElement('canvas')\n canvas.width = zoom(containerBoxRef.value?.clientWidth || 0)\n canvas.height = zoom(containerBoxRef.value?.clientHeight || 0)\n const { drawImage, cropCanvas, drawColor } = useCanvas(canvas)\n drawColor(0, 0, canvas.width, canvas.height, backgroundColor)\n drawImage(\n img,\n zoom(img.offsetLeft),\n zoom(img.offsetTop),\n img.naturalWidth,\n img.naturalHeight,\n )\n return await cropCanvas(\n zoom(x.value),\n zoom(y.value),\n zoom(width.value),\n zoom(height.value),\n )\n}\n\nfunction checkBoundaries(\n newWidth: number,\n newHeight: number,\n): { width: number, height: number } {\n const maxWidth = containerBoxRef.value?.clientWidth || Infinity\n const maxHeight = containerBoxRef.value?.clientHeight || Infinity\n\n return {\n width: Math.min(Math.max(newWidth, 0), maxWidth),\n height: Math.min(Math.max(newHeight, 0), maxHeight),\n }\n}\n\nfunction getClientPos(e: MouseEvent | TouchEvent): { clientX: number, clientY: number } {\n if (e instanceof MouseEvent) {\n return { clientX: e.clientX, clientY: e.clientY }\n }\n else if (e instanceof TouchEvent && e.touches.length > 0) {\n return { clientX: e.touches[0].clientX, clientY: e.touches[0].clientY }\n }\n return { clientX: 0, clientY: 0 }\n}\n\nfunction handleStart(e: MouseEvent | TouchEvent, point: string) {\n const { clientX, clientY } = getClientPos(e)\n dargPoint.value = point\n startX = clientX\n startY = clientY\n startWidth = cropInfo.value.width\n startHeight = cropInfo.value.height\n\n // 添加移动端事件监听\n document.addEventListener('touchmove', handleMove, { passive: false })\n document.addEventListener('touchend', handleEnd)\n\n if (point === 'bottom-right') {\n cropInfo.value.x = x.value\n cropInfo.value.y = y.value\n }\n else if (point === 'top-left') {\n cropInfo.value.x = x.value + width.value\n cropInfo.value.y = y.value + height.value\n }\n else if (point === 'top-right') {\n cropInfo.value.x = x.value\n cropInfo.value.y = y.value + height.value\n }\n else if (point === 'bottom-left') {\n cropInfo.value.x = x.value + width.value\n cropInfo.value.y = y.value\n }\n\n // Prevent touch scrolling\n if (e instanceof TouchEvent) {\n e.preventDefault()\n }\n}\n\nfunction handleMove(e: MouseEvent | TouchEvent) {\n // Only prevent default if we're in a drag operation\n if (e instanceof TouchEvent && dargPoint.value) {\n e.preventDefault()\n }\n\n const { clientX, clientY } = getClientPos(e)\n const deltaX = clientX - startX\n const deltaY = clientY - startY\n\n if (dargPoint.value === 'bottom-right') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth + deltaX,\n startHeight + deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth + deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n }\n else if (dargPoint.value === 'top-left') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth - deltaX,\n startHeight - deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth - deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n else if (dargPoint.value === 'top-right') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth + deltaX,\n startHeight - deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth + deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n else if (dargPoint.value === 'bottom-left') {\n if (props.zoomType === 'free') {\n const { width, height } = checkBoundaries(\n startWidth - deltaX,\n startHeight + deltaY,\n )\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n else if (props.zoomType === 'fixed') {\n const aspectRatio\n = Number.parseFloat(props.aspectRatio.split(' / ')[0])\n / Number.parseFloat(props.aspectRatio.split(' / ')[1])\n let newWidth = startWidth - deltaX\n let newHeight = newWidth / aspectRatio\n const { width, height } = checkBoundaries(newWidth, newHeight)\n if (height > (containerBoxRef.value?.clientHeight || Infinity)) {\n newHeight = containerBoxRef.value?.clientHeight || Infinity\n newWidth = newHeight * aspectRatio\n }\n cropInfo.value.width = width\n cropInfo.value.height = height\n }\n x.value = customStyle.value.left\n y.value = customStyle.value.top\n }\n}\n\nfunction handleEnd() {\n // 移除移动端事件监听\n document.removeEventListener('touchmove', handleMove)\n document.removeEventListener('touchend', handleEnd)\n\n dargPoint.value = ''\n}\n\nfunction resize() {\n cropInfo.value.width = props.defaultWidth\n cropInfo.value.height = props.defaultHeight\n x.value = 0\n y.value = 0\n}\n\nonMounted(() => {\n nextTick(() => {\n // 初始化位置\n initialValue.value.x\n = (containerBoxRef.value?.offsetWidth || 0) / 2 - cropInfo.value.width / 2\n initialValue.value.y\n = (containerBoxRef.value?.offsetHeight || 0) / 2\n - cropInfo.value.height / 2\n })\n\n // 只添加鼠标事件监听\n document.addEventListener('mouseup', handleEnd)\n document.addEventListener('mousemove', handleMove, { passive: false })\n document.addEventListener('touchmove', handleMove, { passive: false })\n document.addEventListener('touchend', handleEnd)\n})\n\nonUnmounted(() => {\n if (imageUrl.value) {\n URL.revokeObjectURL(imageUrl.value)\n }\n // 确保移除所有事件监听\n document.removeEventListener('mouseup', handleEnd)\n document.removeEventListener('mousemove', handleMove)\n})\n\ndefineExpose({\n crop,\n resize,\n})\n</script>\n\n<template>\n <div\n ref=\"containerBoxRef\"\n :class=\"[ns.e('img-box')]\"\n >\n <div\n v-if=\"errorMessage\"\n :class=\"[ns.e('error-message')]\"\n >\n {{ errorMessage }}\n </div>\n <template v-else>\n <img\n ref=\"imgRef\"\n :class=\"[ns.e('image')]\"\n :src=\"imageUrl\"\n >\n <div\n ref=\"cropBoxRef\"\n :class=\"[ns.e('crop-tool-box')]\"\n :style=\"[\n sizeStyle,\n dargPoint\n ? `left: ${customStyle.left}px;top: ${customStyle.top}px`\n : style,\n ]\"\n @touchstart.stop.prevent\n @touchend.stop.prevent=\"handleEnd\"\n >\n <div\n :class=\"[ns.e('top-left')]\"\n @mousedown.stop.prevent=\"handleStart($event, 'top-left')\"\n @touchstart.stop.prevent=\"handleStart($event, 'top-left')\"\n @touchend.stop.prevent=\"handleEnd\"\n />\n <div\n :class=\"[ns.e('top-right')]\"\n @mousedown.stop.prevent=\"handleStart($event, 'top-right')\"\n @touchstart.stop.prevent=\"handleStart($event, 'top-right')\"\n @touchend.stop.prevent=\"handleEnd\"\n />\n <div\n :class=\"[ns.e('bottom-right')]\"\n @mousedown.stop.prevent=\"handleStart($event, 'bottom-right')\"\n @touchstart.stop.prevent=\"handleStart($event, 'bottom-right')\"\n @touchend.stop.prevent=\"handleEnd\"\n />\n <div\n :class=\"[ns.e('bottom-left')]\"\n @mousedown.stop.prevent=\"handleStart($event, 'bottom-left')\"\n @touchstart.stop.prevent=\"handleStart($event, 'bottom-left')\"\n @touchend.stop.prevent=\"handleEnd\"\n />\n </div>\n </template>\n </div>\n</template>\n"],"names":["props","__props","startX","startY","startWidth","startHeight","ns","useNamespace","cropBoxRef","ref","containerBoxRef","imgRef","errorMessage","dargPoint","initialValue","x","y","cropInfo","width","defaultWidth","height","defaultHeight","useElementSize","imgWidth","style","useDraggable","containerElement","draggingElement","disabled","computed","value","exact","imageUrl","imgFile","URL","createObjectURL","watch","newFile","type","startsWith","ratio","naturalWidth","customStyle","position","left","top","sizeStyle","aspectRatio","zoomType","cssVarBlock","zoom","pixel","checkBoundaries","newWidth","newHeight","maxWidth","clientWidth","Infinity","maxHeight","clientHeight","Math","min","max","getClientPos","e","MouseEvent","clientX","clientY","TouchEvent","touches","length","handleStart","point","document","addEventListener","handleMove","passive","handleEnd","preventDefault","deltaX","deltaY","Number","parseFloat","split","removeEventListener","onMounted","nextTick","offsetWidth","offsetHeight","onUnmounted","revokeObjectURL","__expose","crop","async","img","backgroundColor","window","getComputedStyle","canvas","createElement","drawImage","cropCanvas","drawColor","useCanvas","offsetLeft","offsetTop","naturalHeight","resize","_createElementBlock","class","_normalizeClass","_unref","_Fragment","key","_createElementVNode","src","_normalizeStyle","onTouchstart","onTouchend","onMousedown","_cache","_withModifiers","$event"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"photo-crop-tool.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../packages/components/src/subject-action/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-action.vue'\n\nconst QxsSubjectAction = withInstall(component)\n\nexport {\n QxsSubjectAction,\n}\n\nexport default QxsSubjectAction\n"],"names":["QxsSubjectAction","withInstall","component"],"mappings":"kJAGA,MAAMA,EAAmBC,EAAAA,YAAYC,EAAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/icons/src/components/Check.vue"),o=require("@qxs-bns/icons/src/components/Delete.vue"),a=require("@qxs-bns/icons/src/components/Edit.vue"),l=require("@qxs-bns/hooks"),n=require("../../ui/button/index.cjs");require("../../ui/input/index.cjs");var i=require("../../ui/radio/index.cjs"),r=require("../../ui/checkbox/index.cjs"),c=require("../../ui/link/index.cjs");require("../../ui/tag/index.cjs"),require("../../ui/input-number/index.cjs"),require("../../ui/select/index.cjs"),require("../../ui/popover/index.cjs"),require("../../ui/layout/index.cjs"),require("../../ui/scrollbar/index.cjs");var u=require("../../ui/dialog/index.cjs");require("../../ui/table/index.cjs"),require("../../icon/index.cjs"),require("../../message/src/message.cjs");const s={key:0,class:"flex-justify-between"},d={class:"flex-justify-between"},m={key:0,class:"has-set"},x={key:1,class:"flex flex-justify-end action-buttons"};var p=e.defineComponent({name:"QxsSubjectAction",__name:"subject-action",props:{isEdit:Boolean,isSet:{type:Boolean,default:!1},isKey:{type:Boolean,default:!1},answerCheckType:{type:Number,default:1},showOtherOption:{type:Boolean,default:!0},examAnswerRelationType:{type:Number,default:null},showRichText:{type:Boolean,default:!0},pageEnd:{type:Boolean,default:!1}},emits:["moveUp","moveDown","delete","save","edit","add","onShowRichText","setKey","setAnswerSetting"],setup(p,{emit:f}){const k=p,v=f,V=e.ref(k.isKey),h=e.ref(!1),y=e.ref(k.answerCheckType),C=l.useNamespace("subject-action"),b=e.ref(!0),B=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],w=e.computed(()=>B.find(e=>e.value===y.value)?.label);function N(){h.value=!1,v("setAnswerSetting",y.value)}function _(){v("setKey",V.value)}return(l,f)=>{const k=e.resolveComponent("QxsIcon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(C).e("action-exam"))},[e.createElementVNode("div",{class:e.normalizeClass(["action flex flex-justify-between",{active:p.isEdit}])},[e.createCommentVNode(" 编辑模式 "),p.isEdit?(e.openBlock(),e.createElementBlock("div",s,[p.showRichText?(e.openBlock(),e.createBlock(e.unref(c.QxsLink),{key:0,type:"primary",class:"btn-margin",onClick:f[0]||(f[0]=e.withModifiers(e=>v("onShowRichText"),["prevent"]))},{default:e.withCtx(()=>f[12]||(f[12]=[e.createTextVNode(" +添加题目描述(图文) ",-1)])),_:1,__:[12]})):e.createCommentVNode("v-if",!0),p.showOtherOption?(e.openBlock(),e.createBlock(e.unref(c.QxsLink),{key:1,type:"primary",class:"btn-margin",onClick:f[1]||(f[1]=e.withModifiers(e=>h.value=!0,["prevent"]))},{default:e.withCtx(()=>f[13]||(f[13]=[e.createTextVNode(" 答题设置 ",-1)])),_:1,__:[13]})):e.createCommentVNode("v-if",!0),p.showOtherOption?(e.openBlock(),e.createBlock(e.unref(r.QxsCheckbox),{key:2,modelValue:V.value,"onUpdate:modelValue":f[2]||(f[2]=e=>V.value=e),label:"核心题",onChange:_},null,8,["modelValue"])):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createCommentVNode(" 非编辑模式 "),e.createElementVNode("div",d,[p.showOtherOption?(e.openBlock(),e.createBlock(e.unref(r.QxsCheckbox),{key:0,modelValue:V.value,"onUpdate:modelValue":f[3]||(f[3]=e=>V.value=e),label:"核心题",disabled:""},null,8,["modelValue"])):e.createCommentVNode("v-if",!0),p.showOtherOption?(e.openBlock(),e.createBlock(e.unref(r.QxsCheckbox),{key:1,modelValue:b.value,"onUpdate:modelValue":f[4]||(f[4]=e=>b.value=e),label:w.value,disabled:"",class:"btn-margin"},null,8,["modelValue","label"])):e.createCommentVNode("v-if",!0)])],2112)),e.createCommentVNode(" 操作按钮 "),e.createElementVNode("div",null,[p.isSet?(e.openBlock(),e.createElementBlock("div",m," *此题设置了跳题逻辑 ")):(e.openBlock(),e.createElementBlock("div",x,[p.isEdit?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(n.QxsButton),{class:"btn-margin",type:"danger",plain:"",onClick:f[7]||(f[7]=e=>v("delete"))},{icon:e.withCtx(()=>[e.createVNode(k,{icon:o})]),default:e.withCtx(()=>[f[16]||(f[16]=e.createTextVNode(" 删除 ",-1))]),_:1,__:[16]}),e.createVNode(e.unref(n.QxsButton),{type:"primary",onClick:f[8]||(f[8]=e=>v("save"))},{icon:e.withCtx(()=>[e.createVNode(k,{icon:t})]),default:e.withCtx(()=>[f[17]||(f[17]=e.createTextVNode(" 完成编辑 ",-1))]),_:1,__:[17]})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[p.pageEnd?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(n.QxsButton),{key:0,class:"btn-margin",onClick:f[5]||(f[5]=e=>v("edit"))},{icon:e.withCtx(()=>[e.createVNode(k,{icon:a})]),default:e.withCtx(()=>[f[14]||(f[14]=e.createTextVNode(" 编辑 ",-1))]),_:1,__:[14]})),e.createVNode(e.unref(n.QxsButton),{type:"danger",plain:"",onClick:f[6]||(f[6]=e=>v("delete"))},{icon:e.withCtx(()=>[e.createVNode(k,{icon:o})]),default:e.withCtx(()=>[f[15]||(f[15]=e.createTextVNode(" 删除 ",-1))]),_:1,__:[15]})],64))]))]),e.createCommentVNode(" 答题设置弹窗 "),e.createVNode(e.unref(u.QxsDialogComponent),{modelValue:h.value,"onUpdate:modelValue":f[11]||(f[11]=e=>h.value=e),title:"答题设置",class:"customize-dialog",width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(n.QxsButton),{class:"customize-button",type:"primary",plain:"",onClick:f[10]||(f[10]=e=>h.value=!1)},{default:e.withCtx(()=>f[18]||(f[18]=[e.createTextVNode(" 取消 ",-1)])),_:1,__:[18]}),e.createVNode(e.unref(n.QxsButton),{class:"customize-button",type:"primary",plain:"",onClick:N},{default:e.withCtx(()=>f[19]||(f[19]=[e.createTextVNode(" 保存 ",-1)])),_:1,__:[19]})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.QxsRadioGroup),{modelValue:y.value,"onUpdate:modelValue":f[9]||(f[9]=e=>y.value=e),class:"vertical-radio-group"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(B,t=>e.createVNode(e.unref(i.QxsRadio),{key:t.value,label:t.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])],2)],2)}}});exports.default=p;
|
|
2
|
-
//# sourceMappingURL=subject-action.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-action.vue.cjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport Check from '@qxs-bns/icons/src/components/Check.vue'\nimport Delete from '@qxs-bns/icons/src/components/Delete.vue'\nimport Edit from '@qxs-bns/icons/src/components/Edit.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsButton, QxsCheckbox,\n QxsDialogComponent,\n QxsLink,\n QxsRadio,\n QxsRadioGroup } from '../../ui'\nimport { computed, ref } from 'vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n showRichText: {\n type: Boolean,\n default: true,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst emits = defineEmits([\n 'moveUp',\n 'moveDown',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'onShowRichText',\n 'setKey',\n 'setAnswerSetting',\n])\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\nconst checked = ref(true)\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find(item => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('setAnswerSetting', answerType.value)\n}\n\nfunction setKey() {\n emits('setKey', isKey.value)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div\n class=\"action flex flex-justify-between\"\n :class=\"{ active: isEdit }\"\n >\n <!-- 编辑模式 -->\n <div\n v-if=\"isEdit\"\n class=\"flex-justify-between\"\n >\n <QxsLink\n v-if=\"showRichText\"\n type=\"primary\"\n class=\"btn-margin\"\n @click.prevent=\"emits('onShowRichText')\"\n >\n +添加题目描述(图文)\n </QxsLink>\n <QxsLink\n v-if=\"showOtherOption\"\n type=\"primary\"\n class=\"btn-margin\"\n @click.prevent=\"showAnswerSetting = true\"\n >\n 答题设置\n </QxsLink>\n <QxsCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n />\n </div>\n\n <!-- 非编辑模式 -->\n <div\n v-else\n class=\"flex-justify-between\"\n >\n <QxsCheckbox\n v-if=\"showOtherOption\"\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n />\n <QxsCheckbox\n v-if=\"showOtherOption\"\n v-model=\"checked\"\n :label=\"answerText\"\n disabled\n class=\"btn-margin\"\n />\n </div>\n\n <!-- 操作按钮 -->\n <div>\n <div\n v-if=\"isSet\"\n class=\"has-set\"\n >\n *此题设置了跳题逻辑\n </div>\n <div\n v-else\n class=\"flex flex-justify-end action-buttons\"\n >\n <template v-if=\"!isEdit\">\n <QxsButton\n v-if=\"!pageEnd\"\n class=\"btn-margin\"\n @click=\"emits('edit')\"\n >\n <template #icon>\n <QxsIcon :icon=\"Edit\" />\n </template>\n 编辑\n </QxsButton>\n <QxsButton\n type=\"danger\"\n plain\n @click=\"emits('delete')\"\n >\n <template #icon>\n <QxsIcon :icon=\"Delete\" />\n </template>\n 删除\n </QxsButton>\n </template>\n <template v-else>\n <QxsButton\n class=\"btn-margin\"\n type=\"danger\"\n plain\n @click=\"emits('delete')\"\n >\n <template #icon>\n <QxsIcon :icon=\"Delete\" />\n </template>\n 删除\n </QxsButton>\n <QxsButton\n type=\"primary\"\n @click=\"emits('save')\"\n >\n <template #icon>\n <QxsIcon :icon=\"Check\" />\n </template>\n 完成编辑\n </QxsButton>\n </template>\n </div>\n </div>\n\n <!-- 答题设置弹窗 -->\n <QxsDialogComponent\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n width=\"400px\"\n >\n <QxsRadioGroup\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <QxsRadio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :label=\"item.value\"\n >\n {{ item.label }}\n </QxsRadio>\n </QxsRadioGroup>\n <template #footer>\n <QxsButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </QxsButton>\n <QxsButton\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </QxsButton>\n </template>\n </QxsDialogComponent>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","isKey","ref","showAnswerSetting","answerType","answerCheckType","ns","useNamespace","checked","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","_createElementBlock","class","_normalizeClass","_unref","e","_createElementVNode","active","isEdit","_createCommentVNode","_openBlock","_hoisted_1","showRichText","_createBlock","QxsLink","type","onClick","_cache","showOtherOption","QxsCheckbox","$event","onChange","_Fragment","key","_hoisted_2","disabled","isSet","_hoisted_3","_hoisted_4","_createVNode","QxsButton","plain","icon","_component_QxsIcon","Delete","Check","pageEnd","Edit","QxsDialogComponent","title","width","footer","QxsRadioGroup","_renderList","QxsRadio","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-action.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../packages/components/src/subject-layout/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-layout.vue'\n\nconst QxsSubjectLayout = withInstall(component)\n\nexport {\n QxsSubjectLayout,\n}\n\nexport default QxsSubjectLayout\n"],"names":["QxsSubjectLayout","withInstall","component"],"mappings":"kJAGA,MAAMA,EAAmBC,EAAAA,YAAYC,EAAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks");const o={key:0,class:"edit"};var r=e.defineComponent({name:"QxsSubjectLayout",__name:"subject-layout",props:{showEdit:{type:Boolean,required:!0}},setup(r){const s=t.useNamespace("subject-layout");return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(s).e("layout-exam"))},[e.createCommentVNode(" 编辑模式:只显示编辑区域 "),t.showEdit?(e.openBlock(),e.createElementBlock("div",o,[e.renderSlot(t.$slots,"edit")])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createCommentVNode(" 预览模式:只显示预览区域 "),e.renderSlot(t.$slots,"preview")],64)),e.renderSlot(t.$slots,"default")],2))}});exports.default=r;
|
|
2
|
-
//# sourceMappingURL=subject-layout.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-layout.vue.cjs","sources":["../../../../../../packages/components/src/subject-layout/src/subject-layout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\n\ndefineOptions({\n name: 'QxsSubjectLayout',\n})\ndefineProps<{\n showEdit: boolean\n}>()\n\nconst ns = useNamespace('subject-layout')\n</script>\n\n<template>\n <div :class=\"ns.e('layout-exam')\">\n <!-- 编辑模式:只显示编辑区域 -->\n <template v-if=\"showEdit\">\n <div class=\"edit\">\n <slot name=\"edit\" />\n </div>\n </template>\n <!-- 预览模式:只显示预览区域 -->\n <template v-else>\n <slot name=\"preview\" />\n </template>\n <slot />\n </div>\n</template>\n"],"names":["ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createCommentVNode","showEdit","_openBlock","_hoisted_1","_renderSlot","_ctx","$slots","_Fragment","key"],"mappings":"gRAUA,MAAMA,EAAKC,EAAAA,aAAa,8CAItBC,EAAAA,mBAYM,MAAA,CAZAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,kBACfC,EAAAA,mBAAA,kBACgBC,EAAAA,UACdC,EAAAA,YAAAP,EAAAA,mBAEM,MAFNQ,EAEM,CADJC,aAAoBC,EAAAC,OAAA,0BAIxBX,EAAAA,mBAEWY,EAAAA,SAAA,CAAAC,IAAA,GAAA,CAHXR,EAAAA,mBAAA,kBAEEI,aAAuBC,EAAAC,OAAA,iBAEzBF,aAAQC,EAAAC,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-layout.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../packages/components/src/subject-list/index.ts"],"sourcesContent":["import { withInstall } from '../withInstall'\nimport component from './src/subject-list.vue'\n\nconst QxsSubjectList = withInstall(component)\n\nexport {\n QxsSubjectList,\n}\n\nexport default QxsSubjectList\n"],"names":["QxsSubjectList","withInstall","component"],"mappings":"gJAGA,MAAMA,EAAiBC,EAAAA,YAAYC,EAAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),i=require("@qxs-bns/hooks");require("../../../ui/button/index.cjs"),require("../../../ui/input/index.cjs"),require("../../../ui/radio/index.cjs"),require("../../../ui/checkbox/index.cjs"),require("../../../ui/link/index.cjs"),require("../../../ui/tag/index.cjs"),require("../../../ui/input-number/index.cjs"),require("../../../ui/select/index.cjs"),require("../../../ui/popover/index.cjs");var r=require("../../../ui/layout/index.cjs");require("../../../ui/scrollbar/index.cjs"),require("../../../ui/dialog/index.cjs"),require("../../../ui/table/index.cjs"),require("../../../icon/index.cjs"),require("../../../message/src/message.cjs");var t=require("../../../subject-action/src/subject-action.vue.cjs"),n=e.defineComponent({name:"QxsSubjectScale",__name:"SubjectPageEnd",props:{currentPageIndex:{type:Number,required:!0},totalPage:{type:Number,required:!0},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(n,{emit:u}){const s=n,o=u;e.onMounted(function(){});const a=i.useNamespace("subject-end");return(i,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(a).e("end-exam"))},[e.createVNode(e.unref(r.QxsRow),{type:"flex",align:"middle"},{default:e.withCtx(()=>[n[5]||(n[5]=e.createElementVNode("span",{class:"auto-line"},null,-1)),e.createElementVNode("span",null,"第"+e.toDisplayString(s.currentPageIndex)+" / "+e.toDisplayString(i.totalPage)+"页",1),n[6]||(n[6]=e.createElementVNode("span",{class:"auto-line"},null,-1))]),_:1,__:[5,6]}),e.createVNode(t.default,{"is-edit":!1,"is-set":i.isSet,"page-end":!0,"exam-answer-relation-type":s.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:n[0]||(n[0]=e=>o("move","up")),onMoveDown:n[1]||(n[1]=e=>o("move","down")),onDelete:n[2]||(n[2]=e=>o("delete")),onEdit:n[3]||(n[3]=e=>o("edit")),onAdd:n[4]||(n[4]=e=>o("add",e))},null,8,["is-set","exam-answer-relation-type"])],2))}});exports.default=n;
|
|
2
|
-
//# sourceMappingURL=SubjectPageEnd.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubjectPageEnd.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectPageEnd.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsRow } from '../../../ui'\nimport { onMounted } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n currentPageIndex: number\n totalPage: number\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nfunction init() {\n\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-end')\n</script>\n\n<template>\n <div :class=\"ns.e('end-exam')\">\n <QxsRow\n type=\"flex\"\n align=\"middle\"\n >\n <span class=\"auto-line\" />\n <span>第{{ props.currentPageIndex }} / {{ totalPage }}页</span>\n <span class=\"auto-line\" />\n </QxsRow>\n <SubjectAction\n :is-edit=\"false\"\n :is-set=\"isSet\"\n :page-end=\"true\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :show-other-option=\"false\"\n :show-rich-text=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","QxsRow","type","align","_createElementVNode","_toDisplayString","currentPageIndex","totalPage","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onEdit","onAdd","_cache"],"mappings":"+qCASA,MAAMA,EAAQC,EASRC,EAAQC,EAMdC,EAAAA,UAJA,WAEA,GAGA,MAAMC,EAAKC,EAAAA,aAAa,2CAItBC,EAAAA,mBAsBM,MAAA,CAtBAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,eACfC,cAOSF,EAAAA,MAAAG,EAAAA,QAAA,CANPC,KAAK,OACLC,MAAM,6BAEN,IAA0B,aAA1BC,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,IACvBQ,EAAAA,mBAA6D,OAAA,KAAvD,IAACC,EAAAA,gBAAGjB,EAAMkB,kBAAmB,MAAGD,kBAAGE,EAAAA,WAAY,IAAC,eACtDH,EAAAA,mBAA0B,OAAA,CAApBR,MAAM,aAAW,MAAA,qBAEzBI,EAAAA,YAYEQ,EAAAA,QAAA,CAXC,WAAS,EACT,SAAQC,EAAAA,MACR,YAAU,EACV,4BAA2BrB,EAAMsB,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASrB,EAAK,OAAA,OACdsB,0BAAWtB,EAAK,OAAA,SAChBuB,wBAAQvB,EAAK,WACbwB,sBAAMxB,EAAK,SACXyB,MAAGC,EAAA,KAAAA,EAAA,GAAEd,GAAQZ,QAAaY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubjectPageEnd.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),r=require("../../../message/src/message.cjs"),o=require("../../../subject-action/src/subject-action.vue.cjs"),i=require("../../../subject-layout/src/subject-layout.vue.cjs"),n=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const s={class:"preview"},a=["innerHTML"];var u=e.defineComponent({name:"QxsSubjectScale",__name:"SubjectRichText",props:{orderIndex:{type:Number,required:!0},richTextContent:{type:String,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(u,{emit:d}){const l=u,c=d,m=e.useAttrs(),p=e.ref("");function v(){p.value?c("save",{richTextContent:p.value||""}):r.QxsMessage.error("富文本内容不能为空!")}e.onMounted(function(){l.richTextContent&&(p.value=l.richTextContent)});const x=t.useNamespace("subject-scale");return(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(x).e("scale-exam"))},[e.createVNode(i.default,{"show-edit":t.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",s,[e.createTextVNode(e.toDisplayString(t.orderIndex+1)+".",1),e.createElementVNode("div",{innerHTML:p.value},null,8,a)])]),edit:e.withCtx(()=>[e.createVNode(n.default,e.mergeProps({"model-value":p.value,"onUpdate:modelValue":r[0]||(r[0]=e=>p.value=e)},e.unref(m),{style:{width:"100%"}}),null,16,["model-value"])]),default:e.withCtx(()=>[t.showAction?(e.openBlock(),e.createBlock(o.default,{key:0,"is-edit":t.isEdit,"is-set":t.isSet,"exam-answer-relation-type":l.examAnswerRelationType,"show-other-option":!1,"show-rich-text":!1,onMoveUp:r[1]||(r[1]=e=>c("move","up")),onMoveDown:r[2]||(r[2]=e=>c("move","down")),onDelete:r[3]||(r[3]=e=>c("delete")),onSave:v,onEdit:r[4]||(r[4]=e=>c("edit")),onAdd:r[5]||(r[5]=e=>c("add",e))},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2))}});exports.default=u;
|
|
2
|
-
//# sourceMappingURL=SubjectRichText.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubjectRichText.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/SubjectRichText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsMessage } from '../../../message'\nimport { onMounted, ref, useAttrs } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n richTextContent: string\n title?: string\n isSave: boolean\n showAction?: boolean\n isEdit: boolean\n isSet: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst richContent = ref('')\n\nfunction save() {\n if (!richContent.value) {\n QxsMessage.error('富文本内容不能为空!')\n return\n }\n\n emits('save', {\n richTextContent: richContent.value || '',\n })\n}\n\nfunction init() {\n if (props.richTextContent) {\n richContent.value = props.richTextContent\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n {{ orderIndex + 1 }}.<div v-html=\"richContent\" />\n </div>\n </template>\n <template #edit>\n <TinyMceEditor\n v-model:model-value=\"richContent\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n :show-other-option=\"false\"\n :show-rich-text=\"false\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","richContent","ref","save","value","richTextContent","QxsMessage","error","onMounted","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","orderIndex","innerHTML","_hoisted_2","edit","TinyMceEditor","_mergeProps","$event","style","width","showAction","_createBlock","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","_cache","type"],"mappings":"y0BAWA,MAAMA,EAAQC,EAURC,EAAQC,EAERC,EAAQC,EAAAA,WAERC,EAAcC,EAAAA,IAAI,IAExB,SAASC,IACFF,EAAYG,MAKjBP,EAAM,OAAQ,CACZQ,gBAAiBJ,EAAYG,OAAS,KALtCE,EAAAA,WAAWC,MAAM,aAOrB,CAQAC,EAAAA,UANA,WACMb,EAAMU,kBACRJ,EAAYG,MAAQT,EAAMU,gBAE9B,GAGA,MAAMI,EAAKC,EAAAA,aAAa,6CAItBC,EAAAA,mBA6BM,MAAA,CA7BAC,MAAKC,EAAAA,eAAEC,EAAAA,MAAAL,GAAGM,EAAC,iBACfC,EAAAA,YA2BgBC,EAAAA,QAAA,CA3BA,YAAWC,EAAAA,QAAM,CACpBC,kBACT,IAEM,CAFNC,EAAAA,mBAEM,MAFNC,EAEM,CADDC,EAAAA,gBAAAA,EAAAA,gBAAAA,EAAAA,cAAiB,IAAC,GAAAF,qBAA4B,MAAA,CAAvBG,UAAQtB,EAAAG,OAAW,KAAA,EAAAoB,OAGtCC,eACT,IAIE,CAJFT,EAAAA,YAIEU,EAAAA,QAJFC,aAIE,CAHQ,cAAa1B,EAAAG,2CAAAH,EAAWG,MAAAwB,IACxBd,QAAAf,GAAK,CACb8B,MAAA,CAAAC,MAAA,UAAoB,KAAA,GAAA,CAAA,oCAGxB,IAaE,CAZMC,EAAAA,0BADRC,EAAAA,YAaEC,EAAAA,QAAA,OAXC,UAASf,EAAAA,OACT,SAAQgB,EAAAA,MACR,4BAA2BvC,EAAMwC,uBACjC,qBAAmB,EACnB,kBAAgB,EAChBC,wBAASvC,EAAK,OAAA,OACdwC,0BAAWxC,EAAK,OAAA,SAChByC,wBAAQzC,EAAK,WACb0C,OAAMpC,EACNqC,sBAAM3C,EAAK,SACX4C,MAAGC,EAAA,KAAAA,EAAA,GAAEC,GAAQ9C,QAAa8C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubjectRichText.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@qxs-bns/hooks"),l=require("@qxs-bns/icons/src/components/Plus.vue"),a=require("../../../icon/index.cjs"),n=require("../../../message/src/message.cjs"),r=require("../../../subject-action/src/subject-action.vue.cjs"),i=require("../../../subject-layout/src/subject-layout.vue.cjs"),o=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs"),s=require("../../../ui/button/index.cjs"),c=require("../../../ui/input/index.cjs");require("../../../ui/radio/index.cjs");var u=require("../../../ui/checkbox/index.cjs"),d=require("../../../ui/link/index.cjs"),m=require("../../../ui/tag/index.cjs");require("../../../ui/input-number/index.cjs"),require("../../../ui/select/index.cjs"),require("../../../ui/popover/index.cjs"),require("../../../ui/layout/index.cjs"),require("../../../ui/scrollbar/index.cjs"),require("../../../ui/dialog/index.cjs"),require("../../../ui/table/index.cjs");const p={class:"preview"},v={class:"content"},x={class:"title"},f={key:0},y=["innerHTML"],V={key:1,class:"flex flex-wrap",style:{"margin-top":"10px",color:"#a8abb2"}},g={class:"flex flex-items-start"},k={style:{flex:"1"}},w={class:"flex flex-justify-end"},h={class:"flex flex-items-start",style:{"margin-top":"12px"}},N={class:"answer-list",style:{"margin-top":"12px"}},E={class:"label"},B={class:"answer-tags"},C={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},_={style:{flex:"1"}},b={key:1,class:"flex flex-items-start",style:{"margin-top":"12px"}},q={style:{flex:"1"}},j={class:"flex flex-justify-end"};var S=e.defineComponent({__name:"subject-blank-fill",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},examAnswerSettingVO:{type:Object,required:!1},examRichTextContent:{type:String,required:!1},showAnalysis:{type:Boolean,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(S,{emit:I}){const A=S,T=I,O=e.useAttrs(),L=e.ref([]),Q=e.ref(""),D=e.ref(""),M=e.ref(!1),R=e.ref(""),U=[{label:"答案不分顺序",value:"isInOrder"},{label:"忽略大小写",value:"isIgnoreCase"}],F=e.ref(["isIgnoreCase"]);function P(){Q.value+=" ______",L.value.push({title:"",tag:"",showInput:!1})}function z(){M.value=!1,R.value=""}function H(){Q.value?L.value.length<1?n.QxsMessage.error("至少添加一个填空符!"):T("save",{title:Q.value.replaceAll(/ ______/g,"<filter></filter>"),answers:L.value.map(e=>({title:e.title,isCorrect:!0})),analysis:D.value,isSetCorrectAnswer:!0,examAnswerSettingBO:{isIgnoreCase:F.value?.includes("isIgnoreCase"),isInOrder:F.value?.includes("isInOrder")},examRichTextContent:M.value?R.value:""}):n.QxsMessage.error("题目标题不能为空!")}e.watch(()=>Q.value,()=>{const[...e]=Q.value.matchAll(/ ______/g);if(e.length!==L.value.length){const t=L.value.length-e.length;L.value.splice(L.value.length-t,t)}}),e.onMounted(function(){A.title&&(Q.value=A.title.replaceAll(/<filter><\/filter>/g," ______")),A.answerList&&A.answerList.length&&(L.value=A.answerList),A.examAnswerSettingVO&&(F.value=F.value.filter(e=>"isIgnoreCase"===e&&A.examAnswerSettingVO?.isIgnoreCase||"isInOrder"===e&&A.examAnswerSettingVO?.isInOrder)),A.analysis&&(D.value=A.analysis),A.examRichTextContent&&(R.value=A.examRichTextContent,M.value=!0)});const G=t.useNamespace("subject-blank-fill");return(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(G).e("blank-fill-exam"))},[e.createVNode(i.default,{"show-edit":t.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",p,[e.createElementVNode("div",v,[e.createElementVNode("span",x,e.toDisplayString(t.orderIndex+1)+"."+e.toDisplayString(Q.value)+"(填空题)",1),M.value?(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",{class:"rich-text",innerHTML:R.value},null,8,y)])):e.createCommentVNode("v-if",!0),L.value.some(e=>e.title)?(e.openBlock(),e.createElementBlock("div",V,[n[10]||(n[10]=e.createElementVNode("span",{class:"title"},"正确答案:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,class:"flex flex-wrap flex-items-center",style:{"margin-right":"10px"}},[e.createElementVNode("span",null,"填空"+e.toDisplayString(l+1)+":",1),e.createElementVNode("span",null,e.toDisplayString(t.title),1)]))),128))])):e.createCommentVNode("v-if",!0)])])]),edit:e.withCtx(()=>[e.createElementVNode("div",g,[n[11]||(n[11]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",k,[e.createVNode(e.unref(c.QxsInput),{modelValue:Q.value,"onUpdate:modelValue":n[0]||(n[0]=e=>Q.value=e),type:"textarea",rows:7,"show-word-limit":"",maxlength:400,placeholder:"【填空题】请输入问题",disabled:t.isSave},null,8,["modelValue","disabled"])])]),e.createElementVNode("div",w,[e.createVNode(e.unref(d.QxsLink),{type:"primary",disabled:t.isSave,onClick:P},{default:e.withCtx(()=>n[12]||(n[12]=[e.createTextVNode(" 插入填空符 ",-1)])),_:1,__:[12]},8,["disabled"])]),e.createElementVNode("div",h,[n[13]||(n[13]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"答题设置:")],-1)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(U,t=>e.createVNode(e.unref(u.QxsCheckboxGroup),{key:t.value,modelValue:F.value,"onUpdate:modelValue":n[1]||(n[1]=e=>F.value=e)},{default:e.withCtx(()=>[e.createVNode(e.unref(u.QxsCheckbox),{value:t.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]),_:2},1032,["value"])]),_:2},1032,["modelValue"])),64))]),e.createElementVNode("div",N,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,(n,r)=>(e.openBlock(),e.createElementBlock("div",{key:r,class:"answer-item flex flex-items-center"},[e.createElementVNode("div",E,[e.createElementVNode("span",null,"第"+e.toDisplayString(r+1)+"空答案:",1)]),e.createElementVNode("div",B,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.title.split(","),t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t},[t?(e.openBlock(),e.createBlock(e.unref(m.QxsTag),{key:0,closable:"",onClose:e=>function(e,t){if(e){const l=t.title.split(","),a=l.findIndex(t=>t===e);a>-1&&(l.splice(a,1),t.title=l.join(","))}}(t,n)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t),1)]),_:2},1032,["onClose"])):e.createCommentVNode("v-if",!0)],64))),128)),t.isSave?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.showInput?(e.openBlock(),e.createBlock(e.unref(c.QxsInput),{key:0,modelValue:n.tag,"onUpdate:modelValue":e=>n.tag=e,style:{width:"80px"},onBlur:()=>function(e){e.showInput=!1,e.tag&&(e.title=e.title?[e.title,e.tag].join(","):e.tag,e.tag="")}(n)},null,8,["modelValue","onUpdate:modelValue","onBlur"])):(e.openBlock(),e.createBlock(e.unref(s.QxsButton),{key:1,size:"small",onClick:e=>n.showInput=!0},{icon:e.withCtx(()=>[e.createVNode(e.unref(a.QxsIcon),{icon:l})]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.title?"添加同义词":"添加答案"),1)]),_:2},1032,["onClick"]))],64))])]))),128))]),t.showAnalysis?(e.openBlock(),e.createElementBlock("div",C,[n[14]||(n[14]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",_,[e.createVNode(e.unref(c.QxsInput),{modelValue:D.value,"onUpdate:modelValue":n[2]||(n[2]=e=>D.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])])):e.createCommentVNode("v-if",!0),M.value?(e.openBlock(),e.createElementBlock("div",b,[n[16]||(n[16]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",q,[e.createVNode(o.default,e.mergeProps({"model-value":R.value,"onUpdate:modelValue":n[3]||(n[3]=e=>R.value=e)},e.unref(O),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",j,[e.createVNode(e.unref(d.QxsLink),{type:"danger",onClick:z},{default:e.withCtx(()=>n[15]||(n[15]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[15]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[t.showAction?(e.openBlock(),e.createBlock(r.default,{key:0,"is-edit":t.isEdit,"is-set":t.isSet,"show-other-option":!1,"exam-answer-relation-type":A.examAnswerRelationType,onMoveUp:n[4]||(n[4]=e=>T("move","up")),onMoveDown:n[5]||(n[5]=e=>T("move","down")),onDelete:n[6]||(n[6]=e=>T("delete")),onSave:H,onEdit:n[7]||(n[7]=e=>T("edit")),onAdd:n[8]||(n[8]=e=>T("add",e)),onOnShowRichText:n[9]||(n[9]=e=>M.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2))}});exports.default=S;
|
|
2
|
-
//# sourceMappingURL=subject-blank-fill.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-blank-fill.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-blank-fill.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useNamespace } from '@qxs-bns/hooks'\nimport Plus from '@qxs-bns/icons/src/components/Plus.vue'\nimport { onMounted, ref, useAttrs, watch } from 'vue'\nimport { QxsIcon } from '../../../icon'\nimport { QxsMessage } from '../../../message'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\nimport { QxsButton, QxsCheckbox, QxsCheckboxGroup, QxsInput, QxsLink, QxsTag } from '../../../ui'\n\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n isEdit: boolean\n isSet: boolean\n examAnswerSettingVO?: {\n isInOrder: boolean\n isIgnoreCase: boolean\n }\n examRichTextContent?: string\n showAnalysis?: boolean\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n tag: string\n showInput: boolean\n}[]>([])\n\nconst title = ref('')\nconst analysis = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\n\nconst checkList = [\n {\n label: '答案不分顺序',\n value: 'isInOrder',\n },\n {\n label: '忽略大小写',\n value: 'isIgnoreCase',\n },\n]\n\nconst isCheckList = ref(['isIgnoreCase'])\n\nfunction handleAddTag(item: any) {\n item.showInput = false\n if (item.tag) {\n item.title = item.title ? [item.title, item.tag].join(',') : item.tag\n item.tag = ''\n }\n}\n\nfunction closeTag(tag: string, item: any) {\n if (tag) {\n const tags = item.title.split(',')\n const index = tags.findIndex((i: string) => i === tag)\n if (index > -1) {\n tags.splice(index, 1)\n item.title = tags.join(',')\n }\n }\n}\n\nfunction addBlank() {\n title.value += ' ______'\n answers.value.push({\n title: '',\n tag: '',\n showInput: false,\n })\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n QxsMessage.error('题目标题不能为空!')\n return\n }\n\n if (answers.value.length < 1) {\n QxsMessage.error('至少添加一个填空符!')\n return\n }\n\n emits('save', {\n title: title.value.replaceAll(/ ______/g, '<filter></filter>'),\n answers: answers.value.map((item: any) => {\n return { title: item.title, isCorrect: true }\n }),\n analysis: analysis.value,\n isSetCorrectAnswer: true,\n examAnswerSettingBO: {\n isIgnoreCase: isCheckList.value?.includes('isIgnoreCase'),\n isInOrder: isCheckList.value?.includes('isInOrder'),\n },\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title.replaceAll(/<filter><\\/filter>/g, ' ______')\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.examAnswerSettingVO) {\n // 仅保留与设置匹配的选项\n isCheckList.value = isCheckList.value.filter((item: any) =>\n (item === 'isIgnoreCase' && props.examAnswerSettingVO?.isIgnoreCase)\n || (item === 'isInOrder' && props.examAnswerSettingVO?.isInOrder),\n )\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nwatch(() => title.value, () => {\n const [...matchs] = title.value.matchAll(/ ______/g)\n if (matchs.length !== answers.value.length) {\n const differ = answers.value.length - matchs.length\n answers.value.splice(answers.value.length - differ, differ)\n }\n})\n\nonMounted(init)\nconst ns = useNamespace('subject-blank-fill')\n</script>\n\n<template>\n <div :class=\"ns.e('blank-fill-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div class=\"content\">\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(填空题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n <div\n v-if=\"answers.some((item) => item.title)\"\n class=\"flex flex-wrap\"\n style=\"margin-top: 10px;color: #a8abb2;\"\n >\n <span class=\"title\">正确答案:</span>\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"flex flex-wrap flex-items-center\"\n style=\"margin-right: 10px;\"\n >\n <span>填空{{ index + 1 }}:</span>\n <span>{{ item.title }}</span>\n </div>\n </div>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex flex-items-start\">\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"7\"\n show-word-limit\n :maxlength=\"400\"\n placeholder=\"【填空题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"primary\"\n :disabled=\"isSave\"\n @click=\"addBlank\"\n >\n 插入填空符\n </QxsLink>\n </div>\n <div\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>答题设置:</span>\n </div>\n\n <QxsCheckboxGroup\n v-for=\"item in checkList\"\n :key=\"item.value\"\n v-model=\"isCheckList\"\n >\n <QxsCheckbox\n :value=\"item.value\"\n >\n {{ item.label }}\n </QxsCheckbox>\n </QxsCheckboxGroup>\n </div>\n <div\n class=\"answer-list\"\n style=\"margin-top: 12px;\"\n >\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <div class=\"label\">\n <span>第{{ index + 1 }}空答案:</span>\n </div>\n\n <div class=\"answer-tags\">\n <template\n v-for=\"i in item.title.split(',')\"\n :key=\"i\"\n >\n <QxsTag\n v-if=\"i\"\n closable\n @close=\"closeTag(i, item)\"\n >\n {{ i }}\n </QxsTag>\n </template>\n <template v-if=\"!isSave\">\n <QxsInput\n v-if=\"item.showInput\"\n v-model=\"item.tag\"\n style=\"width: 80px;\"\n @blur=\"() => handleAddTag(item)\"\n />\n <QxsButton\n v-else\n size=\"small\"\n @click=\"item.showInput = true\"\n >\n <template #icon>\n <QxsIcon :icon=\"Plus\" />\n </template>\n <span>{{ item.title ? '添加同义词' : '添加答案' }}</span>\n </QxsButton>\n </template>\n </div>\n </div>\n </div>\n <div\n v-if=\"showAnalysis\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"type => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","showRichText","richText","checkList","label","value","isCheckList","addBlank","push","tag","showInput","deleteRichText","save","length","QxsMessage","error","replaceAll","map","item","isCorrect","isSetCorrectAnswer","examAnswerSettingBO","isIgnoreCase","includes","isInOrder","examRichTextContent","watch","matchs","matchAll","differ","splice","onMounted","answerList","examAnswerSettingVO","filter","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","_toDisplayString","orderIndex","_hoisted_4","innerHTML","some","_openBlock","_hoisted_6","_cache","_Fragment","_renderList","index","key","style","edit","_hoisted_7","_hoisted_8","QxsInput","$event","type","rows","maxlength","placeholder","disabled","isSave","_hoisted_9","QxsLink","onClick","_hoisted_10","QxsCheckboxGroup","QxsCheckbox","_createTextVNode","_hoisted_11","_hoisted_12","_hoisted_13","split","i","_createBlock","QxsTag","closable","onClose","tags","findIndex","join","closeTag","modelValue","width","onBlur","handleAddTag","QxsButton","size","icon","QxsIcon","Plus","showAnalysis","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","TinyMceEditor","_mergeProps","_hoisted_18","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-blank-fill.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),l=require("@qxs-bns/icons/src/components/CirclePlus.vue"),t=require("@qxs-bns/icons/src/components/Remove.vue"),a=require("@qxs-bns/hooks");require("../../../ui/button/index.cjs");var n=require("../../../ui/input/index.cjs"),r=require("../../../ui/radio/index.cjs");require("../../../ui/checkbox/index.cjs");var s=require("../../../ui/link/index.cjs");require("../../../ui/tag/index.cjs"),require("../../../ui/input-number/index.cjs"),require("../../../ui/select/index.cjs"),require("../../../ui/popover/index.cjs");var i=require("../../../ui/layout/index.cjs");require("../../../ui/scrollbar/index.cjs"),require("../../../ui/dialog/index.cjs"),require("../../../ui/table/index.cjs");var o=require("../../../icon/index.cjs"),u=require("../../../message/src/message.cjs"),c=require("../../../subject-action/src/subject-action.vue.cjs"),d=require("../../../subject-layout/src/subject-layout.vue.cjs"),m=require("../../../tiny-mce-editor/src/tiny-mce-editor.vue.cjs");const p={class:"preview"},v={class:"title"},x={key:0},f=["innerHTML"],V={class:"answer-radio flex-col"},y={class:"flex flex-items-start"},h={style:{flex:"1"}},N={class:"answer flex flex-items-start",style:{"margin-top":"12px"}},w={class:"flex"},k={class:"answer-list flex-col"},g={class:"order"},E={class:"flex flex-items-start",style:{"margin-top":"12px"}},q={style:{flex:"1"}},C={key:0,class:"flex flex-items-start",style:{"margin-top":"12px"}},b={style:{flex:"1"}},j={class:"flex flex-justify-end"};var B=e.defineComponent({name:"QxsSubjectScale",__name:"subject-scale",props:{orderIndex:{type:Number,required:!0},title:{type:String,required:!1},isSave:{type:Boolean,required:!0},showAction:{type:Boolean,required:!1},answerList:{type:null,required:!1},analysis:{type:String,required:!1},rowTitle:{type:String,required:!1},isEdit:{type:Boolean,required:!0},isSet:{type:Boolean,required:!0},scaleQuestionList:{type:null,required:!1},examRichTextContent:{type:String,required:!1},examAnswerRelationType:{type:Number,required:!1}},emits:["move","save","delete","edit","add"],setup(B,{emit:Q}){const S=B,L=Q,_=e.useAttrs(),M=e.ref([{title:""},{title:""},{title:""},{title:""},{title:""}]),R=e.ref(""),T=e.ref(""),I=e.ref(""),D=e.ref(!1),U=e.ref(""),A=e.ref([]),F=e.computed(()=>Math.ceil(24/(M.value.length+1)));function z(){5!==M.value.length&&M.value.push({title:""})}function P(){D.value=!1,U.value=""}function H(){if(!R.value)return void u.QxsMessage.error("题目标题不能为空!");let e="";M.value.forEach((l,t)=>{l.title||(e+=`选项${String.fromCharCode(65+t)}未填写。`)}),e?u.QxsMessage.error(e):I.value?(A.value=I.value.split("\n").filter(e=>e),L("save",{title:R.value,answers:M.value,analysis:T.value,scaleQuestionList:A.value,examRichTextContent:D.value?U.value:""})):u.QxsMessage.error("行标题不能为空!")}e.onMounted(function(){S.title&&(R.value=S.title),S.answerList&&S.answerList.length&&(M.value=S.answerList),S.analysis&&(T.value=S.analysis),S.scaleQuestionList&&(A.value=S.scaleQuestionList,I.value=A.value.join("\n")),S.examRichTextContent&&(U.value=S.examRichTextContent,D.value=!0)});const O=a.useNamespace("subject-scale");return(a,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(O).e("scale-exam"))},[e.createVNode(d.default,{"show-edit":a.isEdit},{preview:e.withCtx(()=>[e.createElementVNode("div",p,[e.createElementVNode("div",null,[e.createElementVNode("span",v,e.toDisplayString(a.orderIndex+1)+"."+e.toDisplayString(R.value)+"(量表题)",1),D.value?(e.openBlock(),e.createElementBlock("div",x,[e.createElementVNode("div",{class:"rich-text",innerHTML:U.value},null,8,f)])):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",V,[e.createVNode(e.unref(i.QxsRow),{style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(e.unref(i.QxsCol),{span:F.value},null,8,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,l=>(e.openBlock(),e.createBlock(e.unref(i.QxsCol),{key:l.title,class:"flex flex-center",span:F.value},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l.title),1)]),_:2},1032,["span"]))),128))]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,l=>(e.openBlock(),e.createBlock(e.unref(i.QxsRow),{key:l,style:{padding:"10px 0"}},{default:e.withCtx(()=>[e.createVNode(e.unref(i.QxsCol),{span:F.value,class:"flex flex-center"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(l),1)]),_:2},1032,["span"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value.length,l=>(e.openBlock(),e.createBlock(e.unref(i.QxsCol),{key:l,class:"radio-item flex flex-center",span:F.value},{default:e.withCtx(()=>[e.createVNode(e.unref(r.QxsRadio),{disabled:!0})]),_:2},1032,["span"]))),128))]),_:2},1024))),128))])])]),edit:e.withCtx(()=>[e.createElementVNode("div",y,[u[10]||(u[10]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"题目:")],-1)),e.createElementVNode("div",h,[e.createVNode(e.unref(n.QxsInput),{modelValue:R.value,"onUpdate:modelValue":u[0]||(u[0]=e=>R.value=e),type:"textarea",rows:2,placeholder:"【量表题】请输入问题",disabled:a.isSave},null,8,["modelValue","disabled"])])]),e.createElementVNode("div",N,[u[11]||(u[11]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"行标题:")],-1)),e.createElementVNode("div",w,[e.createVNode(e.unref(n.QxsInput),{modelValue:I.value,"onUpdate:modelValue":u[1]||(u[1]=e=>I.value=e),type:"textarea",placeholder:"请输入行标题",style:{width:"160px"},rows:10},null,8,["modelValue"]),e.createElementVNode("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(r,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:"answer-item flex flex-items-center"},[e.createElementVNode("span",g,e.toDisplayString(String.fromCharCode(65+s))+".",1),e.createVNode(e.unref(n.QxsInput),{modelValue:r.title,"onUpdate:modelValue":e=>r.title=e,class:"input","show-word-limit":"",maxlength:10,placeholder:`选项${String.fromCharCode(65+s)}`,disabled:a.isSave},null,8,["modelValue","onUpdate:modelValue","placeholder","disabled"]),e.createVNode(e.unref(o.QxsIcon),{class:e.normalizeClass(["icon",[{disabled:5===M.value.length}]]),color:"#c0c4cc",icon:l,onClick:z},null,8,["class"]),e.createVNode(e.unref(o.QxsIcon),{class:e.normalizeClass(["icon",[{disabled:M.value.length<3}]]),color:"#c0c4cc",icon:t,onClick:e=>function(e){M.value.length<3||M.value.splice(e,1)}(s)},null,8,["class","onClick"])]))),128))])])]),e.createElementVNode("div",E,[u[12]||(u[12]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"解析:")],-1)),e.createElementVNode("div",q,[e.createVNode(e.unref(n.QxsInput),{modelValue:T.value,"onUpdate:modelValue":u[2]||(u[2]=e=>T.value=e),type:"textarea",rows:2,placeholder:"请输入题目解析"},null,8,["modelValue"])])]),D.value?(e.openBlock(),e.createElementBlock("div",C,[u[14]||(u[14]=e.createElementVNode("div",{class:"label"},[e.createElementVNode("span",null,"富文本:")],-1)),e.createElementVNode("div",b,[e.createVNode(m.default,e.mergeProps({"model-value":U.value,"onUpdate:modelValue":u[3]||(u[3]=e=>U.value=e)},e.unref(_),{style:{width:"100%"}}),null,16,["model-value"]),e.createElementVNode("div",j,[e.createVNode(e.unref(s.QxsLink),{type:"danger",onClick:e.withModifiers(P,["prevent"])},{default:e.withCtx(()=>u[13]||(u[13]=[e.createTextVNode(" 删除富文本 ",-1)])),_:1,__:[13]})])])])):e.createCommentVNode("v-if",!0)]),default:e.withCtx(()=>[a.showAction?(e.openBlock(),e.createBlock(c.default,{key:0,"is-edit":a.isEdit,"is-set":a.isSet,"show-other-option":!1,"exam-answer-relation-type":S.examAnswerRelationType,onMoveUp:u[4]||(u[4]=e=>L("move","up")),onMoveDown:u[5]||(u[5]=e=>L("move","down")),onDelete:u[6]||(u[6]=e=>L("delete")),onSave:H,onEdit:u[7]||(u[7]=e=>L("edit")),onAdd:u[8]||(u[8]=e=>L("add",e)),onOnShowRichText:u[9]||(u[9]=e=>D.value=!0)},null,8,["is-edit","is-set","exam-answer-relation-type"])):e.createCommentVNode("v-if",!0)]),_:1},8,["show-edit"])],2))}});exports.default=B;
|
|
2
|
-
//# sourceMappingURL=subject-scale.vue.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-scale.vue.cjs","sources":["../../../../../../../packages/components/src/subject-list/src/components/subject-scale.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport CirclePlus from '@qxs-bns/icons/src/components/CirclePlus.vue'\nimport Remove from '@qxs-bns/icons/src/components/Remove.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { QxsCol, QxsIcon, QxsInput, QxsLink, QxsRadio, QxsRow } from '../../../ui'\nimport { QxsMessage } from '../../../message'\nimport { computed, onMounted, ref, useAttrs } from 'vue'\nimport SubjectAction from '../../../subject-action/src/subject-action.vue'\nimport SubjectLayout from '../../../subject-layout/src/subject-layout.vue'\nimport TinyMceEditor from '../../../tiny-mce-editor/src/tiny-mce-editor.vue'\n\ndefineOptions({\n name: 'QxsSubjectScale',\n})\nconst props = defineProps<{\n orderIndex: number\n title?: string\n isSave: boolean\n showAction?: boolean\n answerList?: any\n analysis?: string\n rowTitle?: string\n isEdit: boolean\n isSet: boolean\n scaleQuestionList?: any\n examRichTextContent?: string\n examAnswerRelationType?: number\n}>()\nconst emits = defineEmits(['move', 'save', 'delete', 'edit', 'add'])\n\nconst attrs = useAttrs()\n\nconst answers = ref<{\n title: string\n}[]>([{\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}, {\n title: '',\n}])\n\nconst title = ref('')\nconst analysis = ref('')\nconst rowTitle = ref('')\nconst showRichText = ref(false)\nconst richText = ref('')\nconst scaleQuestionList = ref<string[]>([])\nconst span = computed(() => Math.ceil(24 / (answers.value.length + 1)))\nfunction addAnswer() {\n if (answers.value.length === 5) {\n return\n }\n answers.value.push({\n title: '',\n })\n}\n\nfunction deleteAnswer(index: number) {\n if (answers.value.length < 3) {\n return\n }\n answers.value.splice(index, 1)\n}\n\nfunction deleteRichText() {\n showRichText.value = false\n richText.value = ''\n}\n\nfunction save() {\n if (!title.value) {\n QxsMessage.error('题目标题不能为空!')\n return\n }\n let msg = ''\n answers.value.forEach((v, i) => {\n if (!v.title) {\n msg += `选项${String.fromCharCode(65 + i)}未填写。`\n }\n })\n\n if (msg) {\n QxsMessage.error(msg)\n return\n }\n\n if (!rowTitle.value) {\n QxsMessage.error('行标题不能为空!')\n return\n }\n\n scaleQuestionList.value = rowTitle.value.split('\\n').filter(i => i)\n\n emits('save', {\n title: title.value,\n answers: answers.value,\n analysis: analysis.value,\n scaleQuestionList: scaleQuestionList.value,\n examRichTextContent: showRichText.value ? richText.value : '',\n })\n}\n\nfunction init() {\n if (props.title) {\n title.value = props.title\n }\n\n if (props.answerList && props.answerList.length) {\n answers.value = props.answerList\n }\n\n if (props.analysis) {\n analysis.value = props.analysis\n }\n\n if (props.scaleQuestionList) {\n scaleQuestionList.value = props.scaleQuestionList\n rowTitle.value = scaleQuestionList.value.join('\\n')\n }\n if (props.examRichTextContent) {\n richText.value = props.examRichTextContent\n showRichText.value = true\n }\n}\n\nonMounted(init)\nconst ns = useNamespace('subject-scale')\n</script>\n\n<template>\n <div :class=\"ns.e('scale-exam')\">\n <SubjectLayout :show-edit=\"isEdit\">\n <template #preview>\n <div class=\"preview\">\n <div>\n <span class=\"title\">{{ orderIndex + 1 }}.{{ title }}(量表题)</span>\n <div v-if=\"showRichText\">\n <div\n class=\"rich-text\"\n v-html=\"richText\"\n />\n </div>\n </div>\n <div class=\"answer-radio flex-col\">\n <QxsRow style=\"padding: 10px 0;\">\n <QxsCol :span=\"span\" />\n <QxsCol\n v-for=\"item in answers\"\n :key=\"item.title\"\n class=\"flex flex-center\"\n :span=\"span\"\n >\n <span>{{ item.title }}</span>\n </QxsCol>\n </QxsRow>\n <QxsRow\n v-for=\"item in scaleQuestionList\"\n :key=\"item\"\n style=\"padding: 10px 0;\"\n >\n <QxsCol\n :span=\"span\"\n class=\"flex flex-center\"\n >\n <span>{{ item }}</span>\n </QxsCol>\n <QxsCol\n v-for=\"i in answers.length\"\n :key=\"i\"\n class=\"radio-item flex flex-center\"\n :span=\"span\"\n >\n <QxsRadio :disabled=\"true\" />\n </QxsCol>\n </QxsRow>\n </div>\n </div>\n </template>\n <template #edit>\n <div class=\"flex flex-items-start\">\n <div class=\"label\">\n <span>题目:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"title\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"【量表题】请输入问题\"\n :disabled=\"isSave\"\n />\n </div>\n </div>\n <div class=\"answer flex flex-items-start\" style=\"margin-top: 12px;\">\n <div class=\"label\">\n <span>行标题:</span>\n </div>\n <div class=\"flex\">\n <QxsInput\n v-model=\"rowTitle\"\n type=\"textarea\"\n placeholder=\"请输入行标题\"\n style=\"width: 160px;\"\n :rows=\"10\"\n />\n <div class=\"answer-list flex-col\">\n <div\n v-for=\"(item, index) in answers\"\n :key=\"index\"\n class=\"answer-item flex flex-items-center\"\n >\n <span class=\"order\">{{ String.fromCharCode(65 + index) }}.</span>\n <QxsInput\n v-model=\"item.title\"\n class=\"input\"\n show-word-limit\n :maxlength=\"10\"\n :placeholder=\"`选项${String.fromCharCode(65 + index)}`\"\n :disabled=\"isSave\"\n />\n <QxsIcon class=\"icon\" color=\"#c0c4cc\" :icon=\"CirclePlus\" :class=\"[{ disabled: answers.length === 5 }]\" @click=\"addAnswer\" />\n <QxsIcon class=\"icon\" color=\"#c0c4cc\" :icon=\"Remove\" :class=\"[{ disabled: answers.length < 3 }]\" @click=\"deleteAnswer(index)\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>解析:</span>\n </div>\n <div style=\"flex: 1;\">\n <QxsInput\n v-model=\"analysis\"\n type=\"textarea\"\n :rows=\"2\"\n placeholder=\"请输入题目解析\"\n />\n </div>\n </div>\n <div\n v-if=\"showRichText\"\n class=\"flex flex-items-start\"\n style=\"margin-top: 12px;\"\n >\n <div class=\"label\">\n <span>富文本:</span>\n </div>\n <div style=\"flex: 1;\">\n <TinyMceEditor\n v-model:model-value=\"richText\"\n v-bind=\"attrs\"\n style=\"width: 100%;\"\n />\n <div class=\"flex flex-justify-end\">\n <QxsLink\n type=\"danger\"\n @click.prevent=\"deleteRichText\"\n >\n 删除富文本\n </QxsLink>\n </div>\n </div>\n </div>\n </template>\n <SubjectAction\n v-if=\"showAction\"\n :is-edit=\"isEdit\"\n :is-set=\"isSet\"\n :show-other-option=\"false\"\n :exam-answer-relation-type=\"props.examAnswerRelationType\"\n @move-up=\"emits('move', 'up')\"\n @move-down=\"emits('move', 'down')\"\n @delete=\"emits('delete')\"\n @save=\"save\"\n @edit=\"emits('edit')\"\n @add=\"(type: any) => emits('add', type)\"\n @on-show-rich-text=\"showRichText = true\"\n />\n </SubjectLayout>\n </div>\n</template>\n"],"names":["props","__props","emits","__emit","attrs","useAttrs","answers","ref","title","analysis","rowTitle","showRichText","richText","scaleQuestionList","span","computed","Math","ceil","value","length","addAnswer","push","deleteRichText","save","QxsMessage","error","msg","forEach","v","i","String","fromCharCode","split","filter","examRichTextContent","onMounted","answerList","join","ns","useNamespace","_createElementBlock","class","_normalizeClass","_unref","e","_createVNode","SubjectLayout","isEdit","preview","_createElementVNode","_hoisted_1","_hoisted_2","_toDisplayString","orderIndex","_hoisted_3","innerHTML","_hoisted_5","QxsRow","style","padding","QxsCol","_Fragment","_renderList","item","_createBlock","key","_openBlock","QxsRadio","disabled","edit","_hoisted_6","_hoisted_7","QxsInput","$event","type","rows","placeholder","isSave","_hoisted_8","_hoisted_9","width","_hoisted_10","index","_hoisted_11","modelValue","maxlength","QxsIcon","color","icon","CirclePlus","onClick","Remove","splice","deleteAnswer","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","TinyMceEditor","_mergeProps","_hoisted_16","QxsLink","_cache","showAction","SubjectAction","isSet","examAnswerRelationType","onMoveUp","onMoveDown","onDelete","onSave","onEdit","onAdd","onOnShowRichText"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-scale.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|