diff --git a/package-lock.json b/package-lock.json index d070287..bdea9ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,10 @@ "@tailwindcss/postcss": "^4.0.9", "@tailwindcss/vite": "^4.0.9", "@tiptap/extension-color": "^3.5.2", + "@tiptap/extension-table": "^3.6.2", + "@tiptap/extension-table-cell": "^3.6.2", + "@tiptap/extension-table-header": "^3.6.2", + "@tiptap/extension-table-row": "^3.6.2", "@tiptap/extension-text-align": "^3.5.2", "@tiptap/extension-text-style": "^3.5.2", "@tiptap/extension-underline": "^3.5.2", @@ -21,6 +25,8 @@ "@vuepic/vue-datepicker": "^11.0.2", "apexcharts": "^5.3.5", "axios": "^1.8.1", + "html2canvas-pro": "^1.5.11", + "html2pdf.js": "^0.12.1", "jspdf": "^3.0.3", "jspdf-autotable": "^5.0.2", "laravel-echo": "^2.0.2", @@ -1684,6 +1690,59 @@ "@tiptap/core": "^3.6.1" } }, + "node_modules/@tiptap/extension-table": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.6.2.tgz", + "integrity": "sha512-ozRPpxTXrYABTU/zQq3JlytUUXvQDaEcl19YUR1mL/7Ctf4zRBvSnBHCuP/1Cu+4oHX4zdako/G++Z5qJxa65A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^3.6.2", + "@tiptap/pm": "^3.6.2" + } + }, + "node_modules/@tiptap/extension-table-cell": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-3.6.2.tgz", + "integrity": "sha512-0mYEVy8YtHVRD781SA6pdQN3ICnRfUaVNwLLP8BJv32qLKUX4akK4Xtd+h3XQ5PY6uqBtiVKLiEfpuLeBVpvZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-table": "^3.6.2" + } + }, + "node_modules/@tiptap/extension-table-header": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-3.6.2.tgz", + "integrity": "sha512-D9J0fzVBgZQQds8BQXb1dm02u9CLG90NGuLWz42kWoddViNmXkzZFJeUmsksGiQmM9s1Uqq87m3KpXcFgy8uvw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-table": "^3.6.2" + } + }, + "node_modules/@tiptap/extension-table-row": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-3.6.2.tgz", + "integrity": "sha512-2PxDZ0DjopWUoxgP9BaMy7v86DMHB158KA/QktBt976zpLUiZ9JPLHezbSqADjt+vaWXesnjZk2iHw2Kgd+zFQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/extension-table": "^3.6.2" + } + }, "node_modules/@tiptap/extension-text": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.6.1.tgz", @@ -2181,7 +2240,6 @@ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", "license": "MIT", - "optional": true, "engines": { "node": ">= 0.6.0" } @@ -2447,7 +2505,6 @@ "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", "license": "MIT", - "optional": true, "dependencies": { "utrie": "^1.0.2" } @@ -3169,7 +3226,6 @@ "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", "license": "MIT", - "optional": true, "dependencies": { "css-line-break": "^2.1.0", "text-segmentation": "^1.0.3" @@ -3178,6 +3234,29 @@ "node": ">=8.0.0" } }, + "node_modules/html2canvas-pro": { + "version": "1.5.11", + "resolved": "https://registry.npmjs.org/html2canvas-pro/-/html2canvas-pro-1.5.11.tgz", + "integrity": "sha512-W4pEeKLG8+9a54RDOSiEKq7gRXXDzt0ORMaLXX+l6a3urSKbmnkmyzcRDCtgTOzmHLaZTLG2wiTQMJqKLlSh3w==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/html2pdf.js": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/html2pdf.js/-/html2pdf.js-0.12.1.tgz", + "integrity": "sha512-3rBWQ96H5oOU9jtoz3MnE/epGi27ig9h8aonBk4JTpvUERM3lMRxhIRckhJZEi4wE0YfRINoYOIDY0hLY0CHgQ==", + "license": "MIT", + "dependencies": { + "html2canvas": "^1.0.0", + "jspdf": "^3.0.0" + } + }, "node_modules/iobuffer": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", @@ -4470,7 +4549,6 @@ "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", "license": "MIT", - "optional": true, "dependencies": { "utrie": "^1.0.2" } @@ -4655,7 +4733,6 @@ "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", "license": "MIT", - "optional": true, "dependencies": { "base64-arraybuffer": "^1.0.2" } diff --git a/package.json b/package.json index d96cc5e..dc9b02f 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,10 @@ "@tailwindcss/postcss": "^4.0.9", "@tailwindcss/vite": "^4.0.9", "@tiptap/extension-color": "^3.5.2", + "@tiptap/extension-table": "^3.6.2", + "@tiptap/extension-table-cell": "^3.6.2", + "@tiptap/extension-table-header": "^3.6.2", + "@tiptap/extension-table-row": "^3.6.2", "@tiptap/extension-text-align": "^3.5.2", "@tiptap/extension-text-style": "^3.5.2", "@tiptap/extension-underline": "^3.5.2", @@ -23,6 +27,8 @@ "@vuepic/vue-datepicker": "^11.0.2", "apexcharts": "^5.3.5", "axios": "^1.8.1", + "html2canvas-pro": "^1.5.11", + "html2pdf.js": "^0.12.1", "jspdf": "^3.0.3", "jspdf-autotable": "^5.0.2", "laravel-echo": "^2.0.2", diff --git a/src/components/Holos/TemplateCard.vue b/src/components/Holos/TemplateCard.vue new file mode 100644 index 0000000..1a44089 --- /dev/null +++ b/src/components/Holos/TemplateCard.vue @@ -0,0 +1,42 @@ + + + \ No newline at end of file diff --git a/src/components/Holos/TemplateForm.vue b/src/components/Holos/TemplateForm.vue new file mode 100644 index 0000000..5eece6c --- /dev/null +++ b/src/components/Holos/TemplateForm.vue @@ -0,0 +1,155 @@ + + +