{"_id":"@ashfrench-dev/svelte-piano-roll","_rev":"3-cce8d3d639c42c406ef62e17be4a50bb","name":"@ashfrench-dev/svelte-piano-roll","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@ashfrench-dev/svelte-piano-roll","version":"0.0.1","description":"A simple and flexible piano roll widget built with Svelte","keywords":["component","music","piano","pianoroll","Svelte","SvelteKit","widget"],"homepage":"https://github.com/ashfrench-dev","license":"MIT","author":{"name":"Ash French","url":"https://github.com/ashfrench-dev"},"repository":{"type":"git","url":"git+https://github.com/ashfrench-dev/svelte-piano-roll.git"},"scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package"},"exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^3.54.0"},"devDependencies":{"@sveltejs/adapter-auto":"^2.0.0","@sveltejs/kit":"^1.5.0","@sveltejs/package":"^2.0.2","publint":"^0.1.9","svelte":"^3.54.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^4.2.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","gitHead":"ffcd9c266587c314f36db02c84ed55c763185c15","bugs":{"url":"https://github.com/ashfrench-dev/svelte-piano-roll/issues"},"_id":"@ashfrench-dev/svelte-piano-roll@0.0.1","_nodeVersion":"18.9.0","_npmVersion":"9.1.2","dist":{"integrity":"sha512-fDZvgPbeikeAQwvOSygvOiSLdboWWMUTu4IZZF24KGTHhx5w964DgrrvARjqVgi5SZ1uITaxrepg6XyE8Fq5xg==","shasum":"d8a7e2dd49e016b455f2ac6672672be101104a06","tarball":"https://registry.npmjs.org/@ashfrench-dev/svelte-piano-roll/-/svelte-piano-roll-0.0.1.tgz","fileCount":7,"unpackedSize":21144,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKoRqW5Zj/2pOTQxY+IlDX62pb6VMen9A+nUQhriSH1AiEA1a4kbAWHvdCCNzYeKWDl5sHNRe74HvrOGkq0u34a9Ls="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJMrpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrszBAAn75qIIgxeo3vGUcneEwXvUtmT58Ztkxc1SQF2Xc6Joxy5HVK\r\nIIIXe0O1Cd6cEBbehU9CzDExDF1OWx0uh0XgnlvCz905W1+/ke2DhRl7CUOt\r\n256uDDcafQ61trpPY2Obg0cGuLXAoe+WjPjVtqbic2uV8FsuRzjXFZV534R4\r\n93HMIHas6FA0VgcuJ9EsTqc/uNKW1H0q3WfhPj7zMYep/RjOmejyYEm7Kzwl\r\nqozG2YtxqJfbkSyqHBhzBtOqn4ur18Dn0fUWymKv01hH/KWBYdKAgfpEnObP\r\nunM2v0yuhpuFNa+y0dlPxEjRokJHJamJkbGf0DodZHT8XGfqbuJp0YNflzpo\r\nnP5vUDYkUkbVRnm29Zib+iUicWaCs9OA9UcTEyjWAVJWsNdKvP3kiOujKjEw\r\nRlbLmkpL2OOYoUBqZuL66wUKm/HyPtVmExtt8RC8JzsbIj1Nw4jz0u7AR4cC\r\nHjrzF2lqJtdEJ3PcsP0JC/dvKCVZkwY4N4MhKQIjsubjAGBCkgt7T1uG28aP\r\nwLqciimEs6E+wqq5BPyjoCZjGU1dlr9Ly8yPgMfZPMDRTEwVnChBoW4t+ZBZ\r\n3mJVudviQmJaHFOc8vHgUzjJ3VAR2EzqxgzqobCS50+LN5uQaOl8h7OmQGPE\r\n445GYBpeEQb8BezjEfn4vmJXEMuOYizn8ZI=\r\n=G3a8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"},"directories":{},"maintainers":[{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-piano-roll_0.0.1_1680132841556_0.4273513916341245"},"_hasShrinkwrap":false},"0.0.2":{"name":"@ashfrench-dev/svelte-piano-roll","version":"0.0.2","description":"A simple and flexible piano roll widget built with Svelte","keywords":["component","music","piano","pianoroll","Svelte","SvelteKit","widget"],"homepage":"https://github.com/ashfrench-dev","license":"MIT","author":{"name":"Ash French","url":"https://github.com/ashfrench-dev"},"repository":{"type":"git","url":"git+https://github.com/ashfrench-dev/svelte-piano-roll.git"},"scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package"},"exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^3.54.0"},"devDependencies":{"@sveltejs/adapter-auto":"^2.0.0","@sveltejs/kit":"^1.5.0","@sveltejs/package":"^2.0.2","publint":"^0.1.9","svelte":"^3.54.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^4.2.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","gitHead":"a5370e2e514e932e3e77c3dde913964918f0ee30","bugs":{"url":"https://github.com/ashfrench-dev/svelte-piano-roll/issues"},"_id":"@ashfrench-dev/svelte-piano-roll@0.0.2","_nodeVersion":"18.9.0","_npmVersion":"9.1.2","dist":{"integrity":"sha512-Ywfv3b2KJnFcXOG86A0LaTX9hfRSdmZoHOlvdslx7pk8vjotKQi4y+CyT0TfgUQtRWsWk8gFduXvpSvDoDby/g==","shasum":"7120dca4918d0be0699c06714bdbe544b1c3d462","tarball":"https://registry.npmjs.org/@ashfrench-dev/svelte-piano-roll/-/svelte-piano-roll-0.0.2.tgz","fileCount":7,"unpackedSize":21145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD17oHflp94fpiM+u1yPLZ/PAf8Xy+N7X9cdtUDRxbZhQIhANmOhMmw1gXWT4BpQpfSJLzEVy1k9teQXHkkEoR+Ig3q"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJMvOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+vhAAlWHARgZEi0HC/MttabEWeNbfEH7lujUzI+E0pGU0cLN48MnO\r\niWIM5XzqixIiRpccvQomxLwd0CH3Y03m6H92lweHstCLqunZcyesYgASZYs6\r\nahpF1wbOVEGGlY323DBx1kBPcKQ18eDHrevjumqY3dLtAj3GC+b+Uzj6ii3+\r\nX7dE5q+cBhlI6GzeUesK7mnPGF7Bh+X0jumvlm9+itjkViJrnisPyZLDfE5I\r\n8wnC8djmByoM/HlMEMpxlkLn9et0ON4xay7oK+W8wMgCNQgAf1CMKdU2L8Y2\r\nfmI9oa3eN6ycGVXeA3Kywb3sqp6blcL4Cr9NeSmZ+dhRNRWfiyqDB6rZlMhf\r\nBgBnjtcf6m6OU0RQVWamZVRNaSDF+gaDDOgHchZzuxXk+C7nsMzvPMiF5E+a\r\n1zQqkt2OGvg8k3+NCFRMfR8tfZad4UBWXnqt2u3rWpmPA92cyuZ+aWxX92AW\r\ntHGlNrCgx0jsZhRSJFHpcDuvfj2ejSxzhKvxYeMghEJ+emxOiJR8GIYPLjyf\r\nS9LPG21VscbVKnksNbwq7YOWChodERycilryJZFoMmrxE4fOXSwTofb0xN/E\r\n97PZcagvZNik/tbko0R3/FD1i8qxDrgbdQwW1dnN8C/hxigPBzAqSuMpm42v\r\nJ12k/4RrmsiqkWyTgRyxPTxKb/mnZOlkGMs=\r\n=fQFU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"},"directories":{},"maintainers":[{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-piano-roll_0.0.2_1680133070637_0.5972841467846648"},"_hasShrinkwrap":false},"0.0.3":{"name":"@ashfrench-dev/svelte-piano-roll","version":"0.0.3","description":"A simple and flexible piano roll widget built with Svelte","keywords":["component","music","piano","pianoroll","Svelte","SvelteKit","widget"],"homepage":"https://github.com/ashfrench-dev","license":"MIT","author":{"name":"Ash French","url":"https://github.com/ashfrench-dev"},"repository":{"type":"git","url":"git+https://github.com/ashfrench-dev/svelte-piano-roll.git"},"scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package"},"exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^3.54.0"},"devDependencies":{"@sveltejs/adapter-auto":"^2.0.0","@sveltejs/kit":"^1.5.0","@sveltejs/package":"^2.0.2","publint":"^0.1.9","svelte":"^3.54.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^4.2.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","gitHead":"a5370e2e514e932e3e77c3dde913964918f0ee30","bugs":{"url":"https://github.com/ashfrench-dev/svelte-piano-roll/issues"},"_id":"@ashfrench-dev/svelte-piano-roll@0.0.3","_nodeVersion":"18.9.0","_npmVersion":"9.1.2","dist":{"integrity":"sha512-iRUNWq14FksZ3pf03uBuuKyYH8R/nubWqHX2QxQX2qMqxMpXbuE2FtXsghtcKFwpRyPMtvLsfkJRhPKGT/Volg==","shasum":"e041e9dab8b7cae10db96ea8ed23f9a2202c0d73","tarball":"https://registry.npmjs.org/@ashfrench-dev/svelte-piano-roll/-/svelte-piano-roll-0.0.3.tgz","fileCount":7,"unpackedSize":21879,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWrIDVjqCbfavYwExwKwOS4k8Q6zvBUsDgwTTaH7ChCAIgLKPoZLrgIUxLigc9PZFSin4Q+IELNgya9xSpa0/cfRE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJPolACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmplog//QSEuYVQ927fqGfCm3mWuucKUhK6fZFKF0agOafLrmEcrO2e4\r\nhluJMe9DaAdsUNG6MYw2cGtju4tiMevUV0CjeLYBVyNDxiXKXncx4cGXIvql\r\n5NFAcljXCErHNITKRLRr8+1VmZqqHMQBoEsfZavJR/bjlYGXf5jfwkNoA3Wr\r\n1unAjvlirdXhVoNVq4C/TxH9n0jr38cNBtSO6RTgXHyZecWb5sqP4GMyVuOI\r\nqdteXoTpET98+APG+aVe8JELUBkWi7IhdO9P3c74KS6yKJLz4nGhjCSusjcs\r\nYlIyAAks1eLhY5Ku2ylf394MW6isCstyLhBWIx6rIW7/cefhMNJ2sHY63ZBc\r\nF03NHEEkPznyJ1U+4qgK6oqjQMd3um2gL+/DrNWLW7OVssrLo/trU7FGAQtS\r\nxzyRgbzuq/jwh/k3f7qx0TU3QcZ4x5olwe05QemF1LnWzH1i3hmq3GHpnXQ6\r\nEzIrFSYuR3EjlNzN/H17/31vKkmLC/Ox1qyKjDH6ejwaESjIOVJOV2tQ2Ovs\r\nA+HV6s7JjKJcBBOrp5sMYAXs1DZKU9oSsKHbu7HfhUq9vRLYrpAMHhO9KYTH\r\nPeoLl4GBYUbhI7WgOy1hFwk3O+vyF9igpD03iXToQKSfr6qRyM60S8kGM8sI\r\nSzyFYmxDAqgi3xm1p9Zmop8/AckVjWWYm+E=\r\n=suhl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"},"directories":{},"maintainers":[{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-piano-roll_0.0.3_1680144933426_0.5607435415036295"},"_hasShrinkwrap":false},"0.0.4":{"name":"@ashfrench-dev/svelte-piano-roll","version":"0.0.4","description":"A simple and flexible piano roll widget built with Svelte","keywords":["component","music","piano","pianoroll","Svelte","SvelteKit","widget"],"homepage":"https://github.com/ashfrench-dev","license":"MIT","author":{"name":"Ash French","url":"https://github.com/ashfrench-dev"},"repository":{"type":"git","url":"git+https://github.com/ashfrench-dev/svelte-piano-roll.git"},"scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package"},"exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^3.54.0"},"devDependencies":{"@sveltejs/adapter-auto":"^2.0.0","@sveltejs/kit":"^1.5.0","@sveltejs/package":"^2.0.2","publint":"^0.1.9","svelte":"^3.54.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^4.2.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","gitHead":"7933f87b7a9e6bfd706519b17c519d64a70ca967","bugs":{"url":"https://github.com/ashfrench-dev/svelte-piano-roll/issues"},"_id":"@ashfrench-dev/svelte-piano-roll@0.0.4","_nodeVersion":"18.9.0","_npmVersion":"9.1.2","dist":{"integrity":"sha512-XeOHXkTskdWYwfie7HXi1+PQ4MS4yoeXjL9R8bDSkn443Rko0FrAKVokyPY5b1+ycZRsOk6X5Zb5BYcuNyAIMg==","shasum":"c533dc097562ed2f1cab590a1a67bb5b76f8cf52","tarball":"https://registry.npmjs.org/@ashfrench-dev/svelte-piano-roll/-/svelte-piano-roll-0.0.4.tgz","fileCount":7,"unpackedSize":21879,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJWsvyD1Pd+qqptsM6pFtuX6p+tPdyuLffxAOkMtCsvwIgMSLKxNFLVhB+PiFE3GLeXjwWmyKZTmiY5B8P+DuJOfE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJP2ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocTxAAnASWILrnedxq5JxA3W0+8o9gZ+syKtmUYfm+lEKBC77XgNUm\r\nL4d9LWgOGuS9UKFKfOmWVEODKicVvvUlfd58+g2WzY2XQhQraWEDXcD+un4R\r\nlfBbry/59J77kHLN4Ipi6dPo4xsvt4davXVUFvmmdosfNYiyFONatOwQcn2E\r\n3s6LKYPyqDDFADe7KOTS2znDF3mk8C3g8CwRaYwLx5vbn11Cefi1gylBnc5j\r\n0AJ7xoTjLcFBhTLxbKWDKMaw93nqa13TkQWK9HlMyJNEIxaPri/3PZtZinIi\r\n2Q7ArqP1m+e4PJg1e/v4zFCmuDhDdndm+jmtPtCr9GTQzqLtuNxDlnXfWjfW\r\nPpVuxC3+wn8lVIb8pMDrtjyUtZl8f2mNgPfEHKo9HsZiWOOP17OWWlP1TWR4\r\n6vWU6/oYG2EN5eH/jI7KFGcaVOwMz7Z9CXIR4m0NHWthkOWNUu5qsYsfnDDr\r\nejOI/s8FanZM+M6hFNJQjsnvRfphnbPsCPO1zy65tzg2eg3A1dU8dCLmTrO4\r\nSrFejquuBEusUX8UWqWuH70em2kw04Q6grLUF2I2yMhNN7quTSXfGc2Lu+KL\r\nI0TYWBqNoPB2e7qA9MAKx2NdN+VssEJV2UVAqxGfZVDJCLQ3w4D3WJe5Etik\r\nSK+KVWQ/bChL1pDUACsX8xGxA0SGUTaihZ4=\r\n=hoct\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"},"directories":{},"maintainers":[{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-piano-roll_0.0.4_1680145817058_0.05900238813423897"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-29T23:34:01.498Z","0.0.1":"2023-03-29T23:34:01.767Z","modified":"2023-03-30T03:10:17.362Z","0.0.2":"2023-03-29T23:37:50.813Z","0.0.3":"2023-03-30T02:55:33.570Z","0.0.4":"2023-03-30T03:10:17.197Z"},"maintainers":[{"name":"ashfrench-dev","email":"ashfrench.dev@gmail.com"}],"description":"A simple and flexible piano roll widget built with Svelte","homepage":"https://github.com/ashfrench-dev","keywords":["component","music","piano","pianoroll","Svelte","SvelteKit","widget"],"repository":{"type":"git","url":"git+https://github.com/ashfrench-dev/svelte-piano-roll.git"},"author":{"name":"Ash French","url":"https://github.com/ashfrench-dev"},"bugs":{"url":"https://github.com/ashfrench-dev/svelte-piano-roll/issues"},"license":"MIT","readme":"# Svelte Piano Roll\n\n- A simple, interactive piano roll interface\n- Fully interactive for touch and mouse\n- Will reliably scale to any size\n- Note labelling\n- Key highlighting\n- Functions for key interactions for easy integration\n- Svelte is the only dependency\n\n## Usage\n\n```\n<script>\n  import { PianoRoll }  from '@ashfrench-dev/svelte-piano-roll'\n\n  let startingKey = 35\n  let keyCount = 18\n  let height = '100%'\n  let width = '100%'\n  let showNoteLabels = false\n  let showHighlightKeys = false\n  let highlightKeys = []\n  let onKeyPress = (e) => {}\n  let onKeyUnpress = (e) => {}\n</script>\n\n<PianoRoll \n  starting_key={startingKey}\n  key_count={keyCount}\n  height={height}\n  width={width}\n  show_note_labels={showNoteLabels}\n  show_highlight_keys={showHighlightKeys}\n  highlight_keys={highlightKeys}\n  on_key_press={onKeyPress}\n  on_key_unpress={onKeyUnpress}/>\n```\n\n### `PianoRoll` parameters\n\n- `starting_key`: `<int>`; The key the piano roll should start rendering keys. Range is from `1` (`A0`) to `88` (`C8`). Defaults to `35` (`G3`).\n- `key_count`: `<int>`; The total number of keys the piano roll should render. Range is from `1` to `88`, but will not render keys before `A0` or beyond `C8`. Defaults to `18`.\n- `height`: `<string>`; The height of the piano's container. A CSS-valid height value. Default is `'100%'`.\n- `width`: `<string>`; The width of the piano's container. A CSS-valid width value. Default is `'100%'`.\n- `show_note_labels`: `<boolean>`; Whether to show note labels or not. Default is `false`.\n- `show_highlight_keys`: `<boolean>`; Whether to show highlighted notes or not. Default is `false`.\n- `highlight_keys`: `<array>`; A list of keys (`<int>`) to highlight on the piano roll. Key range is from `1` (`A0`) to `88` (`C8`). Don't forget to set `highlight_keys` to true!\n- `on_key_press`: `<function>`; A callback to execute after a key is pressed down. The callback will be passed a standard [`Event`](https://developer.mozilla.org/en-US/docs/web/api/event) as an argument.\n- `on_key_unpress`: `<function>`; A callback to execute after a key is released. The callback will be passed a standard [`Event`](https://developer.mozilla.org/en-US/docs/web/api/event) as an argument.\n","readmeFilename":"README.md"}