{"_id":"@dialob/dialob-composer-material","_rev":"3-c7e111d8923cfeb1ad6d3231e6cd6c5f","name":"@dialob/dialob-composer-material","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@dialob/dialob-composer-material","version":"0.0.1","author":{"name":"ReSys"},"license":"Apache-2.0","_id":"@dialob/dialob-composer-material@0.0.1","maintainers":[{"name":"tomi","email":"tomi.pakarinen@resys.io"},{"name":"villuv","email":"villu.vaimets@resys.io"},{"name":"jocelynmutso","email":"jocelyn.mutso@gmail.com"}],"dist":{"shasum":"b844a115fac4ae16310712e98a2469163e7fcedc","tarball":"https://registry.npmjs.org/@dialob/dialob-composer-material/-/dialob-composer-material-0.0.1.tgz","fileCount":7,"integrity":"sha512-a6u8VhwcOkRBV8+DrviILQvZjn9P8zP+V1ztcWAs9FJda3wpR8Sfl/8l9SAE4QBA0H2MZyKHP6FDWX4zbowt1A==","signatures":[{"sig":"MEQCIF+eFdKznjMYgbxXREDVk5oivMLkWOuFCs9fNj8rz5zgAiBTrOjNdJv8Ke/03b9iJJ3aqA0R+4prhH7qDNSrZoz0pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1490810},"main":"dist-lib/index.js","type":"module","types":"dist-lib/index.d.ts","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"jest && tsc && vite build","preview":"vite preview","build-aws":"vite build --base=https://cdn.resys.io/dialob-composer-material/dev/","build:lib":"tsc && vite build --config vite.config.lib.ts"},"_npmUser":{"name":"villuv","email":"villu.vaimets@resys.io"},"description":"Dialob Form Authoring Tool","directories":{},"dependencies":{"jest":"^29.7.0","immer":"^10.0.3","react":"^18.2.0","ts-jest":"^29.1.1","ts-node":"^10.9.1","papaparse":"^5.4.1","react-dom":"^18.2.0","file-saver":"^2.0.5","react-intl":"^6.6.2","@types/jest":"^29.5.11","@types/node":"^20.10.4","react-scroll":"^1.9.0","@mui/material":"^5.14.20","@atlaskit/tree":"^8.8.7","@emotion/react":"^11.11.1","react-markdown":"^9.0.1","@emotion/styled":"^11.11.0","vite-plugin-dts":"^4.2.2","@codemirror/lint":"^6.7.1","lodash.camelcase":"^4.3.0","@mui/icons-material":"^5.14.19","@codemirror/language":"^6.10.1","@uiw/react-codemirror":"^4.21.21","@testing-library/react":"^14.1.2","@types/lodash.camelcase":"^4.3.9","@codemirror/autocomplete":"^6.16.0","@codemirror/lang-javascript":"^6.2.1"},"publishConfig":{"registry":"https://registry.npmjs.org","always-auth":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.1.8","eslint":"^8.53.0","typescript":"^5.2.2","@types/react":"^18.2.37","@types/papaparse":"^5.3.14","@types/react-dom":"^18.2.15","@types/file-saver":"^2.0.7","@types/react-scroll":"^1.8.10","@vitejs/plugin-react":"^4.2.0","eslint-plugin-formatjs":"^4.13.0","@typescript-eslint/parser":"^6.10.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.4","@typescript-eslint/eslint-plugin":"^6.10.0"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","react-intl":"^6.6.2","react-scroll":"^1.9.0","@mui/material":"^5.14.20","@mui/icons-material":"^5.14.19"},"_npmOperationalInternal":{"tmp":"tmp/dialob-composer-material_0.0.1_1742415441863_0.18109277210232633","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.2":{"name":"@dialob/dialob-composer-material","version":"0.0.2","license":"Apache-2.0","_id":"@dialob/dialob-composer-material@0.0.2","maintainers":[{"name":"tomi","email":"tomi.pakarinen@resys.io"},{"name":"villuv","email":"villu.vaimets@resys.io"},{"name":"jocelynmutso","email":"jocelyn.mutso@gmail.com"}],"dist":{"shasum":"bc4a5aa991a9ff4c256d330417d953860e17ac9f","tarball":"https://registry.npmjs.org/@dialob/dialob-composer-material/-/dialob-composer-material-0.0.2.tgz","fileCount":6,"integrity":"sha512-RfkSuskyl9jSGiigW+K6DQfbzZSS1GXvOHnhl4Y0Nyktgfi5LfDVBoPNJTqamsxb2oHFrCQFaofR8J1I6Q6r3Q==","signatures":[{"sig":"MEUCICOBR1EpxjlCjr7A6BPl7lN6QlkjcGFq0mrmkfUZzawbAiEAidQuBaZFtWK3ZW5JhA7XKn6P5soUzJ5fHzcYo38SKbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1481211},"main":"dist-lib/index.js","type":"module","_from":"file:dialob-dialob-composer-material-0.0.2.tgz","types":"dist-lib/index.d.ts","private":false,"scripts":{"dev":"vite","dist":"pnpm run build:app --base=$DIST_BASE","lint":"eslint","test":"jest","build":"tsc && vite build","preview":"vite preview --config vite.config.app.ts","build:app":"tsc && vite build --config vite.config.app.ts"},"_npmUser":{"name":"tomi","email":"tomi.pakarinen@resys.io"},"_resolved":"/tmp/5feffe3a486039e06b04efbd11a2931b/dialob-dialob-composer-material-0.0.2.tgz","_integrity":"sha512-RfkSuskyl9jSGiigW+K6DQfbzZSS1GXvOHnhl4Y0Nyktgfi5LfDVBoPNJTqamsxb2oHFrCQFaofR8J1I6Q6r3Q==","_npmVersion":"10.8.2","description":"Dialob Form Authoring Tool","directories":{},"_nodeVersion":"20.19.0","dependencies":{"immer":"^10.1.1","react":"^18.2.0","papaparse":"^5.4.1","react-dom":"^18.2.0","file-saver":"^2.0.5","react-intl":"^6.6.2","react-scroll":"^1.9.0","@mui/material":"^5.14.20","@atlaskit/tree":"^8.8.7","@emotion/react":"^11.11.1","react-markdown":"^9.0.1","@emotion/styled":"^11.11.0","@codemirror/lint":"^6.7.1","lodash.camelcase":"^4.3.0","@mui/icons-material":"^5.14.19","@codemirror/language":"^6.10.1","@uiw/react-codemirror":"^4.21.21","@codemirror/autocomplete":"^6.16.0","@codemirror/lang-javascript":"^6.2.1"},"publishConfig":{"registry":"https://registry.npmjs.org","always-auth":true},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.5","eslint":"^9.23.0","globals":"^15.9.0","ts-jest":"^29.3.0","ts-node":"^10.9.2","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.11","@types/node":"^20.10.4","@types/react":"^18.2.37","vite-plugin-dts":"^4.5.3","@types/papaparse":"^5.3.14","@types/react-dom":"^18.2.15","@types/file-saver":"^2.0.7","typescript-eslint":"^8.29.0","eslint-plugin-jest":"^28.11.0","@types/react-scroll":"^1.8.10","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.2.0","@testing-library/react":"^14.1.2","eslint-plugin-formatjs":"^5.3.1","@types/lodash.camelcase":"^4.3.9","@typescript-eslint/parser":"^6.10.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^6.10.0"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","react-intl":"^6.6.2","react-scroll":"^1.9.0","@mui/material":"^5.14.20","@mui/icons-material":"^5.14.19"},"_npmOperationalInternal":{"tmp":"tmp/dialob-composer-material_0.0.2_1744284847071_0.3412369515152678","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-03-19T20:17:21.750Z","modified":"2025-11-24T13:12:08.243Z","0.0.1":"2025-03-19T20:17:22.132Z","0.0.2":"2025-04-10T11:34:07.262Z"},"license":"Apache-2.0","description":"Dialob Form Authoring Tool","maintainers":[{"name":"jocelynmutso","email":"jocelyn.mutso@gmail.com"},{"name":"tomi","email":"tomi.pakarinen@resys.io"},{"name":"villuv","email":"villu.vaimets@resys.io"}],"readme":"\n> [!IMPORTANT]\n> This package have been renamed as `@dialob/composer-material`\n\n# Dialob Composer Material\n\n## Where's what\n\n* **src/dialob** Dialob form state management\n  * **test/** Jest test cases and data\n  * **reducer.ts** All form data modification functions need to be here\n  * **react/** React components for form state management: `useComposer` hook and `<ComposerProvider>` context provider component.\n  * **types.ts** TypeScript types defining a Dialob form document\n* **src/editor** Composer editor state management, works similarly to Dialob state management using the `useEditor` hook and `<EditorProvider>` context provider component.\n* **src/components** React generic components, sometimes divided into subfolders for better organization\n* **src/default** Dialob configurations\n* **src/intl** Localization (currently only English)\n* **src/items** Components related to rendering form items\n* **src/theme/siteTheme** MUI theme, copied from DigiExpress composer projects\n* **src/utils** Used to store files that contain helper functions\n* **src/views** Views that compose the visible layout of the application\n* **src/App.tsx** Application root\n* **src/main.tsx** Entry point script\n\n* **index.html** Index page template\n* **vite.config.ts** Vite build system configuration (you can set default dev server port here)\n\n---\n\n## Testing\n\n```bash\npnpm run test\n```\n\nDialob form modification functions re covered with unit tests in `src/dialob/test/reducer.test.ts`. All modifications done there must have test coverage. \n\n## Linting\n\n```bash\npnpm run lint\n```\n\nRuns ESLint on all files in the project. This should be run before pushing changes to the repository.\nIf you want to ignore some ESLint rules in justified cases, you can use the `// eslint-disable-next-line` comment to disable the rule for the next line.\n\n## Formatting\n\nIf using VSCode, adjust your workspace settings to include the following:\n  \n```json\n{\n  \"editor.tabSize\": 2,\n  \"editor.detectIndentation\": false,\n  \"editor.insertSpaces\": true,\n  \"editor.rulers\": [\n    150\n  ],\n  \"[typescript]\": {\n    \"editor.formatOnSave\": true,\n    \"editor.defaultFormatter\": \"vscode.typescript-language-features\"\n  },\n  \"[typescriptreact]\": {\n    \"editor.formatOnSave\": true,\n    \"editor.defaultFormatter\": \"vscode.typescript-language-features\"\n  },\n}\n```\n\nThis will enable automatic formatting on save for `.ts` and `.tsx` files. The ruler at 150 characters is optional, but it's a good idea to keep lines short.\n\n## Building\n\n```bash\npnpm build\n```\n\nBuilds static package under dist folder.\n\n## Building and deploying to demo.dialob.io\n\n```bash\npnpm run build:aws\naws sso login\n./aws-deploy.sh\n```\n\nThis will build and deploy artifacts to AWS S3, making the template available with url: https://s3.eu-central-1.amazonaws.com/cdn.resys.io/dialob-composer-material/dev/index.html\n\n## Running\n\n### For development\n\n```bash\npnpm run dev\n```\n\nStarts development server that hot-reloads changes. Follow on-screen information for additional functions (`o`+`enter` - opens browser etc.)\n\n### Testing built package\n\n```bash\npnpm run preview\n```\n\nStarts preview server for built application from `/dist` (No hot-reload!). Run `pnpm build` first to build the package\n\n---\n","readmeFilename":"README.md"}