{"_id":"@antarctica/bas-style-kit","_rev":"7-c47d290521d0f205e29ecf1f84281aaf","name":"@antarctica/bas-style-kit","dist-tags":{"latest":"0.6.1"},"versions":{"0.5.0-alpha":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.5.0-alpha","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"Open Government Licence 3.0","dependencies":{"bootstrap-sass":"3.3.7","jquery":"^3.3.1","js-cookie":"^2.2.0","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^3.0.0","eslint":"^5.5.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","gulp":"^4.0.0","gulp-autoprefixer":"^6.0.0","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.0.8","gulp-cssnano":"^2.1.2","gulp-eslint":"^5.0.0","gulp-rename":"^1.2.2","gulp-sass":"^4.0.1","gulp-sass-variables":"^1.1.1","gulp-sri":"^0.3.1","gulp-stylelint":"^7.0.0","gulp-uglify":"^3.0.0","gulp-zip":"^4.1.0","pump":"^3.0.0","stylelint":"^9.5.0","stylelint-config-standard":"^18.2.0"},"_id":"@antarctica/bas-style-kit@0.5.0-alpha","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"dist":{"integrity":"sha512-wwVLmme7I8Jj8Tmly4jxs15khmtg5CqtShvyCX9o0rae15dLLhd94aRsgmdlPttKgaBO532p2q43GvpibWtV2w==","shasum":"80c0222a6398e130f4f7f16b5481ea9fac1f8218","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.5.0-alpha.tgz","fileCount":263,"unpackedSize":17232053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnLIRCRA9TVsSAnZWagAA4kAP/0B/TQSkxauv1xI7MvF5\nOK+7bMn+rONUBbsBBfsZ7+eVDsMSg2kCOJPcICmc0xCcAKwUfEvN05YcwiL4\ncyYXU3vpJhAH2muExKbGZZiSxsY5n15QPE3E/TljvJYzWSWLBX51r7FXVbbl\n9OMOUO/+opLXm2sgszn/lND8eCSa1/4WASu0i9asTRISBB1mY5A7bLCbjPy3\nfj7BULt3qD1SrkhJ0C6mugId/DfiF9rJWZCA61JzBzOsbWnuxJXGRyK4QAvG\nkNRPIckqmJ3navAGg8GdkW3HUaAHd9wpTH8t/7WpiVb/80CGPNcatLscE89a\nB0FPqryCg3wjdj2kAO7p0hVAxTeWTEPjIp/495tRJsaWra6USmTurlv2CMeI\nkEmlMMJ+E8sZybhIX4TKkgHA34DhE7LrgbHmr1/Aw73UmXUvk3Jkn4Hvyfbe\n+L496Un6vUOnC4yuuFJX93xfWK11DwRco8WrvFsnOPRQ6h1aJMIw9hxFpK/s\nqI12qbWw/vgrzQBjXgdr+EM5pV8eiH6VGnGzMC0efd+uF/v8sT26QDINJLAN\nil6XwKD6SS45mUhsi0Vie9MWeABDE1iHpTXYtSDnZ+Z7uuYE0r3yLfj8SlW0\nd1xbi6+XTm9UX2Df0K0gubGOQ4Ez7BYJJCx6+PDEuAZKcoazaqGzoUsDjRHk\noxP2\r\n=NIV3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFsa664xHO68HBp1eki/yiKLU6JDfIq0R1MAi5/szDbgIhALf4cxJWgCKH9/a6P4r4LSFDsXBPfvOpOnK7r1alT+Ak"}]},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.5.0-alpha_1536995856397_0.40284500801624423"},"_hasShrinkwrap":false},"0.5.0-beta":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.5.0-beta","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.3.7","jquery":"^3.3.1","js-cookie":"^2.2.0","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^3.0.0","eslint":"^5.5.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","gulp":"^4.0.0","gulp-autoprefixer":"^6.0.0","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.0.8","gulp-cssnano":"^2.1.2","gulp-eslint":"^5.0.0","gulp-rename":"^1.2.2","gulp-sass":"^4.0.1","gulp-sass-variables":"^1.1.1","gulp-sri":"^0.3.1","gulp-stylelint":"^7.0.0","gulp-uglify":"^3.0.0","gulp-zip":"^4.1.0","pump":"^3.0.0","stylelint":"^9.5.0","stylelint-config-standard":"^18.2.0"},"_id":"@antarctica/bas-style-kit@0.5.0-beta","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"dist":{"integrity":"sha512-nbbhWgbk6i8TrxG0PxzWhdmuszYlCa/VaSFGMQccAD+JHGr2NwHbStzuYylIXUolI7TjPU2AHeBmX9fsCbQMag==","shasum":"06aa14cb099ab6c03ddc6a63ffc91bc297f96984","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.5.0-beta.tgz","fileCount":266,"unpackedSize":17301512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb98tvCRA9TVsSAnZWagAAyuMP/2kOISdhITmJnWeqXUS/\nDrJCUMMaza7886gxmkKw/RqmWGigdA3bVqnmYjIHGdQx76k+fxlc2ChDe/qt\nyAAMfaZC4R/1f6aBJXo33v+WdvpSFOH60c8XTzEy5wabQahQJAIml6bKQYRB\nRqx9t6tGawJqsd5nQC+1g2kNdxx7jmzAkUW02VERgD5j5FNMD7HI9JXYtpv8\nql37B7epgTgWHwfcQygWsL61lwaFc1STDgDnLkxi7TaMmbyzX3P3fNhhpO02\nC/8hk6NSN1JrgJ/EF7vDOh9yYc2dyuq711hx9Vltl0pf2u2f+7WMQvbAi6Ku\nYqv//B2CZIP/2f6Rh3Jb0WwOD7mWPk5nFXR9MKFZHQYUfAn2oZb2k9R8YEdk\nrMni7QASuH+WRyLRaXrjy2OeMHoYG/gi8GvJtsihBL/aV0OC37vFscpiO4RF\n6iW6q+xEKEqItHm8r/En28oOYXwFiI3Y6NrYZBoK7KPBuzqxAC5PcgDzeymE\nKBXH+VPR86zhu54rgSzcLKHBniGYbln7lDZIujWxDvpBxw6POISkUsFTGkmU\nUBN0ILRvlFLufQKBXl6+lruofvxC471ggBNjy0LbTcGk69gV+LdFbYYdiMi2\nqT+yeElD0y2KyJD12vivaWSfvjlRbzSY81PCDXtrTzXYFi8fj0XGl8Tef6rF\nVvfP\r\n=NJsq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQvA6qESMhxd/Xz40W+pSnjmwopUaqZaIbtxNj8RZ2xwIhAJ/bvw8YGbckpRTx/bdD6g5yoUhzNjRS+mQhWfwstpNF"}]},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.5.0-beta_1542966125818_0.7108174026482921"},"_hasShrinkwrap":false},"0.5.0":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.5.0","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.3.7","jquery":"^3.3.1","js-cookie":"^2.2.0","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^3.0.0","eslint":"^5.5.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^7.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","gulp":"^4.0.0","gulp-autoprefixer":"^6.0.0","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.0.8","gulp-cssnano":"^2.1.2","gulp-eslint":"^5.0.0","gulp-rename":"^1.2.2","gulp-sass":"^4.0.1","gulp-sass-variables":"^1.1.1","gulp-sri":"^0.3.1","gulp-stylelint":"^7.0.0","gulp-uglify":"^3.0.0","gulp-zip":"^4.1.0","pump":"^3.0.0","stylelint":"^9.5.0","stylelint-config-standard":"^18.2.0"},"_id":"@antarctica/bas-style-kit@0.5.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"dist":{"integrity":"sha512-gTV2RHVrIyNx0hCeaCQ2zXSi8hWDrFzNC6FuPTw/P0bZnGppdXd0lBXMsTzdRXphtvpPZT2MyFQbcGLhgbL2Qw==","shasum":"6a0257e856963da59749166af6cbdc760bf569ac","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.5.0.tgz","fileCount":268,"unpackedSize":41593186,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/qU6CRA9TVsSAnZWagAA6CYP/13Ix7BSvJW8lh9LloH5\niPflKfdVW/+OHPxChu2ZLEXNnZR02Z0houVNeNmutMERV+KWtgmvuYBXs81e\nOnf3/u1XJz5cTaksdIYRkrIUKDdrJxKjrOg9s2MMkZ1upfBVeRNAI6yoAEtE\nv57TAPDI+f3eU7oApnH8yOxBXYfm56QaQR6R3lLz4XUWfQT6crjQ8UEG+1uA\nVL3M7CoG386fJD4yUPXQV0De9wkCsYTz1sNV5EDv1gQI6ZNBKqT8KH3anHuI\nntE+F27duAoPvXoZqjfFmTAq6fhPJ5tqnipZYG3y1t3YREc6q5kiF39Mhb3/\nwknb0IAxkzxfdbfWxU8YBSGyWpMLLElZYpWYQOeJ6oE4k7yiuJmzLcdcmJdC\n6ok21xg25BBUzQmnO19a0GV1Bo4hywRrYoAOom89oDPBnlrOD8isys0huMVN\n4BgAlEOe2F81FcAmhvAPm/vF2sKz/rhPrTD0/L2ne3U4UsUf7WphgEVLhjAf\nJLhMnalooNY7zlw2rhAsK+H3gQkaLmydMxMTunmrOWx7OjpG/IAMNcxsdix0\nY9ax9xhehS39AYr8tTUYQFTbb0Zd+Lid3j/AJYjWjFfnB3xK0z+R1ThglEvu\nHRGI9VFe1hH+agQrWyyosMx1DvGZfL62/0RRVOqoe+4AEg/PjWH/RxeheeN+\nH87g\r\n=DUkN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvRZW7e0FqeOR+HMmTGuLYm3c12ZmdeGIBydO3xCoQ6AiEAl8jKu+HRtPTaD+YtXIHY6oW/r3V+pMvnaSlMWnQgbSc="}]},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.5.0_1543415096526_0.7923483539542067"},"_hasShrinkwrap":false},"0.6.0-alpha":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.6.0-alpha","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.4.1","jquery":"^3.4.1","js-cookie":"^2.2.0","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^4.0.0","eslint":"^5.5.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.14.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","gulp":"^4.0.0","gulp-autoprefixer":"^6.0.0","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.0.8","gulp-cssnano":"^2.1.2","gulp-eslint":"^5.0.0","gulp-rename":"^1.2.2","gulp-sass":"^4.0.1","gulp-sass-variables":"^1.1.1","gulp-sri":"^0.3.1","gulp-stylelint":"^8.0.0","gulp-uglify":"^3.0.0","gulp-zip":"^4.1.0","pump":"^3.0.0","stylelint":"^9.5.0","stylelint-config-standard":"^18.2.0"},"_id":"@antarctica/bas-style-kit@0.6.0-alpha","_npmVersion":"6.4.1","_nodeVersion":"8.15.0","_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"dist":{"integrity":"sha512-/k+CT/yrvmsSnktjXdt9C0a9eT2vapgl69auXdV+PNEIUER7iwqG+nI94jcUP4vG/DyXEFnVH6ZW3PhCTf/U6w==","shasum":"9d466cbc1ce50acf2ae4458105426c4dfd680b59","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.6.0-alpha.tgz","fileCount":285,"unpackedSize":26446761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGkOPCRA9TVsSAnZWagAAQiAP/0eF3oP1gxi8Rs0Cktlb\nR330/zeE/sEtSYSpxTrSW2/pUwctmV8aUMTs99x0F4ra1aFXzdPRkDhAuisR\nmKX4iJCyN9PTvYvy681WJQTjO/VvPzmBo5MACu0mLAHx4HV77W88gEdtSZ1n\nN0PuzMk0zjqizlLDZrvnF9tvqtFOJpr0f3p3BJtXpeu4NfTY2RLc1bWnGMja\nJ8OuqkqzlAx1dAhPD75a0eWqju0tBbkHCuaYtJAraY0AIWjiDeM7TjNIR+In\nTwWlICUO5FOal3FW6MU1QiHr3DSkGAAPaZveTHALu9O1rOhYd+mekniCtohb\nsATGVBrnSO8rcRwrmehjFsOpksXVmwff0KtBQrKE4GPX02YPqDOa1YyaLS18\n6vYdmetzfGYmmEwscp80Sj4CqoPn3+y5n1O+mpIxx9gSsiBsLaB7lDfLM1t2\nLtE6lVeor0YLBwJ8aBbNDmb61Zd1yH4ipqe6muFcqMiWyz3ahQMJ1A1G8JSc\nnz+UPs8Aok/jWj5V+TxzFwLjcf49m2iV7S8F/BHWglYqwPDBZI+kDiWRnAy2\nFzbuZsnUfWPJnul5AdKZzGES6cl33GZBNqOAeky6RGwodiaIjh66GMnlYt43\nJPp2uGz63nao4CYMgRDq8hGqYmhKUTH6Re+f+P6uzKUrbaFWMmv4mbOPlwpP\nwZJn\r\n=t+IU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/XfzBjtrcr3M3veBwBM2ayX57c6sUMi6QGGKgIw4G6gIhAOVhNu72gVR68IlrawZefiR7YOJi+ZF9ITJFSEjN4vKL"}]},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.6.0-alpha_1562002317745_0.4175289609622279"},"_hasShrinkwrap":false},"0.6.0-beta":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.6.0-beta","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.4.1","jquery":"^3.5.1","js-cookie":"^2.2.1","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^5.1.0","eslint":"^7.0.0","eslint-config-standard":"^14.1.1","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","gulp":"^4.0.2","gulp-autoprefixer":"^7.0.1","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.1.0","gulp-cssnano":"^2.1.3","gulp-eslint":"^6.0.0","gulp-rename":"^2.0.0","gulp-sass":"^4.1.0","gulp-sass-variables":"^1.2.0","gulp-sri":"^0.3.1","gulp-stylelint":"^13.0.0","gulp-uglify":"^3.0.2","gulp-zip":"^5.0.1","pump":"^3.0.0","stylelint":"^13.4.0","stylelint-config-standard":"^20.0.0"},"_id":"@antarctica/bas-style-kit@0.6.0-beta","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-FVxdh8lgrlEBttcqZeUhNMNYbc83rqE6p39QY3HbiFSRjEIL47OQK683RMWIVn0YB4jeNVkr67hgBYywZzUimA==","shasum":"ebcaa3e3e337706babf959935001bd437a383b45","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.6.0-beta.tgz","fileCount":409,"unpackedSize":27427723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9blZCRA9TVsSAnZWagAA/WwP/ROsPOVnUP38qyvIqYp2\nnKSizJMpae2tKmsZHkJYTnCyXyUh/7sCLlZWABL7jV0OJ9wRLJXBWmdcXRJb\nBhR9aqXzAGl1vG1XZZb7dPtT7Eu/dp+5vCGCwrPJyg1GgUoabQ3hFDvMVT+6\n+4qd82yLgcjYakdnlZ745s3Mr8D3kR3+LvVSW4e4XDuDfLiUpngx4KU7MItk\nc4RNzLUMtkLiJhwySJuox0kqdZeMEqeP6fm+t0yNqNbpSOyH6VMh8Xpf9anu\nleYX5QETom9Ao32fIHmJU2zDTJl1A8yyAwmVhIXxoM42t6DQB6P1zfvKhMCW\nsz1ttu/TXyskcik1rp2lyWKz4lQzjfwfvA8KIyI0tlzjPforiqhDbFwh0icF\ntWAliPWpN6diL/2RxzGd4pTk0UVp3rfYEHFpygO+lpT+q0QXtw3KTb7Ezksr\nJP7FmuyE/06IOv6laLkEu8aSe+5JNsSg1v8Pio+UtDEX0pgDO2nesIhC0FDa\nBLf2iYL2HElrNKjE5x/f8TridsTGfyz60ka/zxU0PvWV9O9AgTtFAquI4EWl\n9KZOvqid1hPgp/oPZftVf/L8VBQKDYoJrefHGGwgeZzvM8dEMOPpHJKp+ZH4\nTqwV80A7ibcxeopA1uPT0Fkps24NTsVTGjIYvxRChL+EcVMGgUUgOsJZUhPM\nLGVK\r\n=sSwk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHqz01DLOXGKoyDrhPoOdDbAt9VYDtU2tM43Mix09ivOAiEAjHJrrRIqcwmqFd1Kcw8ckuVWn9JXqCPdqioroynTxdY="}]},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.6.0-beta_1593162066726_0.05817926526510586"},"_hasShrinkwrap":false},"0.6.0":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.6.0","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.4.1","jquery":"^3.6.0","js-cookie":"^2.2.1","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^6.0.0","eslint":"^7.0.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","gulp":"^4.0.2","gulp-autoprefixer":"^7.0.1","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.1.0","gulp-cssnano":"^2.1.3","gulp-eslint":"^6.0.0","gulp-rename":"^2.0.0","gulp-sass":"^4.1.0","gulp-sass-variables":"^1.2.0","gulp-sri":"^0.3.1","gulp-stylelint":"^13.0.0","gulp-uglify":"^3.0.2","gulp-zip":"^5.0.1","pump":"^3.0.0","stylelint":"^13.4.0","stylelint-config-standard":"^21.0.0"},"_id":"@antarctica/bas-style-kit@0.6.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-niVmFao+OXuCD/IJOr2vBLZOR4Up68YZ7LAVx+QaumpIuM/HbegaImiExnXdRdjckit3NtlprN6Ca8/wNHtUVA==","shasum":"f98c88a256b18a2757d5a908bd80a2d0ab135add","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.6.0.tgz","fileCount":364,"unpackedSize":20005059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgULIkCRA9TVsSAnZWagAAfGAP/0EuLgZeEdvi/WeK54GX\nInF0ceEfSwRkmRmAqiM72bOJWekoFBmBiAZAGVx7RW7iJDXEflti8oy9e0eU\nGio8/WK2zjydmfSeoLrWL1HNH7KgGtKJt3XNKPVlJROfVmId9eigTxnXjkpS\nLpeIG+gwhOJ3QOJ87l2jjEHPk39M4jOugpNN2bgZy0JC3k4c2PWn6CLJGoOG\n22+yFG9lTXx3F2g5Oid99R5Kwgbs32r1vu2hWp5kcG5sLEfQK0kVsP5oRvGd\ngb2wzyDTeLUHc5rCfK63e52dSP0jx3fM0Cs6GHT1yCjKXx6pb46559ApIx2m\n2M+UZai0G05wChOdsuGmhakxNjD+EQADhASWfcHDhQTVQXtEKzeYV5H5Dz+I\n4UCDojmfE9fTHBLHMDtprorcW4xlyrmXNPbKrAcID7uxFCr3SE7Ew+/LGG+W\nmJKUUiUaNzv/8U/9UecqglDyvgRGyUtrsgLeYpA/7CfauWizuCVP+VofhmGg\nZfyIxZO68JkplSmmVvfUlmf0ypCThTLz+nJUE2bXJUp5f+QCGxBaDMfwQF74\nBCxqUnfuZsQgeEloig1QbIvWRnzdAXm/6WGlXbgrH3BvB8NiEzRHoA8N5SEq\nQ6jGct55Au07UdPxr9u4JmyXm5U4FbfExDgEb9RkUe3GCoVW9HdYNPOc/dg+\nwDbj\r\n=XJ8D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDKHsjZws6VIBa8dqVqJ7Hym06wS9/YO2cznoV0u8B6bAiBLuhw5XYFXpUglmilTcZz1Bah3KYTmfZAR5S8MwwRTrQ=="}]},"_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"directories":{},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.6.0_1615901220094_0.1822987701883645"},"_hasShrinkwrap":false},"0.6.1":{"name":"@antarctica/bas-style-kit","description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","version":"0.6.1","homepage":"https://style-kit.web.bas.ac.uk","author":{"name":"British Antarctic Survey"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","dependencies":{"bootstrap-sass":"3.4.1","jquery":"^3.6.0","js-cookie":"^2.2.1","open-sans-fontface":"^1.4.0"},"devDependencies":{"del":"^6.0.0","eslint":"^7.0.0","eslint-config-standard":"^16.0.2","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^5.0.0","gulp":"^4.0.2","gulp-autoprefixer":"^7.0.1","gulp-class-prefix":"^1.0.1","gulp-concat":"^2.6.1","gulp-csscomb":"^3.1.0","gulp-cssnano":"^2.1.3","gulp-eslint":"^6.0.0","gulp-rename":"^2.0.0","gulp-sass":"^4.1.0","gulp-sass-variables":"^1.2.0","gulp-sri":"^0.3.1","gulp-stylelint":"^13.0.0","gulp-uglify":"^3.0.2","gulp-zip":"^5.0.1","pump":"^3.0.0","stylelint":"^13.4.0","stylelint-config-standard":"^21.0.0"},"_id":"@antarctica/bas-style-kit@0.6.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-sT7+FKL8tWRucFtLUSZ2ZLKa7GX8RyvgLqQ+JbxU1AZDK2AEuWOh2NzSCSgNCUOHN9Dkg5ei74Jf4M7ckc0dIw==","shasum":"b5814a36d8b7d7cc06203e1a8a7c51505ae398a6","tarball":"https://registry.npmjs.org/@antarctica/bas-style-kit/-/bas-style-kit-0.6.1.tgz","fileCount":364,"unpackedSize":20005298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgULaSCRA9TVsSAnZWagAAQEkQAJP85ujytbLa8bQvByqA\n8w6nGG3U7Tn0eEf9r+UH8n3iw1gELRs6VgZR8xFRzZVH/x0/Vh8D1DEzSBhL\nzRRB6fG6hFB79CzEApg7Qcgewkr4B1Lm53rZbmG4cdwyurigi0Ou6obGXW41\nC6MwEEYkvO95bg233Br8EcCSxY0BcUsRG8gBbUZxfte8z5rqNJEQl2Lqeiky\nagQG0IUVc3+3dmqNzSLi4lGzPHKYd6/yUhSA5ddJ5QYcg2CWopElGOKrls9U\nltZ3f25RXmnEQodZpesCNTVRILpV/DXfVsNeXATW05KCZCgFBXH+1A3l5thJ\n//Z2zFAxT9JhMCHtsnwyiaCDe41peKWe8IHS0ulehj6DQRE9g4LSIxOmesoa\nJfGgEY7RH+z0ynZGmS7d80GjAkepjebSPXOqT4yMJNH5XZssh0ky3A1XCl9k\nOdszk0WBXQqmC2MTBM+j1pd9EMo29WnhTLm+i68Xu2gzCL4gvkBSVzDPzlja\nbd7LN6yjQNMxxCDIQs+UFSxkG0al0+ZqViydxuigfkCn+o32EwVC9D/ScEpP\nk4YvkqhXvx6fU2Zygk1aU6HD1z0djMywsV3ff1baK+aw/RNEuskDZqIykbM5\nPa5sTFZLgjtARxtk2zBnxUzeNuzwPrzzkFWG3SIjaMDWFHauFTbjXREDlBjd\nBul+\r\n=O02q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDZQjGXuhHnhzZn9E1gwh7yHRO8bBgQaXnH7RX7b6wuBgIgLcRlYC93Nvo1Ff6BfJBU6UgXHd/2eYVRFksepajSRVw="}]},"_npmUser":{"name":"felnne","email":"felnne@bas.ac.uk"},"directories":{},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bas-style-kit_0.6.1_1615902353885_0.24755576576857008"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-15T07:17:36.272Z","0.5.0-alpha":"2018-09-15T07:17:37.043Z","modified":"2022-04-04T14:20:46.967Z","0.5.0-beta":"2018-11-23T09:42:06.332Z","0.5.0":"2018-11-28T14:24:57.702Z","0.6.0-alpha":"2019-07-01T17:31:58.219Z","0.6.0-beta":"2020-06-26T09:01:13.584Z","0.6.0":"2021-03-16T13:27:00.649Z","0.6.1":"2021-03-16T13:45:54.483Z"},"maintainers":[{"name":"felnne","email":"felnne@bas.ac.uk"}],"description":"A collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.","homepage":"https://style-kit.web.bas.ac.uk","repository":{"type":"git","url":"git+https://github.com/antarctica/bas-style-kit.git"},"contributors":[{"name":"Felix Fennell","email":"felnne@bas.ac.uk"}],"author":{"name":"British Antarctic Survey"},"bugs":{"url":"https://trello.com/b/0Mhzizpk"},"license":"OGL-UK-3.0","readme":"# BAS Style Kit\n\nA collection of HTML, CSS, and JS components for developing web projects consistent with the BAS brand.\n\nThis README covers how this project is developed, see the [end-user documentation](https://style-kit.web.bas.ac.uk) for\nwhat the Style Kit contains and how it use it.\n\n## Overview\n\nThe BAS Style Kit is a CSS and JavaScript framework, incorporating the BAS brand to establish a consistent visual\ndesign across BAS services and websites. It aims to build-in technical and accessibility best practices where practical.\n\nThe Style Kit is based on the official Sass port of [Bootstrap 3](http://getbootstrap.com) and consists of:\n\n* BAS colour schemes and fonts\n* customised version of the Bootstrap framework (using Sass variable overrides)\n* custom variants of Bootstrap components\n* additional components inspired by other frameworks or organisations\n* design patterns (see below)\n\n### Patterns\n\nDesign patterns are used to demonstrate preferred ways to pass on information to users, or ask them for information.\nFor example, information to show when a service is unavailable, formatting dates consistently or asking users for their\nusername in a consistent way.\n\nPatterns should be based on evidence for their effectiveness, for common patterns evidence from organisations such as\nGDS and other government departments should be strongly considered, for BAS/NERC use-cases, local research should be\nconducted, though it is accepted this will be less developed than general use-cases.\n\nExamples of each pattern are listed in the [Testbed](#testbed). For released patterns, these form reference examples to\naid their implementation in themes and templates, or use directly by copying the design/markup.\n\n## Usage\n\nThese instructions show how to setup a development environment for the Style Kit.\nSee [style-kit.web.bas.ac.uk](https://style-kit.web.bas.ac.uk) for end-user documentation.\n\n### Docker Compose\n\nSource code for this project is available from two repositories:\n\n* [BAS GitLab](https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit) (canonical, private)\n* [BAS GitHub](https://github.com/antarctica/bas-style-kit) (read-only mirror, public)\n\nTo create a local development environment using the *GitLab* repository [1]:\n\n```\n$ git clone https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit.git\n$ cd bas-style-kit/\n$ docker-compose pull\n$ docker-compose up\n```\n\nTo create a local development environment using the *GitHub* repository:\n\n```\n$ git clone https://github.com/antarctica/bas-style-kit.git\n$ cd bas-style-kit/\n$ docker-compose build\n$ docker-compose up\n```\n\nThis will launch three containers:\n\n1. `app` - runs the Gulp `watch` task to build the Style Kit's components (CSS, JS, etc.)\n2. `testbed` - runs the Gulp `watch` task to build the Style Kit's Testbed (samples, etc.)\n3. `web` - hosts the Testbed as a static website using Nginx\n\nSee the [Gulp tasks](#gulp-tasks) and [Testbed](#testbed) sections for more information on what these containers do.\n\nVisit [localhost:9000](http://localhost:9000) to access a local version of the Testbed.\n\n**Note:** On first run you will need to run these commands to generate Style Kit assets and the Testbed locally:\n\n```\n$ docker-compose run app build\n$ docker-compose run app copy\n\n$ docker-compose run testbed build\n$ docker-compose run testbed copy\n```\n\n[1] If you have access to the [BAS GitLab](https://gitlab.data.bas.ac.uk) instance, you will need to authenticate to use\nthe BAS private Docker registry initially:\n\n```shell\n$ docker login docker-registry.data.bas.ac.uk\n```\n\n### Gulp tasks\n\nThe [Gulp](http://gulpjs.com/) task runner is used for copying font files, compiling Sass to CSS, compiling templates,\netc.\n\n* see `gulpfile.js` for tasks available in the `app` container\n* see `testbed/gulpfile.js` for tasks available in the `testbed` container\n\n#### Running tasks\n\nTo run a gulp task `foo` in the `app` container:\n\n```shell\n$ docker-compose run app foo\n```\n\nTo run a gulp task `foo` in the `testbed` container:\n\n```shell\n$ docker-compose run testbed foo\n```\n\nFor example, to run all linting tasks in the `app` container:\n\n```shell\n$ docker-compose run app lint\n```\n\n#### Watch tasks\n\nA `watch` task is included in both the `app` and `testbed` Gulpfiles. These watch for changes to inputs to their\nrespective build tasks, and run them automatically.\n\nI.e. If a change is made to a Sass file or Testbed sample, the `watch` task will run the `build` task automatically.\n\nThese tasks run continuously with `docker-compose up`. Use `ctrl+c` to stop them.\n\n### SRI\n\n[Sub-Resource Integrity (SRI)](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) is a\nsecurity feature using file hashing to prevent remote resources (for example, from a CDN) being poisoned.\n\nA Gulp task, `sri`, in the `app` container, is used to compute values for Style Kit assets, saving them to a JSON file.\n\nIf SRI values need to be calculated manually:\n\n```\n$ docker-compose run --entrypoint=\"\" app ash\n$ apk update\n$ apk add openssl\n$ openssl dgst -sha256 -binary [file] | openssl base64 -A\n$ exit\n```\n\nFor example:\n\n```\n$ docker-compose run --entrypoint=\"\" app ash\n$ apk update\n$ apk add openssl\n$ openssl dgst -sha256 -binary dist/css/bas-style-kit.css | openssl base64 -A\n> Qb7inHp6i7iH2aWYv1LLe3N5x+Eu93lwo5mKzNAxkoo=/usr/src/app\n$ exit\n```\n\n**Note:** Currently there is no ideal place, or automated process, to host SRI values. This is considered a\n[bug](https://trello.com/c/NebCWKex).\n\n### Testbed\n\nTo aid developing and testing the Style Kit, a *Testbed* is included. It consists of a number of atomic *samples* and\nreference implementations of *patterns*.\n\nSamples are designed to isolate individual styles to check for regressions or ensure various components fit together\nwell. [Patterns](#patterns) are best practice design solutions for specific user-focused tasks and page types.\n\nWhen running locally, the testbed can be accessed at [localhost:9000](https://localhost:9000).\n\nA hosted instance of the testbed for the *master* branch is available at:\n[style-kit-testbed.web.bas.ac.uk/master](https://style-kit-testbed.web.bas.ac.uk/master).\n\n### Patterns (Testbed)\n\nThe Testbed includes released patterns, where they act as reference implementations, as well as patterns under\ndevelopment. For each pattern, multiple variants may be listed to show different use-cases or test different designs.\n\nPatterns are numbered, but these do not imply any order, and may not be congruous for the variants of each pattern. For\nexample variants for the 'service unavailable' pattern may be numbered *0001*, *0003*, *0030* and *0500*. Where a\npattern has been removed, its number will not be reused. Pattern variants will each be numbered separately.\n\nPattern files **MUST** be named as `testbed/src/patterns/[pattern number]--[pattern label].pug` where:\n\n* `[pattern number]` is the next highest pattern number (i.e. if the last sample was 5 the next would be 6)\n* `[pattern label]` a hyphenated label for the pattern expressed from least to most specific (e.g.\n  `service-unavailable-planned` not `planned-service-unavailable`)\n\nPatterns use the [Pug](https://pugjs.org/api/getting-started.html) (formally Jade) template engine to wrap each pattern\nin a lightweight layout to include a local version of the Style Kit for testing.\n\nThis layout exposes a `pattern` block to contain each pattern's content.\n\nA minimal pattern would look like:\n\n```pug\n//-\n  pattern:\n    title: Pattern title\n  ---\n\nextends ../layouts/app-pattern-page.pug\n\nblock pattern\n  ul\n    li example list item\n```\n\nA minimal pattern variant would look like:\n\n```pug\n//-\n  pattern_variant:\n    title: Pattern variant title\n  pattern:\n    title: Pattern title\n  ---\n\nextends ../layouts/app-pattern-page.pug\n\nblock pattern\n  ul\n    li example list item\n```\n\nSee the other pattern sub-sections for more information on different aspects of a sample.\n\nA Gulp task, `build`, in the `testbed` container, is used to generate pattern variants, indexes and assets.\n\n#### Pattern labels and titles\n\nEach pattern will have a *label* (taken from the pattern file name) and *title* (taken from the pattern front matter),\nfollowing the same conventions as [Sample labels and titles](#sample-label-and-title).\n\n#### Pattern variants\n\nPatterns may consist of multiple variants, representing differences in circumstance or context but part of a general\nuse case / purpose. For example, a 'service unavailable' pattern may include variants for services unavailable\nunexpectedly or due to planned maintenance. In both situations the same general information will be shown, with some\nextra details for planned maintenance, such as a duration.\n\nPattern variants are related to a pattern using the `pattern.title` [Front matter](#pattern-front-matter) option. For\nexample:\n\n| `pattern.title`       | `pattern_variant.title`           | Notes                       |\n| --------------------- | --------------------------------- | --------------------------- |\n| \"Service unavailable\" | \"Service unavailable (basic)\"     | Generic variant of pattern  |\n| \"Service unavailable\" | \"Service unavailable (planned)\"   | Specific variant of pattern |\n| \"Service unavailable\" | \"Service unavailable (unplanned)\" | Specific variant of pattern |\n\nThe pattern index will automatically group pattern variants together as a list.\n\n#### Pattern front matter\n\nEach pattern **MUST** include some metadata to help organise and classify patterns.\n\n| Property                | Description                                        | Required                 | Example Value                   | Notes                                     |\n| ----------------------- | -------------------------------------------------- | ------------------------ | ------------------------------- | ----------------------------------------- |\n| `pattern`               | Container for properties about the pattern         | Yes                      | *N/A*                           | -                                         |\n| `pattern.title`         | A short title for the pattern                      | Yes                      | \"Service unavailable\"           | Use most readable form, opposite of label |\n| `pattern_variant`       | Container for properties about the pattern variant | No                       | *N/A*                           | Only used for pattern variants            |\n| `pattern_variant.title` | A short title for the pattern variant              | Yes (if pattern variant) | \"Service unavailable (planned)\" | Only used for pattern variants            |\n\n**Note:** For a property, wild cards (`*`), represent an item in a list.\n\n**Note:** For a property, dots (`.`) represent an indented level - e.g. `foo.bar` should be expressed as:\n\n```\nfoo:\n  bar:\n```\n\n### Samples\n\nMost samples are used to demonstrate valid, real-world, uses, however some are intended to prove a rule by offering an\nexception. Other types of samples (*experiments*) are used to trail different possibilities to find which works best.\n\nSamples are numbered, but these do not imply any order, and may not be congruous for a set of related styles. For\nexample, samples for lists may be numbers *0001*, *0003*, *0030* and *0500*. Where a sample has been removed, its number\nwill not be reused.\n\nSample files **MUST** be named as `testbed/src/samples/[sample number]--[sample label].pug` where:\n\n* `[sample number]` is the next highest sample number (i.e. if the last sample was 5 the next would be 6)\n* `[sample label]` a hyphenated label for the sample expressed from least to most specific (e.g. `ul-unstyled` not\n  `unstyled-ul`)\n\nSamples use the [Pug](https://pugjs.org/api/getting-started.html) (formally Jade) template engine to wrap each sample\nin a lightweight layout to include a local version of the Style Kit for testing.\n\nThis layout exposes a `sample` block to contain each samples content.\n\nA minimal sample would look like:\n\n```pug\n//-\n  sample:\n    title: Sample title\n  ---\n\nextends ../layouts/app-sample.pug\n\nblock sample\n  ul\n    li example list item\n```\n\nA typical sample would look like:\n\n```pug\n//-\n  sample:\n    title: Unstyled list\n    code: ul.bsk-list-unstyled\n  collections:\n    - core--lists\n  ---\n\nextends ../layouts/app-sample.pug\ninclude ../mixins/app/samples/lists.pug\ninclude ../mixins/app/samples/alerts.pug\n\nblock sample\n  section.app-sample-section\n    header Standard\n    +alert('info', 'highlight')\n      | Class is #[strong not] supported with ordered list.\n\n    +ul-ol('ul')(class=\"bsk-list-unstyled\")\n\n  section.app-sample-section\n    header Nested (not applied)\n    +alert('info', 'highlight')\n      ul\n        li Class #[strong is] supported with nested unordered lists but will appear flattened.\n        li Class is #[strong not] applied to nested lists.\n\n    +ul-ol--nested('ul')(class='bsk-list-unstyled')\n```\n\nWithin a sample, different examples **SHOULD** be separated into sections with a header to explain what it represents.\nIt is a judgement call whether a variation/example should be a section within a sample, or a sample in it's own right.\n\nE.g.\n\n```pug\nsection.app-sample-section\n  header Section title\n\n  <!-- ... -->\n```\n\nWhere you find yourself repeating the same structure, but applying different classes or properties, consider using a\nMixin to keep code DRY.\n\nOther conventions/patterns for samples can be found by reading existing samples. See the other sample sub-sections for\nmore information on different aspects of a sample.\n\nA Gulp task, `build`, in the `testbed` container, is used to generate samples, collections, indexes and assets.\n\n#### Sample label and title\n\nEach sample will have a *label* (taken from the sample file name) and *title* (taken from the sample front matter) each\nserving different functions.\n\nThe label:\n\n* is designed to be structural\n* is intended to move from most generic to most specific (as with a CSS class)\n* this allows related samples to be 'grouped' by sorting on their label\n* to be as concise as possible whilst being fully qualified and as precise/unambiguous as necessary\n* to be URL safe and stable\n\nThe title:\n\n* is designed for display\n* is intended to be the most grammatically/stylistically correct form\n* can be less concise, and/or less precise if this aids readability (not should not a description)\n* to change if useful\n\nFor example, for three variants of an unordered list:\n\n| Example | Variant                   | Label         | Title            |\n| ------- | ------------------------- | ------------- | ---------------- |\n| (1)     | Unordered list            | `ul`          | `Unordered list` |\n| (2)     | Unordered list (unstyled) | `ul-unstyled` | `Unstyled list`  |\n| (3)     | Unordered list (inline)   | `ul-inline`   | `Inline list`    |\n\nIn (1), `ul` is the most concise way to represent an Unordered List, but is not the most readable if you don't know\nwhat `ul` means. In this case the title can expand on the name to be useful.\n\nIn (2) and (3), the label is more precise than the title (e.g. (2) a more precise title would be\n`Unstyled unordered list`) but as you can't have an ordered unstyled list this extra qualifier isn't useful and can be\nomitted from the title). It shouldn't be omitted from the label because if an ordered unstyled list was added in the\nfuture, the original `ul-unstyled` label would either be unambiguous (and inconsistent) or would have to be renamed and\nso not stable, breaking URLs for example. In contrast, the title of the `Unstyled list` could be trivially changed as\nit's only meant to be a more readable form of the label, and not important by itself.\n\nIn (2) and (3) the title reverses the specificity (from least -> most to most -> least) because this is\ngrammatically/stylistically correct in English (but wouldn't in say French).\n\n#### Sample collections\n\nGroups of related samples are referred to as *Collections*. For example, ordered and unordered list samples are part of\na lists collection. Samples can be, but typically are not, part of multiple collections.\n\nCollections consist of a label (name) only, and are generated by being listed within Samples. This means it is important\nto use collection labels consistently.\n\nFor example, If sample sample A refers to a collection of lists as 'list' and Sample B as 'lists' both 'list' and\n'lists' will be generated as collections with one item in each. Both need to be 'list' or 'lists' to work correctly.\n\n#### Sample types\n\nEach sample has a type, with a 'normal' type being assumed. If you are unsure which type to use, use normal.\n\n| Type       | Type Property (For Metadata) | Description                           | Notes              |\n| ---------- | ---------------------------- | ------------------------------------- | ------------------ |\n| Normal     | *N/A*                        | -                                     | Assumed by default |\n| Experiment | `experiment`                 | Use for non-stable samples            | -                  |\n| Removed    | `removed`                    | Use for deprecated samples            | -                  |\n| JavaScript | `javascript`                 | Use for samples relying on JavaScript | -                  |\n\nFor *Removed* samples, the contents **SHOULD** be removed (i.e. leaving it blank). A suitable message will be shown by\nthe layout.\n\nFor *Experiment* and *JavaScript* samples, a notes section **SHOULD** be added to give details on:\n\n* (for experiments)\n  * the purpose of the experiment, any relevant context (links to Trello are ok)\n  * the details of the variants in an experiment (if relevant, e.g. a summary of the different sizes used)\n  * other notes as relevant\n* (for JavaScript)\n  * any dependencies the sample relies on (e.g. the cookie banner relies on a Cookie management library)\n  * any plugins from the Style Kit the sample relies on (including it's own if relevant)\n\n#### Sample front matter\n\nEach sample **MUST** include some metadata to help organise and classify samples.\n\n| Property       | Description                                             | Required | Example Value    | Notes                                     |\n| -------------- | ------------------------------------------------------- | -------- | ---------------- | ----------------------------------------- |\n| `sample`       | Container for properties about the sample               | Yes      | *N/A*            | -                                         |\n| `sample.title` | A short title for the sample                            | Yes      | `Unordered list` | Use most readable form, opposite of label |\n| `sample.code`  | CSS selector representing the style of the sample       | No       | `ul`             | -                                         |\n| `sample.type`  | A valid sample type                                     | No       | `experiment`     | Use *sample types* for valid options      |\n| `collection`   | Container for properties about the sample's collections | No       | *N/A*            | -                                         |\n| `collection.*` | The label for a collection the sample should appear in  | No       | `core--lists`    | -                                         |\n\n**Note:** For a property, wild cards (`*`), represent an item in a list.\n\n**Note:** For a property, dots (`.`) represent an indented level - e.g. `foo.bar` should be expressed as:\n\n```\nfoo:\n  bar:\n```\n\nFor example (normal sample):\n\n```\n//-\n  sample:\n    title: Unordered list\n    code: ul\n  collections:\n    - core--lists\n  ---\n```\n\nFor example (experiment sample):\n\n```\n//-\n  sample:\n    title: Unordered list\n    type: experiment\n```\n\n#### Sample mixins\n\nTo prevent repeating common/similar code a number of [Mixins](https://pugjs.org/language/mixins.html) are available.\n\nMost relate to a set of samples (e.g. the 'thumbnails' mixin is used in thumbnail related samples). Some mixins will\nproduce structural elements (such as sections and section headers), as well as examples of an element or style.\n\nMixins are stored in `testbed/src/mixins` and can be included in a sample using `include ...`\n\nFor example:\n\n```pug\nextends ../layouts/app-sample.pug\ninclude ../mixins/app/samples/foo.pug\n\nblock sample\n  section.app-sample-section\n    +mixin-foo('optional-parameter')(class='optional-additional-attributes')\n```\n\n### Assets\n\nThe Testbed relies on local, development, versions of the Style Kit's styles and scripts, generated using the `build`\nGulp task in the `app` container.\n\nThe Testbed also has a limited set of styles and other assets of it's own (for things like the index of patterns/samples\nand displaying the current responsive breakpoint) located in `testbed/src/assets/`. These assets are also generated\nusing the `build` Gulp task in the `testbed` container.\n\n## Developing\n\n### CSS Styles\n\nCSS styles within the Style Kit are written using [Sass](http://sass-lang.com/), a CSS preprocessor offering features\nsuch as variables, mixins and intuitive nesting.\n\nThe Style Kit is distributed as a single CSS file, but made up of multiple parts:\n\n1. `assets/stylesheets/bootstrap-bsk.scss` - customised version of the Bootrstap 3 official Sass port\n2. `assets/stylesheets/fonts-bsk.scss` - custom web-fonts used within the Style Kit\n3. `assets/stylesheets/bas-style-kit.scss` - custom styles, components and variables that make up the Style Kit\n\nGulp is used to compile these styles into regular CSS, in one file. Additional tasks are used to:\n\n* improve the compatibility of the generated CSS with older browsers, or for newer features requiring vendor prefixes\n* add a global prefix, `bsk-` to all CSS classes to act as a namespace - i.e. `.foo` becomes `.bsk-foo`\n* combine separate, layer specific, files into one, removing duplicate or superseded rules\n* ordering properties within rules in a consistent order\n* minifying styles to give compressed and non-compressed versions\n* copy fonts to the location in `dist/` expected by `fonts-bsk.scss`\n\nSee the [end-user documentation](https://style-kit.web.bas.ac.uk/start/distribution/) for how to use these styles in\napplications and websites.\n\n#### Fix classes\n\nIn some cases workarounds are needed to cater for certain use-cases, for example when using a brand image and brand\ntext together in a navbar.\n\nThese classes are termed 'fix classes' within the Style Kit and use a conventional `fix-` prefix (`bsk-fix` with the\nglobal prefix) for consistency. This convention **MUST** be used for all fix classes.\n\nE.g. a class `.navbar-brand-img-txt` becomes `fix-navbar-brand-img-txt` or `bsk-fix-navbar-brand-img-txt` with the\nGlobal Prefix applied.\n\n**Note:** Fix classes are not considered bugs, as they are usually used for situations where there is no optimal\nsolution without either causing large amounts of duplication, or restricting users in how other classes/features can be\nused.\n\n#### Bootstrap overrides\n\nIn rare cases, core Bootstrap styles need to be overridden within the context of the BAS Style Kit. This only done where\nthe relevant Bootstrap styles cannot be overridden any other way, usually as a result of how rules take precedence.\n\nOverriding a Bootstrap style requires taking a copy of the Bootstrap styles and changing them directly. Where changes\nare made to these styles in Bootstrap, they will need to be 'back-ported' to our copy.\n\n**Note:** This practice is considered a bug, see this\n[issue](https://trello.com/c/YRhYrux6/128-remove-the-need-for-bootstrap-overrides) for more information.\n\n### Images\n\nThe Style Kit includes images for:\n\n* `assets/images/bas-logo` - the full BAS logo (roundel and text)\n* `assets/images/bas-roundel` - the BAS roundel\n* `assets/images/ogl-symbol` - the Open Government License (OGL) symbol\n* `assets/images/ms-pictogram.svg` - the recommended Microsoft Account pictogram\n\nGulp is used to copy these images into `dist/`.\n\n#### Image formats\n\nBy convention, all images should use the PNG format and extension (`.png`).\n\n#### Image optimisation\n\nNew images should be optimised before being adding to the Style Kit.\n\nTools such as [Optimizilla](http://optimizilla.com) can be used for this, producing indexed-RBG images which are\nsignificantly smaller (~70%) than full-RGB.\n\n### JavaScript\n\nThe Style Kit is distributed as a single JS file, but is made up of multiple parts:\n\n1. `assets/javascripts/bootstrap-overrides/*.js` - customised versions of Bootrstap 3 plugins\n2. `assets/javascripts/bas-style-kit/*.js` - custom plugins for use with the Style Kit\n\nGulp is used to combine these scripts into one file. Additional tasks are used to:\n\n* minify scripts to give compressed and non-compressed versions\n\n#### JavaScript dependencies\n\njQuery is a dependency of all JavaScript plugins. Some plugins depend on other external scripts for specific\nfunctionality, such as managing cookies or auto-complete inputs.\n\nDependencies for 'core' plugins are listed in `package.json` for use when the Style Kit is used as a Node package, or\nloaded from the [BAS CDN](https://gitlab.data.bas.ac.uk/WSF/bas-cdn) when used directly in a browser.\n\nDependencies for optional plugins will need to be included manually as listed in the\n[end-user documentation](https://style-kit.web.bas.ac.uk). They are usually also available from the BAS CDN.\n\n**Note:** This project uses [Yarn](https://yarnpkg.com/lang/en/) instead of\n[NPM](https://docs.npmjs.com/getting-started/what-is-npm) for installing dependencies within the `app` Docker image.\nThis still uses the NPM package registry.\n\n**Note:** This project uses [Snyk](https://snyk.io) to check for vulnerabilities in NodeJS/Javascript dependencies used\nin the Style Kit. See the [Dependency vulnerability scanning](#dependency-vulnerability-scanning) section for more\ninformation.\n\n### Design resources\n\nSome extra resources, such as colour charts, used to help design the Style Kit are included in `resources/`.\n\nTo edit these resources you will need to install these fonts locally:\n\n* [Open Sans](https://fonts.google.com/specimen/Open+Sans)\n\n### Updating dependencies\n\nIf `package.json`, `.csscomb.json`, `.stylelintrc.yml` or `.eslintrc.yml` in the `app` Docker image, or `package.json`\nin the `testbed` Docker image, are changed the relevant image will need to be rebuilt and pushed to the private BAS\nDocker Repository [1].\n\n```shell\n$ cd bas-style-kit/\n$ docker-compose build [image]\n$ docker-compose push [image]\n```\n\nDuring each *alpha* release dependencies should be updated to their latest versions and conflicts resolved.\n\n* the `app` and `testbed` images should use the latest Node LTS release (as we don't rely on cutting edge Node features)\n* JavaScript dependencies (inc. Bootstrap and web-fonts) should be updated to their latest versions [2]\n\nDependencies listed in `package.json` can be checked using tools such as\n[Daivd-DM](https://david-dm.org/antarctica/bas-style-kit?type=dev) to identify outdated versions.\n\n[1] The first time you use this registry, you will need to authenticate using:\n`docker login docker-registry.data.bas.ac.uk`\n\n[2] To update dependencies:\n\nFor the `app` image:\n\n```shell\n# add or update package to 'package.json'\n$ rm yarn.lock\n$ docker-compose build app\n$ docker-compose run --entrypoint=\"\" app ash\n$ mv yarn.lock ./assets/\n$ exit\n$ docker-compose down\n$ mv assets/yarn.lock ./\n```\n\n**Note:** Commit the Yarn lock file, `yarn.lock`, to the repository.\n\nFor the `testbed` image:\n\n```shell\n# add or update package to 'package.json'\n$ rm testbed/yarn.lock\n$ docker-compose build testbed\n$ docker-compose run --entrypoint=\"\" testbed ash\n$ mv yarn.lock ./src/assets\n$ exit\n$ docker-compose down\n$ mv testbed/src/assets/yarn.lock ./testbed\n```\n\n**Note:** Commit the Yarn lock file, `testbed/yarn.lock`, to the repository.\n\n## Testing\n\n### Integration tests\n\nLinting is used to ensure Sass styles and JavaScript follow a set of standard conventions. They will be executed\nautomatically through *Continuous Integration*:\n\n* [StyleLint](https://stylelint.io) is used for checking Sass styles\n* [ESlint](https://eslint.org) is used for checking JavaScript styles\n\nTo run tests manually run the `lint` Gulp task.\n\n### Continuous Integration\n\nThe BAS GitLab instance is used for\n[Continuous Integration](https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit/pipelines) using settings defined in\n`.gitlab-ci.yml`.\n\n### Review Apps\n\nThe BAS GitLab instance is used to provide [Review Apps](https://docs.gitlab.com/ce/ci/review_apps/) for merge requests\ninto the *master* branch. These review apps use the *Testbed* to review changes and prevent regressions.\n\nReview Apps use a set of conventional jobs and stages, settings for these jobs are defined in `.gitlab-ci.yml`. GitLab\nwill show links to Review App instances within each merge request.\n\n## Provisioning\n\n[Git](https://git-scm.com), [Terraform](https://terrafrom.io) and permissions to the\n[BAS AWS](https://gitlab.data.bas.ac.uk/WSF/bas-aws) environment are required to provision resources for this project.\n\n```shell\n$ cd bas-style-kit/provisioning/terraform\n$ terraform init\n$ terraform validate\n$ terraform fmt\n$ terraform apply\n```\n\nDuring provisioning, an AWS IAM user will be created with least-privilege permissions to enable access to resources\nused by this project.\n\nAccess credentials for this user will need to generated manually through the AWS Console and set as secret variables\nwithin GitLab. See the `.gitlab-ci.yml` file for specifics on how to do this.\n\n**Note:** Commit all Terraform state files to this repository.\n\n## Continuous Deployment\n\nThe BAS GitLab instance is used for\n[Continuous Deployment](https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit/pipelines) using settings defined in\n`.gitlab-ci.yml`.\n\nDeployment tasks can be triggered manually for any tagged commits to:\n\n* deploy the contents of `/dist` to the [BAS CDN](https://gitlab.data.bas.ac.uk/WSF/bas-cdn)\n* deploy a Zip archive of `/dist` to the [BAS Packages Service](https://gitlab.data.bas.ac.uk/WSF/bas-packages)\n\n**Note:** Due to caching, deployed changes may not appear for up to 1 hour.\n\n## Branching model\n\nThere is only one long-term branch in this repository, *master*, which represents a working, stable, version of the\nproject, but is not necessarily the released version.\n\nAll changes are made in feature branches, merged into the Master branch when ready. Multiple branches may be active at\nany one time, and **MUST** therefore be rebased on *master* before they are merged.\n\nAs needed, releases are made using a release branch (see the *Release procedures* section for more information).\nThis is then merged with *master* and tagged, allowing *Continuous Deployment* tasks to be ran.\n\n## GitHub mirror\n\nTo allow use outside of BAS a read-only mirror of this project's repository is maintained on GitHub.\n\nMerge requests **WILL NOT** be accepted on this mirror.\n\n## Release procedures\n\nFor all releases:\n\n1. create a release branch\n2. build & push docker images (`app` & `testbed`)\n3. close release in `CHANGELOG.md`\n4. merge release branch with master and tag with version\n5. copy SRI values into the Style Kit Documentation project [1]\n6. re-publish NPM package\n\n[1] This is currently a manual process described in the relevant\n[project documentation](https://gitlab.data.bas.ac.uk/web-apps/bsk/bas-style-kit-docs/README.md).\n\n### Publishing NPM package\n\n```shell\n$ docker-compose run --entrypoint='' app ash\n$ yarn gulp archive\n$ npm login\n$ npm publish\n```\n\nTo preview the contents of the NPM package:\n\n```shell\n$ docker-compose run --entrypoint='' app ash\n$ yarn gulp archive\n$ npm pack --dry-run\n```\n\n**Note:** This project includes a `.npmignore` file to exclude additional files from NPM packages.\n\n### After release\n\nFor all releases:\n\n1. bump the version and add the next development phase in:\n  * `package.json`\n  * `/assets/scripts/javascripts/bas-style-kit/0_version.js` - `Version.VERSION` variable\n\nFor example:\n\n* if version `0.4.0` has just been published, use `0.5.0-develop` and/or `0.5.0-alpha` as indicated\n* if version `0.5.0-alpha` has just been published, leave `0.5.0-develop` and use `0.5.0-beta` as indicated\n\n## Issue tracking\n\nThis project uses [issue tracking](https://trello.com/b/0Mhzizpk/bas-style-kit) to manage development of new\nfeatures/improvements and reporting bugs.\n\n## Feedback\n\nThe maintainer of this project is the BAS Web & Applications Team, they can be contacted through the\n[BAS Service Desk](mailto:servicedesk@bas.ac.uk).\n\n## Acknowledgements\n\nThis project is a derivative of the [Bootstrap framework](http://getbootstrap.com) project.\n\n80% of any credit for this project should go to Boostrap's [authors and contributors](http://getbootstrap.com/about/).\n\n## Licence\n\nThis project is a derivative of the [Bootstrap framework](http://getbootstrap.com), with additional code unique to this\nproject.\n\nSee [Licence.md](/license.md) for more information.\n","readmeFilename":"README.md"}