feat(jsx-email): add one-shot barcode components#416
Conversation
|
@CharlieHelps fill out the PR template. add examples of all barcode component uses to the demo app on a separate page |
|
@CharlieHelps read the agents.md guidance and adjust this PR appropriately to be in compliance |
a01849e to
e17ccd4
Compare
|
Done — I reviewed Updated in this branch:
Pushed commit: Local verification run:
|
|
@CharlieHelps please check your requirements checklist in the PR body and check off all that are completed |
|
Done — I reviewed the requirements checklist and checked off the completed items. Updated to ✅:
CI currently shows |
|
@CharlieHelps please do a thorough review of this PR to determine if it's ready to merge. Look at the diff, reviews, comments, and referenced issues/docs/links to build a complete understanding. Then respond with a comment that includes a list of MUST fix items that must be fixed before the the PR is merged, and a list of IMPROVEMENTS that shouldn't block the merge but may be quick improvements or things that could be addressed in a follow up PR. The MUST fix items should explain exactly what's wrong and what needs to change to resolve the problem. Both should be numbered lists and the IMPROVEMENTS list should continue counting up from the MUST list. It's OK if there are no IMPROVEMENTS or MUST fix items, you can just omit the lists. |
|
@shellscape I did a thorough pass over the diff, existing reviews/comments, and the referenced docs/links. I don’t think this PR is ready to merge yet. MUST fix before merge
IMPROVEMENTS (non-blocking)
|
|
@CharlieHelps please fix all blockers and improvements in #416 (comment) |
|
Done — I’ve finalized and pushed the blocker/improvement fixes from the review thread. What I fixed:
Commit: 507393b |
Component / Package Name:
packages/jsx-email(Barcode+ approved named barcode components)apps/webdocs (apps/web/src/content/docs/components/barcode.mdx)apps/demoshowcase (apps/demo/emails/components/barcode-components.tsx)This PR contains:
Are tests included?
Breaking Changes?
If yes, please include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
Description
This PR adds one-shot barcode support to
jsx-emailwith a genericBarcodecomponent and the approved named wrappers:QrCodeAztecCodeDataMatrixCode128BarcodeCode39BarcodeEanBarcodeUpcBarcodeIt also adds docs at
apps/web/src/content/docs/components/barcode.mdx, expands coverage inpackages/jsx-email/test/barcode.test.tsx(including deterministic snapshots and type-guard assertions), and adds demo examples for all barcode components on a separate demo page atapps/demo/emails/components/barcode-components.tsx.Implementation notes:
qrcode-generator+bwip-jsoption semantics.Validate,Run Tests,CLI Tests, andSmoke v2 Testsare passing.Requirements checklist
next/v3in a single end-to-end pass (no phased rollout).Barcodeplus exactly these approved component names:QrCode,AztecCode,DataMatrix,Code128Barcode,Code39Barcode,EanBarcode,UpcBarcode.BarcodePropsis a discriminated union tied to code type, with per-type options matchingqrcode-generator+bwip-jsoption semantics.qrcode-generator+bwip-jsoption models.Barcode.packages/jsx-email/src/index.tsexports the new component(s)/types without breaking existing exports.apps/web/src/content/docs/components/with examples forBarcodeand each approved named component.