{"_id":"@appxite-npm/cpq-presenter","_rev":"13-2c872ed9a7606cf23e436a7b26e94742","name":"@appxite-npm/cpq-presenter","dist-tags":{"latest":"1.49.7"},"versions":{"1.49.0":{"name":"@appxite-npm/cpq-presenter","version":"1.49.0","keywords":[],"author":{"name":"Appxite SIA"},"license":"MIT","_id":"@appxite-npm/cpq-presenter@1.49.0","maintainers":[{"name":"appxite","email":"devops@appxite.com"}],"nyc":{"all":true,"exclude":["**/src/stories/**/*","**/src/tests/**/*"],"include":["**/src/**/*"]},"dist":{"shasum":"3122896f045bca4bd00ec791b8bea7dcb9bfa5b0","tarball":"https://registry.npmjs.org/@appxite-npm/cpq-presenter/-/cpq-presenter-1.49.0.tgz","fileCount":399,"integrity":"sha512-Uc62VP8DbbEzD3TjVSuCyQrO8GYRrdVkvUqS4IrMU6RmdQKlCLVC6ri6U6u/WnpiuaS/pBvNrw19fWMIzzxl2A==","signatures":[{"sig":"MEYCIQDr4WR2IWIEbg5gq+izBC7Bm8pu0zjYGsDgkO1h7kv8MgIhAIR3qELscFgxig82oaU1379n5DXCeyyCYzfMJ6ADfdwB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463670},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18"},"gitHead":"689a90e4f6aedba58c4fb28666bafbcd5bb40fd5","scripts":{"auth":"npm install -g vsts-npm-auth && vsts-npm-auth -config .npmrc","lint":"eslint src/**","test":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --exit","clean":"node -e \"require('fs').rmSync('lib',{recursive:true,force:true})\"","analyze":"npx webpack --config webpack.config.js --mode production","prepare":"husky","test:ci":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --reporter mocha-junit-reporter --reporter-options mochaFile=./.mocha-runs.xml --exit","coverage":"nyc -r lcov -e .ts npm run test","lint:fix":"eslint src/** --fix","build:dev":"npm run generate-version && npm run clean && tsc","storybook":"start-storybook -p 6006","build:prod":"npm run generate-version && npm run clean && tsc --sourceMap false && esbuild \"lib/**/*.js\" --minify --outdir=lib --allow-overwrite","build:webpack":"webpack","prepublishOnly":"npm run build:prod","build-storybook":"build-storybook","generate-version":"node scripts/generate-version.js","test-and-coverage:ci":"nyc --reporter=cobertura -e .ts -x \"*.test.ts\" npm run test:ci"},"_npmUser":{"name":"appxite","email":"devops@appxite.com"},"_npmVersion":"8.19.4","description":"React/Redux component library that renders Appxite CPQ (Configure-Price-Quote) pricing-plan forms.","directories":{},"_nodeVersion":"16.20.2","dependencies":{"rxjs":"^6.5.2","dayjs":"^1.8.24","reselect":"^4.0.0","lodash-es":"^4.18.1","classnames":"2.2.6","ts-essentials":"6.0.5","@date-io/dayjs":"^1.3.13","@material-ui/core":"4.11.4","@material-ui/icons":"4.11.3","@material-ui/styles":"4.11.4","@material-ui/pickers":"^3.3.10","react-minimal-pie-chart":"^9.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","husky":"^9.1.7","jsdom":"16.5.3","mocha":"8.3.2","react":"17.0.2","redux":"4.1.0","eslint":"6.8.0","lodash":"^4.17.21","env-cmd":"^10.1.0","esbuild":"^0.25.1","ts-node":"9.1.1","webpack":"^4.44.1","react-dom":"17.0.2","ts-loader":"^8.4.0","typescript":"^3.9.9","@babel/core":"^7.28.5","@types/chai":"^4.2.11","@types/node":"^14.18.0","react-redux":"7.2.4","webpack-cli":"^3.3.12","@types/jsdom":"16.2.10","@types/mocha":"^7.0.2","@types/react":"17.0.5","babel-loader":"^8.4.1","jsdom-global":"3.0.2","@types/lodash":"^4.14.182","eslint-loader":"3.0.3","react-json-view":"^1.19.1","@storybook/react":"^6.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"17.0.3","@babel/preset-env":"^7.28.5","@storybook/addons":"^6.5.0","@types/classnames":"2.2.9","@types/material-ui":"^0.21.17","@types/react-redux":"7.1.1","@types/jsdom-global":"3.0.2","eslint-plugin-react":"7.18.3","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"^2.0.0","@storybook/addon-links":"^6.5.0","@testing-library/react":"11.2.6","eslint-plugin-only-warn":"1.0.2","webpack-bundle-analyzer":"^4.10.2","react-syntax-highlighter":"^15.5.0","@testing-library/jest-dom":"5.12.0","@typescript-eslint/parser":"2.19.0","eslint-plugin-react-hooks":"2.3.0","@testing-library/user-event":"13.1.8","@types/react-syntax-highlighter":"^15.5.13","@typescript-eslint/eslint-plugin":"2.19.0","@typescript-eslint/eslint-plugin-tslint":"2.19.0","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-transform-optional-chaining":"^7.28.5","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-transform-nullish-coalescing-operator":"^7.27.1"},"peerDependencies":{"react":"^16.8.0 || ^17.0.0","redux":"^4.0.0","react-dom":"^16.8.0 || ^17.0.0","react-redux":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cpq-presenter_1.49.0_1783939042211_0.9308132434440728","host":"s3://npm-registry-packages-npm-production"}},"1.49.3":{"name":"@appxite-npm/cpq-presenter","version":"1.49.3","keywords":[],"author":{"name":"Appxite SIA"},"license":"MIT","_id":"@appxite-npm/cpq-presenter@1.49.3","maintainers":[{"name":"appxite","email":"devops@appxite.com"}],"nyc":{"all":true,"exclude":["**/src/stories/**/*","**/src/tests/**/*"],"include":["**/src/**/*"]},"dist":{"shasum":"a4fc0353c5f6ab307029492ac22bda5c8a937ba0","tarball":"https://registry.npmjs.org/@appxite-npm/cpq-presenter/-/cpq-presenter-1.49.3.tgz","fileCount":399,"integrity":"sha512-5xaxevucwb9viEoJzbDFwxmvax5R5dXisR9Ve/rmLAPfbrsku5iOqHqRz3/Ei+fd/mk3jok305Jypd9fre0NHg==","signatures":[{"sig":"MEUCIQCBUT2C2QGQ0jLyYRyUf8Ajr2dkLRuGTbOUxEU8d4UB6AIgSga6icqEPS+P0ZWHf2ia5GgkwurAdS2A7Zkg8dPODmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464647},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18"},"gitHead":"1d588b65451f5aa8146af2b9be0688e0bc9f6499","scripts":{"auth":"npm install -g vsts-npm-auth && vsts-npm-auth -config .npmrc","lint":"eslint src/**","test":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --exit","clean":"node -e \"require('fs').rmSync('lib',{recursive:true,force:true})\"","analyze":"npx webpack --config webpack.config.js --mode production","prepare":"husky","test:ci":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --reporter mocha-junit-reporter --reporter-options mochaFile=./.mocha-runs.xml --exit","coverage":"nyc -r lcov -e .ts npm run test","lint:fix":"eslint src/** --fix","build:dev":"npm run generate-version && npm run clean && tsc","storybook":"storybook dev","build:prod":"npm run generate-version && npm run clean && tsc --sourceMap false && esbuild \"lib/**/*.js\" --minify --outdir=lib --allow-overwrite","build:webpack":"webpack","prepublishOnly":"npm run build:prod","build-storybook":"storybook build","generate-version":"node scripts/generate-version.js","typecheck:storybook":"node ./node_modules/typescript-storybook/bin/tsc -p tsconfig.storybook.json --noEmit","test-and-coverage:ci":"nyc --reporter=cobertura -e .ts -x \"*.test.ts\" npm run test:ci"},"_npmUser":{"name":"appxite","email":"devops@appxite.com"},"overrides":{"diff":"^9.0.0","uuid":"^14.0.0","@storybook/react":{"typescript":"$typescript"},"serialize-javascript":"^7.0.5","react-docgen-typescript":{"typescript":"$typescript"},"istanbul-lib-processinfo":{"uuid":"^8.3.2"},"@storybook/react-webpack5":{"typescript":"$typescript"},"@storybook/react-docgen-typescript-plugin":{"typescript":"$typescript"}},"_npmVersion":"10.8.2","description":"React/Redux component library that renders Appxite CPQ (Configure-Price-Quote) pricing-plan forms.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"rxjs":"^6.5.2","dayjs":"^1.8.24","react":"^16.8.0 || ^17.0.0","redux":"^4.0.0","reselect":"^4.0.0","lodash-es":"^4.18.1","react-dom":"^16.8.0 || ^17.0.0","classnames":"2.2.6","react-redux":"^7.2.0","ts-essentials":"6.0.5","@date-io/dayjs":"^1.3.13","@material-ui/core":"4.11.4","@material-ui/icons":"4.11.3","@material-ui/styles":"4.11.4","@material-ui/pickers":"^3.3.10","react-minimal-pie-chart":"^9.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","husky":"^9.1.7","jsdom":"16.7.0","mocha":"^11.7.5","eslint":"6.8.0","lodash":"^4.17.21","env-cmd":"^10.1.0","esbuild":"^0.25.1","ts-node":"9.1.1","webpack":"^5.98.0","storybook":"8.6.17","ts-loader":"^9.5.2","typescript":"^3.9.9","@babel/core":"^7.28.5","@types/chai":"^4.2.11","@types/node":"^14.18.0","webpack-cli":"^5.1.4","@types/jsdom":"16.2.10","@types/mocha":"^7.0.2","@types/react":"17.0.5","babel-loader":"^8.4.1","jsdom-global":"3.0.2","@types/lodash":"4.14.182","@storybook/react":"8.6.17","@types/lodash-es":"^4.17.12","@types/react-dom":"17.0.3","@babel/preset-env":"^7.28.5","@types/classnames":"2.2.9","@types/material-ui":"^0.21.17","@types/react-redux":"7.1.1","@types/jsdom-global":"3.0.2","eslint-plugin-react":"7.18.3","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"^2.0.0","prism-react-renderer":"^2.4.1","typescript-storybook":"npm:typescript@^5.0.0","@storybook/addon-links":"8.6.17","@testing-library/react":"11.2.6","eslint-plugin-only-warn":"1.0.2","webpack-bundle-analyzer":"^4.10.2","@storybook/react-webpack5":"8.6.17","@testing-library/jest-dom":"5.12.0","@typescript-eslint/parser":"2.19.0","eslint-plugin-react-hooks":"2.3.0","@microlink/react-json-view":"^1.23.1","@storybook/addon-essentials":"8.6.17","@testing-library/user-event":"13.1.8","@typescript-eslint/eslint-plugin":"2.19.0","@typescript-eslint/eslint-plugin-tslint":"2.19.0","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-transform-optional-chaining":"^7.28.5","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-transform-nullish-coalescing-operator":"^7.27.1"},"_npmOperationalInternal":{"tmp":"tmp/cpq-presenter_1.49.3_1785142006428_0.061285532105378016","host":"s3://npm-registry-packages-npm-production"}},"1.49.6":{"name":"@appxite-npm/cpq-presenter","version":"1.49.6","keywords":[],"author":{"name":"Appxite SIA"},"license":"MIT","_id":"@appxite-npm/cpq-presenter@1.49.6","maintainers":[{"name":"appxite","email":"devops@appxite.com"}],"nyc":{"all":true,"exclude":["**/src/stories/**/*","**/src/tests/**/*"],"include":["**/src/**/*"]},"dist":{"shasum":"96346caa89221f8291734473b22f4abeacb9745d","tarball":"https://registry.npmjs.org/@appxite-npm/cpq-presenter/-/cpq-presenter-1.49.6.tgz","fileCount":403,"integrity":"sha512-2Gho4lfEw7AgRYOy5Z8LOlp4E1ZPEWYUfXEWgz6CNTb/hNLL59sQrmvLGeAZ+OBcCiW20tKqxwIS0no9AIr6Xg==","signatures":[{"sig":"MEUCIQD4Id0u2tUmcjOaKec0Xzkc6AHSUj79nPsE6svYiu3jXAIgSIv7J0rK2qxfVcFVDpoOL171Lm7VLYRmMZPzN3RR+DM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467514},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18"},"gitHead":"4353a3d71f326cea3ce0ecbc9b9e5ae7b79172f1","scripts":{"auth":"npm install -g vsts-npm-auth && vsts-npm-auth -config .npmrc","lint":"eslint src/**","test":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --exit","clean":"node -e \"require('fs').rmSync('lib',{recursive:true,force:true})\"","analyze":"npx webpack --config webpack.config.js --mode production","prepare":"husky","test:ci":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --reporter mocha-junit-reporter --reporter-options mochaFile=./.mocha-runs.xml --exit","coverage":"nyc -r lcov -e .ts npm run test","lint:fix":"eslint src/** --fix","build:dev":"npm run generate-version && npm run clean && tsc","storybook":"storybook dev","build:prod":"npm run generate-version && npm run clean && tsc --sourceMap false && esbuild \"lib/**/*.js\" --minify --outdir=lib --allow-overwrite","build:webpack":"webpack","prepublishOnly":"npm run build:prod","build-storybook":"storybook build","generate-version":"node scripts/generate-version.js","typecheck:storybook":"node ./node_modules/typescript-storybook/bin/tsc -p tsconfig.storybook.json --noEmit","test-and-coverage:ci":"nyc --reporter=cobertura -e .ts -x \"*.test.ts\" npm run test:ci"},"_npmUser":{"name":"appxite","email":"devops@appxite.com"},"overrides":{"diff":"^9.0.0","uuid":"^14.0.0","@storybook/react":{"typescript":"$typescript"},"serialize-javascript":"^7.0.5","react-docgen-typescript":{"typescript":"$typescript"},"istanbul-lib-processinfo":{"uuid":"^8.3.2"},"@storybook/react-webpack5":{"typescript":"$typescript"},"@storybook/react-docgen-typescript-plugin":{"typescript":"$typescript"}},"_npmVersion":"10.8.2","description":"React/Redux component library that renders Appxite CPQ (Configure-Price-Quote) pricing-plan forms.","directories":{},"_nodeVersion":"20.20.1","dependencies":{"rxjs":"^6.5.2","dayjs":"^1.8.24","react":"^16.8.0 || ^17.0.0","redux":"^4.0.0","reselect":"^4.0.0","lodash-es":"^4.18.1","react-dom":"^16.8.0 || ^17.0.0","classnames":"2.2.6","react-redux":"^7.2.0","ts-essentials":"6.0.5","@date-io/dayjs":"^1.3.13","@material-ui/core":"4.11.4","@material-ui/icons":"4.11.3","@material-ui/styles":"4.11.4","@material-ui/pickers":"^3.3.10","react-minimal-pie-chart":"^9.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","husky":"^9.1.7","jsdom":"16.7.0","mocha":"^11.7.5","eslint":"6.8.0","lodash":"^4.17.21","env-cmd":"^10.1.0","esbuild":"^0.25.1","ts-node":"9.1.1","webpack":"^5.98.0","storybook":"8.6.17","ts-loader":"^9.5.2","typescript":"^3.9.9","@babel/core":"^7.28.5","@types/chai":"^4.2.11","@types/node":"^14.18.0","webpack-cli":"^5.1.4","@types/jsdom":"16.2.10","@types/mocha":"^7.0.2","@types/react":"17.0.5","babel-loader":"^8.4.1","jsdom-global":"3.0.2","@types/lodash":"4.14.182","@storybook/react":"8.6.17","@types/lodash-es":"^4.17.12","@types/react-dom":"17.0.3","@babel/preset-env":"^7.28.5","@types/classnames":"2.2.9","@types/material-ui":"^0.21.17","@types/react-redux":"7.1.1","@types/jsdom-global":"3.0.2","eslint-plugin-react":"7.18.3","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"^2.0.0","prism-react-renderer":"^2.4.1","typescript-storybook":"npm:typescript@^5.0.0","@storybook/addon-links":"8.6.17","@testing-library/react":"11.2.6","eslint-plugin-only-warn":"1.0.2","webpack-bundle-analyzer":"^4.10.2","@storybook/react-webpack5":"8.6.17","@testing-library/jest-dom":"5.12.0","@typescript-eslint/parser":"2.19.0","eslint-plugin-react-hooks":"2.3.0","@microlink/react-json-view":"^1.23.1","@storybook/addon-essentials":"8.6.17","@testing-library/user-event":"13.1.8","@typescript-eslint/eslint-plugin":"2.19.0","@typescript-eslint/eslint-plugin-tslint":"2.19.0","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-transform-optional-chaining":"^7.28.5","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-transform-nullish-coalescing-operator":"^7.27.1"},"_npmOperationalInternal":{"tmp":"tmp/cpq-presenter_1.49.6_1787842083770_0.6078141400510477","host":"s3://npm-registry-packages-npm-production"}},"1.49.7":{"_id":"@appxite-npm/cpq-presenter@1.49.7","nyc":{"all":true,"exclude":["**/src/stories/**/*","**/src/tests/**/*"],"include":["**/src/**/*"]},"dist":{"shasum":"683f89b388350921e11b661b36a91d4bc7e054df","tarball":"https://registry.npmjs.org/@appxite-npm/cpq-presenter/-/cpq-presenter-1.49.7.tgz","fileCount":403,"integrity":"sha512-lS/hgsXD2ILQxJvctXHse0AgqYVqWvXwbrWC1WMRvpy0J7FmYLPyfQ7TdUlW/Pa/e+fL2u4fJaT2f7qyCypdpw==","signatures":[{"sig":"MEUCIHoK/na5V14x3TmS/vYKtruwNJtVtXxf3mqgC/hR3+8VAiEAvW7Qj4torcj3Y8w90iGHB/nurF26m3HIBPjKqVXYwyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDBHlQBMGarKN//W2TIi89HOJczgA25RQ/tSne18taMfgIgIu5++8MweX54iPXm0LCaqFQSU1IAUq83i1EPxyYXkfw="}],"unpackedSize":469657},"main":"lib/index.js","name":"@appxite-npm/cpq-presenter","types":"lib/index.d.ts","author":{"name":"Appxite SIA"},"engines":{"node":">=18"},"gitHead":"07b080454f046efed78c1c03d9f67efd786ff640","license":"MIT","scripts":{"auth":"npm install -g vsts-npm-auth && vsts-npm-auth -config .npmrc","lint":"eslint src/**","test":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --exit","clean":"node -e \"require('fs').rmSync('lib',{recursive:true,force:true})\"","analyze":"npx webpack --config webpack.config.js --mode production","prepare":"husky","test:ci":"env-cmd -f .env.mocha mocha --require ./src/tests/setup/module-alias.js --reporter mocha-junit-reporter --reporter-options mochaFile=./.mocha-runs.xml --exit","coverage":"nyc -r lcov -e .ts npm run test","lint:fix":"eslint src/** --fix","build:dev":"npm run generate-version && npm run clean && tsc","storybook":"storybook dev","build:prod":"npm run generate-version && npm run clean && tsc --sourceMap false && esbuild \"lib/**/*.js\" --minify --outdir=lib --allow-overwrite","build:webpack":"webpack","prepublishOnly":"npm run build:prod","build-storybook":"storybook build","generate-version":"node scripts/generate-version.js","typecheck:storybook":"node ./node_modules/typescript-storybook/bin/tsc -p tsconfig.storybook.json --noEmit","test-and-coverage:ci":"nyc --reporter=cobertura -e .ts -x \"*.test.ts\" npm run test:ci"},"version":"1.49.7","_npmUser":{"name":"appxite","email":"devops@appxite.com"},"keywords":[],"overrides":{"diff":"^9.0.0","uuid":"^14.0.0","@storybook/react":{"typescript":"$typescript"},"serialize-javascript":"^7.0.5","react-docgen-typescript":{"typescript":"$typescript"},"istanbul-lib-processinfo":{"uuid":"^8.3.2"},"@storybook/react-webpack5":{"typescript":"$typescript"},"@storybook/react-docgen-typescript-plugin":{"typescript":"$typescript"}},"_npmVersion":"10.8.2","description":"React/Redux component library that renders Appxite CPQ (Configure-Price-Quote) pricing-plan forms.","directories":{},"maintainers":[{"name":"appxite","email":"devops@appxite.com"}],"_nodeVersion":"20.20.1","dependencies":{"rxjs":"^6.5.2","dayjs":"^1.8.24","react":"^16.8.0 || ^17.0.0","redux":"^4.0.0","reselect":"^4.0.0","lodash-es":"^4.18.1","react-dom":"^16.8.0 || ^17.0.0","classnames":"2.2.6","react-redux":"^7.2.0","ts-essentials":"6.0.5","@date-io/dayjs":"^1.3.13","@material-ui/core":"4.11.4","@material-ui/icons":"4.11.3","@material-ui/styles":"4.11.4","@material-ui/pickers":"^3.3.10","react-minimal-pie-chart":"^9.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","husky":"^9.1.7","jsdom":"16.7.0","mocha":"^11.7.5","eslint":"6.8.0","lodash":"^4.17.21","env-cmd":"^10.1.0","esbuild":"^0.25.1","ts-node":"9.1.1","webpack":"^5.98.0","storybook":"8.6.17","ts-loader":"^9.5.2","typescript":"^3.9.9","@babel/core":"^7.28.5","@types/chai":"^4.2.11","@types/node":"^14.18.0","webpack-cli":"^5.1.4","@types/jsdom":"16.2.10","@types/mocha":"^7.0.2","@types/react":"17.0.5","babel-loader":"^8.4.1","jsdom-global":"3.0.2","@types/lodash":"4.14.182","@storybook/react":"8.6.17","@types/lodash-es":"^4.17.12","@types/react-dom":"17.0.3","@babel/preset-env":"^7.28.5","@types/classnames":"2.2.9","@types/material-ui":"^0.21.17","@types/react-redux":"7.1.1","@types/jsdom-global":"3.0.2","eslint-plugin-react":"7.18.3","eslint-plugin-import":"2.20.1","mocha-junit-reporter":"^2.0.0","prism-react-renderer":"^2.4.1","typescript-storybook":"npm:typescript@^5.0.0","@storybook/addon-links":"8.6.17","@testing-library/react":"11.2.6","eslint-plugin-only-warn":"1.0.2","webpack-bundle-analyzer":"^4.10.2","@storybook/react-webpack5":"8.6.17","@testing-library/jest-dom":"5.12.0","@typescript-eslint/parser":"2.19.0","eslint-plugin-react-hooks":"2.3.0","@microlink/react-json-view":"^1.23.1","@storybook/addon-essentials":"8.6.17","@testing-library/user-event":"13.1.8","@typescript-eslint/eslint-plugin":"2.19.0","@typescript-eslint/eslint-plugin-tslint":"2.19.0","@babel/plugin-proposal-optional-chaining":"^7.21.0","@babel/plugin-transform-optional-chaining":"^7.28.5","@babel/plugin-proposal-nullish-coalescing-operator":"^7.18.6","@babel/plugin-transform-nullish-coalescing-operator":"^7.27.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cpq-presenter_1.49.7_1790066696543_0.9232558108239788"}}},"time":{"created":"2026-07-13T10:37:22.019Z","modified":"2026-09-22T08:44:56.782Z","1.48.6":"2026-07-09T11:08:55.021Z","1.49.0-preview.1":"2026-07-10T06:25:19.419Z","1.49.0":"2026-07-13T10:37:22.353Z","1.49.1-preview.4":"2026-07-22T09:11:42.628Z","1.49.1-preview.5":"2026-07-22T10:25:03.491Z","1.49.3":"2026-07-27T08:46:46.575Z","1.49.6":"2026-08-27T14:48:03.934Z","1.49.7":"2026-09-22T08:44:56.632Z"},"author":{"name":"Appxite SIA"},"license":"MIT","keywords":[],"description":"React/Redux component library that renders Appxite CPQ (Configure-Price-Quote) pricing-plan forms.","maintainers":[{"name":"appxite","email":"devops@appxite.com"}],"readme":"# @appxite/cpq-presenter\r\n\r\nReact/Redux component library that renders Appxite CPQ (Configure-Price-Quote)\r\npricing-plan forms. Given a plan definition, it renders the interactive form into a\r\nDOM container, manages form state and validation, computes price via a caller-supplied\r\nloader, and exposes an imperative handle for reading values and validation status.\r\n\r\n## Installation\r\n\r\n```sh\r\nnpm install @appxite/cpq-presenter\r\n```\r\n\r\nThis package declares `react`, `react-dom`, `redux`, and `react-redux` as\r\ndependencies — make sure your app uses compatible versions (React 17).\r\n\r\n## Usage\r\n\r\n```ts\r\nimport { renderPlan, PresenterRenderMode } from '@appxite/cpq-presenter';\r\n\r\nconst instance = renderPlan({\r\n  container: document.getElementById('plan-root')!,\r\n  plan: planDefinition,            // or `planControl` for a single control\r\n  langCode: 'en',\r\n  baseAiUrl: 'https://…',\r\n  baseCpqUrl: 'https://…',\r\n  renderMode: PresenterRenderMode.Purchase,\r\n  dateOptions: { /* … */ },\r\n  initialFormValues: {},\r\n  loadPrice: async (request) => {\r\n    // return the offered price for the current form values\r\n  },\r\n  onFormValuesChange: (formValues) => {\r\n    // react to form changes\r\n  },\r\n});\r\n\r\n// Imperative handle\r\ninstance.isInitialized();\r\ninstance.getFormValues();\r\ninstance.getPrice();\r\ninstance.isValid();\r\ninstance.forceValidate();\r\n\r\n// Tear down when the host unmounts\r\ninstance.destroy();\r\n```\r\n\r\n`renderPlan(options)` returns a `PlanInstance` with:\r\n\r\n| Method | Description |\r\n| --- | --- |\r\n| `isInitialized()` | Whether the plan initialized without errors |\r\n| `getInitializationErrors()` | Initialization errors, if any |\r\n| `getPrice()` | The most recently computed price |\r\n| `getFormValues()` | Current form values |\r\n| `getValidationMap()` | Per-control validation status |\r\n| `forceValidate()` | Force validation of all controls |\r\n| `isValid()` | Whether the current form is valid |\r\n| `destroy()` | Unmount and dispose the instance |\r\n\r\nUse `renderPlanWithoutPricing` for the same rendering without price computation.\r\nSee the exported types (`RenderPlanOptions`, `PlanDefinition`, `FormValues`,\r\n`ThemeOptions`, …) for the full option surface.\r\n\r\n## Public API & versioning\r\n\r\nThe **only** supported entry point is the package root:\r\n\r\n```ts\r\nimport { renderPlan, /* … */ } from '@appxite/cpq-presenter';\r\n```\r\n\r\nAnything reached via a deep import (e.g. `@appxite/cpq-presenter/lib/…`) is **internal\r\nand unsupported** — those paths, their signatures, and their behavior may change or be\r\nremoved in any release without notice. Only symbols exported from the package root are\r\ncovered by SemVer.\r\n\r\nThis package follows [Semantic Versioning](https://semver.org/): breaking changes to\r\nthe root export surface bump the major version; backward-compatible additions bump the\r\nminor; fixes bump the patch.\r\n\r\n## License\r\n\r\nMIT © Appxite SIA — see [LICENSE](./LICENSE).\r\n","readmeFilename":"readme.md"}