{"_rev":"76-147f8ed92763c99ee87b6fcfea90ebea","time":{"created":"2026-08-19T17:52:41.312Z","modified":"2026-08-19T17:52:41.956Z","1.0.2":"2020-02-13T16:24:20.940Z","1.0.22":"2020-02-13T16:24:20.940Z","1.0.25":"2020-02-13T16:24:20.940Z","1.0.24":"2020-02-13T16:24:20.940Z","1.0.23":"2020-02-13T16:24:20.940Z","1.0.1":"2020-02-13T16:24:20.940Z","1.0.26":"2020-02-13T16:24:20.940Z","1.0.27":"2020-02-13T16:24:20.940Z","1.0.0":"2020-02-13T16:24:20.940Z","1.0.21":"2020-02-13T16:24:20.940Z","0.0.27":"2020-02-13T16:25:43.959Z","0.0.28":"2020-02-19T22:04:13.796Z","0.0.29":"2020-02-25T21:09:31.228Z","0.0.30":"2020-02-26T21:18:16.659Z","0.0.31":"2020-03-02T19:26:59.312Z","0.0.32":"2020-03-02T21:50:09.353Z","0.0.33":"2020-03-02T22:00:32.727Z","0.0.34":"2020-03-03T21:47:57.698Z","0.0.35":"2020-03-04T16:26:38.489Z","0.0.36":"2020-03-04T17:32:56.674Z","0.0.37":"2020-03-04T18:02:13.486Z","0.0.38":"2020-03-04T19:38:58.314Z","0.0.39":"2020-03-05T19:28:50.094Z","0.0.40":"2020-03-09T18:36:16.231Z","0.0.41":"2020-03-09T19:11:05.751Z","0.0.42":"2020-03-12T19:52:53.811Z","0.0.43":"2020-03-31T18:00:01.463Z","0.0.44":"2020-04-02T21:12:17.706Z","0.0.45":"2020-04-03T16:51:06.412Z","0.1.0":"2020-04-27T16:29:35.113Z","0.1.1":"2020-05-06T16:37:13.304Z","0.1.2":"2020-05-11T19:32:24.242Z","0.1.3":"2020-05-15T18:57:12.945Z","0.1.4":"2020-05-20T19:55:43.203Z","0.1.5":"2020-05-21T16:34:02.278Z","0.1.7":"2020-06-05T15:39:03.136Z","0.1.8":"2020-06-12T20:45:44.145Z","0.1.9":"2020-06-12T21:35:15.804Z","0.1.10":"2020-07-02T19:22:49.368Z","0.1.11":"2020-07-10T16:22:20.376Z","0.1.12":"2020-08-07T15:52:42.805Z","0.1.13":"2020-08-27T16:16:24.801Z","0.1.14":"2020-09-18T17:42:35.685Z","0.1.15":"2020-11-27T16:20:36.574Z","0.1.16":"2020-12-21T15:50:32.028Z","0.2.0":"2021-02-01T21:24:44.436Z","0.2.1":"2021-02-01T21:34:03.190Z","0.2.2":"2021-02-10T16:19:35.480Z","0.2.3":"2021-02-23T15:19:07.029Z","0.3.0":"2021-02-26T17:53:39.934Z","0.3.1":"2021-03-02T01:26:02.630Z","0.3.2":"2021-03-19T17:39:50.175Z","0.3.3":"2021-03-26T20:51:15.316Z","0.3.4":"2021-04-01T15:24:22.409Z","0.3.5":"2021-04-08T16:58:46.707Z","0.3.6":"2021-04-09T18:14:15.909Z","0.3.7":"2021-04-15T18:08:48.581Z","1.0.3":"2021-05-13T14:57:15.223Z","1.0.4":"2021-05-25T14:05:27.425Z","2.0.0":"2021-05-28T19:51:49.724Z","2.0.1":"2021-06-11T15:50:26.163Z","2.0.2":"2021-06-18T14:53:52.702Z","2.0.3":"2021-06-21T15:31:31.154Z","2.0.4":"2021-06-28T21:14:16.235Z","2.0.5":"2021-08-02T20:33:54.291Z","2.0.6":"2021-08-17T15:21:51.390Z","2.0.7":"2021-08-27T14:47:59.830Z","2.0.8":"2021-11-05T18:54:37.951Z","2.0.9":"2021-11-26T17:50:28.630Z","2.1.0":"2021-12-03T16:57:15.324Z","4.2.0":"2026-08-19T17:52:41.698Z"},"_id":"@lcah/labcorp-bootstrap","name":"@lcah/labcorp-bootstrap","dist-tags":{"latest":"4.2.0"},"versions":{"4.2.0":{"name":"@lcah/labcorp-bootstrap","version":"4.2.0","description":"A customized Bootstrap 5 build with a bespoke theme layer. Ships SCSS sources, compiled CSS (expanded + minified, with sourcemaps), and image assets.","license":"MIT","keywords":["bootstrap","scss","css","theme","framework"],"main":"dist/css/labcorp-bootstrap.css","style":"dist/css/labcorp-bootstrap.css","sass":"scss/labcorp-bootstrap.scss","exports":{".":{"sass":"./scss/labcorp-bootstrap.scss","style":"./dist/css/labcorp-bootstrap.css","default":"./dist/css/labcorp-bootstrap.css"},"./css":"./dist/css/labcorp-bootstrap.css","./css/min":"./dist/css/labcorp-bootstrap.min.css","./scss/*":"./scss/*","./dist/*":"./dist/*","./assets/*":"./assets/*","./package.json":"./package.json"},"scripts":{"clean":"rm -rf dist","build:css":"sass --load-path=node_modules scss/labcorp-bootstrap.scss dist/css/labcorp-bootstrap.css --style=expanded --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function","build:css-min":"sass --load-path=node_modules scss/labcorp-bootstrap.scss dist/css/labcorp-bootstrap.min.css --style=compressed --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function","build":"pnpm run clean && pnpm run build:css && pnpm run build:css-min && pnpm run build:extras","prepack":"pnpm run build","watch":"sass --load-path=node_modules scss/labcorp-bootstrap.scss dist/css/labcorp-bootstrap.css --style=expanded --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function --watch","build:extras":"sass --load-path=node_modules scss/labcorp-bootstrap-grid.scss dist/css/labcorp-bootstrap-grid.css --style=expanded --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function && sass --load-path=node_modules scss/labcorp-bootstrap-reboot.scss dist/css/labcorp-bootstrap-reboot.css --style=expanded --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function && sass --load-path=node_modules scss/labcorp-bootstrap-utilities.scss dist/css/labcorp-bootstrap-utilities.css --style=expanded --source-map --quiet-deps --silence-deprecation=import,global-builtin,color-functions,if-function","postinstall":"node scripts/check-deps.js"},"devDependencies":{"sass":"^1.80.0","bootstrap":"5.3.8","@fontsource/source-sans-pro":"5.3.0","material-symbols":"0.46.0"},"peerDependencies":{"bootstrap":"^5.3.8","@fontsource/source-sans-pro":"^5.3.0","material-symbols":"^0.46.0"},"publishConfig":{"access":"public"},"gitHead":"92ba9a66fc1763ba20f568c2e518660d8c124edb","_id":"@lcah/labcorp-bootstrap@4.2.0","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-SbSN5vo2M/BJ0Z1oR7fGmkrtfAJC15hjif5r2lp4OIycs08U9vHlKr6YGiVoZBDEI2zrj2ifyB+aB8DqoX7V7g==","shasum":"f1de991aac8e23e01255d6ffa877e6745ea36878","tarball":"https://registry.npmjs.org/@lcah/labcorp-bootstrap/-/labcorp-bootstrap-4.2.0.tgz","fileCount":97,"unpackedSize":2616889,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB0wcL0/NrG6dYrOpDZJmMS0sLDlTKcArEweboi9GZOaAiAwRB+du6Jn6v4aLuPmivzcban5W2+zPAfLgV+TNijO4g=="}]},"_npmUser":{"name":"scooterguthrie","email":"scooterguthrie@gmail.com"},"directories":{},"maintainers":[{"name":"scooterguthrie","email":"scooterguthrie@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/labcorp-bootstrap_4.2.0_1787161961525_0.18510144615174595"},"_hasShrinkwrap":false}},"maintainers":[{"name":"scooterguthrie","email":"scooterguthrie@gmail.com"}],"description":"A customized Bootstrap 5 build with a bespoke theme layer. Ships SCSS sources, compiled CSS (expanded + minified, with sourcemaps), and image assets.","keywords":["bootstrap","scss","css","theme","framework"],"license":"MIT","readme":"# @lcah/labcorp-bootstrap\n\nA customized [Bootstrap 5](https://getbootstrap.com) build. It layers a bespoke theme (deep-teal palette, softer radii, refined shadows and typography) plus extra components and utilities on top of Bootstrap, and ships everything a consumer needs:\n\n- `scss/` — SCSS sources (variable overrides, custom layer, main entry)\n- `dist/css/` — compiled CSS: expanded + minified, both with sourcemaps\n- `assets/img/` — image assets (logo, decorative SVGs)\n\n\n## Install\n\n```sh\nnpm install @lcah/labcorp-bootstrap\n```\n\nBootstrap is a regular dependency, so its JS bundle is available too.\n\n## Usage\n\n### Option A — compiled CSS\n\n```js\n// bundler (Vite/webpack)\nimport \"@lcah/labcorp-bootstrap/css\";        // expanded\n// or\nimport \"@lcah/labcorp-bootstrap/css/min\";    // minified\n```\n\n```html\n<!-- plain HTML -->\n<link rel=\"stylesheet\" href=\"node_modules/@lcah/labcorp-bootstrap/dist/css/labcorp-bootstrap.min.css\">\n```\n\nNeed Bootstrap's interactive components (dropdowns, modals, etc.)? Add the upstream JS:\n\n```js\nimport \"bootstrap/dist/js/bootstrap.bundle.min.js\";\n```\n\n### Option B — SCSS (further customization)\n\n```scss\n// your-app.scss — override any Bootstrap variable before the import\n$primary: #7c3aed;\n\n@import \"@lcah/labcorp-bootstrap/scss/labcorp-bootstrap\";\n```\n\nCompile with `node_modules` on the Sass load path:\n\n```sh\nsass --load-path=node_modules your-app.scss your-app.css\n```\n\n### Image assets\n\n```js\nimport bg from \"@lcah/labcorp-bootstrap/assets/img/mylabcorp-bg.svg\";\n```\n\n## Dependencies\n\n`bootstrap`, `@fontsource/source-sans-pro`, and `material-symbols` are **peer dependencies**:\n\n- **npm 7+** installs them automatically when you `npm install @lcah/labcorp-bootstrap`.\n- **pnpm / yarn** users must add them explicitly.\n- A postinstall check prints a notice if any are missing or at an incompatible version (it never fails your install).\n\n## What's in the theme\n\nThe SCSS in `scss/` is Labcorp's own fork of the Bootstrap 5 import stack (`scss/labcorp/`), including:\n\n- Labcorp brand palette, typography (Source Sans Pro via `@fontsource`), and component styling\n- Theme variants: dark (`themes/dark`), mylabcorp (`themes/mylabcorp`), and condensed (`themes/condensed`)\n- Custom Labcorp components: chips, content highlight, footers, skip-to-content, scrollbars\n- Optional third-party skins in `scss/third-party/` (ag-grid, Angular Material, ng-bootstrap, ng-select, ngx-toastr, Material icons) — import them separately as needed\n- Separate entry points, mirroring Bootstrap: `labcorp-bootstrap.scss`, `-grid`, `-reboot`, `-utilities` (each also compiled into `dist/css/`)\n\n## Publishing\n\n1. Set the final package `name` (and `version`) in `package.json`.\n2. `npm run build` (or `pnpm run build`) so `dist/` is fresh.\n3. `npm pack --dry-run` to confirm the tarball contains `scss/`, `dist/`, and `assets/`.\n4. `npm login && npm publish` (published publicly — access is set via `publishConfig`).\n\n## License\n\nMIT. Bootstrap itself is MIT-licensed by the Bootstrap Authors.\n\n\n## Sass module-system migration notes\n\nSass `@import` is deprecated and will be removed in Dart Sass 3.0. This package's SCSS is a vendored fork of Bootstrap's `@import` stack (`scss/labcorp/`), which — like upstream Bootstrap 5.3 — relies on `@import`'s shared global scope across its partials, so it cannot be piecemeal-migrated: converting only the entry file would break variable/mixin visibility between partials.\n\nCurrent state:\n\n- The build scripts pass `--quiet-deps` so dependency (upstream `bootstrap/scss/*`) deprecation warnings are silenced.\n- They also pass `--silence-deprecation=import,global-builtin,color-functions,if-function` to silence the known deprecations inside the vendored fork itself, so the build stays warning-free and any *new* kind of deprecation still surfaces.\n- The entry stacks (`labcorp-bootstrap.scss`, `-grid`, `-reboot`, `-utilities`) intentionally keep `@import` until the whole tree migrates. See `docs/SCSS_BEST_PRACTICES.md`.\n\nMigration path (do this in one pass, when Bootstrap ships module-system sources — planned for v6):\n\n1. Update the vendored `scss/labcorp/` partials from the module-system Bootstrap release, keeping Labcorp's diffs.\n2. Run `npx sass-migrator module --migrate-deps scss/labcorp-bootstrap.scss` (and the `-grid`/`-reboot`/`-utilities` entries) to convert the tree to `@use`/`@forward`; review each partial afterward — the migrator cannot always infer namespaces for dynamically-built variable names.\n3. While migrating, replace deprecated global built-ins (`lighten()`, `map-get()`, etc.) with their `sass:color`/`sass:map` module equivalents.\n4. Mark theme overrides `!default` and expose them via a single `@forward ... with (...)` config module, so consumers can configure the theme with `@use ... with ($primary: ...)`.\n5. Drop `--quiet-deps` and `--silence-deprecation=...` from the `build:*` and `watch` scripts in `package.json` to surface any remaining warnings, and fix them before publishing.\n\n## Development\n\n```sh\npnpm run build   # clean + compile expanded and minified CSS with sourcemaps\npnpm run watch   # recompile on change\n```\n","readmeFilename":"README.md"}