{"_id":"@bolttech/ob-molecules-modal","_rev":"4-2a80888820fbff3662de60fcccbef617","name":"@bolttech/ob-molecules-modal","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@bolttech/ob-molecules-modal","version":"1.0.0","_id":"@bolttech/ob-molecules-modal@1.0.0","maintainers":[{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},{"name":"danielkhalebbatista","email":"daniel.batista@bolttech.io"},{"name":"pauloazevedo-ed","email":"paulo.azevedo@bolttech.io"},{"name":"bruno.gomes","email":"bruno.gomes@bolttech.io"},{"name":"plinio.altoe","email":"plinio.altoe@bolttech.io"},{"name":"joaoteixeira20","email":"joao.teixeira@bolttech.io"},{"name":"esteve-cabrera","email":"esteve.cabrera@bolttech.io"},{"name":"jabolttech","email":"jhonatan.amorim@bolttech.io"},{"name":"lucasvpaiva","email":"lucas.paiva@bolttech.io"},{"name":"herberts.fortuna","email":"herberts.fortuna@bolttech.io"},{"name":"matheus.maciel.bolttech","email":"matheus.maciel@bolttech.io"},{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"}],"dist":{"shasum":"9a1b3aae8cb911f1d2cb7d14aca30a00e61f99e0","tarball":"https://registry.npmjs.org/@bolttech/ob-molecules-modal/-/ob-molecules-modal-1.0.0.tgz","fileCount":9,"integrity":"sha512-TnF27ZpyceQCOovCYw0IjxUfa0WF6HYukMQMCxQA1P5IfUlhgb/D7JLkJJH8ZRqCFC9MzxTXTgHWb8B4o/JWPA==","signatures":[{"sig":"MEUCIQD5y+FoxmWa1oQinupLIc8k09g1noKe1DyBxhzeTjTdvgIgF6CMaQOhH+YCx+nRTGig9gEklPvWitTRjhYQdxH6ziw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48865},"main":"./index.cjs.js","type":"commonjs","types":"./index.d.ts","gitHead":"c79962a25db03d28c5006756de50a8d4a0b6ae3e","_npmUser":{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},"_npmVersion":"11.10.1","description":"```bash npx nx g @nx/react:lib ${lib_name} ```","directories":{},"_nodeVersion":"22.17.1","dependencies":{"react":"19.1.2","react-dom":"19.1.2","classnames":"^2.5.1","@bolttech/ui-utils":"0.6.5","@bolttech/ob-atoms-icon":"1.0.0","@bolttech/ob-atoms-button":"1.0.0","@bolttech/ob-atoms-backdrop":"1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ob-molecules-modal_1.0.0_1778516498622_0.1643833965467667","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bolttech/ob-molecules-modal","version":"1.0.1","_id":"@bolttech/ob-molecules-modal@1.0.1","maintainers":[{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},{"name":"danielkhalebbatista","email":"daniel.batista@bolttech.io"},{"name":"pauloazevedo-ed","email":"paulo.azevedo@bolttech.io"},{"name":"bruno.gomes","email":"bruno.gomes@bolttech.io"},{"name":"plinio.altoe","email":"plinio.altoe@bolttech.io"},{"name":"joaoteixeira20","email":"joao.teixeira@bolttech.io"},{"name":"esteve-cabrera","email":"esteve.cabrera@bolttech.io"},{"name":"jabolttech","email":"jhonatan.amorim@bolttech.io"},{"name":"lucasvpaiva","email":"lucas.paiva@bolttech.io"},{"name":"herberts.fortuna","email":"herberts.fortuna@bolttech.io"},{"name":"matheus.maciel.bolttech","email":"matheus.maciel@bolttech.io"},{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"}],"dist":{"shasum":"7f4edc2b33546aa8dcb1286d635c5b8c09d13b26","tarball":"https://registry.npmjs.org/@bolttech/ob-molecules-modal/-/ob-molecules-modal-1.0.1.tgz","fileCount":5,"integrity":"sha512-kxJV/WLC117ncQJrjiYPikpy1mcFormsRz5bePeOC6cKCtTEMAj3ADIGT+JD/Ong20jxSevUDu1lCHzOYVPNzg==","signatures":[{"sig":"MEUCIQDrXOOFoFnDM60CNScIWeeM3YqaTIPuzHHloEglVuHmowIgVZ6yRdNzWcPPk7Ih6XP3778rkzlkcdPMusmXZmlQt88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46204},"main":"./index.cjs.js","type":"commonjs","types":"./index.d.ts","gitHead":"a9c3ed8f19647649134141934395f29717864f30","_npmUser":{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"},"_npmVersion":"10.9.4","description":"```bash npx nx g @nx/react:lib ${lib_name} ```","directories":{},"_nodeVersion":"22.22.0","dependencies":{"react":"19.1.2","classnames":"^2.5.1","@bolttech/ui-utils":"0.6.7","@bolttech/ob-atoms-icon":"1.0.1","@bolttech/ob-atoms-button":"1.0.1","@bolttech/ob-atoms-backdrop":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ob-molecules-modal_1.0.1_1780927780466_0.04466552552288494","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bolttech/ob-molecules-modal","version":"1.0.2","_id":"@bolttech/ob-molecules-modal@1.0.2","maintainers":[{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},{"name":"danielkhalebbatista","email":"daniel.batista@bolttech.io"},{"name":"pauloazevedo-ed","email":"paulo.azevedo@bolttech.io"},{"name":"bruno.gomes","email":"bruno.gomes@bolttech.io"},{"name":"plinio.altoe","email":"plinio.altoe@bolttech.io"},{"name":"joaoteixeira20","email":"joao.teixeira@bolttech.io"},{"name":"esteve-cabrera","email":"esteve.cabrera@bolttech.io"},{"name":"jabolttech","email":"jhonatan.amorim@bolttech.io"},{"name":"lucasvpaiva","email":"lucas.paiva@bolttech.io"},{"name":"herberts.fortuna","email":"herberts.fortuna@bolttech.io"},{"name":"matheus.maciel.bolttech","email":"matheus.maciel@bolttech.io"},{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"}],"dist":{"shasum":"e33deaffa4306f6fda73a203c854acba67c71cc4","tarball":"https://registry.npmjs.org/@bolttech/ob-molecules-modal/-/ob-molecules-modal-1.0.2.tgz","fileCount":9,"integrity":"sha512-PiIFUZC65jyF5Reje7/CepQFiJNz2QTPTi4gPLiE/I6y0I1HTc61gbrgPiieKdBrGc6tZsAzKIPhs5RY+qyW5w==","signatures":[{"sig":"MEYCIQCovsTPja5cAfUWJh9dD7av6UU7+Leh1jV+BNcM2vYjSQIhAJDekvFaP9k+sNUw3T+IkvnAiZHAMqX9Alp8xiJRC3Ya","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49188},"main":"./index.cjs.js","type":"commonjs","types":"./index.d.ts","gitHead":"7615a577fb478c976fba4123826739e6f46a3580","_npmUser":{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},"_npmVersion":"10.9.8","description":"```bash npx nx g @nx/react:lib ${lib_name} ```","directories":{},"_nodeVersion":"22.17.1","dependencies":{"react":"19.1.2","classnames":"^2.5.1","@bolttech/ui-utils":"0.6.7","@bolttech/ob-atoms-icon":"1.0.1","@bolttech/ob-atoms-button":"1.0.1","@bolttech/ob-atoms-backdrop":"1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ob-molecules-modal_1.0.2_1788779927146_0.8167989691051982","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bolttech/ob-molecules-modal","version":"1.0.3","dependencies":{"@bolttech/ob-atoms-button":"1.0.1","@bolttech/ui-utils":"0.6.7","react":"19.1.2","@bolttech/ob-atoms-backdrop":"1.0.1","@bolttech/ob-atoms-icon":"1.0.1","classnames":"^2.5.1"},"main":"./index.cjs.js","type":"commonjs","types":"./index.d.ts","_id":"@bolttech/ob-molecules-modal@1.0.3","gitHead":"e34d22b68cc7abdc9d7a16a93a28b759d241d345","description":"A dialog component with a backdrop, title, and optional cancel/confirm footer buttons.","_nodeVersion":"22.17.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-o6uOViKJw8RGuQgVZNXgvP63CaHGFjuUg2lkxTfJmCaDJm/45kZxKu/xKjEbfWPW8EEkm31hKRBqbv1NWrzwnA==","shasum":"7a918d5f65bcb8ea06d7d154c31118ebd300d64e","tarball":"https://registry.npmjs.org/@bolttech/ob-molecules-modal/-/ob-molecules-modal-1.0.3.tgz","fileCount":8,"unpackedSize":52991,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGzwmET1RAHm2xw7PDdNoREmPV7B2Nub0y4gMwwdjeZzAiEAqoXpLYRh1eJPVl6eSYof7cagYIK2Ssa3Jtu1CAI6pJs="}]},"_npmUser":{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},"directories":{},"maintainers":[{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},{"name":"danielkhalebbatista","email":"daniel.batista@bolttech.io"},{"name":"pauloazevedo-ed","email":"paulo.azevedo@bolttech.io"},{"name":"bruno.gomes","email":"bruno.gomes@bolttech.io"},{"name":"plinio.altoe","email":"plinio.altoe@bolttech.io"},{"name":"joaoteixeira20","email":"joao.teixeira@bolttech.io"},{"name":"esteve-cabrera","email":"esteve.cabrera@bolttech.io"},{"name":"jabolttech","email":"jhonatan.amorim@bolttech.io"},{"name":"lucasvpaiva","email":"lucas.paiva@bolttech.io"},{"name":"herberts.fortuna","email":"herberts.fortuna@bolttech.io"},{"name":"matheus.maciel.bolttech","email":"matheus.maciel@bolttech.io"},{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ob-molecules-modal_1.0.3_1788796956914_0.16875589979568262"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T16:21:38.471Z","modified":"2026-09-07T16:02:37.267Z","1.0.0":"2026-05-11T16:21:38.765Z","1.0.1":"2026-06-08T14:09:40.616Z","1.0.2":"2026-09-07T11:18:47.305Z","1.0.3":"2026-09-07T16:02:37.095Z"},"description":"A dialog component with a backdrop, title, and optional cancel/confirm footer buttons.","maintainers":[{"name":"andsfranbolt","email":"anderson.francisco@bolttech.io"},{"name":"danielkhalebbatista","email":"daniel.batista@bolttech.io"},{"name":"pauloazevedo-ed","email":"paulo.azevedo@bolttech.io"},{"name":"bruno.gomes","email":"bruno.gomes@bolttech.io"},{"name":"plinio.altoe","email":"plinio.altoe@bolttech.io"},{"name":"joaoteixeira20","email":"joao.teixeira@bolttech.io"},{"name":"esteve-cabrera","email":"esteve.cabrera@bolttech.io"},{"name":"jabolttech","email":"jhonatan.amorim@bolttech.io"},{"name":"lucasvpaiva","email":"lucas.paiva@bolttech.io"},{"name":"herberts.fortuna","email":"herberts.fortuna@bolttech.io"},{"name":"matheus.maciel.bolttech","email":"matheus.maciel@bolttech.io"},{"name":"silas.silva.bolttech","email":"silas.silva@bolttech.io"}],"readme":"# Modal Component\n\nA dialog component with a backdrop, title, and optional cancel/confirm footer buttons.\n\n## Installation\n\nUse the package manager [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/) to install the component.\n\n```bash\nnpm install @bolttech/ob-molecules-modal\n```\n\nor\n\n```bash\nyarn add @bolttech/ob-molecules-modal\n```\n\n## Props\n\nThe `Modal` component accepts the following properties:\n\n| Prop                 | Type                        | Description                                                                                                    |\n| -------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------ |\n| isOpen               | `boolean`                     | **Required.** Whether the modal is open.                                                                          |\n| title                | `string`                      | **Required.** Title of the modal.                                                                                  |\n| cancel               | `IButtonProps`                | Config for the cancel button (`title`, `variant`, `onClick`, ...). `size` defaults to `'md'`.                     |\n| confirm              | `IButtonProps`                | Config for the confirm button (`title`, `variant`, `onClick`, ...). `size` defaults to `'md'`.                    |\n| footerDirection      | `'default' \\| 'reverse'`      | Order of the footer buttons. `'default'` places cancel on the left, confirm on the right. `'reverse'` swaps them. |\n| children             | `React.ReactNode`             | Content rendered inside the modal body.                                                                            |\n| fullHeight           | `boolean`                     | Makes the modal take the full page height on mobile.                                                               |\n| closeOnBackdropClick | `boolean`                     | Whether clicking outside the modal closes it.                                                                      |\n| truncateHeaderText   | `boolean`                     | Toggles text truncation on the header title.                                                                       |\n| onClose              | `() => void`                  | Callback fired when the backdrop or the close (\"X\") icon is clicked.                                               |\n| dataTestId           | `string`                      | The `data-testid` attribute for testing.                                                                           |\n\n## Usage\n\n```jsx\nimport React, { useState } from 'react';\nimport { Modal } from '@bolttech/ob-molecules-modal';\n\nconst ExampleComponent = () => {\n  const [isOpen, setIsOpen] = useState(true);\n\n  return (\n    <Modal\n      isOpen={isOpen}\n      title=\"Cancel your quote?\"\n      onClose={() => setIsOpen(false)}\n      cancel={{ title: 'Keep quote', variant: 'outline', onClick: () => setIsOpen(false) }}\n      confirm={{ title: 'Cancel quote', variant: 'brand', onClick: () => setIsOpen(false) }}\n    >\n      <p>You will lose any progress made so far.</p>\n    </Modal>\n  );\n};\n\nexport default ExampleComponent;\n```\n\n## Contributing\n\nContributions are welcome! For any bug fixes, improvements, or new features, please open an [issue](link-to-issues) or submit a pull request.\n\nPlease make sure to follow the code standards and test your changes before submitting.\n","readmeFilename":"README.md"}