{"_id":"@ecommerce-uprevo/text-editor","name":"@ecommerce-uprevo/text-editor","dist-tags":{"latest":"1.9.0"},"versions":{"1.9.0":{"name":"@ecommerce-uprevo/text-editor","version":"1.9.0","description":"### Basic Idea behind file/folders naming Each standalone components (Button,Image,Text etc) are considered as atoms.<br> Any component that is a combination of multiple atoms is considered a molecule","main":"dist/index.js","typings":"dist/src/index","module":"dist/index.es.js","author":"","license":"MIT","devDependencies":{"@babel/core":"^7.23.7","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-eslint":"^9.0.5","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-replace":"^5.0.5","@testing-library/jest-dom":"^6.2.0","@testing-library/react":"^14.1.2","@types/draft-js":"^0.11.17","@types/jest":"^29.5.11","@types/node":"^20.11.4","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","autoprefixer":"^10.4.16","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-cypress":"^2.15.1","eslint-plugin-prettier":"^5.1.3","eslint-plugin-promise":"^6.1.1","eslint-plugin-standard":"^5.0.0","identity-obj-proxy":"^3.0.0","jest":"^29.7.0","postcss":"^8.4.33","rollup":"^2.79.1","rollup-plugin-dotenv":"^0.5.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.2","rollup-plugin-terser":"^7.0.2","rollup-plugin-typescript2":"^0.36.0","rollup-plugin-visualizer":"^5.12.0","sass":"^1.79.5","ts-jest":"^29.1.1","tslib":"^2.6.2","typescript":"^5.3.3","@ecommerce-uprevo/eslint-config-ecommerce":"1.9.0"},"peerDependencies":{"react":">=18.3.1","react-dom":">=18.3.1"},"browserslist":["defaults","not IE 11"],"dependencies":{"@draft-js-plugins/buttons":"^4.3.3","@draft-js-plugins/editor":"^4.1.4","@draft-js-plugins/inline-toolbar":"^4.2.1","@draft-js-plugins/utils":"^4.2.1","draft-js":"^0.11.7","draft-js-export-html":"^1.4.1","draft-js-import-html":"^1.4.1","draftjs-utils":"^0.10.2","@ecommerce-uprevo/color-picker":"1.9.0","@ecommerce-uprevo/font-utils":"1.9.0"},"overrides":{"@types/react-dom":"^18.3.0","@types/react":"^18.3.3"},"scripts":{"clean":"rm -rf ./dist","build":"rimraf ./dist && NODE_ENV=development rollup --config","build:production":"rimraf ./dist && NODE_ENV=production rollup --config","dev":"NODE_ENV=development rollup --config -w","lint":"eslint ./src --quiet --ext js,ts,tsx --fix"},"_id":"@ecommerce-uprevo/text-editor@1.9.0","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-VSYP9+Sc66iTCQixNDcT5NgIc5SXkl5otvHOCJvwFdP044WfJw6BXYOJCAfUYGoChDKRcEsl9abKhRxhpS7/fg==","shasum":"5072ae759c54f1ae0a3b1d665ef4124a5a74b6c0","tarball":"https://registry.npmjs.org/@ecommerce-uprevo/text-editor/-/text-editor-1.9.0.tgz","fileCount":41,"unpackedSize":1023900,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCuEUqVI5jk1iUiSpbT1Ue19ARqNV0htlhfNkymJu/UHAIgOxFS7T6GeMqMX2XzL1ISn20Vw91tdr7uhvbI3zy5GDQ="}]},"_npmUser":{"name":"uprevo","email":"reda.mousawi@uprevo.io"},"directories":{},"maintainers":[{"name":"fawaznasser","email":"fawaz.nasser@uprevo.io"},{"name":"uprevo","email":"reda.mousawi@uprevo.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/text-editor_1.9.0_1756473594916_0.6225260639423364"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-29T13:19:54.842Z","1.9.0":"2025-08-29T13:19:55.163Z","modified":"2025-08-29T13:19:55.412Z"},"maintainers":[{"name":"fawaznasser","email":"fawaz.nasser@uprevo.io"},{"name":"uprevo","email":"reda.mousawi@uprevo.io"}],"description":"### Basic Idea behind file/folders naming Each standalone components (Button,Image,Text etc) are considered as atoms.<br> Any component that is a combination of multiple atoms is considered a molecule","license":"MIT","readme":"# Ecommerce Campaign Elements\n\n### Basic Idea behind file/folders naming\nEach standalone components (Button,Image,Text etc) are considered as atoms.<br>\nAny component that is a combination of multiple atoms is considered a molecule\n\n### Basic scripts to run\n\nStart storybook\n````shell\nyarn storybook\n````\nStart storybook (without caching enabled)\n```shell\nyarn storybook:no-cache\n```\nStart development procedure\n````shell\nyarn dev\n````\nBuild files for production\n````shell\nyarn build\n````\nGenerate an atom based on preconfigured templates\n```shell\nyarn generate:component <AtomName>\n```\n\n### Components files structure\n\n#### Atoms\n\nEach atom contains at least 5 files\n\n- Atom.scss\n- Atom.stories.tsx\n- Atom.test.tsx\n- Atom.tsx\n- config.ts\n\nKey points of the atom development procedure\n\n- Every config.ts file exports AtomProps interface and a SampleData object\n- If an atom can be styled dynamically, AtomProps extends an AtomStylingProps type with the enabled css properties this atom can be configured\n- If an atom can be styled dynamically, we should use `styled-components` as bellow (Text example):\n```javascript\n    const StyledText = styled['p']((props: TextStylingProps) => ({\n        color: props.fontColor,\n        fontSize: props.fontSize,\n        textAlign: props.textAlignment,\n        lineHeight: props.lineHeight\n}))\n```\n\n### Ways to export atomic components and utils\n\nLibrary should export as a default object all the available atoms, molecules etc that should be used as the composition view\n```javascript\nexport default {\n    Layout,\n    Button,\n    Image,\n    Text\n}\n```\nAny component we want to expose as an util should be exported separately\n```javascript\nexport {\n    Composition,\n    customHooks,\n    helpers,\n    etc\n}\n```","readmeFilename":"README.md","_rev":"1-4b57b9c77a21d90c0719dc5f352b1ceb"}