@qxs-bns/components 0.0.90 → 0.0.92
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/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 +143 -0
- package/es/data-chart.mjs.map +1 -0
- package/es/editor/blocksuite-editor.mjs +1126 -0
- package/es/editor/blocksuite-editor.mjs.map +1 -0
- package/es/editor/content-format.mjs +9 -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 +164 -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 +60 -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 +17 -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.browser.es.mjs +62 -0
- package/es/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.mjs.map +1 -0
- package/es/photo-crop-tool.mjs +147 -0
- package/es/photo-crop-tool.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 +270 -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 +113 -0
- package/es/subject/shared-styles.mjs.map +1 -0
- package/es/subject/single-interactions.mjs +2 -0
- package/es/subject/single-interactions.mjs.map +1 -0
- package/es/subject/single-model.mjs +2 -0
- package/es/subject/single-model.mjs.map +1 -0
- package/es/subject/single-state.mjs +2 -0
- package/es/subject/single-state.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/subject-shared.mjs +2 -0
- package/es/subject/subject-shared.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 +143 -0
- package/lib/data-chart.cjs.map +1 -0
- package/lib/editor/blocksuite-editor.cjs +1126 -0
- package/lib/editor/blocksuite-editor.cjs.map +1 -0
- package/lib/editor/content-format.cjs +9 -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 +164 -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 +60 -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 +17 -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.browser.es.cjs +62 -0
- package/lib/node_modules/.pnpm/turndown@7.2.4/node_modules/turndown/lib/turndown.browser.es.cjs.map +1 -0
- package/lib/photo-crop-tool.cjs +147 -0
- package/lib/photo-crop-tool.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 +270 -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 +113 -0
- package/lib/subject/shared-styles.cjs.map +1 -0
- package/lib/subject/single-interactions.cjs +2 -0
- package/lib/subject/single-interactions.cjs.map +1 -0
- package/lib/subject/single-model.cjs +2 -0
- package/lib/subject/single-model.cjs.map +1 -0
- package/lib/subject/single-state.cjs +2 -0
- package/lib/subject/single-state.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/subject-shared.cjs +2 -0
- package/lib/subject/subject-shared.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 +98 -36
- 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 +193 -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 +50 -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/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-interactions.d.ts +46 -0
- package/types/subject/single-model.d.ts +88 -0
- package/types/subject/single-state.d.ts +42 -0
- package/types/subject/single.d.ts +210 -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/subject-shared.d.ts +43 -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/README.md +0 -566
- 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/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.mjs +0 -2
- package/es/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.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/package.json.mjs +0 -2
- package/es/package.json.mjs.map +0 -1
- package/es/src/alert/index.mjs +0 -2
- package/es/src/alert/index.mjs.map +0 -1
- package/es/src/alert/src/alert.mjs +0 -2
- package/es/src/alert/src/alert.mjs.map +0 -1
- package/es/src/components.mjs +0 -2
- package/es/src/components.mjs.map +0 -1
- package/es/src/data-chart/index.mjs +0 -2
- package/es/src/data-chart/index.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/defaults.mjs +0 -2
- package/es/src/defaults.mjs.map +0 -1
- package/es/src/dialog/src/dialog.mjs +0 -2
- package/es/src/dialog/src/dialog.mjs.map +0 -1
- package/es/src/feedback-plugin/index.mjs +0 -2
- package/es/src/feedback-plugin/index.mjs.map +0 -1
- package/es/src/file-upload/index.mjs +0 -2
- package/es/src/file-upload/index.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/icon/index.mjs +0 -2
- package/es/src/icon/index.mjs.map +0 -1
- package/es/src/icon/src/icon.mjs +0 -2
- package/es/src/icon/src/icon.mjs.map +0 -1
- package/es/src/image-upload/index.mjs +0 -2
- package/es/src/image-upload/index.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/make-installer.mjs +0 -2
- package/es/src/make-installer.mjs.map +0 -1
- package/es/src/message/src/message.mjs +0 -2
- package/es/src/message/src/message.mjs.map +0 -1
- package/es/src/photo-crop-tool/index.mjs +0 -2
- package/es/src/photo-crop-tool/index.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/es/src/tiny-mce-editor/index.mjs +0 -2
- package/es/src/tiny-mce-editor/index.mjs.map +0 -1
- package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs +0 -2
- package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue.mjs.map +0 -1
- package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs +0 -2
- package/es/src/tiny-mce-editor/src/tiny-mce-editor.vue2.mjs.map +0 -1
- package/es/src/ui/button/index.mjs +0 -2
- package/es/src/ui/button/index.mjs.map +0 -1
- package/es/src/ui/checkbox/index.mjs +0 -2
- package/es/src/ui/checkbox/index.mjs.map +0 -1
- package/es/src/ui/dialog/index.mjs +0 -2
- package/es/src/ui/dialog/index.mjs.map +0 -1
- package/es/src/ui/input/index.mjs +0 -2
- package/es/src/ui/input/index.mjs.map +0 -1
- package/es/src/ui/input-number/index.mjs +0 -2
- package/es/src/ui/input-number/index.mjs.map +0 -1
- package/es/src/ui/layout/index.mjs +0 -2
- package/es/src/ui/layout/index.mjs.map +0 -1
- package/es/src/ui/link/index.mjs +0 -2
- package/es/src/ui/link/index.mjs.map +0 -1
- package/es/src/ui/popover/index.mjs +0 -2
- package/es/src/ui/popover/index.mjs.map +0 -1
- package/es/src/ui/radio/index.mjs +0 -2
- package/es/src/ui/radio/index.mjs.map +0 -1
- package/es/src/ui/scrollbar/index.mjs +0 -2
- package/es/src/ui/scrollbar/index.mjs.map +0 -1
- package/es/src/ui/select/index.mjs +0 -2
- package/es/src/ui/select/index.mjs.map +0 -1
- package/es/src/ui/table/index.mjs +0 -2
- package/es/src/ui/table/index.mjs.map +0 -1
- package/es/src/ui/tag/index.mjs +0 -2
- package/es/src/ui/tag/index.mjs.map +0 -1
- package/es/src/withInstall.mjs +0 -2
- package/es/src/withInstall.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/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.cjs +0 -2
- package/lib/node_modules/.pnpm/@iconify_vue@5.0.0_vue@3.5.18_typescript@5.9.2_/node_modules/@iconify/vue/dist/iconify.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/package.json.cjs +0 -2
- package/lib/package.json.cjs.map +0 -1
- package/lib/src/alert/index.cjs +0 -2
- package/lib/src/alert/index.cjs.map +0 -1
- package/lib/src/alert/src/alert.cjs +0 -2
- package/lib/src/alert/src/alert.cjs.map +0 -1
- package/lib/src/components.cjs +0 -2
- package/lib/src/components.cjs.map +0 -1
- package/lib/src/data-chart/index.cjs +0 -2
- package/lib/src/data-chart/index.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/defaults.cjs +0 -2
- package/lib/src/defaults.cjs.map +0 -1
- package/lib/src/dialog/src/dialog.cjs +0 -2
- package/lib/src/dialog/src/dialog.cjs.map +0 -1
- package/lib/src/feedback-plugin/index.cjs +0 -2
- package/lib/src/feedback-plugin/index.cjs.map +0 -1
- package/lib/src/file-upload/index.cjs +0 -2
- package/lib/src/file-upload/index.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/icon/index.cjs +0 -2
- package/lib/src/icon/index.cjs.map +0 -1
- package/lib/src/icon/src/icon.cjs +0 -2
- package/lib/src/icon/src/icon.cjs.map +0 -1
- package/lib/src/image-upload/index.cjs +0 -2
- package/lib/src/image-upload/index.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/make-installer.cjs +0 -2
- package/lib/src/make-installer.cjs.map +0 -1
- package/lib/src/message/src/message.cjs +0 -2
- package/lib/src/message/src/message.cjs.map +0 -1
- package/lib/src/photo-crop-tool/index.cjs +0 -2
- package/lib/src/photo-crop-tool/index.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/lib/src/tiny-mce-editor/index.cjs +0 -2
- package/lib/src/tiny-mce-editor/index.cjs.map +0 -1
- package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs +0 -2
- package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue.cjs.map +0 -1
- package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs +0 -2
- package/lib/src/tiny-mce-editor/src/tiny-mce-editor.vue2.cjs.map +0 -1
- package/lib/src/ui/button/index.cjs +0 -2
- package/lib/src/ui/button/index.cjs.map +0 -1
- package/lib/src/ui/checkbox/index.cjs +0 -2
- package/lib/src/ui/checkbox/index.cjs.map +0 -1
- package/lib/src/ui/dialog/index.cjs +0 -2
- package/lib/src/ui/dialog/index.cjs.map +0 -1
- package/lib/src/ui/input/index.cjs +0 -2
- package/lib/src/ui/input/index.cjs.map +0 -1
- package/lib/src/ui/input-number/index.cjs +0 -2
- package/lib/src/ui/input-number/index.cjs.map +0 -1
- package/lib/src/ui/layout/index.cjs +0 -2
- package/lib/src/ui/layout/index.cjs.map +0 -1
- package/lib/src/ui/link/index.cjs +0 -2
- package/lib/src/ui/link/index.cjs.map +0 -1
- package/lib/src/ui/popover/index.cjs +0 -2
- package/lib/src/ui/popover/index.cjs.map +0 -1
- package/lib/src/ui/radio/index.cjs +0 -2
- package/lib/src/ui/radio/index.cjs.map +0 -1
- package/lib/src/ui/scrollbar/index.cjs +0 -2
- package/lib/src/ui/scrollbar/index.cjs.map +0 -1
- package/lib/src/ui/select/index.cjs +0 -2
- package/lib/src/ui/select/index.cjs.map +0 -1
- package/lib/src/ui/table/index.cjs +0 -2
- package/lib/src/ui/table/index.cjs.map +0 -1
- package/lib/src/ui/tag/index.cjs +0 -2
- package/lib/src/ui/tag/index.cjs.map +0 -1
- package/lib/src/withInstall.cjs +0 -2
- package/lib/src/withInstall.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/index.d.ts.map +0 -1
- package/types/src/alert/index.d.ts +0 -66
- package/types/src/alert/index.d.ts.map +0 -1
- package/types/src/alert/src/alert.d.ts +0 -73
- package/types/src/alert/src/alert.d.ts.map +0 -1
- package/types/src/components.d.ts +0 -15
- package/types/src/components.d.ts.map +0 -1
- package/types/src/data-chart/index.d.ts +0 -29
- package/types/src/data-chart/index.d.ts.map +0 -1
- 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/defaults.d.ts +0 -6
- package/types/src/defaults.d.ts.map +0 -1
- package/types/src/dialog/index.d.ts +0 -3
- package/types/src/dialog/index.d.ts.map +0 -1
- package/types/src/dialog/src/dialog.d.ts +0 -25
- package/types/src/dialog/src/dialog.d.ts.map +0 -1
- package/types/src/feedback-plugin/index.d.ts +0 -9
- package/types/src/feedback-plugin/index.d.ts.map +0 -1
- package/types/src/file-upload/index.d.ts +0 -19
- package/types/src/file-upload/index.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/icon/index.d.ts +0 -56
- package/types/src/icon/index.d.ts.map +0 -1
- package/types/src/icon/src/icon.d.ts +0 -62
- package/types/src/icon/src/icon.d.ts.map +0 -1
- package/types/src/image-upload/index.d.ts +0 -27
- package/types/src/image-upload/index.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/make-installer.d.ts +0 -6
- package/types/src/make-installer.d.ts.map +0 -1
- package/types/src/message/index.d.ts +0 -3
- package/types/src/message/index.d.ts.map +0 -1
- package/types/src/message/src/message.d.ts +0 -21
- package/types/src/message/src/message.d.ts.map +0 -1
- package/types/src/message/src/toaster.vue.d.ts +0 -3
- package/types/src/message/src/toaster.vue.d.ts.map +0 -1
- package/types/src/photo-crop-tool/index.d.ts +0 -55
- package/types/src/photo-crop-tool/index.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-action/index.d.ts +0 -93
- package/types/src/subject-action/index.d.ts.map +0 -1
- package/types/src/subject-action/src/subject-action.vue.d.ts +0 -92
- package/types/src/subject-action/src/subject-action.vue.d.ts.map +0 -1
- package/types/src/subject-layout/index.d.ts +0 -30
- package/types/src/subject-layout/index.d.ts.map +0 -1
- package/types/src/subject-layout/src/subject-layout.vue.d.ts +0 -20
- package/types/src/subject-layout/src/subject-layout.vue.d.ts.map +0 -1
- package/types/src/subject-list/index.d.ts +0 -20
- package/types/src/subject-list/index.d.ts.map +0 -1
- package/types/src/subject-list/src/components/SubjectPageEnd.vue.d.ts +0 -24
- package/types/src/subject-list/src/components/SubjectPageEnd.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
- package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts +0 -32
- package/types/src/subject-list/src/components/subject-blank-fill.vue.d.ts.map +0 -1
- package/types/src/subject-list/src/components/subject-scale.vue.d.ts +0 -29
- package/types/src/subject-list/src/components/subject-scale.vue.d.ts.map +0 -1
- package/types/src/subject-list/src/components/subject-single.vue.d.ts +0 -37
- package/types/src/subject-list/src/components/subject-single.vue.d.ts.map +0 -1
- package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts +0 -34
- package/types/src/subject-list/src/components/subject-text-fill.vue.d.ts.map +0 -1
- package/types/src/subject-list/src/subject-list.vue.d.ts +0 -21
- package/types/src/subject-list/src/subject-list.vue.d.ts.map +0 -1
- package/types/src/subject-type/index.d.ts +0 -8
- package/types/src/subject-type/index.d.ts.map +0 -1
- package/types/src/subject-type/src/subject-type.vue.d.ts +0 -7
- package/types/src/subject-type/src/subject-type.vue.d.ts.map +0 -1
- package/types/src/tiny-mce-editor/index.d.ts +0 -20
- package/types/src/tiny-mce-editor/index.d.ts.map +0 -1
- package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts +0 -32
- package/types/src/tiny-mce-editor/src/tiny-mce-editor.vue.d.ts.map +0 -1
- package/types/src/ui/button/index.d.ts +0 -96
- package/types/src/ui/button/index.d.ts.map +0 -1
- package/types/src/ui/checkbox/index.d.ts +0 -111
- package/types/src/ui/checkbox/index.d.ts.map +0 -1
- package/types/src/ui/dialog/index.d.ts +0 -134
- package/types/src/ui/dialog/index.d.ts.map +0 -1
- package/types/src/ui/index.d.ts +0 -16
- package/types/src/ui/index.d.ts.map +0 -1
- package/types/src/ui/input/index.d.ts +0 -132
- package/types/src/ui/input/index.d.ts.map +0 -1
- package/types/src/ui/input-number/index.d.ts +0 -106
- package/types/src/ui/input-number/index.d.ts.map +0 -1
- package/types/src/ui/layout/index.d.ts +0 -373
- package/types/src/ui/layout/index.d.ts.map +0 -1
- package/types/src/ui/link/index.d.ts +0 -57
- package/types/src/ui/link/index.d.ts.map +0 -1
- package/types/src/ui/popover/index.d.ts +0 -89
- package/types/src/ui/popover/index.d.ts.map +0 -1
- package/types/src/ui/radio/index.d.ts +0 -84
- package/types/src/ui/radio/index.d.ts.map +0 -1
- package/types/src/ui/scrollbar/index.d.ts +0 -35
- package/types/src/ui/scrollbar/index.d.ts.map +0 -1
- package/types/src/ui/select/index.d.ts +0 -113
- package/types/src/ui/select/index.d.ts.map +0 -1
- package/types/src/ui/table/index.d.ts +0 -152
- package/types/src/ui/table/index.d.ts.map +0 -1
- package/types/src/ui/tag/index.d.ts +0 -69
- package/types/src/ui/tag/index.d.ts.map +0 -1
- package/types/src/withInstall.d.ts +0 -4
- package/types/src/withInstall.d.ts.map +0 -1
- package/types/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("lit"),p=require("lit/decorators.js"),f=require("lit/directives/style-map.js"),w=require("./base/define.cjs");var R=Object.defineProperty,b=Object.getOwnPropertyDescriptor,l=(m,e,t,i)=>{for(var o=i>1?void 0:i?b(e,t):e,s=m.length-1,r;s>=0;s--)(r=m[s])&&(o=(i?r(e,t,o):r(o))||o);return i&&o&&R(e,t,o),o};function c(m,e,t){return Math.min(Math.max(m,e),t)}function x(m){const[e,t]=m.split("/").map(i=>Number.parseFloat(i.trim()));return!e||!t||Number.isNaN(e)||Number.isNaN(t)?16/9:e/t}exports.QxsPhotoCropTool=class extends y.LitElement{constructor(){super(...arguments),this.imgFile=null,this.aspectRatio="16 / 9",this.defaultWidth=320,this.defaultHeight=180,this.zoomType="fixed",this._errorMessage="",this._imageUrl="",this._cropRect={x:0,y:0,width:320,height:180},this._imageRect={x:0,y:0,width:0,height:0},this._resizeObserver=null,this._dragType=null,this._dragOrigin=null,this._dragStartRect=null,this._pendingReset=!0,this._rafId=0,this._handleImageLoad=()=>{this._scheduleLayoutSync()},this._handlePointerDown=(e,t)=>{t.preventDefault(),t.stopPropagation(),this._dragType=e,this._dragOrigin={x:t.clientX,y:t.clientY},this._dragStartRect={...this._cropRect}},this._handlePointerMove=e=>{if(!this._dragType||!this._dragOrigin||!this._dragStartRect)return;e.preventDefault();const t=e.clientX-this._dragOrigin.x,i=e.clientY-this._dragOrigin.y;if(this._dragType==="move"){this._cropRect=this._clampMoveRect({...this._dragStartRect,x:this._dragStartRect.x+t,y:this._dragStartRect.y+i});return}this._cropRect=this._resizeByHandle(this._dragType,this._dragStartRect,t,i)},this._handlePointerUp=()=>{this._dragType=null,this._dragOrigin=null,this._dragStartRect=null}}connectedCallback(){super.connectedCallback(),window.addEventListener("pointermove",this._handlePointerMove),window.addEventListener("pointerup",this._handlePointerUp),window.addEventListener("pointercancel",this._handlePointerUp)}firstUpdated(){typeof ResizeObserver>"u"||(this._resizeObserver=new ResizeObserver(()=>{this._scheduleLayoutSync()}),this._resizeObserver.observe(this))}disconnectedCallback(){super.disconnectedCallback(),this._revokeImageUrl(),this._resizeObserver?.disconnect(),this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=0),window.removeEventListener("pointermove",this._handlePointerMove),window.removeEventListener("pointerup",this._handlePointerUp),window.removeEventListener("pointercancel",this._handlePointerUp)}updated(e){e.has("imgFile")&&this._applyImageFile(),(e.has("defaultWidth")||e.has("defaultHeight")||e.has("aspectRatio")||e.has("zoomType"))&&(this._pendingReset=!0,this._scheduleLayoutSync())}async crop(){if(!this._image||!this._imageRect.width||!this._image.naturalWidth||!this._image.naturalHeight)return null;const e=this._image.naturalWidth/this._imageRect.width,t=Math.max(this._cropRect.x-this._imageRect.x,0)*e,i=Math.max(this._cropRect.y-this._imageRect.y,0)*e,o=Math.max(this._cropRect.width*e,1),s=Math.max(this._cropRect.height*e,1),r=document.createElement("canvas");r.width=Math.round(o),r.height=Math.round(s);const h=r.getContext("2d");return h?(h.drawImage(this._image,t,i,o,s,0,0,r.width,r.height),await new Promise(n=>{r.toBlob(g=>{if(!g){n(null);return}n(new File([g],"cropped_image.png",{type:"image/png"}))},"image/png")})):null}resize(){this._pendingReset=!0,this._resetCropRect()}_applyImageFile(){if(this._revokeImageUrl(),!this.imgFile){this._errorMessage="",this._imageUrl="",this._pendingReset=!0,this._cropRect={x:0,y:0,width:this.defaultWidth,height:this.defaultHeight};return}if(!this.imgFile.type.startsWith("image/")){this._errorMessage="文件类型错误",this._imageUrl="";return}this._errorMessage="",this._imageUrl=URL.createObjectURL(this.imgFile),this._pendingReset=!0}_revokeImageUrl(){this._imageUrl&&URL.revokeObjectURL(this._imageUrl)}_scheduleLayoutSync(){this._rafId&&cancelAnimationFrame(this._rafId),this._rafId=requestAnimationFrame(()=>{this._rafId=0,this._syncImageRect()})}_syncImageRect(){if(!this._container||!this._image||!this._image.naturalWidth||!this._image.naturalHeight)return;const e=this._container.clientWidth||this.clientWidth,t=this._container.clientHeight||this.clientHeight;if(!e||!t)return;const i=Math.min(e/this._image.naturalWidth,t/this._image.naturalHeight),o=this._image.naturalWidth*i,s=this._image.naturalHeight*i,r=(e-o)/2,h=(t-s)/2;this._imageRect={x:r,y:h,width:o,height:s},this._pendingReset?(this._resetCropRect(),this._pendingReset=!1):this._cropRect=this._clampMoveRect(this._cropRect)}_resetCropRect(){const e=x(this.aspectRatio),t=this._imageRect.width||this.defaultWidth,i=this._imageRect.height||this.defaultHeight;let o=Math.min(this.defaultWidth,t),s=Math.min(this.defaultHeight,i);this.zoomType==="fixed"&&(s=o/e,s>i&&(s=i,o=s*e)),o=Math.min(o,t),s=Math.min(s,i),this._cropRect={x:this._imageRect.x+(t-o)/2,y:this._imageRect.y+(i-s)/2,width:o,height:s}}_clampMoveRect(e){const t=this._imageRect.x+this._imageRect.width-e.width,i=this._imageRect.y+this._imageRect.height-e.height;return{...e,x:c(e.x,this._imageRect.x,t),y:c(e.y,this._imageRect.y,i)}}_resizeByHandle(e,t,i,o){return this.zoomType==="free"?this._resizeFree(e,t,i,o):this._resizeFixed(e,t,i)}_resizeFree(e,t,i,o){const r=t.x,h=t.y,n=t.x+t.width,g=t.y+t.height;if(e==="top-left"){const u=c(r+i,this._imageRect.x,n-40),_=c(h+o,this._imageRect.y,g-40);return{x:u,y:_,width:n-u,height:g-_}}if(e==="top-right"){const u=c(n+i,r+40,this._imageRect.x+this._imageRect.width),_=c(h+o,this._imageRect.y,g-40);return{x:r,y:_,width:u-r,height:g-_}}if(e==="bottom-right"){const u=c(n+i,r+40,this._imageRect.x+this._imageRect.width),_=c(g+o,h+40,this._imageRect.y+this._imageRect.height);return{x:r,y:h,width:u-r,height:_-h}}const a=c(r+i,this._imageRect.x,n-40),d=c(g+o,h+40,this._imageRect.y+this._imageRect.height);return{x:a,y:h,width:n-a,height:d-h}}_resizeFixed(e,t,i){const o=x(this.aspectRatio),s=40,r=t.x+t.width,h=t.y+t.height;if(e==="top-left"){let a=c(t.width-i,s,r-this._imageRect.x);a=Math.min(a,(h-this._imageRect.y)*o);const d=a/o;return{x:r-a,y:h-d,width:a,height:d}}if(e==="top-right"){let a=c(t.width+i,s,this._imageRect.x+this._imageRect.width-t.x);a=Math.min(a,(h-this._imageRect.y)*o);const d=a/o;return{x:t.x,y:h-d,width:a,height:d}}if(e==="bottom-right"){let a=c(t.width+i,s,this._imageRect.x+this._imageRect.width-t.x);a=Math.min(a,(this._imageRect.y+this._imageRect.height-t.y)*o);const d=a/o;return{x:t.x,y:t.y,width:a,height:d}}let n=c(t.width-i,s,r-this._imageRect.x);n=Math.min(n,(this._imageRect.y+this._imageRect.height-t.y)*o);const g=n/o;return{x:r-n,y:t.y,width:n,height:g}}render(){const e=this._imageRect.width?f.styleMap({left:`${this._imageRect.x}px`,top:`${this._imageRect.y}px`,width:`${this._imageRect.width}px`,height:`${this._imageRect.height}px`}):"",t=f.styleMap({left:`${this._cropRect.x}px`,top:`${this._cropRect.y}px`,width:`${this._cropRect.width}px`,height:`${this._cropRect.height}px`,aspectRatio:this.zoomType==="fixed"?this.aspectRatio:""});return y.html`
|
|
2
|
+
<div part="container" class="img-box">
|
|
3
|
+
${this._errorMessage?y.html`<div part="error-message" class="error-message">${this._errorMessage}</div>`:this._imageUrl?y.html`
|
|
4
|
+
<img
|
|
5
|
+
part="image"
|
|
6
|
+
class="image"
|
|
7
|
+
style=${e}
|
|
8
|
+
src=${this._imageUrl}
|
|
9
|
+
alt=""
|
|
10
|
+
@load=${this._handleImageLoad}
|
|
11
|
+
/>
|
|
12
|
+
<div
|
|
13
|
+
part="crop-box"
|
|
14
|
+
class="crop-tool-box"
|
|
15
|
+
style=${t}
|
|
16
|
+
@pointerdown=${i=>this._handlePointerDown("move",i)}
|
|
17
|
+
>
|
|
18
|
+
<div
|
|
19
|
+
part="handle top-left"
|
|
20
|
+
class="handle top-left"
|
|
21
|
+
@pointerdown=${i=>this._handlePointerDown("top-left",i)}
|
|
22
|
+
></div>
|
|
23
|
+
<div
|
|
24
|
+
part="handle top-right"
|
|
25
|
+
class="handle top-right"
|
|
26
|
+
@pointerdown=${i=>this._handlePointerDown("top-right",i)}
|
|
27
|
+
></div>
|
|
28
|
+
<div
|
|
29
|
+
part="handle bottom-right"
|
|
30
|
+
class="handle bottom-right"
|
|
31
|
+
@pointerdown=${i=>this._handlePointerDown("bottom-right",i)}
|
|
32
|
+
></div>
|
|
33
|
+
<div
|
|
34
|
+
part="handle bottom-left"
|
|
35
|
+
class="handle bottom-left"
|
|
36
|
+
@pointerdown=${i=>this._handlePointerDown("bottom-left",i)}
|
|
37
|
+
></div>
|
|
38
|
+
</div>
|
|
39
|
+
`:y.html`<div part="placeholder" class="placeholder">请选择图片</div>`}
|
|
40
|
+
</div>
|
|
41
|
+
`}};exports.QxsPhotoCropTool.styles=y.css`
|
|
42
|
+
:host {
|
|
43
|
+
display: block;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
min-height: 240px;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.img-box {
|
|
50
|
+
position: relative;
|
|
51
|
+
display: flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
width: 100%;
|
|
55
|
+
height: 100%;
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
background: #fafafa;
|
|
58
|
+
border-radius: 12px;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.placeholder,
|
|
62
|
+
.error-message {
|
|
63
|
+
padding: 20px;
|
|
64
|
+
font-size: 14px;
|
|
65
|
+
line-height: 1.6;
|
|
66
|
+
color: #64748b;
|
|
67
|
+
text-align: center;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.error-message {
|
|
71
|
+
color: #dc2626;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.image {
|
|
75
|
+
position: absolute;
|
|
76
|
+
inset: 0;
|
|
77
|
+
user-select: none;
|
|
78
|
+
-webkit-user-drag: none;
|
|
79
|
+
pointer-events: none;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.crop-tool-box {
|
|
83
|
+
position: absolute;
|
|
84
|
+
box-sizing: border-box;
|
|
85
|
+
overflow: visible;
|
|
86
|
+
cursor: move;
|
|
87
|
+
border: 1px dashed #fff;
|
|
88
|
+
box-shadow: 0 0 0 9999px rgb(0 0 0 / 40%);
|
|
89
|
+
touch-action: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.handle {
|
|
93
|
+
position: absolute;
|
|
94
|
+
z-index: 2;
|
|
95
|
+
width: 28%;
|
|
96
|
+
aspect-ratio: 1 / 1;
|
|
97
|
+
background-color: rgb(2 2 2 / 1%);
|
|
98
|
+
border-radius: 50%;
|
|
99
|
+
transition: background-color 0.2s ease;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.handle::after {
|
|
103
|
+
position: absolute;
|
|
104
|
+
top: 50%;
|
|
105
|
+
left: 50%;
|
|
106
|
+
width: 10px;
|
|
107
|
+
height: 10px;
|
|
108
|
+
content: '';
|
|
109
|
+
background: var(--vp-c-brand-1, #3d61e3);
|
|
110
|
+
border-radius: 50%;
|
|
111
|
+
transform: translate(-50%, -50%);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.handle:hover,
|
|
115
|
+
.handle:active {
|
|
116
|
+
background-color: rgb(2 2 2 / 50%);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.top-left {
|
|
120
|
+
top: 0;
|
|
121
|
+
left: 0;
|
|
122
|
+
cursor: nwse-resize;
|
|
123
|
+
transform: translate(-50%, -50%);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.top-right {
|
|
127
|
+
top: 0;
|
|
128
|
+
right: 0;
|
|
129
|
+
cursor: nesw-resize;
|
|
130
|
+
transform: translate(50%, -50%);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.bottom-right {
|
|
134
|
+
right: 0;
|
|
135
|
+
bottom: 0;
|
|
136
|
+
cursor: nwse-resize;
|
|
137
|
+
transform: translate(50%, 50%);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.bottom-left {
|
|
141
|
+
bottom: 0;
|
|
142
|
+
left: 0;
|
|
143
|
+
cursor: nesw-resize;
|
|
144
|
+
transform: translate(-50%, 50%);
|
|
145
|
+
}
|
|
146
|
+
`;l([p.property({attribute:!1})],exports.QxsPhotoCropTool.prototype,"imgFile",2);l([p.property({type:String,attribute:"aspect-ratio"})],exports.QxsPhotoCropTool.prototype,"aspectRatio",2);l([p.property({type:Number,attribute:"default-width"})],exports.QxsPhotoCropTool.prototype,"defaultWidth",2);l([p.property({type:Number,attribute:"default-height"})],exports.QxsPhotoCropTool.prototype,"defaultHeight",2);l([p.property({type:String,attribute:"zoom-type"})],exports.QxsPhotoCropTool.prototype,"zoomType",2);l([p.state()],exports.QxsPhotoCropTool.prototype,"_errorMessage",2);l([p.state()],exports.QxsPhotoCropTool.prototype,"_imageUrl",2);l([p.state()],exports.QxsPhotoCropTool.prototype,"_cropRect",2);l([p.state()],exports.QxsPhotoCropTool.prototype,"_imageRect",2);l([p.query(".img-box")],exports.QxsPhotoCropTool.prototype,"_container",2);l([p.query(".image")],exports.QxsPhotoCropTool.prototype,"_image",2);exports.QxsPhotoCropTool=l([w.safeCustomElement("qxs-photo-crop-tool")],exports.QxsPhotoCropTool);
|
|
147
|
+
//# sourceMappingURL=photo-crop-tool.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photo-crop-tool.cjs","sources":["../../../packages/components/src/photo-crop-tool.ts"],"sourcesContent":["import { LitElement, css, html } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { safeCustomElement } from './base/define'\n\ntype ZoomType = 'fixed' | 'free'\ntype HandleType = 'move' | 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left'\n\ntype CropRect = {\n x: number\n y: number\n width: number\n height: number\n}\n\ntype DisplayRect = CropRect\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max)\n}\n\nfunction parseAspectRatio(value: string) {\n const [left, right] = value.split('/').map(part => Number.parseFloat(part.trim()))\n if (!left || !right || Number.isNaN(left) || Number.isNaN(right)) {\n return 16 / 9\n }\n return left / right\n}\n\n@safeCustomElement('qxs-photo-crop-tool')\nexport class QxsPhotoCropTool extends LitElement {\n static styles = css`\n :host {\n display: block;\n width: 100%;\n height: 100%;\n min-height: 240px;\n }\n\n .img-box {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background: #fafafa;\n border-radius: 12px;\n }\n\n .placeholder,\n .error-message {\n padding: 20px;\n font-size: 14px;\n line-height: 1.6;\n color: #64748b;\n text-align: center;\n }\n\n .error-message {\n color: #dc2626;\n }\n\n .image {\n position: absolute;\n inset: 0;\n user-select: none;\n -webkit-user-drag: none;\n pointer-events: none;\n }\n\n .crop-tool-box {\n position: absolute;\n box-sizing: border-box;\n overflow: visible;\n cursor: move;\n border: 1px dashed #fff;\n box-shadow: 0 0 0 9999px rgb(0 0 0 / 40%);\n touch-action: none;\n }\n\n .handle {\n position: absolute;\n z-index: 2;\n width: 28%;\n aspect-ratio: 1 / 1;\n background-color: rgb(2 2 2 / 1%);\n border-radius: 50%;\n transition: background-color 0.2s ease;\n }\n\n .handle::after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 10px;\n height: 10px;\n content: '';\n background: var(--vp-c-brand-1, #3d61e3);\n border-radius: 50%;\n transform: translate(-50%, -50%);\n }\n\n .handle:hover,\n .handle:active {\n background-color: rgb(2 2 2 / 50%);\n }\n\n .top-left {\n top: 0;\n left: 0;\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n }\n\n .top-right {\n top: 0;\n right: 0;\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n }\n\n .bottom-right {\n right: 0;\n bottom: 0;\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n }\n\n .bottom-left {\n bottom: 0;\n left: 0;\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n }\n `\n\n @property({ attribute: false }) imgFile: File | null = null\n @property({ type: String, attribute: 'aspect-ratio' }) aspectRatio = '16 / 9'\n @property({ type: Number, attribute: 'default-width' }) defaultWidth = 320\n @property({ type: Number, attribute: 'default-height' }) defaultHeight = 180\n @property({ type: String, attribute: 'zoom-type' }) zoomType: ZoomType = 'fixed'\n\n @state() private _errorMessage = ''\n @state() private _imageUrl = ''\n @state() private _cropRect: CropRect = { x: 0, y: 0, width: 320, height: 180 }\n @state() private _imageRect: DisplayRect = { x: 0, y: 0, width: 0, height: 0 }\n\n @query('.img-box') private _container?: HTMLDivElement\n @query('.image') private _image?: HTMLImageElement\n\n private _resizeObserver: ResizeObserver | null = null\n private _dragType: HandleType | null = null\n private _dragOrigin: { x: number, y: number } | null = null\n private _dragStartRect: CropRect | null = null\n private _pendingReset = true\n private _rafId = 0\n\n connectedCallback() {\n super.connectedCallback()\n window.addEventListener('pointermove', this._handlePointerMove)\n window.addEventListener('pointerup', this._handlePointerUp)\n window.addEventListener('pointercancel', this._handlePointerUp)\n }\n\n firstUpdated() {\n if (typeof ResizeObserver === 'undefined') {\n return\n }\n\n this._resizeObserver = new ResizeObserver(() => {\n this._scheduleLayoutSync()\n })\n this._resizeObserver.observe(this)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this._revokeImageUrl()\n this._resizeObserver?.disconnect()\n if (this._rafId) {\n cancelAnimationFrame(this._rafId)\n this._rafId = 0\n }\n window.removeEventListener('pointermove', this._handlePointerMove)\n window.removeEventListener('pointerup', this._handlePointerUp)\n window.removeEventListener('pointercancel', this._handlePointerUp)\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('imgFile')) {\n this._applyImageFile()\n }\n\n if (changed.has('defaultWidth') || changed.has('defaultHeight') || changed.has('aspectRatio') || changed.has('zoomType')) {\n this._pendingReset = true\n this._scheduleLayoutSync()\n }\n }\n\n async crop() {\n if (!this._image || !this._imageRect.width || !this._image.naturalWidth || !this._image.naturalHeight) {\n return null\n }\n\n const scale = this._image.naturalWidth / this._imageRect.width\n const cropX = Math.max(this._cropRect.x - this._imageRect.x, 0) * scale\n const cropY = Math.max(this._cropRect.y - this._imageRect.y, 0) * scale\n const cropWidth = Math.max(this._cropRect.width * scale, 1)\n const cropHeight = Math.max(this._cropRect.height * scale, 1)\n\n const canvas = document.createElement('canvas')\n canvas.width = Math.round(cropWidth)\n canvas.height = Math.round(cropHeight)\n const context = canvas.getContext('2d')\n\n if (!context) {\n return null\n }\n\n context.drawImage(\n this._image,\n cropX,\n cropY,\n cropWidth,\n cropHeight,\n 0,\n 0,\n canvas.width,\n canvas.height,\n )\n\n return await new Promise<File | null>((resolve) => {\n canvas.toBlob((blob) => {\n if (!blob) {\n resolve(null)\n return\n }\n\n resolve(new File([blob], 'cropped_image.png', { type: 'image/png' }))\n }, 'image/png')\n })\n }\n\n resize() {\n this._pendingReset = true\n this._resetCropRect()\n }\n\n private _applyImageFile() {\n this._revokeImageUrl()\n\n if (!this.imgFile) {\n this._errorMessage = ''\n this._imageUrl = ''\n this._pendingReset = true\n this._cropRect = {\n x: 0,\n y: 0,\n width: this.defaultWidth,\n height: this.defaultHeight,\n }\n return\n }\n\n if (!this.imgFile.type.startsWith('image/')) {\n this._errorMessage = '文件类型错误'\n this._imageUrl = ''\n return\n }\n\n this._errorMessage = ''\n this._imageUrl = URL.createObjectURL(this.imgFile)\n this._pendingReset = true\n }\n\n private _revokeImageUrl() {\n if (this._imageUrl) {\n URL.revokeObjectURL(this._imageUrl)\n }\n }\n\n private _scheduleLayoutSync() {\n if (this._rafId) {\n cancelAnimationFrame(this._rafId)\n }\n\n this._rafId = requestAnimationFrame(() => {\n this._rafId = 0\n this._syncImageRect()\n })\n }\n\n private _syncImageRect() {\n if (!this._container || !this._image || !this._image.naturalWidth || !this._image.naturalHeight) {\n return\n }\n\n const containerWidth = this._container.clientWidth || this.clientWidth\n const containerHeight = this._container.clientHeight || this.clientHeight\n if (!containerWidth || !containerHeight) {\n return\n }\n\n const scale = Math.min(\n containerWidth / this._image.naturalWidth,\n containerHeight / this._image.naturalHeight,\n )\n\n const width = this._image.naturalWidth * scale\n const height = this._image.naturalHeight * scale\n const x = (containerWidth - width) / 2\n const y = (containerHeight - height) / 2\n\n this._imageRect = { x, y, width, height }\n\n if (this._pendingReset) {\n this._resetCropRect()\n this._pendingReset = false\n }\n else {\n this._cropRect = this._clampMoveRect(this._cropRect)\n }\n }\n\n private _resetCropRect() {\n const aspect = parseAspectRatio(this.aspectRatio)\n const availableWidth = this._imageRect.width || this.defaultWidth\n const availableHeight = this._imageRect.height || this.defaultHeight\n\n let width = Math.min(this.defaultWidth, availableWidth)\n let height = Math.min(this.defaultHeight, availableHeight)\n\n if (this.zoomType === 'fixed') {\n height = width / aspect\n if (height > availableHeight) {\n height = availableHeight\n width = height * aspect\n }\n }\n\n width = Math.min(width, availableWidth)\n height = Math.min(height, availableHeight)\n\n this._cropRect = {\n x: this._imageRect.x + (availableWidth - width) / 2,\n y: this._imageRect.y + (availableHeight - height) / 2,\n width,\n height,\n }\n }\n\n private _handleImageLoad = () => {\n this._scheduleLayoutSync()\n }\n\n private _handlePointerDown = (type: HandleType, event: PointerEvent) => {\n event.preventDefault()\n event.stopPropagation()\n this._dragType = type\n this._dragOrigin = { x: event.clientX, y: event.clientY }\n this._dragStartRect = { ...this._cropRect }\n }\n\n private _handlePointerMove = (event: PointerEvent) => {\n if (!this._dragType || !this._dragOrigin || !this._dragStartRect) {\n return\n }\n\n event.preventDefault()\n const deltaX = event.clientX - this._dragOrigin.x\n const deltaY = event.clientY - this._dragOrigin.y\n\n if (this._dragType === 'move') {\n this._cropRect = this._clampMoveRect({\n ...this._dragStartRect,\n x: this._dragStartRect.x + deltaX,\n y: this._dragStartRect.y + deltaY,\n })\n return\n }\n\n this._cropRect = this._resizeByHandle(this._dragType, this._dragStartRect, deltaX, deltaY)\n }\n\n private _handlePointerUp = () => {\n this._dragType = null\n this._dragOrigin = null\n this._dragStartRect = null\n }\n\n private _clampMoveRect(rect: CropRect) {\n const maxX = this._imageRect.x + this._imageRect.width - rect.width\n const maxY = this._imageRect.y + this._imageRect.height - rect.height\n\n return {\n ...rect,\n x: clamp(rect.x, this._imageRect.x, maxX),\n y: clamp(rect.y, this._imageRect.y, maxY),\n }\n }\n\n private _resizeByHandle(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number, deltaY: number) {\n if (this.zoomType === 'free') {\n return this._resizeFree(handle, startRect, deltaX, deltaY)\n }\n\n return this._resizeFixed(handle, startRect, deltaX)\n }\n\n private _resizeFree(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number, deltaY: number) {\n const minSize = 40\n const left = startRect.x\n const top = startRect.y\n const right = startRect.x + startRect.width\n const bottom = startRect.y + startRect.height\n\n if (handle === 'top-left') {\n const x = clamp(left + deltaX, this._imageRect.x, right - minSize)\n const y = clamp(top + deltaY, this._imageRect.y, bottom - minSize)\n return { x, y, width: right - x, height: bottom - y }\n }\n\n if (handle === 'top-right') {\n const newRight = clamp(right + deltaX, left + minSize, this._imageRect.x + this._imageRect.width)\n const y = clamp(top + deltaY, this._imageRect.y, bottom - minSize)\n return { x: left, y, width: newRight - left, height: bottom - y }\n }\n\n if (handle === 'bottom-right') {\n const newRight = clamp(right + deltaX, left + minSize, this._imageRect.x + this._imageRect.width)\n const newBottom = clamp(bottom + deltaY, top + minSize, this._imageRect.y + this._imageRect.height)\n return { x: left, y: top, width: newRight - left, height: newBottom - top }\n }\n\n const x = clamp(left + deltaX, this._imageRect.x, right - minSize)\n const newBottom = clamp(bottom + deltaY, top + minSize, this._imageRect.y + this._imageRect.height)\n return { x, y: top, width: right - x, height: newBottom - top }\n }\n\n private _resizeFixed(handle: Exclude<HandleType, 'move'>, startRect: CropRect, deltaX: number) {\n const aspect = parseAspectRatio(this.aspectRatio)\n const minWidth = 40\n const startRight = startRect.x + startRect.width\n const startBottom = startRect.y + startRect.height\n\n if (handle === 'top-left') {\n let width = clamp(startRect.width - deltaX, minWidth, startRight - this._imageRect.x)\n width = Math.min(width, (startBottom - this._imageRect.y) * aspect)\n const height = width / aspect\n return { x: startRight - width, y: startBottom - height, width, height }\n }\n\n if (handle === 'top-right') {\n let width = clamp(startRect.width + deltaX, minWidth, this._imageRect.x + this._imageRect.width - startRect.x)\n width = Math.min(width, (startBottom - this._imageRect.y) * aspect)\n const height = width / aspect\n return { x: startRect.x, y: startBottom - height, width, height }\n }\n\n if (handle === 'bottom-right') {\n let width = clamp(startRect.width + deltaX, minWidth, this._imageRect.x + this._imageRect.width - startRect.x)\n width = Math.min(width, (this._imageRect.y + this._imageRect.height - startRect.y) * aspect)\n const height = width / aspect\n return { x: startRect.x, y: startRect.y, width, height }\n }\n\n let width = clamp(startRect.width - deltaX, minWidth, startRight - this._imageRect.x)\n width = Math.min(width, (this._imageRect.y + this._imageRect.height - startRect.y) * aspect)\n const height = width / aspect\n return { x: startRight - width, y: startRect.y, width, height }\n }\n\n render() {\n const imageStyle = this._imageRect.width\n ? styleMap({\n left: `${this._imageRect.x}px`,\n top: `${this._imageRect.y}px`,\n width: `${this._imageRect.width}px`,\n height: `${this._imageRect.height}px`,\n })\n : ''\n\n const cropStyle = styleMap({\n left: `${this._cropRect.x}px`,\n top: `${this._cropRect.y}px`,\n width: `${this._cropRect.width}px`,\n height: `${this._cropRect.height}px`,\n aspectRatio: this.zoomType === 'fixed' ? this.aspectRatio : '',\n })\n\n return html`\n <div part=\"container\" class=\"img-box\">\n ${this._errorMessage\n ? html`<div part=\"error-message\" class=\"error-message\">${this._errorMessage}</div>`\n : this._imageUrl\n ? html`\n <img\n part=\"image\"\n class=\"image\"\n style=${imageStyle}\n src=${this._imageUrl}\n alt=\"\"\n @load=${this._handleImageLoad}\n />\n <div\n part=\"crop-box\"\n class=\"crop-tool-box\"\n style=${cropStyle}\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('move', event)}\n >\n <div\n part=\"handle top-left\"\n class=\"handle top-left\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('top-left', event)}\n ></div>\n <div\n part=\"handle top-right\"\n class=\"handle top-right\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('top-right', event)}\n ></div>\n <div\n part=\"handle bottom-right\"\n class=\"handle bottom-right\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('bottom-right', event)}\n ></div>\n <div\n part=\"handle bottom-left\"\n class=\"handle bottom-left\"\n @pointerdown=${(event: PointerEvent) => this._handlePointerDown('bottom-left', event)}\n ></div>\n </div>\n `\n : html`<div part=\"placeholder\" class=\"placeholder\">请选择图片</div>`}\n </div>\n `\n }\n}\n"],"names":["clamp","value","min","max","parseAspectRatio","left","right","part","QxsPhotoCropTool","LitElement","type","event","deltaX","deltaY","changed","scale","cropX","cropY","cropWidth","cropHeight","canvas","context","resolve","blob","containerWidth","containerHeight","width","height","x","y","aspect","availableWidth","availableHeight","rect","maxX","maxY","handle","startRect","top","bottom","newRight","newBottom","minWidth","startRight","startBottom","imageStyle","styleMap","cropStyle","html","css","__decorateClass","property","state","query","safeCustomElement"],"mappings":"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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("lit"),o=require("lit/decorators.js"),b=require("../base/define.cjs"),d=require("./shared-styles.cjs");var u=Object.defineProperty,h=Object.getOwnPropertyDescriptor,s=(n,e,r,a)=>{for(var i=a>1?void 0:a?h(e,r):e,l=n.length-1,c;l>=0;l--)(c=n[l])&&(i=(a?c(e,r,i):c(i))||i);return a&&i&&u(e,r,i),i};const p=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],x=[{type:"single",label:"单选题"},{type:"multiple",label:"多选题"},{type:"blank_fill",label:"填空题"},{type:"text_fill",label:"问答题"},{type:"scale",label:"量表题"},{type:"sort",label:"排序题"},{type:"page_end",label:"分页符"}];exports.QxsSubjectAction=class extends t.LitElement{constructor(){super(...arguments),this["is-edit"]=!1,this["is-set"]=!1,this["is-key"]=!1,this["answer-check-type"]=1,this["show-other-option"]=!1,this["show-answer-setting"]=!1,this["show-key"]=!1,this["show-rich-text"]=!1,this["hide-add-rich-text"]=!1,this["show-delete-action"]=!0,this["show-save-action"]=!0,this["page-end"]=!1,this["show-move"]=!1,this["show-add"]=!0,this["show-jump"]=!1,this["exam-answer-relation-type"]=0,this._modalOpen=!1,this._currentCheckType=1,this._addMenuOpen=!1,this._handleDocumentClick=e=>{const r=e.composedPath(),a=this.shadowRoot?.querySelector(".add-menu-wrap");a&&!r.includes(a)&&(this._addMenuOpen=!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._handleDocumentClick)}updated(e){e.has("answer-check-type")&&(this._currentCheckType=this["answer-check-type"])}_emit(e,r){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0,detail:r??null}))}get _answerText(){return p.find(e=>e.value===this["answer-check-type"])?.label??""}get _showAnswerSetting(){return this["show-other-option"]||this["show-answer-setting"]}get _showKey(){return this["show-other-option"]||this["show-key"]}_renderEditMode(){return t.html`
|
|
2
|
+
<div class="left">
|
|
3
|
+
<span class="inline-actions">
|
|
4
|
+
${this["show-add"]?t.html`
|
|
5
|
+
<span class="add-menu-wrap">
|
|
6
|
+
<span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
|
|
7
|
+
${this._renderAddMenu()}
|
|
8
|
+
</span>
|
|
9
|
+
`:""}
|
|
10
|
+
${this["hide-add-rich-text"]?"":t.html`
|
|
11
|
+
<span class="link-btn" @click=${()=>this._emit("on-show-rich-text")}>
|
|
12
|
+
${this["show-rich-text"]?"删除题目描述(图文)":"+添加题目描述(图文)"}
|
|
13
|
+
</span>
|
|
14
|
+
`}
|
|
15
|
+
${this["show-jump"]?t.html`
|
|
16
|
+
<span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
|
|
17
|
+
`:""}
|
|
18
|
+
${this._showAnswerSetting?t.html`
|
|
19
|
+
<span class="link-btn" @click=${()=>{this._modalOpen=!0}}>答题设置</span>
|
|
20
|
+
`:""}
|
|
21
|
+
${this._showKey?t.html`
|
|
22
|
+
<label class="checkbox-label">
|
|
23
|
+
<input type="checkbox" .checked=${this["is-key"]} @change=${e=>this._emit("set-key",{value:e.target.checked})} />
|
|
24
|
+
核心题
|
|
25
|
+
</label>
|
|
26
|
+
`:""}
|
|
27
|
+
</span>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="right">
|
|
30
|
+
${this["show-delete-action"]?t.html`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
|
|
31
|
+
${this["show-save-action"]?t.html`<button class="text-btn text-btn--primary" @click=${()=>this._emit("save")}>完成编辑</button>`:""}
|
|
32
|
+
</div>
|
|
33
|
+
`}_renderViewMode(){return t.html`
|
|
34
|
+
<div class="left">
|
|
35
|
+
<span class="inline-actions">
|
|
36
|
+
${this._showKey?t.html`
|
|
37
|
+
<label class="checkbox-label disabled">
|
|
38
|
+
<input type="checkbox" disabled .checked=${this["is-key"]} /> 核心题
|
|
39
|
+
</label>
|
|
40
|
+
`:""}
|
|
41
|
+
${this._showAnswerSetting?t.html`
|
|
42
|
+
<span class="answer-text">${this._answerText}</span>
|
|
43
|
+
`:""}
|
|
44
|
+
${this["show-add"]?t.html`
|
|
45
|
+
<span class="add-menu-wrap">
|
|
46
|
+
<span class="link-btn" @click=${()=>{this._addMenuOpen=!this._addMenuOpen}}>在此题后加入新题</span>
|
|
47
|
+
${this._renderAddMenu()}
|
|
48
|
+
</span>
|
|
49
|
+
`:""}
|
|
50
|
+
${this["show-jump"]?t.html`
|
|
51
|
+
<span class="link-btn" @click=${()=>this._emit("jump")}>${this["is-set"]?"编辑跳题逻辑":"设置跳题逻辑"}</span>
|
|
52
|
+
`:""}
|
|
53
|
+
</span>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="right">
|
|
56
|
+
${!this["is-set"]&&this["show-move"]?t.html`
|
|
57
|
+
<button class="text-btn text-btn--default" @click=${()=>this._emit("move","up")}>上移</button>
|
|
58
|
+
<button class="text-btn text-btn--default btn-margin" @click=${()=>this._emit("move","down")}>下移</button>
|
|
59
|
+
`:""}
|
|
60
|
+
${!this["is-set"]&&this["show-delete-action"]?t.html`<button class="text-btn text-btn--danger btn-margin" @click=${()=>this._emit("delete")}>删除</button>`:""}
|
|
61
|
+
${!this["page-end"]&&!this["is-set"]?t.html`
|
|
62
|
+
<button class="text-btn text-btn--default" @click=${()=>this._emit("edit")}>编辑</button>
|
|
63
|
+
`:""}
|
|
64
|
+
</div>
|
|
65
|
+
`}_renderModal(){return this._modalOpen?t.html`
|
|
66
|
+
<div class="modal-backdrop" @click=${()=>{this._modalOpen=!1}}>
|
|
67
|
+
<div class="modal" @click=${e=>e.stopPropagation()}>
|
|
68
|
+
<div class="modal-header">
|
|
69
|
+
<span class="modal-title">答题设置</span>
|
|
70
|
+
<button class="modal-close" @click=${()=>{this._modalOpen=!1}}>✕</button>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="modal-body">
|
|
73
|
+
${p.map(e=>t.html`
|
|
74
|
+
<label class="radio-item">
|
|
75
|
+
<input type="radio" name="answer-check-type" .value=${String(e.value)}
|
|
76
|
+
.checked=${this._currentCheckType===e.value}
|
|
77
|
+
@change=${()=>{this._currentCheckType=e.value}} />
|
|
78
|
+
${e.label}
|
|
79
|
+
</label>
|
|
80
|
+
`)}
|
|
81
|
+
</div>
|
|
82
|
+
<div class="modal-footer">
|
|
83
|
+
<button @click=${()=>{this._modalOpen=!1}}>取消</button>
|
|
84
|
+
<button class="primary" @click=${()=>{this._emit("set-answer-setting",{value:this._currentCheckType}),this._modalOpen=!1}}>保存</button>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
`:""}_renderAddMenu(){return this._addMenuOpen?t.html`
|
|
89
|
+
<div class="add-menu">
|
|
90
|
+
${x.map(e=>t.html`
|
|
91
|
+
<button class="add-item" @click=${()=>{this._addMenuOpen=!1,this._emit("add",e.type)}}>${e.label}</button>
|
|
92
|
+
`)}
|
|
93
|
+
</div>
|
|
94
|
+
`:""}render(){return t.html`
|
|
95
|
+
<div class="action ${this["is-edit"]?"active":""}">
|
|
96
|
+
${this["is-edit"]?this._renderEditMode():this._renderViewMode()}
|
|
97
|
+
${this["is-set"]?t.html`<div class="has-set">*此题设置了跳题逻辑</div>`:""}
|
|
98
|
+
</div>
|
|
99
|
+
${this._renderModal()}
|
|
100
|
+
`}};exports.QxsSubjectAction.styles=[d.subjectHostStyles,d.subjectControlResetStyles,t.css`
|
|
101
|
+
:host { font-size: 12px; }
|
|
102
|
+
|
|
103
|
+
.action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }
|
|
104
|
+
.action.active { background: transparent; }
|
|
105
|
+
.left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
|
|
106
|
+
.right { display: flex; align-items: center; gap: 4px; }
|
|
107
|
+
|
|
108
|
+
.action-icon {
|
|
109
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
110
|
+
width: 32px; height: 32px; font-size: 18px; color: var(--qxs-subject-text-primary, #303133);
|
|
111
|
+
cursor: pointer; border-radius: 6px; border: 1px solid var(--qxs-subject-border, #dcdfe6);
|
|
112
|
+
background: var(--qxs-subject-fill-blank, #fff); transition: all 0.2s;
|
|
113
|
+
}
|
|
114
|
+
.action-icon:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }
|
|
115
|
+
.action-icon--danger:hover { color: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); background: var(--qxs-subject-fill-soft-danger, #fef0f0); }
|
|
116
|
+
.action-icon:disabled { color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; opacity: 0.6; }
|
|
117
|
+
|
|
118
|
+
.text-btn {
|
|
119
|
+
display: inline-flex; align-items: center; gap: 4px;
|
|
120
|
+
padding: 6px 12px; font-size: 12px; border-radius: 3px;
|
|
121
|
+
cursor: pointer; border: 1px solid; transition: all 0.2s;
|
|
122
|
+
}
|
|
123
|
+
.text-btn--primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }
|
|
124
|
+
.text-btn--primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
|
|
125
|
+
.text-btn--default { background: var(--qxs-subject-fill-blank, #fff); border-color: var(--qxs-subject-border, #dcdfe6); color: var(--qxs-subject-text-regular, #606266); }
|
|
126
|
+
.text-btn--default:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }
|
|
127
|
+
.text-btn--danger { background: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); color: var(--qxs-subject-fill-blank, #fff); }
|
|
128
|
+
.text-btn--danger:hover { background: var(--qxs-subject-color-danger-hover, #e05252); border-color: var(--qxs-subject-color-danger-hover, #e05252); }
|
|
129
|
+
|
|
130
|
+
.link-btn { background: none; border: none; color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; }
|
|
131
|
+
.link-btn:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
|
|
132
|
+
|
|
133
|
+
.checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: var(--qxs-subject-text-regular, #606266); user-select: none; font-size: 12px; }
|
|
134
|
+
.checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }
|
|
135
|
+
.has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }
|
|
136
|
+
.answer-text { font-size: 11px; color: var(--qxs-subject-text-secondary, #909399); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
137
|
+
|
|
138
|
+
.btn-margin { margin-right: 10px; }
|
|
139
|
+
|
|
140
|
+
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; display: flex; align-items: center; justify-content: center; }
|
|
141
|
+
.modal { background: var(--qxs-subject-fill-blank, #fff); border-radius: 4px; min-width: 360px; max-width: 460px; box-shadow: 0 12px 32px rgba(0,0,0,.1); }
|
|
142
|
+
.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 12px; border-bottom: 1px solid var(--qxs-subject-border-light, #e4e7ed); }
|
|
143
|
+
.modal-title { font-size: 14px; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }
|
|
144
|
+
.modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--qxs-subject-text-secondary, #909399); padding: 0; line-height: 1; }
|
|
145
|
+
.modal-close:hover { color: var(--qxs-subject-color-primary, #3D61E3); }
|
|
146
|
+
.modal-body { padding: 20px; }
|
|
147
|
+
.modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--qxs-subject-border-light, #e4e7ed); }
|
|
148
|
+
.modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid var(--qxs-subject-border, #dcdfe6); background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); }
|
|
149
|
+
.modal-footer button:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }
|
|
150
|
+
.modal-footer button.primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }
|
|
151
|
+
.modal-footer button.primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }
|
|
152
|
+
|
|
153
|
+
.radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: var(--qxs-subject-text-regular, #606266); }
|
|
154
|
+
.radio-item:last-child { margin-bottom: 0; }
|
|
155
|
+
|
|
156
|
+
.inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
|
|
157
|
+
.add-menu-wrap { position: relative; display: inline-flex; }
|
|
158
|
+
.add-menu {
|
|
159
|
+
position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;
|
|
160
|
+
display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;
|
|
161
|
+
min-width: 196px; padding: 10px; background: var(--qxs-subject-fill-blank, #fff); border: 1px solid var(--qxs-subject-border-light, #e4e7ed);
|
|
162
|
+
border-radius: 6px; box-shadow: var(--qxs-subject-shadow-soft, 0 8px 20px rgba(0,0,0,.12));
|
|
163
|
+
}
|
|
164
|
+
.add-item {
|
|
165
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
166
|
+
min-height: 30px; padding: 0 10px; border: 1px solid var(--qxs-subject-border, #dcdfe6); border-radius: 4px;
|
|
167
|
+
background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); font-size: 12px; cursor: pointer; transition: all .2s;
|
|
168
|
+
}
|
|
169
|
+
.add-item:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }
|
|
170
|
+
`];s([o.property({type:Boolean,attribute:"is-edit"})],exports.QxsSubjectAction.prototype,"is-edit",2);s([o.property({type:Boolean,attribute:"is-set"})],exports.QxsSubjectAction.prototype,"is-set",2);s([o.property({type:Boolean,attribute:"is-key"})],exports.QxsSubjectAction.prototype,"is-key",2);s([o.property({type:Number,attribute:"answer-check-type"})],exports.QxsSubjectAction.prototype,"answer-check-type",2);s([o.property({type:Boolean,attribute:"show-other-option"})],exports.QxsSubjectAction.prototype,"show-other-option",2);s([o.property({type:Boolean,attribute:"show-answer-setting"})],exports.QxsSubjectAction.prototype,"show-answer-setting",2);s([o.property({type:Boolean,attribute:"show-key"})],exports.QxsSubjectAction.prototype,"show-key",2);s([o.property({type:Boolean,attribute:"show-rich-text"})],exports.QxsSubjectAction.prototype,"show-rich-text",2);s([o.property({type:Boolean,attribute:"hide-add-rich-text"})],exports.QxsSubjectAction.prototype,"hide-add-rich-text",2);s([o.property({type:Boolean,attribute:"show-delete-action"})],exports.QxsSubjectAction.prototype,"show-delete-action",2);s([o.property({type:Boolean,attribute:"show-save-action"})],exports.QxsSubjectAction.prototype,"show-save-action",2);s([o.property({type:Boolean,attribute:"page-end"})],exports.QxsSubjectAction.prototype,"page-end",2);s([o.property({type:Boolean,attribute:"show-move"})],exports.QxsSubjectAction.prototype,"show-move",2);s([o.property({type:Boolean,attribute:"show-add"})],exports.QxsSubjectAction.prototype,"show-add",2);s([o.property({type:Boolean,attribute:"show-jump"})],exports.QxsSubjectAction.prototype,"show-jump",2);s([o.property({type:Number,attribute:"exam-answer-relation-type"})],exports.QxsSubjectAction.prototype,"exam-answer-relation-type",2);s([o.state()],exports.QxsSubjectAction.prototype,"_modalOpen",2);s([o.state()],exports.QxsSubjectAction.prototype,"_currentCheckType",2);s([o.state()],exports.QxsSubjectAction.prototype,"_addMenuOpen",2);exports.QxsSubjectAction=s([b.safeCustomElement("qxs-subject-action")],exports.QxsSubjectAction);
|
|
171
|
+
//# sourceMappingURL=action.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.cjs","sources":["../../../../packages/components/src/subject/action.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { safeCustomElement } from '../base/define'\nimport { subjectControlResetStyles, subjectHostStyles } from './shared-styles'\n\nconst answerTextList = [\n { value: 2, label: '必须全部都是支持选项,方可下一步' },\n { value: 1, label: '无需判断是否是支持选项' },\n { value: 3, label: '包含全部支持选项,即可下一步' },\n]\n\nconst addSubjectOptions = [\n { type: 'single', label: '单选题' },\n { type: 'multiple', label: '多选题' },\n { type: 'blank_fill', label: '填空题' },\n { type: 'text_fill', label: '问答题' },\n { type: 'scale', label: '量表题' },\n { type: 'sort', label: '排序题' },\n { type: 'page_end', label: '分页符' },\n]\n\n@safeCustomElement('qxs-subject-action')\nexport class QxsSubjectAction extends LitElement {\n static styles = [subjectHostStyles, subjectControlResetStyles, css`\n :host { font-size: 12px; }\n\n .action { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 8px; }\n .action.active { background: transparent; }\n .left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n .right { display: flex; align-items: center; gap: 4px; }\n\n .action-icon {\n display: inline-flex; align-items: center; justify-content: center;\n width: 32px; height: 32px; font-size: 18px; color: var(--qxs-subject-text-primary, #303133);\n cursor: pointer; border-radius: 6px; border: 1px solid var(--qxs-subject-border, #dcdfe6);\n background: var(--qxs-subject-fill-blank, #fff); transition: all 0.2s;\n }\n .action-icon:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }\n .action-icon--danger:hover { color: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); background: var(--qxs-subject-fill-soft-danger, #fef0f0); }\n .action-icon:disabled { color: var(--qxs-subject-text-disabled, #c0c4cc); cursor: not-allowed; opacity: 0.6; }\n\n .text-btn {\n display: inline-flex; align-items: center; gap: 4px;\n padding: 6px 12px; font-size: 12px; border-radius: 3px;\n cursor: pointer; border: 1px solid; transition: all 0.2s;\n }\n .text-btn--primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }\n .text-btn--primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n .text-btn--default { background: var(--qxs-subject-fill-blank, #fff); border-color: var(--qxs-subject-border, #dcdfe6); color: var(--qxs-subject-text-regular, #606266); }\n .text-btn--default:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }\n .text-btn--danger { background: var(--qxs-subject-color-danger, #f56c6c); border-color: var(--qxs-subject-color-danger, #f56c6c); color: var(--qxs-subject-fill-blank, #fff); }\n .text-btn--danger:hover { background: var(--qxs-subject-color-danger-hover, #e05252); border-color: var(--qxs-subject-color-danger-hover, #e05252); }\n\n .link-btn { background: none; border: none; color: var(--qxs-subject-color-primary, #3D61E3); cursor: pointer; font-size: 12px; }\n .link-btn:hover { color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n\n .checkbox-label { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: var(--qxs-subject-text-regular, #606266); user-select: none; font-size: 12px; }\n .checkbox-label.disabled { cursor: not-allowed; opacity: 0.6; }\n .has-set { display: flex; align-items: center; font-size: 12px; color: #bbb; }\n .answer-text { font-size: 11px; color: var(--qxs-subject-text-secondary, #909399); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n .btn-margin { margin-right: 10px; }\n\n .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 2000; display: flex; align-items: center; justify-content: center; }\n .modal { background: var(--qxs-subject-fill-blank, #fff); border-radius: 4px; min-width: 360px; max-width: 460px; box-shadow: 0 12px 32px rgba(0,0,0,.1); }\n .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px 12px; border-bottom: 1px solid var(--qxs-subject-border-light, #e4e7ed); }\n .modal-title { font-size: 14px; font-weight: 600; color: var(--qxs-subject-text-primary, #303133); }\n .modal-close { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--qxs-subject-text-secondary, #909399); padding: 0; line-height: 1; }\n .modal-close:hover { color: var(--qxs-subject-color-primary, #3D61E3); }\n .modal-body { padding: 20px; }\n .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--qxs-subject-border-light, #e4e7ed); }\n .modal-footer button { padding: 6px 16px; font-size: 12px; border-radius: 3px; cursor: pointer; border: 1px solid var(--qxs-subject-border, #dcdfe6); background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); }\n .modal-footer button:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-fill-soft-primary-border-strong, #bfd1ff); }\n .modal-footer button.primary { background: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); color: var(--qxs-subject-fill-blank, #fff); }\n .modal-footer button.primary:hover { background: var(--qxs-subject-color-primary-hover, #2D4CB8); border-color: var(--qxs-subject-color-primary-hover, #2D4CB8); }\n\n .radio-item { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; cursor: pointer; font-size: 13px; color: var(--qxs-subject-text-regular, #606266); }\n .radio-item:last-child { margin-bottom: 0; }\n\n .inline-actions { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }\n .add-menu-wrap { position: relative; display: inline-flex; }\n .add-menu {\n position: absolute; top: calc(100% + 6px); left: 0; z-index: 50;\n display: grid; grid-template-columns: repeat(2, minmax(84px, 1fr)); gap: 8px;\n min-width: 196px; padding: 10px; background: var(--qxs-subject-fill-blank, #fff); border: 1px solid var(--qxs-subject-border-light, #e4e7ed);\n border-radius: 6px; box-shadow: var(--qxs-subject-shadow-soft, 0 8px 20px rgba(0,0,0,.12));\n }\n .add-item {\n display: inline-flex; align-items: center; justify-content: center;\n min-height: 30px; padding: 0 10px; border: 1px solid var(--qxs-subject-border, #dcdfe6); border-radius: 4px;\n background: var(--qxs-subject-fill-blank, #fff); color: var(--qxs-subject-text-regular, #606266); font-size: 12px; cursor: pointer; transition: all .2s;\n }\n .add-item:hover { color: var(--qxs-subject-color-primary, #3D61E3); border-color: var(--qxs-subject-color-primary, #3D61E3); background: var(--qxs-subject-fill-soft-primary, #ecf5ff); }\n `]\n\n @property({ type: Boolean, attribute: 'is-edit' }) 'is-edit' = false\n @property({ type: Boolean, attribute: 'is-set' }) 'is-set' = false\n @property({ type: Boolean, attribute: 'is-key' }) 'is-key' = false\n @property({ type: Number, attribute: 'answer-check-type' }) 'answer-check-type' = 1\n @property({ type: Boolean, attribute: 'show-other-option' }) 'show-other-option' = false\n @property({ type: Boolean, attribute: 'show-answer-setting' }) 'show-answer-setting' = false\n @property({ type: Boolean, attribute: 'show-key' }) 'show-key' = false\n @property({ type: Boolean, attribute: 'show-rich-text' }) 'show-rich-text' = false\n @property({ type: Boolean, attribute: 'hide-add-rich-text' }) 'hide-add-rich-text' = false\n @property({ type: Boolean, attribute: 'show-delete-action' }) 'show-delete-action' = true\n @property({ type: Boolean, attribute: 'show-save-action' }) 'show-save-action' = true\n @property({ type: Boolean, attribute: 'page-end' }) 'page-end' = false\n @property({ type: Boolean, attribute: 'show-move' }) 'show-move' = false\n @property({ type: Boolean, attribute: 'show-add' }) 'show-add' = true\n @property({ type: Boolean, attribute: 'show-jump' }) 'show-jump' = false\n @property({ type: Number, attribute: 'exam-answer-relation-type' }) 'exam-answer-relation-type' = 0\n\n @state() private _modalOpen = false\n @state() private _currentCheckType = 1\n @state() private _addMenuOpen = false\n\n connectedCallback() {\n super.connectedCallback()\n document.addEventListener('click', this._handleDocumentClick)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this._handleDocumentClick)\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has('answer-check-type')) {\n this._currentCheckType = this['answer-check-type']\n }\n }\n\n private _handleDocumentClick = (e: MouseEvent) => {\n const path = e.composedPath()\n const wrap = this.shadowRoot?.querySelector('.add-menu-wrap')\n if (wrap && !path.includes(wrap)) {\n this._addMenuOpen = false\n }\n }\n\n private _emit(name: string, detail?: unknown) {\n this.dispatchEvent(new CustomEvent(name, { bubbles: true, composed: true, detail: detail ?? null }))\n }\n\n private get _answerText() {\n return answerTextList.find(i => i.value === this['answer-check-type'])?.label ?? ''\n }\n\n private get _showAnswerSetting() {\n return this['show-other-option'] || this['show-answer-setting']\n }\n\n private get _showKey() {\n return this['show-other-option'] || this['show-key']\n }\n\n private _renderEditMode() {\n return html`\n <div class=\"left\">\n <span class=\"inline-actions\">\n ${this['show-add']\n ? html`\n <span class=\"add-menu-wrap\">\n <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n ${this._renderAddMenu()}\n </span>\n `\n : ''}\n ${!this['hide-add-rich-text']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('on-show-rich-text')}>\n ${this['show-rich-text'] ? '删除题目描述(图文)' : '+添加题目描述(图文)'}\n </span>\n `\n : ''}\n ${this['show-jump']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n `\n : ''}\n ${this._showAnswerSetting\n ? html`\n <span class=\"link-btn\" @click=${() => { this._modalOpen = true }}>答题设置</span>\n `\n : ''}\n ${this._showKey\n ? html`\n <label class=\"checkbox-label\">\n <input type=\"checkbox\" .checked=${this['is-key']} @change=${(e: Event) => this._emit('set-key', { value: (e.target as HTMLInputElement).checked })} />\n 核心题\n </label>\n `\n : ''}\n </span>\n </div>\n <div class=\"right\">\n ${this['show-delete-action']\n ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n : ''}\n ${this['show-save-action']\n ? html`<button class=\"text-btn text-btn--primary\" @click=${() => this._emit('save')}>完成编辑</button>`\n : ''}\n </div>\n `\n }\n\n private _renderViewMode() {\n return html`\n <div class=\"left\">\n <span class=\"inline-actions\">\n ${this._showKey\n ? html`\n <label class=\"checkbox-label disabled\">\n <input type=\"checkbox\" disabled .checked=${this['is-key']} /> 核心题\n </label>\n `\n : ''}\n ${this._showAnswerSetting\n ? html`\n <span class=\"answer-text\">${this._answerText}</span>\n `\n : ''}\n ${this['show-add']\n ? html`\n <span class=\"add-menu-wrap\">\n <span class=\"link-btn\" @click=${() => { this._addMenuOpen = !this._addMenuOpen }}>在此题后加入新题</span>\n ${this._renderAddMenu()}\n </span>\n `\n : ''}\n ${this['show-jump']\n ? html`\n <span class=\"link-btn\" @click=${() => this._emit('jump')}>${this['is-set'] ? '编辑跳题逻辑' : '设置跳题逻辑'}</span>\n `\n : ''}\n </span>\n </div>\n <div class=\"right\">\n ${!this['is-set'] && this['show-move']\n ? html`\n <button class=\"text-btn text-btn--default\" @click=${() => this._emit('move', 'up')}>上移</button>\n <button class=\"text-btn text-btn--default btn-margin\" @click=${() => this._emit('move', 'down')}>下移</button>\n `\n : ''}\n ${!this['is-set'] && this['show-delete-action']\n ? html`<button class=\"text-btn text-btn--danger btn-margin\" @click=${() => this._emit('delete')}>删除</button>`\n : ''}\n ${!this['page-end'] && !this['is-set']\n ? html`\n <button class=\"text-btn text-btn--default\" @click=${() => this._emit('edit')}>编辑</button>\n `\n : ''}\n </div>\n `\n }\n\n private _renderModal() {\n if (!this._modalOpen) { return '' }\n return html`\n <div class=\"modal-backdrop\" @click=${() => { this._modalOpen = false }}>\n <div class=\"modal\" @click=${(e: Event) => e.stopPropagation()}>\n <div class=\"modal-header\">\n <span class=\"modal-title\">答题设置</span>\n <button class=\"modal-close\" @click=${() => { this._modalOpen = false }}>✕</button>\n </div>\n <div class=\"modal-body\">\n ${answerTextList.map(item => html`\n <label class=\"radio-item\">\n <input type=\"radio\" name=\"answer-check-type\" .value=${String(item.value)}\n .checked=${this._currentCheckType === item.value}\n @change=${() => { this._currentCheckType = item.value }} />\n ${item.label}\n </label>\n `)}\n </div>\n <div class=\"modal-footer\">\n <button @click=${() => { this._modalOpen = false }}>取消</button>\n <button class=\"primary\" @click=${() => {\n this._emit('set-answer-setting', { value: this._currentCheckType })\n this._modalOpen = false\n }}>保存</button>\n </div>\n </div>\n </div>\n `\n }\n\n private _renderAddMenu() {\n if (!this._addMenuOpen) { return '' }\n return html`\n <div class=\"add-menu\">\n ${addSubjectOptions.map(item => html`\n <button class=\"add-item\" @click=${() => {\n this._addMenuOpen = false\n this._emit('add', item.type)\n }}>${item.label}</button>\n `)}\n </div>\n `\n }\n\n render() {\n return html`\n <div class=\"action ${this['is-edit'] ? 'active' : ''}\">\n ${this['is-edit'] ? this._renderEditMode() : this._renderViewMode()}\n ${this['is-set'] ? html`<div class=\"has-set\">*此题设置了跳题逻辑</div>` : ''}\n </div>\n ${this._renderModal()}\n `\n }\n}\n\nexport function register() {}\n"],"names":["answerTextList","addSubjectOptions","QxsSubjectAction","LitElement","path","wrap","changed","name","detail","i","html","item","subjectHostStyles","subjectControlResetStyles","css","__decorateClass","property","state","safeCustomElement"],"mappings":"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"}
|