{"_id":"@cundi/refine-xaf","_rev":"17-ba3126e658dd1815fc4c5c855fdb78df","name":"@cundi/refine-xaf","dist-tags":{"latest":"1.0.17"},"versions":{"1.0.0":{"name":"@cundi/refine-xaf","version":"1.0.0","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.0","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"1e0e6ef2a169e2851196a361e119c69e99a134ca","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.0.tgz","fileCount":6,"integrity":"sha512-ZvML1Jtnn1K1K5JIeJKcBDYULWo1xyAslaQkR/b5IlSTfS2V1grEsMhwRF9IzANCwqSJk8tUEDwg4qzqRhwXYQ==","signatures":[{"sig":"MEUCIQCy8LPkA7FkDZoX+Uw5Cnfp604TQmJALLSZmuBaeSpJ8AIgJKtQKFqq2NDJJR4u1gO307OVvluvM3w6Ox31M0nJUDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1362797},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"1aaf9772505599c4d6f5f2dc1858303128dca5ce","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","tsup":"^8.0.0","react":"^19.1.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.0_1765595137641_0.011880270377834234","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cundi/refine-xaf","version":"1.0.1","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.1","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"e6950e2da1d54ff2c740c2897c762df0877162d2","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.1.tgz","fileCount":7,"integrity":"sha512-m1FVCHtiHYfYghiSpDSBl96pzKOsQhae1tU7LbrhZ3ZFwMRgTh2UJuqBMVolRWJb/ZLpuVRxe2s6+EzN7/FM6w==","signatures":[{"sig":"MEUCIQD3shG2dmrD/l4yH7SYsx4cKpJJUW0RUMy21e9j5BMFEAIgRsC2nPNk1ZHZOrNOYyVguPqZiLKq8/qnRMQJyzn6q3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1400956},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"ed7bf5956291f6c2d367e7acc43479916d60bbf2","scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.1_1765815138277_0.12900379060191236","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@cundi/refine-xaf","version":"1.0.2","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.2","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"28d04f1ab90c45450a4d4762986e1f51aafe1228","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.2.tgz","fileCount":8,"integrity":"sha512-enThIRsj77t0yU+bEVwpQQ6kELlt03rly/YqOcOcoWWuquRIRWxxvYaTOY+EiaSd4rNencFlreaatFhNXPVNWg==","signatures":[{"sig":"MEYCIQDfJ218dBQ4eJwp7ebs9sDBkCZZuMMlVnabZ2n3BT63TAIhAIrqO693Rc8GAF7z2piHDi0R7BwTOrOEO+MLGdPscu/n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401386},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"c8ff96ee76a6241a6f37c55215cac872017bfc28","scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.2_1765856612539_0.24242694214552607","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@cundi/refine-xaf","version":"1.0.3","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.3","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"ee927efacc572234616f6740b522464de89bc98d","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.3.tgz","fileCount":8,"integrity":"sha512-jy3LLAhnfbcC5bIfrU8B3p4F0R1uqE5bFcB136RH6RTdIPdOAyU6arOAySkD02Smgtg1C+7ohKznNCafxe5x3w==","signatures":[{"sig":"MEUCIH7J/pTcaFhiAQ1r/NJD0M4os2zpvT7C82U4BeZPl847AiEA0Kes47UU2oJUfN8qtsms6wpk6nzheTByq63hT/3vxZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401699},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"c8ff96ee76a6241a6f37c55215cac872017bfc28","scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.3_1765857565678_0.09931307541155832","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@cundi/refine-xaf","version":"1.0.4","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.4","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"b41325b76fd380d247c978a2dfaef1369680164f","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.4.tgz","fileCount":8,"integrity":"sha512-ET1jJXS4AjjZ7uwCGd+5i4Kg5epC2iZ1LLVS9mx6Zvyvwt+IjVovM5TER0r5KBoiG+vhvrStlz8x1om5lUMyIg==","signatures":[{"sig":"MEUCIQDxW87nub8S3ofTRFt9e4AS4TxSD/dSnWMrKhYEG0QCsgIgR4qgsQdGnJfwbZZAlYnjqk/igu0aNm+tRsUm4TXFT3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1428514},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"e75c6904e35c271c9be979a61abf97cdd04ea410","scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.4_1765868886110_0.08069149491479322","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@cundi/refine-xaf","version":"1.0.5","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.5","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"8b9d1acbd17da9b874792756cf5f40c53be3c52e","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.5.tgz","fileCount":8,"integrity":"sha512-WUHuo3M/29SW1pTvcexh+/IwhjNkxMqP5TpHA6apHCcIW3hNg0TQSgkH08QVW+C6ydN8HshVQKJ0mchIM8KIhA==","signatures":[{"sig":"MEQCIAh/8ZpRS/k4sW8hWkjPCwovQeYWfPSbG6ibx33N5mcWAiB74p0IYwxv4g3bY6W/KtvNWpLetbCSc+4yuYblZo/Icw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1437137},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"a68981cd403c78b4eba71796a2ec2d24ba3cb575","scripts":{"dev":"tsup --watch","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.5_1765876701721_0.947794379239266","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@cundi/refine-xaf","version":"1.0.6","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.6","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"d595e40984c1463ad532b4aeca23366991da4fd4","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.6.tgz","fileCount":8,"integrity":"sha512-hV1sAEwr2CefDacagyJYW/V/+zXfX+cwMZAWZmUDh+b2CR+syEXtuq4BTG5QLZaM36i81fEAboruT2bZ/cdFEw==","signatures":[{"sig":"MEUCIQC2L8ilCdOCCoFCLI2ukRkDz+tKe8IxmpeDq+dWlb3O5gIgA/cKbkiCy5HT7Rnfs8HjTwn/2KhtmmwJFFsZYy8L/+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1484290},"main":"dist/index.js","_from":"file:d:/Source/Private/Cundi/output/npm/cundi-refine-xaf-1.0.6.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_resolved":"d:\\Source\\Private\\Cundi\\output\\npm\\cundi-refine-xaf-1.0.6.tgz","_integrity":"sha512-hV1sAEwr2CefDacagyJYW/V/+zXfX+cwMZAWZmUDh+b2CR+syEXtuq4BTG5QLZaM36i81fEAboruT2bZ/cdFEw==","_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.6_1766984804371_0.9319556330768004","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@cundi/refine-xaf","version":"1.0.7","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.7","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"dfb17183885bdcb65d6e1fb5b11649def2b4b3c5","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.7.tgz","fileCount":8,"integrity":"sha512-5QRkWTn9Nz+hKLrdFGf9lcBk9pr359qne1vSSSixevkG/tGeaBoiG/PFbYlbCOEunH1KqK+h4PwLGLW1W63PFA==","signatures":[{"sig":"MEQCIBJPU+KxFfYZWzwwhdZSIvUrU6GB6jqsc2qBDKmOqXqEAiAD6gVU+RPYPwaxBXvhO85qZLv7N0vsyrEBSmDyuhLW7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1484492},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"7374b1d1cfb9d272c7ac9a0ea48cc479168b4479","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.7_1766987257850_0.8718267656706822","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@cundi/refine-xaf","version":"1.0.8","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.8","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"b9293635d550efc8536a4586cd02f7d4f31d6668","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.8.tgz","fileCount":8,"integrity":"sha512-nlXb56k1mdQcRrxKyFyL7/uBNns46yIkwbclQoNX3VSPw4mzOPpyW2I5SlooBrmPCIkmR5erBxIgM4DPgRfK6g==","signatures":[{"sig":"MEUCIQDzj1HiRDppmXnrqYdqG2lMqb7PmIxSxzsnbXRurrLEdgIgD3BNDzvbKkd0yR9DkLU133J+zrFCOu2ZYFCRXHHako4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1594377},"main":"dist/index.js","_from":"file:cundi-refine-xaf-1.0.8.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_resolved":"D:\\Source\\Private\\Cundi\\output\\npm\\cundi-refine-xaf-1.0.8.tgz","_integrity":"sha512-nlXb56k1mdQcRrxKyFyL7/uBNns46yIkwbclQoNX3VSPw4mzOPpyW2I5SlooBrmPCIkmR5erBxIgM4DPgRfK6g==","_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.8_1766998125155_0.7110532063456314","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@cundi/refine-xaf","version":"1.0.9","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.9","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"6680c1597ccd1df0020136820990d2057b744254","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.9.tgz","fileCount":8,"integrity":"sha512-eg+cM/fvv1CP9oCKKjBxUV3qsKJEj6HBN2giBL0ei8H/3/EJqu5Nb9rNdZrQkIR+0jVVPrfPHcwyIw12emNhNw==","signatures":[{"sig":"MEUCIQDVBtZuDBrEqE8Bm2XtJNe8ravh3V67Yjn6Mf0/s6iRUwIgM7/37Hh8WMhCWv++jb1G9dQ8h3/iGFcOEKddziwHA3I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1594377},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"85fac1630197d5a170632230ab70d1f391e4b5f5","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","i18next":"^25.7.3","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","react-i18next":"^16.5.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.9_1767021195184_0.7021917012653409","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@cundi/refine-xaf","version":"1.0.10","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.10","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"49efb54408e6f06ed268d3d8b103aaa0dbd1072e","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.10.tgz","fileCount":8,"integrity":"sha512-afY87cwHiX98JJCglq3DezasYUvSsxrhB2Nd5XKGovlT0BXHfC3jAXSS6MI8/+zGI/lZhyaXp/PSorrR7VQoEw==","signatures":[{"sig":"MEQCIAx7zm4ClPvuu5DuOvh3ksVAs8uJDCumKaESMCq1CyOiAiAHsNOZ/zB6vXmaU/6SsgYKsNUtXN2w8/tgsBcE5v59Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1594512},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"85fac1630197d5a170632230ab70d1f391e4b5f5","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.10_1767022098617_0.688374661940736","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@cundi/refine-xaf","version":"1.0.11","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.11","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"fe54fc5318e9efec339a1064c51915d422f0dd1f","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.11.tgz","fileCount":8,"integrity":"sha512-tisk//Y4+VWXB1/PRIdWq1FezHzYwUDs+mDSQOiwWfhSl2mnvolbsxH/KVOfUQOxfJZu7DtODdVrxshidt6RZA==","signatures":[{"sig":"MEYCIQDg8C1kswJys0vtVRba8VB3jrZJ325b1WFzgjqO9ggW/gIhAK7sqQmQwYRMddGdaUiVR9e0P+7BWfs7dOE6SZKOWTMi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1594848},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"85fac1630197d5a170632230ab70d1f391e4b5f5","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.11_1767026307226_0.4887959506666859","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@cundi/refine-xaf","version":"1.0.12","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.12","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"ed4196621ec7cc299270964e60dd723dacbb6c67","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.12.tgz","fileCount":8,"integrity":"sha512-WiF4KAZYc/cUP7q4tlpVOYh/2EYT7CnbqM7k+arGmqVV7JWjviAwqJH1bNMVDd9KSHRHeUrX+bK81zF9YAChlw==","signatures":[{"sig":"MEUCIDC/9W/oNG3AjONmPfIxgJ5eTPM3jZvsGUbxDd3sjq75AiEAjC3KRwQtobQDfrBF/mvPx8gpSjK0v/sXHEcRO+vm/Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1621971},"main":"dist/index.js","_from":"file:cundi-refine-xaf-1.0.12.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_resolved":"D:\\Source\\Private\\Cundi\\output\\npm\\cundi-refine-xaf-1.0.12.tgz","_integrity":"sha512-WiF4KAZYc/cUP7q4tlpVOYh/2EYT7CnbqM7k+arGmqVV7JWjviAwqJH1bNMVDd9KSHRHeUrX+bK81zF9YAChlw==","_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.12_1767064255808_0.4059256581203585","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@cundi/refine-xaf","version":"1.0.14","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.14","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"d5f5ddc0e54e72b86ab6d63e1009c2a2fdf8fb4d","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.14.tgz","fileCount":8,"integrity":"sha512-TDaKZ2levwOXEKNLf33WObLIM03d6EEwx34vOp6SnCStoYn7E8k3OP06eQ2k6Li5Khxbo4zE0VDY3b1JHD4HcA==","signatures":[{"sig":"MEUCIHECWtO4w6wheqQy6aP7GlEcF61NiOrZr4Bx8P9MeIxlAiEA/Pjjli5Y+zrTuC+H5Q2OTeBnZNKoGlbj+tlZTjdbQX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1647960},"main":"dist/index.js","_from":"file:d:/Source/Private/Cundi/output/npm/cundi-refine-xaf-1.0.14.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_resolved":"d:\\Source\\Private\\Cundi\\output\\npm\\cundi-refine-xaf-1.0.14.tgz","_integrity":"sha512-TDaKZ2levwOXEKNLf33WObLIM03d6EEwx34vOp6SnCStoYn7E8k3OP06eQ2k6Li5Khxbo4zE0VDY3b1JHD4HcA==","_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.14_1767087895498_0.9248894769204099","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@cundi/refine-xaf","version":"1.0.15","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.15","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"6f41a9659ac40f2f3f28521025ef97f6960744fe","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.15.tgz","fileCount":8,"integrity":"sha512-DFiNYX8TMm88DxUo6k+U67u71xidzWoS8ytRPeYRTzTspZPcP0jPyOyeg+bNAlvnan/a0kWSQSDfA8WauELcww==","signatures":[{"sig":"MEYCIQCmKtxLxGJ9Ay4ywdh8BsQy15cZWciaxpqtZUBwdLK4CQIhAJWZAKd7sI2afPe5phNIr8zyUqk/TPzHZrqj9i48flx4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1648850},"main":"dist/index.js","_from":"file:cundi-refine-xaf-1.0.15.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_resolved":"D:\\Source\\Private\\Cundi\\output\\npm\\cundi-refine-xaf-1.0.15.tgz","_integrity":"sha512-DFiNYX8TMm88DxUo6k+U67u71xidzWoS8ytRPeYRTzTspZPcP0jPyOyeg+bNAlvnan/a0kWSQSDfA8WauELcww==","_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.15_1767158271022_0.6285573178891994","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@cundi/refine-xaf","version":"1.0.16","keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","_id":"@cundi/refine-xaf@1.0.16","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"dist":{"shasum":"e530812481f099a3968b87b4965ea2f6911d4c04","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.16.tgz","fileCount":8,"integrity":"sha512-PYMy2BYOe0TZDJgCYN4vo/Nd0FXbqvA49NaWu8mU42SYG6uYBblRonSXOVEZRRSVZ9LFVu81QM6tNJB0+528PQ==","signatures":[{"sig":"MEUCIGGsH7hxGI9uYqHqPDcwBNQm13kT+ZWxKpJFZfc/fpt7AiEA+uGFcDwvl0TvT90G0hZVwk8jU8RI5v9kCw8T3HVUvQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1671215},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"a0273e870a93ee764d4a028addbbe6e16aff15d4","scripts":{"dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","build":"tsup","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"_npmVersion":"11.6.0","description":"Integration SDK for XAF backend and Refine frontend","directories":{},"_nodeVersion":"24.11.1","dependencies":{"katex":"^0.16.27","classnames":"^2.5.1","react-drawio":"^1.0.7","@tiptap/react":"^3.13.0","emoji-picker-react":"^4.16.1","@tiptap/starter-kit":"^3.13.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table-header":"^3.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^5.23.0","jest":"^29.7.0","tsup":"^8.0.0","react":"^19.1.0","i18next":"^25.7.3","ts-jest":"^29.2.0","react-dom":"^19.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","react-router":"^7.0.2","react-i18next":"^16.5.0","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@types/react-dom":"^19.2.3","react-router-dom":"^7.0.2","@ant-design/icons":"^5.5.1","@tanstack/react-query":"^5.60.0","jest-environment-jsdom":"^29.7.0"},"peerDependencies":{"antd":"^5.0.0","react":"^18.0.0 || ^19.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^6.0.0 || ^7.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","react-router-dom":"^6.0.0 || ^7.0.0","@ant-design/icons":"^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refine-xaf_1.0.16_1767166987770_0.6364809198243842","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@cundi/refine-xaf","version":"1.0.17","description":"Integration SDK for XAF backend and Refine frontend","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","pack":"npm run build && npm pack --pack-destination ../../output/npm","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"keywords":["refine","xaf","integration"],"author":{"name":"Cundi"},"license":"ISC","peerDependencies":{"@ant-design/icons":"^5.0.0","@refinedev/antd":"^5.0.0 || ^6.0.0","@refinedev/core":"^4.0.0 || ^5.0.0","@tanstack/react-query":"^4.0.0 || ^5.0.0","antd":"^5.0.0","i18next":"^23.0.0 || ^24.0.0 || ^25.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-i18next":"^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0","react-router":"^6.0.0 || ^7.0.0","react-router-dom":"^6.0.0 || ^7.0.0"},"devDependencies":{"@ant-design/icons":"^5.5.1","@refinedev/antd":"^6.0.3","@refinedev/core":"^5.0.6","@tanstack/react-query":"^5.60.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","antd":"^5.23.0","i18next":"^25.7.3","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","react":"^19.1.0","react-dom":"^19.1.0","react-i18next":"^16.5.0","react-router":"^7.0.2","react-router-dom":"^7.0.2","ts-jest":"^29.2.0","tsup":"^8.5.1","typescript":"^5.0.0"},"dependencies":{"@aarkue/tiptap-math-extension":"^1.4.0","@tiptap/extension-color":"^3.13.0","@tiptap/extension-emoji":"^3.13.0","@tiptap/extension-highlight":"^3.13.0","@tiptap/extension-image":"^3.13.0","@tiptap/extension-placeholder":"^3.13.0","@tiptap/extension-table":"^3.13.0","@tiptap/extension-table-cell":"^3.13.0","@tiptap/extension-table-header":"^3.13.0","@tiptap/extension-table-row":"^3.13.0","@tiptap/extension-task-item":"^3.13.0","@tiptap/extension-task-list":"^3.13.0","@tiptap/extension-text-style":"^3.13.0","@tiptap/extension-youtube":"^3.13.0","@tiptap/react":"^3.13.0","@tiptap/starter-kit":"^3.13.0","classnames":"^2.5.1","emoji-picker-react":"^4.16.1","katex":"^0.16.27","react-drawio":"^1.0.7"},"_id":"@cundi/refine-xaf@1.0.17","gitHead":"a0273e870a93ee764d4a028addbbe6e16aff15d4","_nodeVersion":"24.11.1","_npmVersion":"11.6.0","dist":{"integrity":"sha512-0T7+5oPEy0T4a/7OVaul1hZz7pOjGyPToQ65XIIeN4SEfG0U+q74h7egkHv4pZaC2r97nYvYOa3mkXIZOTtWvQ==","shasum":"c3355ebca6ea3cfb0dcfe34b14cd620551e0fa7a","tarball":"https://registry.npmjs.org/@cundi/refine-xaf/-/refine-xaf-1.0.17.tgz","fileCount":7,"unpackedSize":1670785,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDbdYPdoG4R3OtZohnRLosxU4S2RmaLNq1s9Dqr0xOLKQIgdFCqOw20uBCTq/MKXg2TsNmpMGvJy6s6LJ6Mf9HqjTU="}]},"_npmUser":{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"},"directories":{},"maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/refine-xaf_1.0.17_1767170931483_0.5218236294266481"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-13T03:05:37.589Z","modified":"2025-12-31T08:48:51.886Z","1.0.0":"2025-12-13T03:05:37.863Z","1.0.1":"2025-12-15T16:12:18.447Z","1.0.2":"2025-12-16T03:43:32.757Z","1.0.3":"2025-12-16T03:59:25.946Z","1.0.4":"2025-12-16T07:08:06.326Z","1.0.5":"2025-12-16T09:18:21.914Z","1.0.6":"2025-12-29T05:06:44.569Z","1.0.7":"2025-12-29T05:47:38.078Z","1.0.8":"2025-12-29T08:48:45.327Z","1.0.9":"2025-12-29T15:13:15.357Z","1.0.10":"2025-12-29T15:28:18.793Z","1.0.11":"2025-12-29T16:38:27.482Z","1.0.12":"2025-12-30T03:10:55.998Z","1.0.14":"2025-12-30T09:44:55.684Z","1.0.15":"2025-12-31T05:17:51.272Z","1.0.16":"2025-12-31T07:43:07.996Z","1.0.17":"2025-12-31T08:48:51.666Z"},"author":{"name":"Cundi"},"license":"ISC","keywords":["refine","xaf","integration"],"description":"Integration SDK for XAF backend and Refine frontend","maintainers":[{"name":"antonylu0826","email":"lu-antony@yahoo.com.tw"}],"readme":"# @cundi/refine-xaf\r\n\r\nThis is an SDK integrating XAF backend with Refine frontend, including core logic for Authentication (Auth Provider), Data Access (Data Provider), and a complete UI component library.\r\n\r\n## Features\r\n\r\n- **Auth Provider**: Handles login, logout, Token management, and permission checks.\r\n- **Data Provider**: Data access layer designed specifically for XAF OData.\r\n  - Supports `meta.expand` for OData `$expand` (navigation properties)\r\n- **UI Components**:\r\n    - `Header`: Application header including user menu and theme toggle (Dark/Light Mode).\r\n    - `LoginPage`: Standard login page.\r\n    - `SmartList`, `RelatedList`: Highly encapsulated generic list and detail components. (**Note**: To use `defaultVisible` prop, import `@cundi/refine-xaf/dist/antd-column-ext` in your app entry)\r\n    - `TiptapEditor`: Rich text editor with support for Images, Tables, Tasks, Math (LaTeX), YouTube, Emoji, Highlight, and Text Color.\r\n    - `DrawioEditor`: Draw.io diagram editor with i18n language sync support.\r\n    - `Base64Upload`: Image upload component for XAF byte[] fields.\r\n    - `GlobalSearch`: Full-text search component with type-grouped results and navigation.\r\n    - `ApplicationUser`: Complete user management (List, Create, Edit, Role Assignment).\r\n    - `PermissionPolicyRole`: Complete role and permission management.\r\n    - `TriggerRule`: Webhook trigger rule management (List, Create, Edit).\r\n    - `TriggerLog`: Webhook execution log viewer with detail drawer.\r\n    - `MirrorTypeMappingConfig`: Data mirror type mapping configuration.\r\n\r\n## How to use in a new project\r\n\r\n### 1. Initialize Project\r\n\r\nIt is recommended to use the official tool to create a standard Refine + Vite + Ant Design project:\r\n\r\n```bash\r\nnpm create refine-app@latest my-project\r\n# Recommended options:\r\n# Backend: Custom JSON REST (will be replaced later)\r\n# UI Framework: Ant Design\r\n# Authentication: None (will use SDK later)\r\n```\r\n\r\n### 2. Install SDK\r\n\r\nInstall this SDK in your project directory:\r\n\r\n```bash\r\n# If in the same level as packages folder (monorepo structure)\r\nnpm install ../packages/refine-xaf\r\n\r\n# Or use the published package name\r\n# npm install @cundi/refine-xaf\r\n```\r\n\r\n### 3. Setup Environment Variables (.env)\r\n\r\nCreate a `.env` file in the project root directory and specify the backend API location.\r\n\r\n> **Note**: SDK's `httpClient` (used for Auth) defaults to reading `VITE_API_URL`. OData endpoints usually need the `/odata` suffix.\r\n\r\n```env\r\nVITE_API_URL=https://localhost:7087/api\r\n```\r\n\r\n### 4. Setup App.tsx\r\n\r\nModify `src/App.tsx` to import components and logic from the SDK:\r\n\r\n```tsx\r\nimport React from \"react\";\r\nimport { BrowserRouter, Routes, Route, Outlet } from \"react-router-dom\";\r\nimport { App as AntdApp, ConfigProvider, theme } from \"antd\";\r\nimport { Refine, Authenticated } from \"@refinedev/core\";\r\nimport { ThemedLayout, ErrorComponent, RefineThemes, useNotificationProvider } from \"@refinedev/antd\";\r\nimport routerProvider, { NavigateToResource, CatchAllNavigate, UnsavedChangesNotifier, DocumentTitleHandler } from \"@refinedev/react-router\";\r\nimport \"@refinedev/antd/dist/reset.css\";\r\n\r\n// 1. Import SDK\r\nimport {\r\n    authProvider,\r\n    dataProvider,\r\n    Header,\r\n    LoginPage,\r\n    ApplicationUserList,\r\n    ApplicationUserCreate,\r\n    ApplicationUserEdit,\r\n    RoleList,\r\n    RoleCreate,\r\n    RoleEdit,\r\n    ColorModeContextProvider,\r\n    useColorMode\r\n} from \"@cundi/refine-xaf\";\r\n\r\n// 2. Setup API URL (Raw URL for Auth, /odata for Data)\r\nconst API_URL = import.meta.env.VITE_API_URL;\r\n\r\nconst InnerApp: React.FC = () => {\r\n    const { mode } = useColorMode();\r\n\r\n    return (\r\n        <BrowserRouter>\r\n            <ConfigProvider\r\n                theme={{\r\n                    ...RefineThemes.Blue,\r\n                    algorithm: mode === \"dark\" ? theme.darkAlgorithm : theme.defaultAlgorithm,\r\n                }}\r\n            >\r\n                <AntdApp>\r\n                    <Refine\r\n                        authProvider={authProvider}\r\n                        // 3. Setup Data Provider (Note the /odata suffix)\r\n                        dataProvider={dataProvider(API_URL + \"/odata\")}\r\n                        routerProvider={routerProvider}\r\n                        notificationProvider={useNotificationProvider}\r\n                        resources={[\r\n                            {\r\n                                name: \"dashboard\",\r\n                                list: \"/\",\r\n                                meta: { label: \"Dashboard\" }\r\n                            },\r\n                            {\r\n                                name: \"ApplicationUser\",\r\n                                list: \"/ApplicationUsers\",\r\n                                create: \"/ApplicationUsers/create\",\r\n                                edit: \"/ApplicationUsers/edit/:id\",\r\n                                meta: { label: \"Users\" }\r\n                            },\r\n                            {\r\n                                name: \"PermissionPolicyRole\",\r\n                                list: \"/PermissionPolicyRoles\",\r\n                                create: \"/PermissionPolicyRoles/create\",\r\n                                edit: \"/PermissionPolicyRoles/edit/:id\",\r\n                                meta: { label: \"Roles\" }\r\n                            }\r\n                        ]}\r\n                    >\r\n                        <Routes>\r\n                            <Route\r\n                                element={\r\n                                    <Authenticated key=\"authenticated-routes\" fallback={<CatchAllNavigate to=\"/login\" />}>\r\n                                        <ThemedLayout Header={Header}>\r\n                                            <Outlet />\r\n                                        </ThemedLayout>\r\n                                    </Authenticated>\r\n                                }\r\n                            >\r\n                                <Route index element={<div>Welcome to Dashboard</div>} />\r\n                                \r\n                                {/* 4. Setup pages provided by SDK */}\r\n                                <Route path=\"/ApplicationUsers\">\r\n                                    <Route index element={<ApplicationUserList />} />\r\n                                    <Route path=\"create\" element={<ApplicationUserCreate />} />\r\n                                    <Route path=\"edit/:id\" element={<ApplicationUserEdit />} />\r\n                                </Route>\r\n\r\n                                <Route path=\"/PermissionPolicyRoles\">\r\n                                    <Route index element={<RoleList />} />\r\n                                    <Route path=\"create\" element={<RoleCreate />} />\r\n                                    <Route path=\"edit/:id\" element={<RoleEdit />} />\r\n                                </Route>\r\n                            </Route>\r\n\r\n                            <Route\r\n                                element={\r\n                                    <Authenticated key=\"auth-pages\" fallback={<Outlet />}>\r\n                                        <NavigateToResource resource=\"dashboard\" />\r\n                                    </Authenticated>\r\n                                }\r\n                            >\r\n                                <Route path=\"/login\" element={<LoginPage />} />\r\n                            </Route>\r\n                        </Routes>\r\n                        <UnsavedChangesNotifier />\r\n                        <DocumentTitleHandler />\r\n                    </Refine>\r\n                </AntdApp>\r\n            </ConfigProvider>\r\n        </BrowserRouter>\r\n    );\r\n};\r\n\r\nconst App: React.FC = () => {\r\n    return (\r\n        <ColorModeContextProvider>\r\n            <InnerApp />\r\n        </ColorModeContextProvider>\r\n    );\r\n};\r\n\r\nexport default App;\r\n```\r\n\r\n## Building Custom CRUD Pages\r\n\r\nTo create CRUD pages for your own XAF business objects (e.g., `DemoObject`), follow these patterns (reference `cundiweb/src/pages/demo-objects` for complete examples).\r\n\r\n### List Page\r\n\r\nUse the `SmartList` component to quickly build a feature-rich list view with search capabilities.\r\n\r\n```tsx\r\nimport { SmartList } from \"@cundi/refine-xaf\";\r\nimport { Table, Checkbox, Space } from \"antd\";\r\nimport { EditButton, ShowButton, DeleteButton, DateField } from \"@refinedev/antd\";\r\n\r\nexport const DemoObjectList = () => {\r\n    return (\r\n        // searchFields prop enables the search bar for specified columns\r\n        <SmartList searchFields={[\"Name\", \"StringValue\"]}>\r\n            <Table.Column dataIndex=\"Name\" title=\"Name\" sorter defaultVisible />\r\n            <Table.Column dataIndex=\"StringValue\" title=\"String Value\" sorter />\r\n            <Table.Column \r\n                dataIndex=\"BoolValue\" \r\n                title=\"Boolean\" \r\n                render={(value) => <Checkbox checked={value} disabled />} \r\n            />\r\n            {/* Standard Ant Design Table.Column configuration */}\r\n            <Table.Column\r\n                title=\"Actions\"\r\n                dataIndex=\"actions\"\r\n                render={(_, record) => (\r\n                    <Space>\r\n                        <EditButton hideText size=\"small\" recordItemId={record.Oid} />\r\n                        <ShowButton hideText size=\"small\" recordItemId={record.Oid} />\r\n                        <DeleteButton hideText size=\"small\" recordItemId={record.Oid} />\r\n                    </Space>\r\n                )}\r\n            />\r\n        </SmartList>\r\n    );\r\n};\r\n```\r\n\r\n### SmartList with Navigation Properties\r\n\r\nTo display data from related entities, use the `meta` prop with `expand` and nested `dataIndex`:\r\n\r\n```tsx\r\nimport { SmartList } from \"@cundi/refine-xaf\";\r\nimport { Table, Typography } from \"antd\";\r\n\r\nconst { Text } = Typography;\r\n\r\nexport const OrderList = () => {\r\n    return (\r\n        <SmartList \r\n            searchFields={[\"OrderNumber\"]}\r\n            meta={{ expand: [\"Customer\"] }}  // OData $expand\r\n        >\r\n            <Table.Column dataIndex=\"OrderNumber\" title=\"Order #\" defaultVisible />\r\n            {/* Nested dataIndex for navigation property */}\r\n            <Table.Column \r\n                dataIndex={[\"Customer\", \"Name\"]} \r\n                title=\"Customer\" \r\n                render={(value) => value ? <Text>{value}</Text> : '-'}\r\n                defaultVisible\r\n            />\r\n            <Table.Column dataIndex=\"Total\" title=\"Total\" />\r\n        </SmartList>\r\n    );\r\n};\r\n```\r\n\r\n### Create/Edit Page\r\n\r\nUse standard Refine hooks (`useForm`) combined with Ant Design Form components. For file uploads (like Images), use the `Base64Upload` component provided by the SDK.\r\n\r\n```tsx\r\nimport { Create, useForm } from \"@refinedev/antd\"; // or Edit\r\nimport { Base64Upload } from \"@cundi/refine-xaf\";\r\nimport { Form, Input, Switch } from \"antd\";\r\n\r\nexport const DemoObjectCreate = () => {\r\n    const { formProps, saveButtonProps } = useForm();\r\n\r\n    return (\r\n        <Create saveButtonProps={saveButtonProps}>\r\n            <Form {...formProps} layout=\"vertical\">\r\n                <Form.Item\r\n                    label=\"Name\"\r\n                    name={[\"Name\"]}\r\n                    rules={[{ required: true }]}\r\n                >\r\n                    <Input />\r\n                </Form.Item>\r\n                \r\n                {/* Image upload example */}\r\n                <Form.Item label=\"Image\" name={[\"ImageValue\"]}>\r\n                    <Base64Upload />\r\n                </Form.Item>\r\n\r\n                <Form.Item \r\n                    label=\"Active\" \r\n                    name={[\"Active\"]} \r\n                    valuePropName=\"checked\"\r\n                >\r\n                    <Switch />\r\n                </Form.Item>\r\n            </Form>\r\n        </Create>\r\n    );\r\n};\r\n```\r\n\r\n### DrawioEditor Usage\r\n\r\nUse the `DrawioEditor` component for Draw.io diagram editing with automatic i18n language synchronization.\r\n\r\n```tsx\r\nimport { DrawioEditor } from \"@cundi/refine-xaf\";\r\nimport { Form } from \"antd\";\r\n\r\n// Basic usage in a form\r\n<Form.Item\r\n    label=\"Diagram\"\r\n    name={[\"DiagramXml\"]}\r\n    trigger=\"onChange\"\r\n    getValueFromEvent={(value) => value}\r\n>\r\n    <DrawioEditor height={600} />\r\n</Form.Item>\r\n\r\n// Props:\r\n// - value?: string          - XML format diagram data\r\n// - onChange?: (xml) => void - Callback when content changes\r\n// - disabled?: boolean      - Read-only mode (hides save button)\r\n// - height?: number|string  - Editor height (default: 500)\r\n// - autosave?: boolean      - Enable autosave (default: true)\r\n```\r\n\r\n### GlobalSearch Usage\r\n\r\nUse the `GlobalSearch` component to provide full-text search across all business objects. The component includes debounced input, type-grouped results, and automatic navigation.\r\n\r\n```tsx\r\nimport { GlobalSearch } from \"@cundi/refine-xaf\";\r\n\r\n// Basic usage (typically in Header or layout)\r\n<GlobalSearch />\r\n\r\n// With custom options\r\n<GlobalSearch \r\n    placeholder=\"Search customers, orders...\"\r\n    maxResults={100}\r\n    maxPerType={20}\r\n    width={320}\r\n/>\r\n\r\n// With custom click handler (overrides default navigation)\r\n<GlobalSearch \r\n    onResultClick={(result) => {\r\n        console.log('Selected:', result);\r\n        // result: { displayName, objectKey, typeCaption, typeFullName, matchedContent }\r\n    }}\r\n/>\r\n\r\n// Props:\r\n// - placeholder?: string        - Search input placeholder\r\n// - maxResults?: number         - Maximum total results (default: 200)\r\n// - maxPerType?: number         - Maximum results per type (default: 50)\r\n// - width?: number | string     - Input width (default: 280)\r\n// - onResultClick?: (result) => void - Custom click handler\r\n```\r\n\r\n## Development and Publishing\r\n\r\n1. **Install Dependencies**: `npm install`\r\n2. **Build SDK**: `npm run build`\r\n3. **Development Mode**: `npm run dev` (watch mode)\r\n4. **Run Tests**: `npm run test`\r\n5. **Test Coverage**: `npm run test:coverage`\r\n\r\n## Utilities\r\n\r\nThe SDK provides several utility functions:\r\n\r\n### Password Utilities\r\n\r\n```tsx\r\nimport { generatePassword, validatePasswordStrength } from \"@cundi/refine-xaf\";\r\n\r\n// Generate a secure random password\r\nconst password = generatePassword(16); // Optional length, default 12\r\n\r\n// Validate password strength\r\nconst result = validatePasswordStrength(password);\r\nif (result.isValid) {\r\n    console.log(\"Password is strong!\");\r\n}\r\n```\r\n\r\n### JWT Parsing\r\n\r\n```tsx\r\nimport { parseJwt } from \"@cundi/refine-xaf\";\r\n\r\nconst token = localStorage.getItem(\"refine-auth\");\r\nconst claims = parseJwt(token);\r\nconsole.log(claims.sub, claims.exp);\r\n```\r\n\r\n## Changelog\r\n\r\n### v1.0.12 (Latest)\r\n- Added `GlobalSearch` component for full-text search across all persistent types\r\n- Added `globalSearch` service function for API calls\r\n- GlobalSearch features: debounce input, grouped results by type, click navigation to show/edit pages\r\n- Full i18n support for GlobalSearch (en, zh-TW)\r\n\r\n### v1.0.8\r\n- Added `TriggerRuleList`, `TriggerRuleCreate`, `TriggerRuleEdit` components\r\n- Added `TriggerLogList` component with detail drawer\r\n- Added `MirrorTypeMappingConfigList`, `MirrorTypeMappingConfigCreate`, `MirrorTypeMappingConfigEdit` components\r\n- Added `meta` prop to `SmartList` for OData `$expand` support\r\n- Added support for nested `dataIndex` (array format) in `SmartList`\r\n- Added `getList` support for `meta.expand` in Data Provider\r\n- Added `useModelTypes` hook for dynamic type selection\r\n- Full i18n support for all new components (en, zh-TW)\r\n- Filtered TriggerRule/TriggerLog from target type selection to prevent recursion\r\n\r\n### v1.0.5\r\n- Added `DrawioEditor` component for Draw.io diagram editing\r\n- DrawioEditor supports automatic i18n language synchronization\r\n- Added `react-drawio` dependency\r\n\r\n### v1.0.4\r\n- Fixed `refineXafTranslations` export (was missing from main index)\r\n- Fixed i18n translations for dashboard page\r\n\r\n### v1.0.3\r\n- Added Dashboard page translations\r\n- Fixed internationalization in template\r\n\r\n### v1.0.2\r\n- Fixed `defaultVisible` type definition for `SmartList`. Consumers must add `import \"@cundi/refine-xaf/dist/antd-column-ext\";` to their entry file (e.g., `App.tsx`) to enable this feature.\r\n\r\n### v1.0.1\r\n- Added `generatePassword` and `validatePasswordStrength` utilities\r\n- Added retry mechanism to `httpClient` (exponential backoff)\r\n- Improved `SmartList` performance with `useMemo`\r\n- Extracted TiptapEditor styles to separate CSS file\r\n- Enhanced environment variable validation for Keycloak\r\n- Added Jest test framework\r\n\r\n","readmeFilename":"README.md"}