{"_id":"@elqora/dgp-ordering-form-palette","_rev":"2-5818954605451848fb8b220feb949e16","name":"@elqora/dgp-ordering-form-palette","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@elqora/dgp-ordering-form-palette","version":"1.0.0","license":"GPL-3.0-only","_id":"@elqora/dgp-ordering-form-palette@1.0.0","maintainers":[{"name":"timeax","email":"timmyokpako@gmail.com"}],"homepage":"https://github.com/elqora/dgp-ordering-form-palette#readme","bugs":{"url":"https://github.com/elqora/dgp-ordering-form-palette/issues"},"dist":{"shasum":"da962b7f16260f617d3da2ae9fce9bc86a74748c","tarball":"https://registry.npmjs.org/@elqora/dgp-ordering-form-palette/-/dgp-ordering-form-palette-1.0.0.tgz","fileCount":27,"integrity":"sha512-WPdEb3Buc+h1ywdnTkdWmq7i5g/vM6ToF7/JdKW7mX+OryFc31rh4iOh6q7tYqEYSBM4da0GZuHTdKN91wqOHA==","signatures":[{"sig":"MEQCIB0etUUB36Lg78DL3wJPyOeGmua5uQrvASHZSyLYLS8XAiAQ2Svc7rtLOP3YcSmxMvds1Q/hwm8MCXWEADsNwqUM2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67826},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"bcaab4cf3485ec7963674d17396f6625bbda1b91","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run clean && tsc -p tsconfig.build.json","check":"npm run lint && npm run typecheck && npm run test && npm run check:boundaries && npm run build","clean":"node scripts/clean.mjs","prepack":"npm run check","typecheck":"tsc --noEmit -p tsconfig.json","check:boundaries":"node scripts/check-boundaries.mjs"},"_npmUser":{"name":"timeax","email":"timmyokpako@gmail.com"},"repository":{"url":"git+https://github.com/elqora/dgp-ordering-form-palette.git","type":"git"},"_npmVersion":"11.6.4","description":"Optional React and Form Palette integration for DGP Ordering.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@elqora/dgp-ordering":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.6.4","devDependencies":{"jsdom":"^27.0.0","react":"^19.2.0","eslint":"10.0.1","vitest":"4.1.10","globals":"^16.5.0","react-dom":"^19.2.0","@eslint/js":"10.0.1","typescript":"5.9.3","@types/node":"^24.10.0","@types/react":"^19.2.0","@types/react-dom":"^19.2.0","typescript-eslint":"8.65.0","@testing-library/dom":"^10.4.1","@timeax/form-palette":"0.2.2","@testing-library/react":"^16.3.0"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19","@timeax/form-palette":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/dgp-ordering-form-palette_1.0.0_1785790801215_0.9814152807893151","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@elqora/dgp-ordering-form-palette","version":"1.0.1","description":"Optional React and Form Palette integration for DGP Ordering.","license":"GPL-3.0-only","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","sideEffects":false,"packageManager":"npm@11.6.4","repository":{"type":"git","url":"git+https://github.com/elqora/dgp-ordering-form-palette.git"},"publishConfig":{"access":"public"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"clean":"node scripts/clean.mjs","build":"npm run clean && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit -p tsconfig.json","lint":"eslint .","test":"vitest run","check:boundaries":"node scripts/check-boundaries.mjs","check":"npm run lint && npm run typecheck && npm run test && npm run check:boundaries && npm run build","prepack":"npm run check"},"dependencies":{"@elqora/dgp-ordering":"^1.0.1"},"peerDependencies":{"@timeax/form-palette":"^0.2.2","react":"^18 || ^19","react-dom":"^18 || ^19"},"devDependencies":{"@eslint/js":"10.0.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.0","@timeax/form-palette":"0.2.2","@types/node":"^24.10.0","@types/react":"^19.2.0","@types/react-dom":"^19.2.0","eslint":"10.0.1","globals":"^16.5.0","jsdom":"^27.0.0","react":"^19.2.0","react-dom":"^19.2.0","typescript":"5.9.3","typescript-eslint":"8.65.0","vitest":"4.1.10"},"gitHead":"2220212d49ddfc5a81e3767a16984dc2e3dbd7f8","_id":"@elqora/dgp-ordering-form-palette@1.0.1","bugs":{"url":"https://github.com/elqora/dgp-ordering-form-palette/issues"},"homepage":"https://github.com/elqora/dgp-ordering-form-palette#readme","_nodeVersion":"22.17.1","_npmVersion":"11.6.4","dist":{"integrity":"sha512-j0MDBz+MIbhhDlWIuPYe9EuR9gFTuWOG+k8PWoGVJ0fAkUTnlVjYn817daqfe88fJmajmYS5WAgJfFYPKNw1Jg==","shasum":"74978b8978f4fe06bca8dda453172e78c9f0ee90","tarball":"https://registry.npmjs.org/@elqora/dgp-ordering-form-palette/-/dgp-ordering-form-palette-1.0.1.tgz","fileCount":27,"unpackedSize":67826,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC0gVWmdwlnS7wIDulPNRvx+NeXC1P8jUo3wUMxKus1sAiEAu/FZdse6wL4+/LhRNIRJTObUNgNXaYX2yVTTYmy/MBM="}]},"_npmUser":{"name":"timeax","email":"timmyokpako@gmail.com"},"directories":{},"maintainers":[{"name":"timeax","email":"timmyokpako@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dgp-ordering-form-palette_1.0.1_1785806654243_0.7532760939531162"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-03T21:00:00.986Z","modified":"2026-08-04T01:24:14.660Z","1.0.0":"2026-08-03T21:00:01.387Z","1.0.1":"2026-08-04T01:24:14.405Z"},"bugs":{"url":"https://github.com/elqora/dgp-ordering-form-palette/issues"},"license":"GPL-3.0-only","homepage":"https://github.com/elqora/dgp-ordering-form-palette#readme","repository":{"type":"git","url":"git+https://github.com/elqora/dgp-ordering-form-palette.git"},"description":"Optional React and Form Palette integration for DGP Ordering.","maintainers":[{"name":"timeax","email":"timmyokpako@gmail.com"}],"readme":"# DGP Ordering Form Palette\n\nDGP Ordering Form Palette is the optional batteries-included React integration between DGP Ordering and `@timeax/form-palette`. It preserves the existing Form Palette ordering experience while allowing DGP Ordering itself to remain light, configurable, and independent of any particular form library or input collection.\n\nHosts may use this package as the default integration, combine its form binding with custom registered inputs, or omit it and provide their own form adapter and field registry.\n\n## Responsibilities\n\n- Adapt Form Palette `Form`, `useCore`, and `useField` APIs to neutral DGP Ordering contracts\n- Preserve the existing Wrapper behavior over the Form Palette field binding\n- Supply built-in `InputField` descriptors and a default registry factory\n- Provide a convenience ordering provider for Form Palette hosts\n- Translate Form Palette values, errors, disabled state, refs, submission, and subscriptions without owning ordering semantics\n\nDGP Ordering remains authoritative for customer input orchestration, selections, visibility integration, quantity resolution, browser JavaScript expressions, customer validation, and `OrderSnapshot` construction.\n\n## Ecosystem\n\n- [DGP Spec](https://github.com/elqora/dgp-spec) owns canonical contracts.\n- [DGP Core](https://github.com/elqora/dgp-core) interprets product definitions.\n- [DGP Validation](https://github.com/elqora/dgp-validation) validates definitions for ingestion and publication.\n- [DGP Ordering](https://github.com/elqora/dgp-ordering) supplies neutral ordering behavior and integration contracts.\n- [DGP Workspace](https://github.com/elqora/dgp-workspace) supplies headless editorial session infrastructure.\n- [DGP Studio](https://github.com/elqora/dgp-studio) may consume this package for its default Form Palette experience.\n- [DGP SDK](https://github.com/elqora/dgp-sdk) defines backend handler and fulfillment contracts.\n- [Digital Service Engine](https://github.com/timeax/digital-service-engine) contains the legacy Wrapper and Form Palette integration behavior.\n\n## Usage\n\nCreate an `OrderingSession`, then provide it to the adapter. `OrderingInput`\nresolves the registered descriptor, filters options using Ordering visibility,\nand synchronizes Form Palette changes back into the session.\n\n```tsx\nconst session = createOrderingSession(definition, \"root\");\n\n<FormPaletteOrderingProvider session={session}>\n  {definition.fields.map((field) => (\n    <OrderingInput key={field.id} field={field} />\n  ))}\n</FormPaletteOrderingProvider>\n```\n\n`createDefaultFormPaletteRegistry()` supplies the standard `InputField`\nvariants. Hosts can replace it or register custom descriptors. The\n`useOrderingField` hook bridges custom raw components through Form Palette's\n`useField` API.\n\n`useFormPaletteOrderSubmission()` first runs Form Palette validation and then\ndelegates snapshot construction to Ordering. Expression and host-configuration\nfailures are returned unchanged, and no snapshot is returned after failure.\n\n## Toolchain\n\nThe adapter supports Node.js 22 or newer. React, React DOM, and Form Palette are\npeer dependencies.\n\n```bash\nnpm install\nnpm run lint\nnpm run typecheck\nnpm test\nnpm run check:boundaries\nnpm run build\nnpm run check\n```\n\nNo generated outputs are committed. `npm run check` is the repository\ncompletion command.\n\n## License\n\nGPL-3.0-only.\n","readmeFilename":"README.md"}