{"_id":"svelte-time","_rev":"32-d376dbdb0a034185521bf843fc1b14eb","name":"svelte-time","dist-tags":{"stable-1":"1.1.0","latest":"2.3.1"},"versions":{"0.1.0":{"name":"svelte-time","version":"0.1.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.1.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"6451609876ec754e736f19200e9dff73bfdc8ee6","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.1.0.tgz","fileCount":14,"integrity":"sha512-bkge5c8wjQm69VR6DhxIZPZDR55T2nalmBsG2XuAxdPiMT5ACtATa3ggONjEh0TL1I9J3VUkDiEsP4dkkciVzw==","signatures":[{"sig":"MEUCIQDFP8pOUWEDZ8P8sIFO/mQ2cwl1A3CkTf99ph1AoCHugwIgMeWgatevuS0HH/Fd7foQQdWbwM8lJrdhhVsFjyEkaK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOs1HCRA9TVsSAnZWagAAqc4P/1PZOU8OYscbIguhTXSO\nPprn+xeL6FYb8nEkkEpc+pe9MkyaWQ750TL39kRz9qnnI7ohSL3J2qsC/9YX\n1TJslhlvEloXf2c7uNqhvCRjNl9gXidy10XWA0abrlQgv7+1Dbg3KCgFaTX/\nwL19EC510dgKtSk1ORcA983xL+nba2Achi7pazTjd6jGswP2saUJb0gFd7Pr\nqIbZeyUhyU4ChtrB8pGavtR/CpPsY3qFUaLQ8mc+RFhudThavVN7wKKMYHAX\nJ/lYtfTqaR2umQTa8qwlldG93VooMoP7hqYwS7V+PKFt2CKl3DvuB7EOQ7/U\n4nL/2vTq+8FDpbD1xZS/aRdowNhIfoaSomW1AZ+IVCgljxJIY5cIz1MBcslY\nvkCEtBNF24pCSoqYK4cZ8W6Dn5r7K7RPWVzgOtHm1bnpoMsMlUHi5I6oVeLx\nOs1uO9Nf0p4WsUSL3J3W+D8DlujpyKh7FW9dPRBW7ji07qCdOzPnTHh7FMfA\nELHqN1jOEo8x0z5NEYtJX6weXeOCW0lKVNcrcYPhCuMldpGHCAObu1fkMz3B\n02JGCAnue5GuGK+vxfmORqycUVLNsl8Ht+FiAohE4QGYBfZSzNfWXhCkQ/nD\n1dGJbRpZyFsuDQThy8EW2QKLaA4GLPWCv0BjwAvejid4sPfAl7OOQYEAuoqk\n1RhJ\r\n=36bU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check","deploy":"npx gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","prepack":"BUNDLE=true rollup -c","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.4"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.34.0","prettier":"^2.2.1","svelte-check":"^1.1.36","svelte-readme":"^3.0.0","prettier-plugin-svelte":"^2.1.6"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.1.0_1614466374763_0.6074828222128752","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"svelte-time","version":"0.2.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.2.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"8d3f00cec1d23ce03f1a37011f0833633e286f90","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.2.0.tgz","fileCount":14,"integrity":"sha512-9EIFE6dKggEbexhucUhwsA33c+w3BIZXi/rz7nMSOizktXQBI2aMK2/FfzFGgLRswZBV0D/EDeHiwJqjyPgJLg==","signatures":[{"sig":"MEUCIQCraXQOUd1O+P/5s9md1YRF2tVd+3zIanozeRzGDX8EDwIgQKJFSct5N5gSdtxq5UWIecozpJv7X9gtfEDhbHEPbkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgO5yBCRA9TVsSAnZWagAAybQQAJ0Z0VdbELI2tQa1/xNH\nFErrnUit4MuAFb3W2PqnAfIw6gWv/RzkLZQUC8/IoG++eenj0cufFHaiNPDC\n7lzLvW47GUU7aC4Eg+1HMia2awtQ1nO/i2dNLbKiZ/xkTpvuqveKOkx/Z6Im\nzbMphk5p9ANKyyTN4FF+sie23T3NN97oyBlPaaKVXEi8WGM0uvwHoVTZlYyH\nXrJsmpwbP3LouLhOFp/N2OeIc9egowHfSCrais1nKkEqQPKXcbOcFpngyQm7\nrUJpBor8DYMKTXhOt1HONSdH4TGBX5drQxcrn4ruhxvdfkSTIoh1h40bJMqy\n0bNJTHawbP2lDboAzdnoFFd/e4LXMs3ZPhbUvg7Xg11XWzZiqrmt2SvYHC4T\nHhz/a8rieIxsQJTdy3JQEFnTApbAACqjde3Kpz+Jna1VtKZ1CE86Ch8UX/es\nOLw7dvdGm2e7um92oyJzHBZ9VcvHjB2zRq/72pjquTiJfpRCIECvnSisBhvU\nHA/XFX21Rxso1FD0huogLZwT8OdVnpBpkrcMaJ45B1fpf7Ck+lZpivpxN26N\nNIDU/4kvp7dRLwSaAKw0+5qgmTgQhW+xVuFwtde9PePLgK4MlbGsERKMMKvY\nt/n7rC7JEh8q3ohgzVOasHH/7DHX1neUXEicyVxndnI5FgWyZ5MzAKXTIwsG\n7rl4\r\n=/xmM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check","deploy":"npx gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.4"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.34.0","prettier":"^2.2.1","svelte-check":"^1.1.36","svelte-readme":"^3.0.0","prettier-plugin-svelte":"^2.1.6"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.2.0_1614519424613_0.07143736823088864","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"svelte-time","version":"0.3.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.3.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"64e90c4c2c9ac5966ef6e4732d32803bdc8c6fe8","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.3.0.tgz","fileCount":14,"integrity":"sha512-9IpXTo6zo0oPe7cCuXZMQZrwfqh+nzR/gSyK7DRmjed6HB0zxUjUfwDmJ6roFSZ3bft6cFSx5vrlkdjz0psh1Q==","signatures":[{"sig":"MEUCIB2CFHSqji2U1jdhmrqPhj2kwlzfq9BOdTxeFwR5t8/iAiEAhZH5bHJQ9EQjFZraEHMxok4ZsJqDlWJb6ljnrQh3+WA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPjsDCRA9TVsSAnZWagAARwcQAI9XncfQplS3dM/WUwqU\n6FygFFGmaFokegcDwau1+ke54jcICdJ2a7M6wBfBk3579B1wRqFgwtDl19sh\nFCgDZNxdjZWT1EnDK+/AbOhhzg8dEZvJNX5YcVnocjcl4mm7gGo/q2DJ85lI\nQLa4g/fmnLWpfvBTAHhWJeM5yWskZWFI8okd5QT5CQfhBV+xzp8NarM9orJF\npt6Ht5bBv5ughq6ywiWSuwCPKoQ3T35Rjrgoknk1hOeuSwtPTIohND4Bnl+K\ny2N4tg8mILxZBQd0pRozmNOZjMsV/l/Qi0CRWDe0zvKsc3REJJSgwXAa2EAi\n5z0DTub+qoi6n33qt5tIJqoZ/9mF2WcgrWzZTHehIIUaYfjAc8IflyGNx5f9\nsJu6YRXwV8JkO8cQCMxaaeAGDmh71XfnyLSGNRSmQO2syII+ZxTt+I+kFand\nv5sS2xkffi3DEdhVebAAzNY9IDRCvI8R6qQzGpqx4SOdlDBAReacIGW40CiD\nqxdZKfIafzgXLU8rnEQ4PZIALA6SZgF5w+zwUKJYwtuymYj/jBS/UnyuwKeA\nDAQSteKjUty4FqyYFkePL7uZRTcREB3EZ/whdlatntr9JqZuj88KdPWvpX9D\njUZtdWU9rfmZDPpcf0rwo/4ZI+IAs5cgRgduOZSy0554pvMowDDRvGp7yJvj\niZ3L\r\n=D1f3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check","deploy":"npx gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.4"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.34.0","prettier":"^2.2.1","svelte-check":"^1.1.36","svelte-readme":"^3.0.0","prettier-plugin-svelte":"^2.1.6"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.3.0_1614691074756_0.23874937711310107","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"svelte-time","version":"0.3.1","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.3.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"a30a4d1a0ceec15f76912c097dfea6e37d0ff8e5","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.3.1.tgz","fileCount":15,"integrity":"sha512-qJUW8SqtSB3E5Lljumtt/sXpA28E3kzzQAJSY1oRa03vypGMX4ThWO6FL3o+yMBgTSFxNym1qyJwmtkmZzzstw==","signatures":[{"sig":"MEUCIQDHPK1vNJwykmBAwY4ZSqLoVdb9foq4dKbCyciq8WekRAIgVAFexbY5+4aFifSsZpOk57kzOiVFl42QFYPtLVnAOPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg//r2CRA9TVsSAnZWagAAufkP/1WXCttzWR72HxSHkcQE\nIm27zAkOegpAYxwImqZ73MUlYQvIaXidZPe5BicNXR6rI9CfoaHPKtjhDSFn\n7bPHItcsw0POIO1cYh1iJ6ScxB0HPDSckFJJnN/8OfcpcH9Xpp4pAlZ+qdnb\noByqFRItQDn/eZO/6+IzFEVdqUINovTmqfzLCQtETZLQWdqpti7kIEIuaP47\nw/RNCclErjS8zncX4XtDjI7Ouen5CU0kuwJG5R9Hl2dciv7kmqeHfMl0/rFZ\nrMMER/3qHn/KJoMYDzLGpWA0bBjmJbMqAlOBo9z5Z2vYuPn2IuGIhIpG5PNH\n0BXRiXudaG2rpC55VcoRddBbAV30I/7CXS/yQ1VdQ/oMQrhWji0Hm6C4/h2v\nlqMbWzye9sDOhTEBoQMOfOIhBEZ4+bUQZYsdlLWXm0Vy7VN427se0eMHsUAT\n4G6UzZwBX98zEf1MPSWOAWsxjcx9yukQCo93PdZb00c6BdsqZN2p1EtPqLsw\n3bl8v57R03sHn6F3jg5iQbbypSAfGWv7fdKMLacZ6nLQehLyWEn6IcAx6UQD\nnW6+faJX1RA4j4uofE+rGJuZOjO+9NLNGCXk5IMU8txkkzGXuvT8mkoJgQPW\nfZOvKHc//KqaYARlSe5is6Sy/QsBcpKTmFD2ePKhX1/+M5LN+RRzcaF7H7L8\nHHLw\r\n=0//T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check","deploy":"npx gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.6"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.40.3","prettier":"^2.3.2","svelte-check":"^2.2.3","svelte-readme":"^3.2.0","prettier-plugin-svelte":"^2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.3.1_1627388662715_0.464681144995577","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"svelte-time","version":"0.4.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.4.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"308b53ce993366e69a8ffb9049d5965a554a2889","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.4.0.tgz","fileCount":15,"integrity":"sha512-u4mPwHSG8RzM8oOXNvCEloHhean9k2QfSC8mSC+KXpJ0mRr3NKaZGz0QxSbc59k9GSMeQ5M3uzaBKGO+fIUfsQ==","signatures":[{"sig":"MEUCIGvmm+bDnSNPFyKix93uHlltsH43QGjmlcQTDUpV0+7kAiEA/ICKuymkxsEGSyodCNBfe2Cow2onTrrb+BxGrV4DaNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhABJzCRA9TVsSAnZWagAAzBgQAIrci0o1xUx574aySCrE\nXkvNlIhkeroMIRwoRBEwR2tSTvsbQaAyC36BfjCydohfWyJzAi/OZhaVbUKz\ng4FjtgbTw3+Ac61Kmqcqzi77q4FG+PgH/eXzNHYtHG8bjSMq/mI+wpwUisrD\nDf5VAl7G7jyt7YXsK+EiciIWq8TFzq1iwxqNhjkCVKH7ciXViTUK1FhDTt/F\neGy93nQiC3nJJUZUhqtTtytsFWWxIVhvdUk8S8YJ/GOZH1VOE9AyF3g4I/yM\n9avFecTnuOep60zf5FZT9A5PXclMm7i8Y7rfYcY/2CBCAB+XbAys4fr+evTw\nyCisD22U9TcA6ih61K0zZOx0M76UcQDPWom53jj/uF102FJbUjcMyME3SRaV\npPY3BqcnX7HfKMjqVtHQ5QZvPaA/JrK09evED4DrycC1dpmt68cZKXGhgwS5\np++E8y2AVfhPW4mYBYzilC9Wu4E79d0IltDM7BL0DGNwZIFG9ZC+iUL4Gj27\nA+f54V05f2FoGQCu+aP1RIazp9ZMMz5XQ1i6eG7HlSiU1KqkILbXQGpM732w\nuBgFPkaGqLHlrxOmc18Qtmq4t+0jPw7vYTS6k5x879P1pAxxfIIAIX9h8uTe\n9BPq8lU1Zzv7VfqChrR4JPrePu+YOaxnC10Xpuq0yRNUs1LjCDnbdaJ9NzmY\nzUz1\r\n=Nc7r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check","deploy":"npx gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.6"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.40.3","prettier":"^2.3.2","svelte-check":"^2.2.3","svelte-readme":"^3.2.0","prettier-plugin-svelte":"^2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.4.0_1627394674938_0.7191469703186693","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"svelte-time","version":"0.4.1","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.4.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"7b69222306eaa9ecc0e3ba5c391ce2c1312f0d37","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.4.1.tgz","fileCount":15,"integrity":"sha512-vYzDUrXU6KHJAvDztHLfeXZ3i+F921D7FhFeKcg0LH5X39GYDcQKcmz7KppBayIa9qdcTD7DdBV91C0fs/FZrw==","signatures":[{"sig":"MEYCIQDCinxNvoTKu7vGeC/PEvsBIGrbAb23lG0fZrpjN7hoKQIhAMtWzsCERzmoSuqz4byDE0UTC8MddAeu9NO4KZh2xwdG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJPg5CRA9TVsSAnZWagAAazcP/Ru8/SeFey5+K63M+VAg\nf4bfqO1sORw1u8IuPpMGzY37y4PPObWTQXvawt3fyNKawRsWXI4u0P/4Lbni\nOfiwc4MHTu6xg2p+c9+VEtjPUgy8lDRY4QRqZNuPvQouL3+3N116mrCnLtNS\nrM4zt+CL56zdbLdOwjYOp0lrIgvIFwiUmT9tSZb3EcGU3gFEL10PDgboQyyw\n70Vvz4S4Wsybu8shNuXOnOe3Dqx2bU85EGmdgneW18ViWp9p2VX90O/wewCE\nbA0Cntf5+MBKyHLYecWZC9xsH+77tRUpX41lmVIivsGnVidaUxSirlxxYWbV\neBCg9gAsHfR/0sJ1UcfRGJyhWz0hfeQQYfRD0edAqQF3Pvgoljgomo0xwaNO\nfy8X22J3oXuVFbPSHFnB38FPmP9UU9opkX3NSqrF2TB93IYUh/IvSTYBWKqS\ncwPVMcVVGd/G2kC8u3fpM/id0Tf2Pl6a3nzaFGx3gEzVfasop+tWyGmcEbzO\nn2T8CLF6mrZ1K6UZeVNL6sJwNj4E2oSf1BjeF9tfvVkS12jXd3p2LCbGTA3c\n3G++Wu4h1u6Db9pEa/1CU4HFClS0ZnLTrix2Me0wVzYb8MBBErHbBU8Nh0dT\ne6I2NDbEz+KqCHSWtgkGOP7cn3gGVZsWn6pRaPdq0SPkYfpZit9yD6wvdAdG\noFt4\r\n=0Eb2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace=test/*","deploy":"gh-pages -d dist","format":"prettier --write '{src,types}/**.{js,ts,svelte}'","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.6"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.42.2","gh-pages":"^3.2.3","prettier":"^2.3.2","svelte-check":"^2.2.5","svelte-readme":"^3.3.0","prettier-plugin-svelte":"^2.3.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.4.1_1629812793217_0.6684539157915415","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"svelte-time","version":"0.4.2","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.4.2","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"4598a406e6053cfdb1bcd07539d9cd328bcb05ad","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.4.2.tgz","fileCount":15,"integrity":"sha512-PDpSP51SWPdvqP18edB+vYokKg6gY8c0q5ZVHQAUXohMTbeyJ5Np6oltNH22iE7KQJcTakCwj36bDYT2eBA8QA==","signatures":[{"sig":"MEUCIQCsfUMIkyyaseTvx0jMfh3ACVz4+LiFpeaz4p55/JX/UQIgNPobI7jC1c7w5patFZ6u0D/0228VCp3is+AumvIKx1M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL5JaCRA9TVsSAnZWagAAd2MP/0tmyJl0fFhvIL8gpFgx\nko7QXV8E1S14TQ+AAKqlsWX053tMl5q29huWmtDOvZwTyNXCw70VjLyY9hVy\nyS1paJnPMChMhs1LpaIBNFPipWQyJWnUkeSD+ncTCnsWosEJQwRkeUo9bvw8\nBNa1bTj6N8pi/hMpMeLTWO62ctApKsDJiRSfAlio2vYG+Vi1rLEeW33/UbeH\n2u+1LNnlcJgAuK42z05zTcpoyqQJxiV+QlZcWd1sc75HskRFEEA7bXDbf4Zz\nwKCaAYuOfS7cUWgMNu80jOOy60bLHE568CccHAooqn5v77IU3qQUsBlaqosB\nMj3xGCHAJiwpWpel5jV3DgQUYnjLkgr+BfWLlY6shy3Lzr0ZbKlfC6sLdz3X\ncLheaUzvFD+596rjXs3qg8Mu+B1TFrzceCOtzgllXSKp1UILnc6xhySqE4/J\nOjMa7lZMCQyBN5pwVFFu9BaRL9fw8ZEbuu3j5Dp5NmS3u6jj6onfj9HsgFOm\nXe9JuezoWR79V/T5pjACjsyEGSf2Wl+9199S2GSZEWLOk0CiuRF3XGmfTRo/\n1uON1Z6fEvVA5aNVMSRH2yadTDrIrISaRozz+iN/tXBAuxBMeZ+Jb35MvNCA\nwi/F+G5cVu+snfl17FJe2uoE8Psy9K10LOe0Oh7d3dAbQaznYvBN0BqESUOY\nl5xX\r\n=GQLS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/*/**.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.6"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.42.4","prettier":"^2.3.2","svelte-check":"^2.2.5","svelte-readme":"^3.3.1","prettier-plugin-svelte":"^2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.4.2_1630507610272_0.011023722582975015","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"svelte-time","version":"0.5.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.5.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"9a62af04b17559286889dbee4e23d51ba81a3cda","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.5.0.tgz","fileCount":15,"integrity":"sha512-GpMUrEMzyDCJlmUx/JxHPTCO7Uut7ZOYkW4ahKrQcqXlI2QP1OLCHJNqXOPWW6hXf/r2Hd7mmH8mlzKE5nO4wQ==","signatures":[{"sig":"MEYCIQCa/VtBrdSuOMi2aRXHObPrfzob2c0ayY1+ZMDAIwg+6AIhAP3/Dh03TWrhnNkT5KtgNUTG9S6v3H+8u9vTr6aWr/Mn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQj/0CRA9TVsSAnZWagAAwy8QAJD1Lxbz03ijtrLjjSO7\n+yR9qRMf4t58UOUiCAibniMEH778kt0PWGazkDeZT9UR3+tubQv/49kedpo+\ndtYBTvmItwzQbx4LIIpuAPS3ILRWGe4B3lKaS030zI1ecJSTYpw5lpe74bKl\n8Na968EF7vYOeDYKR7Q6ywV+OZN9DsUSNctMqla2sLIFfT4A22vL1ewnbr7d\n+iDG7z3wr/xxe7dcMF9f/lAjYs6jaOO0w298ysVQhD1XvCwFXcYVkmyJCVk+\nMzmoshsEmw4qiBHYRFT1XVpQRlRs6LX4GmAovae4T2hQgvhkjOKr0qiXm7Cz\nYdSDutqMgqIH7yUjQsBxXIkh14CUtnQQoxa1Eu7NYydFHXIhkQoM9IpYfz7+\nWchnmgs2gHhuTUfvSrhI0wlKnB2+CBUbwy+8rI+OFevV22ElFHouVzX3TY5u\n7O+0r7dDAscTsTTCVkeP4AsfqK+aUDRACxWxKYlp10jKzuxUNpjFrvpWduve\norBh9uT9peh1gYaLXxipBUR+dLq2szmxwPv3tY9BLugU+FJGDbHoP1/v1P92\nTGMoXsP0JR16QUpE+vlVUlqjtSZkFKFWSoDF/EOibEL54du5NE8WLc+yAFwv\nZqUjs2QNak78V5hqYEoP6J007VS/mowlbmwAJxHKy69uwOM2s/kfOczl1AwR\nAt+K\r\n=a9p1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/*/**.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.6"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.42.4","prettier":"^2.3.2","svelte-check":"^2.2.5","svelte-readme":"^3.3.1","prettier-plugin-svelte":"^2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.5.0_1631731700142_0.8899841189866711","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"svelte-time","version":"0.6.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.6.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"3b7e050206e017c10b12022bd23e1ad15e7d4d68","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.6.0.tgz","fileCount":15,"integrity":"sha512-cvlD81LaF9bze0S+3UCGW61/JPugO31/J5ZESMg4Og4bRWM53ApQLqJiWOxId8sOFKQlb8Ed5aO9kf3PB10eyQ==","signatures":[{"sig":"MEYCIQCcHdJKp94VTStwgd0zfloeS+BIfs6rUDgdBZU8VwQvxgIhAM5409hBa3yj5bTWepdChA9JRQ7EXvmWqI76NN7c6F1l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14128},"main":"./src/index.js","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/*/**.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true,"svelteBracketNewLine":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.7"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.43.1","prettier":"^2.4.1","svelte-check":"^2.2.7","svelte-readme":"^3.3.1","prettier-plugin-svelte":"^2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.6.0_1633913426203_0.03250902190708049","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"svelte-time","version":"0.6.1","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.6.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"80167cf0f2f4b597aff900d0fea1e07cd8fd5497","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.6.1.tgz","fileCount":15,"integrity":"sha512-16owyVD+SLGkqx1fk5/6VDzQWjt1yo1zMitsqV9QfnuXAS0kAPs+FnTsjVCl8Wa7vHIdfVcQ95XS2bTi+QYh3A==","signatures":[{"sig":"MEYCIQD6vbz4Eobwg/r6hwGDm1J2NBx0a3d6vQ8jxHjqhR0eyAIhALBg5pAhFYlRT8VkGyK8ndSy04D8Xnmz6C+HCKSM+kW7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhu2EECRA9TVsSAnZWagAACkgP/RG3B80cJ4iT2JHoNzbB\nAxJfqCUooGwt2wTQqLYN/H01nONsX+EQJyM/fj8IX/c5Zq0zHElKGpK4w1uT\ng17GoP3GJj+wtL5ObCGAZgwxpCTYwbXEcVltk3fO6gKCTovI0Xle2VFNXExi\nraL2x8sjQX4JE200uiWGI0FoSOuQzHLykwQf5VznzM54KCbQ4a+qnEE1W2ss\nVf78dtyWTHgDh7Jv4SWM4h4FWcUyGA8H0U4UIWsusM6C45DnSQAk8k9gltxE\nMwkgf48mrz8nwzlK7yVhcJg8iJpyufMT2XitN+4GKQ859lVDMt0pbFKO+10y\nFzu1VpaGpSnWTzHET3iFAlDh5qQTcaSucLneGBdq7YkoY8ZHV2TQUvYeJlTO\noj3mc7dnVMLe/HuDzT7AzxMLKZUxf0g1DkdULnMdQT8Pv54C/uqZZl1l8iBh\nEhhFzi2ShFGhaZnNZmB96tt9MfU6e7i9hcwJMv1EfM0Aw0D04K7YFDLojSPY\n95MIGZVX7oH7RloPrT/lJfNYIcqJEqLtNc6m69XTB+ewNQU6yfU9qMJ3cauq\nRtUvjDuY7Ax6KILwv4jSvsBY2ktc0gT+6/kpy84LRrd7pV582Q2tEyQC3Jhl\ne5zDDxdo5WIww99T509e0k24MYnmOueakLULuWk98RxibySx8uu8TXE8CSub\nsbVT\r\n=4mpL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","type":"module","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/*/**.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.7"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.44.2","prettier":"^2.5.0","svelte-check":"^2.2.10","svelte-readme":"^3.6.1","prettier-plugin-svelte":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.6.1_1639670020062_0.5922180183296974","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"svelte-time","version":"0.6.2","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.6.2","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"8d8d29e79d64d60149714a441afc5ff8e65d4141","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.6.2.tgz","fileCount":15,"integrity":"sha512-xFwjnRMsBk4l07k0i85F8MK8He5h6s/mpDS/LalxiZFmAMoTGuPsCEWTIFZLp7EvQ3VBiELBdhVwnAxmVpVQ2A==","signatures":[{"sig":"MEUCIHjK5b6rNaxqHFTB34Pv1YhyuqQCMLMIKgPi6ngyHjGfAiEAqRW65wWqGcQW1sxATZ8B+bNj7ckrBes3c3xBfdz5Ses=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigRuKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLBg//bwhoYLnu1hgZJwIVgTWslTJ0azdRwFBy95a9oPVPzlBud9u5\r\nEmDSXLCq4sG03O5DcCVpzDljj5LmpQ6TD0lpgIrck4ZsRq/YPobVLpBZjLjm\r\nDwNbgEr6a7TzQpcoeMaQunnY7Pd3/WmwTAi0zEW8VCiLDe1ukVLWROPKKBXg\r\nIUXYAHSl6auezwbIkJI1RUrqH1B64lY85Wz0nFL/++/mAAclA1ZkM//GybPS\r\niO6P3jhRU107TWDHk6Vf8rwwH8wRY5TYeWT6kj8N1Ewn2p35hyDsEZpZhs8Q\r\nYyQUwu584a3chk5HPC+YioW+SzrC6LTx64TJ/dFA6Q+kYsoDIDKrf91r/w7d\r\nyy9MPLjpMSzfOksgrZppY8lCzdKgCHUH+3lqlOwA13CW1vvftwVPGnEfohKc\r\nYCYjfi/Nb8tcyH/jrtA3pRaegxLSydW5nZSt7TxWqYF/lXvPvP1r6qwKKlfP\r\nqDKdywx8IQ1Xw6JT/uO2/4PY82cUETQVkz/rxHX0w2/QCkjDiMSLrgrLIJi4\r\nQSABGEiI0kFtQgKc+F12XK+oa04aiNdDSPIw8VapV7Ulp2SxXneXVDN4ZYt6\r\n98knH2c0s4d3yCe1hlA4S8ogws+V6IgI0wIQk5L6grUvLwo5dbAbiYs5Xmm6\r\n3TxnhGf/noYA7CQrBI9AguEfhc/Sg2xY6Go=\r\n=nhfH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","type":"module","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/**/*.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.7"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.44.3","prettier":"^2.5.1","svelte-check":"^2.2.10","svelte-readme":"^3.6.1","prettier-plugin-svelte":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.6.2_1652628362638_0.47803535154310994","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"svelte-time","version":"0.6.3","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.6.3","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"0d3fb58a29bec5b420fc4c5df56d62f03ee70db1","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.6.3.tgz","fileCount":15,"integrity":"sha512-yvXirszaJIbxbzJqwJr4bnPI25hDTjhmB7qx99RLteIQPEPMhgoV9ek0yZeBMeEn7Xev51XmrkZRc8tCPuIq5w==","signatures":[{"sig":"MEYCIQD9ZkxGpUb4yxybwxs9G6x32YYf7EPwIfqKTHcFgTCp7QIhAPbB1l9XxyMAjF5vgWy1TsKGRddM//oMIaEVH1iowcii","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigSNyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXVg//fiBypFSCsD1xV9OOnUQ2K19NWPDWxb6U1uWKPuMKYHDHf1LC\r\nGnGp4Vo4bcx6vBGYmbgO4qHBJ1zRo/rVLOl2oUbwGT4VsnbFTj8U7SFjg7Bj\r\n5MWTv3CElOaCxSyXuutOPVvVhkCwvHi7cXOUfkMFnGGc4ngXKmFEDlI0m3nE\r\nZlREhglhXqSbfxuWIBsKKwoQxAIU3ALDLMziimMUHAbtH39RN9nXUYmUUpwR\r\n/8ot5uxJPTGtaX2g1u6I3Wa/IdViAMbu9e7FefYRSnxB0EHepCGHg2bK5v4/\r\nDZepXuHnkdvdMkIMMuxZlgWyDWf3eKpPXjlRz5LGvhRYeoLlGnYiiC6YLwvu\r\nAFIVtsLckSACBOqKHNt5GOtcylvSVMUc1UNBBImVJVpr+RJohwqPA2ujQbW3\r\nLI8gf+llxCwVZbkV6YJbKMqF0ml79TYUCAfwKgWcq5bkDHDjY5/mRpFjqI1/\r\n+4ol7QqnyZ0oHLEz6yjCSnkXyc0ar/KaKfIEi4p96Ucc2ccCAZzgwRXpdzwW\r\n0b0JbpWtGGv+xoVjwEpEnssAqAPcdXZKTRaAsm91A+jhKD5GTujOoDgumWql\r\niuJmv7q+r+H1Sow9MviRqZrQxpMlA0gku18EUGMVEU6aef1QHOk4Te1XDXer\r\nYEpNEwSNZGU3LuPNWsSEjkrFPWODmPKFxs0=\r\n=I0Oj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","type":"module","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/**/*.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.7"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.44.3","prettier":"^2.5.1","svelte-check":"^2.2.10","svelte-readme":"^3.6.1","prettier-plugin-svelte":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.6.3_1652630386230_0.9006098753259961","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"svelte-time","version":"0.7.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.7.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"c0917fc3c5e80cf8b912ae4275a39081df6e5739","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.7.0.tgz","fileCount":15,"integrity":"sha512-AJFAJInN+Kp0HmOKOMATlSV4A7/j0psmGpaV6KDfYDTBszi0E3p/VOYiayfZ/krTl0CZqBHKRLGPCB7XdAqG9A==","signatures":[{"sig":"MEUCIQCU5VNWQ1vytezA6n1yV1Mvn+WmUysS28deqw1CknDBQQIgeL0BZ1X4JYM9Q5GAo/+IFIp99m42hCteNVYf7hoYZ5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigUWxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4pA//S6tVQSSQpsVXc/+z80sOIrbi8DfC+Z8uZBVbgpNCvJPe4mON\r\n0eW+v4MhiBBkmJ3LJ6zKQO2y7T8owucskyTkZnlaM6pSbFtGIOWUgmM/LR96\r\nFw55QDIhr+rMrB0TqVap9mKI1tRxrWqdndYBMiOV/l90lSTtoKgIRV9mHvHb\r\n3Xw/Jox7BVxCQOOt2CfVoqu9jIsAH9mdy1vDOpsPSOKnt/LFLBykgZrchGIO\r\nP5LGQ0xofOa4umOHyqQvBlEtSQeT0oofb+LI2BKBqwr/eyjLvo0zIQasd5iB\r\nVckT0/mosCY+h2NnBJPcERZac1ofp/wdSTtKs/6UlaPdc7PK9wS2obZ/bCza\r\nA12zV+7aIYtZAIhMvhnKqXldyeujuHIFgKgrqycHRpFTn+49SCVObf/auX1+\r\nwheX920XMSs3gb+ng5DTR36GIRblal2/cYeI8IZkxN8tOmopHVPO5N0eH7Vh\r\njhq0ck50EkI+QZUHzLQiqcVOGjUVfiq/h/xdE7U1Dhuph80aiVTjGvVuLyxA\r\nKm5f0FVBIJSxmvwO840LXhYtqtuogRIItLSLE11reAxO2BkQuc6W6tkpKt5M\r\npNp7/eEtb7wGbDnGsKnrXIdKwVPMBzmVTYxjOigM+RIdwC81lAESFZ7bKya6\r\nLAcJ2Xu+YGWofzsWesjdTWAJRjbNO6k7u9Y=\r\n=URKS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","type":"module","types":"./types/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"svelte-check --workspace test","build":"rollup -c","format":"prettier --write '{src,types,examples}/**/*.{js,ts,svelte}'"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100,"svelteStrictMode":true},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.10.7"},"_hasShrinkwrap":false,"devDependencies":{"svelte":"^3.44.3","prettier":"^2.5.1","svelte-check":"^2.2.10","svelte-readme":"^3.6.1","@sveltejs/adapter-node":"^1.0.0-next.73","prettier-plugin-svelte":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.7.0_1652639153335_0.3719097037758692","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"svelte-time","version":"0.7.1","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.7.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"5608f6e12cb9bd61f739026ce006642d649d66be","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.7.1.tgz","fileCount":11,"integrity":"sha512-E7IL/85j7oj5fhxvmlau616TUbFfa6Vyy1PFTL3Y8SJGY6NXJaUj7DOYJrXVdoS3Rm9RVST0M6qWd6vqrYgM+w==","signatures":[{"sig":"MEUCIC7C5dqx4NYuoKCjYWN0RQGGwqqi33tO8hbTUJ8jfn/BAiEAk5sv6qCQceaojIqWOGK+3pTX7w0znDQSDBVxv4qFzWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirm++ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXrBAAjBSup+zYDDwAYWL0FZrnErBNp5Z0K818froXi/huhIdPv+2x\r\n594bei3u9cOJ1YMtQvvte+echCwifuCqKdSfRQFMWrywanEXUhcocyTusYTK\r\nxdbkSBiqDrvFkvrrbvJSAN4vNnioGL5XwqwRdhGJ3B/1gtdVx/MLOih7Ad/y\r\nEbCkmLdDkNSIN0Zw8UkXTNnBCO4aNJe5m1SqsD9KdUQej0Qj1qXuVcTAPrED\r\ndM8Cy4Li/AdayrbEaMxLyB4ZuGHlcdfzpmR3PHnlVA6YFSuW3KOk9CJMeLRm\r\n117J0qzqPv+xu9vOxjZ3YSodiQC1iLaan25unuyiF1Dwi/FmKq9arJk5nHxA\r\nYnZPT/VvyPIrYsdM1hzMWyH7cEfO9Qr8fi1MkRdokbxv3goaVtkEy/beHvwG\r\nfeCdtKjS9YiJB2CqdaGwA0J0otGy2ResqU7apMvbot3viEkJSrAqv0kqoTbc\r\nRFTMHaYZ+nFxJh8Dkh90INpmG70kNEPE38joKUs9uPprKxRXf4ECT3wC/0ii\r\n5eQalJMPxWi59pDIlXg0+vShMJHXK/h8y+JIJVs8gcNqqjuuAVf5Ygd5/nLP\r\nnsPPArSs8knCpW1juNr4YdAFCzsxthcJJg9Oi9wAxV4jnf+pq6n6ZS30mEQl\r\nwdzlW7uw8mRLpOMcFmAoVAiPqpXP/FvXJjM=\r\n=tkZo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","svelte":"./src/index.js","gitHead":"f7abd6aa693d2258d4606ae06494e27906081b8f","scripts":{"dev":"rollup -cw","test":"vitest","check":"svelte-check --workspace tests","deploy":"gh-pages -d dist","format":"prettier --ignore-path .gitignore --write .","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"8.1.2","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"16.13.1","dependencies":{"dayjs":"^1.11.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jsdom":"^19.0.0","svelte":"^3.48.0","vitest":"^0.15.1","gh-pages":"^4.0.0","prettier":"^2.7.0","typescript":"^4.7.3","svelte-check":"^2.7.2","svelte-readme":"^3.6.3","@sveltejs/adapter-node":"^1.0.0-next.78","prettier-plugin-svelte":"^2.7.0","@testing-library/svelte":"^3.1.3","@sveltejs/vite-plugin-svelte":"^1.0.0-next.49"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.7.1_1655599038506_0.6547233105086123","host":"s3://npm-registry-packages"}},"0.7.2":{"name":"svelte-time","version":"0.7.2","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.7.2","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"81467a8ec96c33252ef3e9927a1b1dbab96b70f7","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.7.2.tgz","fileCount":14,"integrity":"sha512-+mMTsXiDyOamyhwETN7Zgm4M8ZFrm2O6JC0pJI17I9rgTxJceslO1lqmvIQkkO74Ur1SUAqriT808dbO6g7Owg==","signatures":[{"sig":"MEYCIQDgO+I/KR8eRjW9A3hCiYBViN0mLnX4N3oPpt/H6aVW+wIhAK4LiHKoWJPuMDjbxJaf2Uz9mglX8415XFTWJUV2C1s5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16822},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"vitest","deploy":"gh-pages -d dist","format":"prettier --ignore-path .gitignore --write .","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"prettier":{"printWidth":100},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.11.8"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^22.0.0","svelte":"^3.59.1","vitest":"^0.31.1","gh-pages":"^4.0.0","prettier":"^2.8.1","typescript":"^4.9.4","svelte-readme":"^3.6.3","prettier-plugin-svelte":"^2.9.0","@rollup/plugin-commonjs":"^21.1.0","@testing-library/svelte":"^3.2.2","@sveltejs/vite-plugin-svelte":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.7.2_1685883047055_0.40543745936292375","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"svelte-time","version":"0.8.0","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.8.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"efdb4aae9e857b9464cb2e6b1ba9e54ed13ce333","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.8.0.tgz","fileCount":14,"integrity":"sha512-V0LBpJhYV2Q+jqiJ94ITAo51P6RIhrHQpDt3LCSk8PXfL2UMvSMlDzkqHq8mdKqmBCRZURnXhpynN03GQa/G/A==","signatures":[{"sig":"MEQCIDFkE0ezywHaYfYyASRT95rg0rR+VKJk/N/nspqs9yKOAiA2j5GBqoby8TFCTuIs+RDtbY+i2qzVDAElIBptEyjDBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16367},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","svelte":"./src/index.js","scripts":{"dev":"rollup -cw","test":"vitest","deploy":"gh-pages -d dist","format":"prettier --ignore-path .gitignore --write .","predeploy":"rollup -c"},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"https://github.com/metonym/svelte-time","type":"git"},"description":"Svelte component and action to format a timestamp using day.js","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2021-present Eric Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"dayjs":"^1.11.9"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^22.1.0","svelte":"^4.1.1","vitest":"^0.33.0","gh-pages":"^5.0.0","prettier":"^3.0.0","typescript":"^5.1.6","svelte-readme":"^3.6.3","prettier-plugin-svelte":"^3.0.1","@rollup/plugin-commonjs":"^21.1.0","@testing-library/svelte":"^4.0.3","@sveltejs/vite-plugin-svelte":"^2.4.3"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.8.0_1690473333927_0.8117063581548087","host":"s3://npm-registry-packages"}},"0.8.1":{"name":"svelte-time","version":"0.8.1","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.8.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"21c6da86ba78c95995253bad1792b104e70bcb4f","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.8.1.tgz","fileCount":11,"integrity":"sha512-ku3ozFWeSEgB80/HP785F2IF6LdSIWs9U/ghX+SJa24pwPJrZcNbibeDb5AorZQALeheEMS4WSNSc7vnEFo6LQ==","signatures":[{"sig":"MEUCIQDUIvSoD9YEMAJ2FjcMl0+lV5MImjswtHpVfcpoaDlEtwIgWSTBi3SWV+GMCohttiZsesCVj5WkgQDkYaM30By2cXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13416},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","svelte":"./src/index.js","exports":{".":{"svelte":"./src/index.js"},"./src/*":"./src/*"},"gitHead":"ee86643ed48821defcd091d1bbf42a1c98698f00","scripts":{"dev":"rollup -cw","test":"vitest","format":"prettier --ignore-path .gitignore --write ."},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.2.3","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"18.19.0","dependencies":{"dayjs":"^1.11.10"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^22.1.0","svelte":"^4.2.0","vitest":"^0.34.4","prettier":"^3.0.3","typescript":"^5.2.2","svelte-readme":"^3.6.3","prettier-plugin-svelte":"^3.0.3","@rollup/plugin-commonjs":"^21.1.0","@testing-library/svelte":"^4.0.3","@sveltejs/vite-plugin-svelte":"^2.4.6"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.8.1_1702750488935_0.07408821979188107","host":"s3://npm-registry-packages"}},"0.8.2":{"name":"svelte-time","version":"0.8.2","keywords":["svelte","svelte component","svelte action","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.8.2","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://github.com/metonym/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"342cace5fdc7b020d0af42b5d255a88a3a4778ec","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.8.2.tgz","fileCount":11,"integrity":"sha512-sBLLrWMMInx5iidGlbtlCBAu8CzSixdqOkbhizdalULXBvYMPACp0GtzmyBLEa77hbaMVySZzApIaNG4B4OVmg==","signatures":[{"sig":"MEQCIHiEFTPJJdr3Yyno7wKnKfZ43ms4MxVXIMewoIvXCCMPAiAeUbkJhJaWWFMv2Evx3t3zdbgwFM5CF90j4tfUZdnVQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13646},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","svelte":"./src/index.js","exports":{".":{"types":"./src/index.d.ts","svelte":"./src/index.js","default":"./src/index.js"},"./src/*":{"types":"./src/*.d.ts","import":"./src/*.js"},"./src/*.svelte":{"types":"./src/*.svelte.d.ts","import":"./src/*.svelte"}},"gitHead":"e3887d4beff3c55acb0766057fba4504179837ed","scripts":{"dev":"rollup -cw","test":"vitest","format":"prettier --ignore-path .gitignore --write ."},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.2.3","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"18.19.0","dependencies":{"dayjs":"^1.11.10"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^22.1.0","svelte":"^4.2.0","vitest":"^0.34.4","prettier":"^3.0.3","typescript":"^5.2.2","svelte-readme":"^3.6.3","prettier-plugin-svelte":"^3.0.3","@rollup/plugin-commonjs":"^21.1.0","@testing-library/svelte":"^4.0.3","@sveltejs/vite-plugin-svelte":"^2.4.6"},"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.8.2_1702775490153_0.9666805158089071","host":"s3://npm-registry-packages"}},"0.8.3":{"name":"svelte-time","version":"0.8.3","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.8.3","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"e0d564c03935ef5dceaadf7485961ed640adae02","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.8.3.tgz","fileCount":11,"integrity":"sha512-8uBYoOgn7PwiTF/aNAx31yxbz7AAcD/JJF3SlgzsH/pZ/XSllmAgeCAYZ1j6G52QbNnUhwd8homQonDow616GA==","signatures":[{"sig":"MEQCIDU9q3VNyHxsN6Q0dPaDTkFu981KOCq3FET8HUBCA2VUAiBqwihe1ERnuO8SYPwwjxlevllC8g2SBLsb11ZZ37wYng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":15383},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time":{"types":"./svelte-time.d.ts","import":"./svelte-time.js"}},"gitHead":"1ca395e0e55b951bba59f8b34b5aea19b62d3be7","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.5.0","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"20.12.0","dependencies":{"dayjs":"^1.11.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.8.3_1712442262874_0.4804897283569771","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"svelte-time","version":"0.9.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@0.9.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"c240621e1a19e29681e2d4762e83588e51c20ff8","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-0.9.0.tgz","fileCount":11,"integrity":"sha512-XLEflTNZCjJM2ltCJL0NTpN9J2KBZXxupfl9S2sRFx+utSuQXbs3YIM14DIuENsjG1Qn5NtzRb0gviIB7lCMxQ==","signatures":[{"sig":"MEQCIASp5atLn+rLaPGGRLEHcRCh6WHYxoxtghIunNKatP+cAiArzgRrASV3x32iR3Nba++WxU6+PQLvAkiIoRq3pkQhyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16291},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time":{"types":"./svelte-time.d.ts","import":"./svelte-time.js"}},"gitHead":"2651c1e19f950e3a7dfe3526fe67c13091de75f9","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.5.0","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"20.12.2","dependencies":{"dayjs":"^1.11.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_0.9.0_1713584818807_0.6295093170421124","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"svelte-time","version":"1.0.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@1.0.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"fa9ee3bcbb63ea6c83bf8f08195077c06f12b668","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-1.0.0.tgz","fileCount":11,"integrity":"sha512-Igcx5odkvgnQ+jSawFdKFJT4mFVxvZzj2nJs6onHyp9ooDZpph8Vg6G42lUHBoqMxX/3hcKHw8/Orecp+OedHg==","signatures":[{"sig":"MEQCIF99VtxV2XOnHdGFH8yb9XGdrYi/QLrfw/g23iECb0LyAiAVyeGLoeDvF3o0vtWXAvImNArDjWPKVg/f5nyUYi0GDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16296},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time":{"types":"./svelte-time.d.ts","import":"./svelte-time.js"}},"gitHead":"cdef2aa0c21b225440cf018d647bc6a1bd718fe9","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.8.2","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_1.0.0_1737664697495_0.6381922448189505","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"svelte-time","version":"2.0.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.0.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"0a1b2a3c438903f70088f94235fa79f0d69ea99b","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.0.0.tgz","fileCount":11,"integrity":"sha512-sMPmIs2XifPXtBQ6CAObuthLcMOPuGJS8HYDkYLghcpkLZzMAKUC2Kf6uCFOnW9cGy6U47WcYhFnJQ0xYgjDIg==","signatures":[{"sig":"MEYCIQCLdwBE0I57Bpuqh5EDgHhmnSoePeT6DPsFDxaYls0J2AIhAK67+7t8CEhC+Sr77Wn+PQ4VnrDbAbtHvugn0hqYSfyB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16369},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"}},"gitHead":"525490eedc6222dab629f4d8b02001cd0804e460","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.8.2","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"20.18.1","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.0.0_1737666209614_0.7769583974524907","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"svelte-time","version":"2.0.1","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.0.1","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"d3624adeb66271fd795bfab504d10199864480f2","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.0.1.tgz","fileCount":11,"integrity":"sha512-vmVAB9UNRUfn1U27rGsG5tWnXQ5yAQ07xPZWEBkZdR9bkY6VIgKbMGAeIe0eAS5P8y5BH8C2jh0JPHcBauMnHw==","signatures":[{"sig":"MEUCIDRvMSvSy5R1SmBJp0StmljmPpwxoTR6Uqns4CpY4V+sAiEAmT2In6wjDOTkgJob/Hriu9BOJYNVZdeOrZIxww718H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16722},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"}},"gitHead":"477ab9a24f48ec52cac147f9d6fddd0abd176f73","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.8.2","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"20.18.2","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.0.1_1740423133390_0.0550096722702047","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"svelte-time","version":"2.0.2","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.0.2","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"c1205a0764e5d6b5d2c382b69e9d73cb41d7148e","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.0.2.tgz","fileCount":11,"integrity":"sha512-Ne3eG92bxvttZV3lrMfL5/Vs3PSEJiNpPOqpY90rorXBLXsbmdS7HScXZt7mb42mX/eTCRJyAKgyBlgzlcYLrQ==","signatures":[{"sig":"MEQCIGGYfV/8ppt+R1fYQZDXLaV66HpAsTFY+MMeGuAPPAfZAiA5Gsvufbsq68IVxWGs/b4a+EoF8T9efaZHatkYQhwQFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16810},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"}},"gitHead":"0e16359714362b7bd0e12aec0d1df668ba941b0e","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.9.3","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"22.20.0","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.0.2_1761223472654_0.31862207579750423","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"svelte-time","version":"1.1.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@1.1.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"98bd9751a745a5a19216434617c100c921ac8c3a","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-1.1.0.tgz","fileCount":12,"integrity":"sha512-QmjmlS62+9t+no/xHOEYz1Oics+VUu1lk3RZbnnOGmqK2rCRUedktLhIoB0/3GSGg98+UJb4Pe4h7El+OHquYg==","signatures":[{"sig":"MEUCIQCnx+hfVvAsQkQy/94G64oCEsKgt9OE0QjikN/8WZTmnwIgC9/SHzMmVUlZm5Xi209JP00kZVHSjwUBvGtogmb3oEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24942},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time":{"types":"./svelte-time.d.ts","import":"./svelte-time.js"}},"gitHead":"2f3150ab06e7399eade410d25eb7cd5ed993ad73","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.9.4","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"22.21.1","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/svelte-time_1.1.0_1768231965141_0.8848857583807155","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"svelte-time","version":"2.1.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.1.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"44dec67ed77fd8ad78b8152b3996eccddb3cc3ae","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.1.0.tgz","fileCount":12,"integrity":"sha512-uSCWayqLfbu+L8dQ92SX8fn0+JgllgBvZEcgips8flkmQ0iTzTCIBrW4XokkEqq92CRq4Vbu28pTneFxOBu2FA==","signatures":[{"sig":"MEUCIGg0sxB+JJXO4uAPiD9wVImm7TaEiKplz6j7Tn/WKVgwAiEA6A1pkFg70YCGIbasL4ph8nYjottrp+YAsoBeeJ47hdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25398},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"}},"gitHead":"d6800bfdd508d5d31b0396531316b414e472d127","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"10.9.4","description":"Svelte component and action to format a timestamp using day.js","directories":{},"_nodeVersion":"22.21.1","dependencies":{"dayjs":"^1.11.13"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.1.0_1768232291674_0.9523150744745128","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"svelte-time","version":"2.2.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago","duration","timer","stopwatch"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.2.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"bdc8478780b74e719b4995581e8fe3bb4c643a23","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.2.0.tgz","fileCount":28,"integrity":"sha512-6MtgPGW6MC4osZ/8AXR+kyN/yfOmq5tHvOhQBvtSPDIGq0svFIdtnS2cuETwwWnNRt7X2Hs1dA2KSC/xxZsozw==","signatures":[{"sig":"MEYCIQCmwwt9kMsnaSTeXcFS0T2VNdhl8gxcyssCmBNGcer3WgIhAIdqIwXmHFuA4Rc1E6+LAbbFCZD0Sel2euBKyf1TmnmC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80312},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./micro":{"types":"./micro.d.ts","import":"./micro.js"},"./format":{"types":"./format.d.ts","import":"./format.js"},"./ticker":{"types":"./ticker.d.ts","import":"./ticker.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./datetime":{"types":"./datetime.d.ts","import":"./datetime.js"},"./attachment":{"types":"./attachment.d.ts","import":"./attachment.js"},"./duration-format":{"types":"./duration-format.d.ts","import":"./duration-format.js"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"},"./svelte-duration.svelte":{"types":"./svelte-duration.svelte.d.ts","import":"./svelte-duration.svelte.js"}},"gitHead":"299eade778b4fdc037ed2946691f978b91868585","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"11.16.0","description":"Svelte component and action library for formatting timestamps and durations using day.js","directories":{},"_nodeVersion":"24.18.0","dependencies":{"dayjs":"^1.11.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.2.0_1783521639517_0.6696559180524184","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"svelte-time","version":"2.3.0","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago","duration","timer","stopwatch"],"author":{"url":"https://github.com/metonym","name":"Eric Liu"},"license":"MIT","_id":"svelte-time@2.3.0","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"dist":{"shasum":"c11ef8a55619e06459b7626f2471411398fe3b9a","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.3.0.tgz","fileCount":60,"integrity":"sha512-XISfzFt1ToijhsaDEH6oDPRSyUGD8eIxGVmpTrKgurCkfVv/H5oopvP7H45j898w5ddauBI4i8KtHGU47Lsr9g==","signatures":[{"sig":"MEQCIFU3p4KMxuJHlAd0sr9oCpb0rZMNqrpyyzjOCgkWYMndAiAd2jLa8zftHhfJbNXUgaOkWC2V3c69UJq/Mo3ngIIqDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176456},"main":"./index.js","type":"module","types":"./index.d.ts","svelte":"./index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./intl":{"types":"./intl/index.d.ts","import":"./intl/index.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./micro":{"types":"./micro.d.ts","import":"./micro.js"},"./format":{"types":"./format.d.ts","import":"./format.js"},"./intl/*":{"types":"./intl/*.d.ts","import":"./intl/*.js"},"./ticker":{"types":"./ticker.d.ts","import":"./ticker.js"},"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./datetime":{"types":"./datetime.d.ts","import":"./datetime.js"},"./intl/*.js":{"types":"./intl/*.d.ts","import":"./intl/*.js"},"./attachment":{"types":"./attachment.d.ts","import":"./attachment.js"},"./intl/*.svelte":{"types":"./intl/*.svelte.d.ts","import":"./intl/*.svelte"},"./duration-format":{"types":"./duration-format.d.ts","import":"./duration-format.js"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"},"./svelte-duration.svelte":{"types":"./svelte-duration.svelte.d.ts","import":"./svelte-duration.svelte.js"},"./svelte-countdown.svelte":{"types":"./svelte-countdown.svelte.d.ts","import":"./svelte-countdown.svelte.js"},"./svelte-stopwatch.svelte":{"types":"./svelte-stopwatch.svelte.d.ts","import":"./svelte-stopwatch.svelte.js"},"./svelte-time-range.svelte":{"types":"./svelte-time-range.svelte.d.ts","import":"./svelte-time-range.svelte.js"}},"gitHead":"f4fff8cedd18287d1a03812f207a4d88bcb8beab","_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"repository":{"url":"git+https://github.com/metonym/svelte-time.git","type":"git"},"_npmVersion":"11.16.0","description":"Svelte component and action library for formatting timestamps and durations using day.js","directories":{},"_nodeVersion":"24.18.0","dependencies":{"dayjs":"^1.11.21"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/svelte-time_2.3.0_1785103483761_0.376238053766891","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"svelte-time","version":"2.3.1","license":"MIT","description":"Svelte component and action library for formatting timestamps and durations using day.js","author":{"name":"Eric Liu","url":"https://github.com/metonym"},"type":"module","dependencies":{"dayjs":"^1.11.21"},"repository":{"type":"git","url":"git+https://github.com/metonym/svelte-time.git"},"homepage":"https://metonym.github.io/svelte-time/","bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"keywords":["svelte","dayjs","time formatter","timestamp","relative","ago","duration","timer","stopwatch"],"exports":{"./*.svelte":{"types":"./*.svelte.d.ts","import":"./*.svelte"},"./*.js":{"types":"./*.d.ts","import":"./*.js"},"./attachment":{"types":"./attachment.d.ts","import":"./attachment.js"},"./datetime":{"types":"./datetime.d.ts","import":"./datetime.js"},"./dayjs":{"types":"./dayjs.d.ts","import":"./dayjs.js"},"./duration-format":{"types":"./duration-format.d.ts","import":"./duration-format.js"},"./format":{"types":"./format.d.ts","import":"./format.js"},".":{"types":"./index.d.ts","import":"./index.js","svelte":"./index.js"},"./intl/*.svelte":{"types":"./intl/*.svelte.d.ts","import":"./intl/*.svelte"},"./intl/*.js":{"types":"./intl/*.d.ts","import":"./intl/*.js"},"./intl/*":{"types":"./intl/*.d.ts","import":"./intl/*.js"},"./intl":{"types":"./intl/index.d.ts","import":"./intl/index.js"},"./micro":{"types":"./micro.d.ts","import":"./micro.js"},"./svelte-countdown.svelte":{"types":"./svelte-countdown.svelte.d.ts","import":"./svelte-countdown.svelte.js"},"./svelte-duration.svelte":{"types":"./svelte-duration.svelte.d.ts","import":"./svelte-duration.svelte.js"},"./svelte-stopwatch.svelte":{"types":"./svelte-stopwatch.svelte.d.ts","import":"./svelte-stopwatch.svelte.js"},"./svelte-time-range.svelte":{"types":"./svelte-time-range.svelte.d.ts","import":"./svelte-time-range.svelte.js"},"./svelte-time.svelte":{"types":"./svelte-time.svelte.d.ts","import":"./svelte-time.svelte.js"},"./ticker":{"types":"./ticker.d.ts","import":"./ticker.js"}},"svelte":"./index.js","main":"./index.js","types":"./index.d.ts","gitHead":"880b4196c97e4b974a17de00659cdd1a66542c0f","_id":"svelte-time@2.3.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-uM6b/cChCSIKpBSTgJdyWTJ0DrhyGbP2zG1weCYyBTebqwJj5fupnejLdQ4do4tqnl0R8KnjmP97kqEHgqe1ig==","shasum":"4e1a2e04a1334fc36b386780575e643d6dd6e128","tarball":"https://registry.npmjs.org/svelte-time/-/svelte-time-2.3.1.tgz","fileCount":60,"unpackedSize":167818,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/svelte-time@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDzvi4t/VJYLFP7OpgaQTu+b+xvOvIqQ6J2eo7ICpUMBwIgCHMVVRnNud5Uh+ypMALu/0IX3oN5npI8hCpYSQUB5Ds="}]},"_npmUser":{"name":"metonym","email":"ericyl.us@gmail.com"},"directories":{},"maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/svelte-time_2.3.1_1786482042114_0.9458654464921956"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-27T22:52:54.763Z","modified":"2026-08-11T21:00:42.624Z","0.1.0":"2021-02-27T22:52:54.892Z","0.2.0":"2021-02-28T13:37:04.782Z","0.3.0":"2021-03-02T13:17:54.864Z","0.3.1":"2021-07-27T12:24:22.856Z","0.4.0":"2021-07-27T14:04:35.141Z","0.4.1":"2021-08-24T13:46:33.415Z","0.4.2":"2021-09-01T14:46:50.397Z","0.5.0":"2021-09-15T18:48:20.320Z","0.6.0":"2021-10-11T00:50:26.347Z","0.6.1":"2021-12-16T15:53:40.220Z","0.6.2":"2022-05-15T15:26:02.805Z","0.6.3":"2022-05-15T15:59:46.408Z","0.7.0":"2022-05-15T18:25:53.520Z","0.7.1":"2022-06-19T00:37:18.718Z","0.7.2":"2023-06-04T12:50:47.229Z","0.8.0":"2023-07-27T15:55:34.090Z","0.8.1":"2023-12-16T18:14:49.136Z","0.8.2":"2023-12-17T01:11:30.386Z","0.8.3":"2024-04-06T22:24:23.034Z","0.9.0":"2024-04-20T03:46:58.944Z","1.0.0":"2025-01-23T20:38:17.677Z","2.0.0":"2025-01-23T21:03:29.813Z","2.0.1":"2025-02-24T18:52:13.592Z","2.0.2":"2025-10-23T12:44:32.849Z","1.1.0":"2026-01-12T15:32:45.275Z","2.1.0":"2026-01-12T15:38:11.812Z","2.2.0":"2026-07-08T14:40:39.677Z","2.3.0":"2026-07-26T22:04:43.923Z","2.3.1":"2026-08-11T21:00:42.269Z"},"bugs":{"url":"https://github.com/metonym/svelte-time/issues"},"author":{"name":"Eric Liu","url":"https://github.com/metonym"},"license":"MIT","homepage":"https://metonym.github.io/svelte-time/","keywords":["svelte","dayjs","time formatter","timestamp","relative","ago","duration","timer","stopwatch"],"repository":{"type":"git","url":"git+https://github.com/metonym/svelte-time.git"},"description":"Svelte component and action library for formatting timestamps and durations using day.js","maintainers":[{"name":"metonym","email":"ericyl.us@gmail.com"}],"readme":"# svelte-time\n\n[![NPM][npm]][npm-url]\n\n**Note:** `svelte-time@2` requires Svelte 5; its internals use runes. The consuming app does not need runes mode enabled, because runes are opt-in per component.\n\nUse [svelte-time@1.0.0](https://github.com/metonym/svelte-time/tree/v1.0.0) for Svelte 3, 4, and 5 (non-Runes mode).\n\n---\n\n## About\n\n`svelte-time` formats timestamps and durations as Svelte components and actions, and puts the machine-readable value on a semantic `time` element.\n\nIt uses [day.js](https://github.com/iamkun/dayjs).\n\n```svelte\n<!-- Input -->\n<Time relative />\n\n<!-- Output rendered in the DOM -->\n<time title=\"May 15, 2022\" datetime=\"2022-05-15T18:03:57.430Z\">\n  a few seconds ago\n</time>\n```\n\nTry it in the [Svelte REPL](https://svelte.dev/playground/e2a27786f93d42878388de482de403c9).\n\nThree primitives share the same timer logic:\n\n| Primitive                      | Export       | Use it when...                                                                                                                            |\n| :----------------------------- | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------- |\n| [Component](#time-component)   | `Time`       | you want a declarative element with a `timestamp` prop and full SSR support                                                               |\n| [Action](#sveltetime-action)   | `svelteTime` | you want `use:svelteTime` on a plain element, no extra markup, and don't need the shared adaptive timer                                    |\n| [Attachment](#time-attachment) | `time`       | you want `@attach` with reactive options and the same shared adaptive timer as the `Time` component                                       |\n\nThe [`dayjs`](#dayjs-export) re-export is a convenience utility, not a rendering primitive.\n\n### Compatibility\n\n| Package version                                           | Svelte version                                    | Notes                                                                   |\n| :-------------------------------------------------------- | :------------------------------------------------ | :---------------------------------------------------------------------- |\n| [1.x](https://github.com/metonym/svelte-time/tree/v1.0.0) | 3, 4, 5 (non-runes)                               | Uses `export let` and legacy reactivity                                 |\n| 2.x                                                       | 5+ (component, action); 5.29+ (`time` attachment) | Internals use runes; the consuming app does not need runes mode enabled |\n\n## Installation\n\n```bash\n# npm\nnpm i svelte-time\n\n# pnpm\npnpm i svelte-time\n\n# Bun\nbun i svelte-time\n\n# Yarn\nyarn add svelte-time\n```\n\n## Usage\n\n### `Time` component\n\nThe displayed time defaults to `new Date().toISOString()` and is formatted as `\"MMM DD, YYYY\"`.\n\n<!-- render:Basic -->\n\n```svelte\n<script>\n  import Time from \"svelte-time\";\n</script>\n\n<Time />\n```\n\nThe `timestamp` prop can be any of the following `dayjs` values: `string | number | Date | Dayjs`. String timestamps are written to `datetime` as-is; `Date`/`Dayjs`/`number` inputs are normalized to ISO 8601; invalid inputs omit the attribute.\n\n<!-- render:CustomTimestamp -->\n\n```svelte\n<Time timestamp=\"2020-02-01\" />\n\n<Time timestamp={new Date()} />\n\n<Time timestamp={1e10} />\n```\n\nUse the `format` prop to format the timestamp. Refer to the [dayjs format documentation](https://day.js.org/docs/en/display/format) for acceptable formats.\n\n<!-- render:CustomFormat -->\n\n```svelte\n<Time timestamp=\"2020-02-01\" format=\"dddd @ h:mm A · MMMM D, YYYY\" />\n\n<Time timestamp={new Date()} format=\"YYYY/MM/DD\" />\n\n<Time timestamp={1e10} format=\"ddd\" />\n```\n\n### Relative time\n\nSet `relative` to `true` to show time relative to now, like \"4 days ago\".\n\n<!-- render:RelativeTime -->\n\n```svelte\n<Time relative />\n\n<Time relative timestamp=\"2021-02-02\" />\n\n<Time relative timestamp={1e10} />\n```\n\nUse the `format` prop to customize the [format](https://day.js.org/docs/en/display/format).\n\n<!-- render:RelativeTimeCustomFormat -->\n\n```svelte\n<Time relative format=\"dddd @ h:mm A · MMMM D, YYYY\" />\n```\n\nWith `relative`, the formatted timestamp goes on the `title` attribute. Pass your own `title` to override it.\n\n<!-- render:RelativeTimeCustomTitle -->\n\n```svelte\n<Time relative title=\"Custom title\" />\n```\n\nPass `title={undefined}` to omit the attribute.\n\n<!-- render:RelativeTimeNoTitle -->\n\n```svelte\n<Time relative title={undefined} />\n```\n\n### Custom markup\n\nPass a `children` snippet to render custom markup. The snippet gets the formatted value; the component still owns `<time>`, `title`, and `datetime`.\n\n<!-- render:CustomMarkup -->\n\n```svelte\n<Time relative timestamp={post.createdAt}>\n  {#snippet children(formatted)}\n    <strong>{formatted}</strong>\n  {/snippet}\n</Time>\n```\n\n### Live updates\n\nSet `live` to `true` for a live relative timestamp. Updates follow an adaptive schedule based on age. See [Performance](#performance) for the schedule and how the timer works.\n\n```svelte\n<Time live relative />\n```\n\nPass a number to `live` for a fixed interval in milliseconds.\n\n```svelte\n<!-- Update every 30 seconds -->\n<Time live={30 * 1_000} relative />\n\n<!-- Update every 10 minutes -->\n<Time live={10 * 60 * 1_000} relative />\n```\n\n### Auto-switch to absolute format\n\nSet `relativeThreshold` to an age in ms to switch from `relative` to absolute `format` once the timestamp is old enough. Only applies when `relative` is `true`. With `live`, the switch happens as time passes; without `live`, it only affects the value at render time.\n\n<!-- render:RelativeThreshold -->\n\n```svelte\n<!-- Shows \"a minute ago\", flips to \"4:40 am\" after 2 hours -->\n<Time relative live format=\"h:mm a\" relativeThreshold={2 * 60 * 60 * 1000} />\n```\n\n### Performance\n\nBuilt to keep lots of live timestamps cheap.\n\n- **One timer, not n.** All `Time` components and `time` attachments on the same live interval share one clock. A feed with 1,000 timestamps on the same tier runs one `setInterval`, not 1,000. Timers start with the first live consumer and stop when the last unmounts. An idle page runs none.\n- **Adaptive refresh.** `live={true}` ticks by age: every 10s under a minute, 30s under an hour, 5 minutes under a day, then hourly. Fresh stamps stay within about 10 seconds of truth; day-old ones update 60× less than fixed 60-second polling. Pass a number to `live` for a fixed interval.\n- **Background tabs.** Browsers throttle hidden-tab timers. The shared clock refreshes as soon as the tab is visible again.\n- **Cheap updates.** Each component parses its timestamp once per tick. The same `dayjs` instance feeds the text and the `title`. The `svelteTime` action and `time` attachment write via `textContent`, so the tick path avoids layout-forcing DOM APIs.\n\nThe `svelteTime` action is the exception: each node gets its own `setInterval` (60 seconds by default, or a custom ms interval), with no shared timer and no adaptive schedule. Prefer `Time` or the `time` attachment when many timestamps are live.\n\n### SSR and SvelteKit\n\nThe `Time` component renders fully on the server: text, `title`, and `datetime` are in the HTML, and no timers start during SSR, even with `live`.\n\nThe `svelteTime` action and `time` attachment render an empty `<time>` until hydration, because neither runs on the server. Prefer `Time` when SSR content matters for SEO, no-JS, or avoiding a flash.\n\nPass an explicit `timestamp` under SSR. The default `new Date().toISOString()` is re-evaluated on the client during hydration, so server and client values can disagree, and relative text can cross a threshold between render and hydration, like \"a few seconds ago\" becoming \"a minute ago\".\n\n### `svelteTime` action\n\nUse the `svelteTime` action to format a timestamp on a raw HTML element.\n\nThe API is the same as the `Time` component.\n\n<!-- render:SvelteTimeAction -->\n\n```svelte\n<script>\n  import { svelteTime } from \"svelte-time\";\n</script>\n\n<time use:svelteTime></time>\n\n<time\n  use:svelteTime={{\n    timestamp: \"2021-02-02\",\n    format: \"dddd @ h:mm A · MMMM D, YYYY\",\n  }}\n></time>\n```\n\n#### Relative time\n\nSet `relative` to `true` to use relative time.\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    timestamp: \"2021-02-02\",\n  }}\n></time>\n\n<time\n  use:svelteTime={{\n    relative: true,\n    timestamp: \"2021-02-02\",\n    format: \"dddd @ h:mm A · MMMM D, YYYY\",\n  }}\n></time>\n```\n\nTo customize or omit the `title` attribute, use the `title` prop.\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    title: \"Custom title\",\n    timestamp: \"2021-02-02\",\n  }}\n></time>\n\n<time\n  use:svelteTime={{\n    relative: true,\n    title: undefined,\n    timestamp: \"2021-02-02\",\n  }}\n></time>\n```\n\nLike the `Time` component, `live` only works with relative time.\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    live: true,\n  }}\n></time>\n```\n\nSpecify a custom update interval using the `live` prop.\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    live: 30 * 1_000, // Update every 30 seconds\n  }}\n></time>\n```\n\nUse `relativeThreshold` to switch to the absolute `format` once the timestamp's age (ms) meets or exceeds it.\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    live: true,\n    format: \"h:mm a\",\n    relativeThreshold: 2 * 60 * 60 * 1_000, // 2 hours\n  }}\n></time>\n```\n\n### `time` attachment\n\n[Attachments](https://svelte.dev/docs/svelte/@attach) (`@attach`, Svelte 5.29+) succeed actions. The `time` attachment is like `svelteTime`, but options stay reactive: it re-runs when any reactive value used to build options changes, including inline template objects. In `live` mode it shares the `Time` component's global timer instead of a per-element `setInterval`.\n\n<!-- render:TimeAttachment -->\n\n```svelte\n<script>\n  import { time } from \"svelte-time\";\n</script>\n\n<time {@attach time({ timestamp: \"2021-02-02\", format: \"YYYY-MM-DD\" })}></time>\n```\n\nBecause options are reactive, an inline object built from `$state` updates the element automatically. No `update()` contract:\n\n<!-- render:TimeAttachmentReactive -->\n\n```svelte\n<script lang=\"ts\">\n  import { time } from \"svelte-time\";\n\n  let timestamp = $state(\"2021-02-02\");\n</script>\n\n<time {@attach time({ timestamp, format: \"YYYY-MM-DD\" })}></time>\n<button onclick={() => (timestamp = \"2021-02-03\")}>Update</button>\n```\n\n`@attach` needs Svelte 5.29+. The `svelteTime` action still works.\n\n`relativeThreshold` works the same as on `Time` and `svelteTime`:\n\n```svelte\n<time\n  {@attach time({\n    relative: true,\n    live: true,\n    format: \"h:mm a\",\n    relativeThreshold: 2 * 60 * 60 * 1_000, // 2 hours\n  })}\n></time>\n```\n\n### Remove \"ago\" suffix\n\nSet `withoutSuffix` to `true` to drop the \"ago\" suffix from relative time.\n\n<!-- render:RelativeTimeWithSuffix -->\n\n```svelte\n<script>\n  import Time, { dayjs } from \"svelte-time\";\n\n  const pastDate = dayjs().subtract(2, \"days\").toISOString();\n  const futureDate = dayjs().add(2, \"days\").toISOString();\n</script>\n\n<!-- Past date -->\n<Time relative timestamp={pastDate} />\n<!-- Output: \"2 days ago\" -->\n\n<Time relative timestamp={pastDate} withoutSuffix />\n<!-- Output: \"2 days\" -->\n\n<!-- Future date -->\n<Time relative timestamp={futureDate} />\n<!-- Output: \"in 2 days\" -->\n\n<Time relative timestamp={futureDate} withoutSuffix />\n<!-- Output: \"2 days\" -->\n```\n\nSame options work on the `svelteTime` action:\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    timestamp: \"2021-02-02\",\n    withoutSuffix: true,\n  }}\n></time>\n```\n\n### Compact relative time\n\nSet `relativeStyle` to `\"micro\"` for compact relative time like `\"4d\"` instead of `\"4 days ago\"`. Useful in dense UIs such as comment lists. Only applies when `relative` is `true`. Output always uses English unit letters (`y`/`mo`/`d`/`h`/`m`/`s`), even if `locale` is set, because dayjs's `relativeTime` locale tables have no single-letter forms.\n\n<!-- render:RelativeStyleMicro -->\n\n```svelte\n<Time relative timestamp={pastDate} />\n<!-- Output: \"4 days ago\" -->\n\n<Time relative relativeStyle=\"micro\" timestamp={pastDate} />\n<!-- Output: \"4d\" instead of \"4 days ago\" -->\n```\n\nSame options work on the `svelteTime` action and the `time` attachment:\n\n```svelte\n<time\n  use:svelteTime={{\n    relative: true,\n    timestamp: pastDate,\n    relativeStyle: \"micro\",\n  }}\n></time>\n\n<time\n  {@attach time({\n    relative: true,\n    timestamp: pastDate,\n    relativeStyle: \"micro\",\n  })}\n></time>\n```\n\n### `dayjs` export\n\nThis package re-exports `dayjs`.\n\n**Note:** the exported `dayjs` already has the [relativeTime plugin](https://day.js.org/docs/en/plugin/relative-time) and the [duration plugin](https://day.js.org/docs/en/durations/durations) applied.\n\n<!-- render:DayjsExport -->\n\n```svelte\n<script>\n  import { dayjs } from \"svelte-time\";\n\n  let timestamp = $state(\"\");\n</script>\n\n<button onclick={() => (timestamp = dayjs().format(\"HH:mm:ss.SSSSSS\"))}>\n  Update {timestamp}\n</button>\n```\n\n## Internationalization\n\nThe default `dayjs` locale is English. Nothing else is loaded unless you import it: pull each locale from `dayjs` once, then pass its key. See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale).\n\n### Component usage\n\nImport the relevant language from `dayjs` and use the `locale` prop.\n\n<!-- render:LocaleProp -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German\n  import \"dayjs/locale/es\"; // Spanish\n  import \"dayjs/locale/fr\"; // French\n  import \"dayjs/locale/ja\"; // Japanese\n  import Time from \"svelte-time\";\n</script>\n\n<Time timestamp=\"2024-01-01\" format=\"dddd, MMMM D, YYYY\" locale=\"de\" />\n<Time timestamp=\"2024-01-01\" format=\"dddd, D [de] MMMM [de] YYYY\" locale=\"es\" />\n<Time timestamp=\"2024-01-01\" format=\"dddd D MMMM YYYY\" locale=\"fr\" />\n<Time timestamp=\"2024-01-01\" format=\"YYYY年M月D日(dddd)\" locale=\"ja\" />\n```\n\nTypeScript also exports `Locales`, `TimeProps`, `SvelteTimeOptions`, and `RelativeStyle` for wrappers and action options.\n\n```typescript\nimport type {\n  Locales,\n  TimeProps,\n  SvelteTimeOptions,\n  RelativeStyle,\n} from \"svelte-time\";\n\nconst exampleLocale: Locales = \"de\";\nlet locale = $state<Locales>(\"de\");\nlet style: RelativeStyle = $state(\"default\");\n```\n\n### Action usage\n\nPass `locale` to `svelteTime` to format in another language.\n\n<!-- render:ActionLocale -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German locale\n  import \"dayjs/locale/es\"; // Spanish locale\n  import { svelteTime } from \"svelte-time\";\n</script>\n\n<time\n  use:svelteTime={{\n    timestamp: \"2024-01-01\",\n    format: \"dddd, MMMM D, YYYY\",\n    locale: \"de\",\n  }}\n></time>\n\n<time\n  use:svelteTime={{\n    relative: true,\n    timestamp: \"2024-01-01\",\n    locale: \"es\",\n  }}\n></time>\n```\n\n### Relative time and `withoutSuffix`\n\n`locale` also applies to relative time.\n\n<!-- render:RelativeTimeLocale -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German\n  import \"dayjs/locale/es\"; // Spanish\n  import \"dayjs/locale/fr\"; // French\n  import \"dayjs/locale/ja\"; // Japanese\n  import Time from \"svelte-time\";\n</script>\n\n<Time relative timestamp=\"2024-01-01\" locale=\"de\" />\n<Time relative timestamp=\"2024-01-01\" locale=\"es\" />\n<Time relative timestamp=\"2024-01-01\" locale=\"fr\" />\n<Time relative timestamp=\"2024-01-01\" locale=\"ja\" />\n```\n\n`withoutSuffix` works with locales too:\n\n<!-- render:RelativeTimeLocaleWithoutSuffix -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German\n  import \"dayjs/locale/es\"; // Spanish\n  import \"dayjs/locale/fr\"; // French\n  import Time from \"svelte-time\";\n</script>\n\n<Time relative timestamp=\"2024-01-01\" locale=\"de\" withoutSuffix />\n<!-- Output: \"2 Jahre\" (German, without \"vor\") -->\n\n<Time relative timestamp=\"2024-01-01\" locale=\"es\" withoutSuffix />\n<!-- Output: \"2 años\" (Spanish, without \"hace\") -->\n\n<Time relative timestamp=\"2024-01-01\" locale=\"fr\" withoutSuffix />\n<!-- Output: \"2 ans\" (French, without \"il y a\") -->\n```\n\n### Reactive locale\n\n`locale` is reactive. Bind it to `$state` and every `<Time>` updates when it changes.\n\n<!-- render:ReactiveLocale -->\n\n```svelte\n<script lang=\"ts\">\n  import \"dayjs/locale/de\"; // German\n  import \"dayjs/locale/es\"; // Spanish\n  import \"dayjs/locale/fr\"; // French\n  import Time, { type Locales } from \"svelte-time\";\n\n  let locale = $state<Locales>(\"en\");\n</script>\n\n<button onclick={() => (locale = \"en\")}>English</button>\n<button onclick={() => (locale = \"de\")}>Deutsch</button>\n<button onclick={() => (locale = \"es\")}>Español</button>\n<button onclick={() => (locale = \"fr\")}>Français</button>\n\n<Time timestamp=\"2024-01-01\" format=\"dddd, MMMM D, YYYY\" {locale} />\n<Time relative timestamp=\"2024-01-01\" {locale} />\n```\n\n### Legacy locale (dayjs instance / global default)\n\nOr set a default with [`dayjs.locale`](https://day.js.org/docs/en/i18n/changing-locale), or pass a dayjs instance that already has a locale.\n\n<!-- render:CustomLocale -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German\n  import Time, { dayjs } from \"svelte-time\";\n</script>\n\n<Time timestamp={dayjs().locale(\"de\")} format=\"dddd, MMMM D, YYYY\" />\n```\n\nTo set a global default locale:\n\n```svelte\n<script>\n  import \"dayjs/locale/de\"; // German locale\n  import { dayjs } from \"svelte-time\";\n\n  // Set the default locale to German.\n  dayjs.locale(\"de\");\n</script>\n```\n\n### tz prop\n\nPass `tz` with an [IANA timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) to render in that zone without building `dayjs.tz(...)` yourself. You must extend dayjs's `utc` and `timezone` plugins first; if they're missing, `tz` throws instead of failing silently.\n\n<!-- render:TzProp -->\n\n```svelte\n<script>\n  import utc from \"dayjs/plugin/utc\";\n  import timezone from \"dayjs/plugin/timezone\";\n  import Time, { dayjs } from \"svelte-time\";\n\n  dayjs.extend(utc);\n  dayjs.extend(timezone);\n</script>\n\n<Time\n  timestamp=\"2013-11-18T11:55:20Z\"\n  tz=\"America/Toronto\"\n  format=\"YYYY-MM-DDTHH:mm:ss\"\n/>\n```\n\n### Custom timezone\n\nTo use a [custom timezone](https://day.js.org/docs/en/timezone/timezone), import the `utc` and `timezone` plugins from `dayjs`.\n\n<!-- render:CustomTimezone -->\n\n```svelte\n<script>\n  import utc from \"dayjs/plugin/utc\";\n  import timezone from \"dayjs/plugin/timezone\";\n\n  import Time, { dayjs } from \"svelte-time\";\n\n  dayjs.extend(utc);\n  dayjs.extend(timezone);\n</script>\n\n<Time\n  timestamp={dayjs(\"2013-11-18 11:55:20\").tz(\"America/Toronto\")}\n  format=\"YYYY-MM-DDTHH:mm:ss\"\n/>\n```\n\n### Custom timezone (global)\n\nUse the [`dayjs.tz.setDefault`](https://day.js.org/docs/en/timezone/default-timezone) method to set a custom timezone as the default.\n\n```svelte\n<script>\n  import utc from \"dayjs/plugin/utc\";\n  import timezone from \"dayjs/plugin/timezone\";\n\n  import Time, { dayjs } from \"svelte-time\";\n\n  dayjs.extend(utc);\n  dayjs.extend(timezone);\n  dayjs.tz.setDefault(\"America/New_York\");\n</script>\n```\n\n> **Note:** `dayjs.tz.setDefault(...)` only affects values built with `dayjs.tz(...)`. It does\n> not change what `<Time>` renders on its own. Use the `tz` prop for the common case, or pass a\n> `dayjs.tz(value)` result as `timestamp` if you need the global default.\n\n### User timezone\n\nUse the [`dayjs.tz.guess`](https://day.js.org/docs/en/timezone/guessing-user-timezone) method to guess the user's timezone.\n\n```js\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\ndayjs.tz.guess(); // America/New_York\n```\n\nTo retrieve the abbreviated time zone, extend the [`advancedFormat`](https://day.js.org/docs/en/plugin/advanced-format) plugin.\n\n```diff\n  import utc from \"dayjs/plugin/utc\";\n  import timezone from \"dayjs/plugin/timezone\";\n+ import advancedFormat from \"dayjs/plugin/advancedFormat\";\n\n  import { dayjs } from \"svelte-time\";\n\n  dayjs.extend(utc);\n  dayjs.extend(timezone);\n+ dayjs.extend(advancedFormat);\n```\n\nThen, use the [`dayjs().local`](https://day.js.org/docs/en/manipulate/local) method to get the user's local time zone and format it using the `\"z\"` advanced option.\n\n```js\ndayjs().local().format(\"z\"); // EST\ndayjs().local().format(\"zzz\"); // Eastern Standard Time\n```\n\n## Duration\n\n`Duration` formats a span of time, like a video length. `Time` formats a point in time. For pause/resume count-up, use [`Stopwatch`](#stopwatch-component). For a countdown to a future instant, use [`Countdown`](#countdown-component). For a span between two fixed endpoints, like an event start/end, use [`TimeRange`](#timerange-component). There is also a `svelteDuration` action and a `duration` attachment.\n\n### `Duration` component\n\n`value` accepts a number with `unit`, an ISO 8601 duration string like `\"PT1H30M\"`, a plain object of unit fields, or a dayjs `Duration` instance. Default `format` is `\"HH:mm:ss\"`.\n\n<!-- render:DurationBasic -->\n\n```svelte\n<script>\n  import { Duration } from \"svelte-time\";\n</script>\n\n<!-- Default format: \"HH:mm:ss\" -->\n<Duration value={3661000} />\n<!-- Output: \"01:01:01\" -->\n\n<!-- unit converts a plain number before formatting -->\n<Duration value={90} unit=\"seconds\" format=\"mm:ss\" />\n<!-- Output: \"01:30\" -->\n```\n\ndayjs's own `duration.format()` drops magnitude above the units in the template. Ours rolls that magnitude into the largest unit that is present, which is useful for players that hide hours until needed:\n\n```svelte\n<Duration value={5400000} format=\"mm:ss\" />\n<!-- Output: \"90:00\", not \"30:00\" -->\n```\n\n### Humanize\n\nSet `humanize` to `true` for a natural-language string via dayjs's `duration.humanize()`, instead of `format`. Set `withSuffix` to `true` for a relative suffix like \"in an hour\" or \"an hour ago\". Suffixes are off by default; a video length isn't relative to now.\n\n<!-- render:DurationHumanize -->\n\n```svelte\n<script>\n  import { Duration } from \"svelte-time\";\n</script>\n\n<Duration value={3600000} humanize />\n<!-- Output: \"an hour\" -->\n\n<Duration value={3600000} humanize withSuffix />\n<!-- Output: \"in an hour\" -->\n```\n\n### Locale\n\nUse `locale` for other languages. Import the locale from `dayjs` first.\n\n<!-- render:DurationLocale -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\";\n  import { Duration } from \"svelte-time\";\n</script>\n\n<Duration value={3600000} humanize locale=\"de\" />\n<!-- Output: \"eine Stunde\" -->\n```\n\n### Live elapsed duration (stopwatch)\n\nPass `since` instead of `value` to show elapsed time since that instant. With `live`, `Duration` ticks on the same adaptive shared clock as `Time`'s `relative live` mode. `value` and `unit` are ignored when `since` is set.\n\n<!-- render:DurationSince -->\n\n```svelte\n<script>\n  import { Duration } from \"svelte-time\";\n\n  const since = new Date().toISOString();\n</script>\n\n<Duration {since} live format=\"HH:mm:ss\" />\n```\n\nPass a number to `live` for a fixed interval:\n\n```svelte\n<Duration since={startedAt} live={1000} format=\"HH:mm:ss\" />\n```\n\nThis mode is a passive `now - since` readout. Pausing means recomputing `since` on every resume so the paused gap is excluded. For built-in pause/resume, use [`Stopwatch`](#stopwatch-component).\n\n### `svelteDuration` action\n\nThe `svelteDuration` action formats a duration on a raw HTML element. Same API as the `Duration` component.\n\n<!-- render:SvelteDurationAction -->\n\n```svelte\n<script>\n  import { svelteDuration } from \"svelte-time\";\n</script>\n\n<time use:svelteDuration={{ value: 3661000 }}></time>\n```\n\n### `duration` attachment\n\nThe `duration` attachment is the [attachment](#time-attachment) form of `svelteDuration`, with the same reactive options as `time`.\n\n<!-- render:DurationAttachmentExample -->\n\n```svelte\n<script>\n  import { duration } from \"svelte-time\";\n</script>\n\n<time {@attach duration({ value: 3661000 })}></time>\n```\n\n### `Stopwatch` component\n\n`Stopwatch` counts up from `since`, with a `running` prop for pause/resume. Unlike `Duration`'s `since`/`live` mode, it owns the pause bookkeeping: pause freezes the display, resume excludes the paused gap. `since` defaults to mount time; changing it later resets to zero from the new anchor.\n\n<!-- render:StopwatchBasic -->\n\n```svelte\n<script>\n  import { Stopwatch } from \"svelte-time\";\n\n  let since = $state(new Date());\n</script>\n\n<!-- Ticks live by default, once per second -->\n<Stopwatch {since} />\n\n<!-- Changing `since` restarts the stopwatch -->\n<button onclick={() => (since = new Date())}>Restart</button>\n```\n\nPause and resume with `running`. The `children` snippet gets the formatted value and the current `running` state:\n\n<!-- render:StopwatchPause -->\n\n```svelte\n<script>\n  import { Stopwatch } from \"svelte-time\";\n\n  const since = new Date();\n  let running = $state(true);\n</script>\n\n<Stopwatch {since} {running}>\n  {#snippet children(formatted, isRunning)}\n    {formatted}\n    {isRunning ? \"(running)\" : \"(paused)\"}\n  {/snippet}\n</Stopwatch>\n\n<button onclick={() => (running = !running)}>\n  {running ? \"Pause\" : \"Resume\"}\n</button>\n```\n\n### `svelteStopwatch` action\n\nThe `svelteStopwatch` action counts up on a raw HTML element. Same API as `Stopwatch`.\n\n```svelte\n<script>\n  import { svelteStopwatch } from \"svelte-time\";\n\n  let running = $state(true);\n</script>\n\n<time use:svelteStopwatch={{ since: new Date(), running }}></time>\n```\n\n### `stopwatch` attachment\n\nThe `stopwatch` attachment is the [attachment](#time-attachment) form of `svelteStopwatch`, with the same reactive options as `time`, `duration`, and `countdown`.\n\n```svelte\n<script>\n  import { stopwatch } from \"svelte-time\";\n\n  let running = $state(true);\n</script>\n\n<time {@attach stopwatch({ since: new Date(), running })}></time>\n```\n\n### `Countdown` component\n\n`Countdown` counts down to a future `to` timestamp: a `Date`, ISO string, or anything dayjs accepts. The display is `to - now`, clamped at zero. Unlike `Duration`, `live` defaults to `true` and ticks every second, because the last seconds of a countdown matter more than the adaptive \"x minutes ago\" schedule. Changing `to` restarts it.\n\n<!-- render:CountdownBasic -->\n\n```svelte\n<script>\n  import { Countdown } from \"svelte-time\";\n\n  let to = $state(new Date(Date.now() + 20_000));\n</script>\n\n<!-- Ticks live by default, once per second -->\n<Countdown {to} />\n\n<!-- format hides hours until they're needed -->\n<Countdown {to} format=\"mm:ss\" />\n\n<!-- Changing `to` restarts the countdown -->\n<button onclick={() => (to = new Date(Date.now() + 20_000))}>Reset</button>\n```\n\n### `oncomplete` and the `done` flag\n\n`oncomplete` fires once when the countdown reaches `to`. If `to` is already past, it fires immediately. If you later change `to` to another already-elapsed instant, it fires again. The `children` snippet gets a `done` flag with the formatted value, so you can swap markup when it finishes without a separate `$effect`.\n\n<!-- render:CountdownOnComplete -->\n\n```svelte\n<script>\n  import { Countdown } from \"svelte-time\";\n\n  let to = $state(new Date(Date.now() + 5000));\n</script>\n\n<Countdown {to} oncomplete={() => console.log(\"done!\")}>\n  {#snippet children(formatted, done)}\n    {done ? \"Done!\" : formatted}\n  {/snippet}\n</Countdown>\n```\n\n### `svelteCountdown` action\n\nThe `svelteCountdown` action counts down on a raw HTML element. Same API as `Countdown`.\n\n```svelte\n<script>\n  import { svelteCountdown } from \"svelte-time\";\n\n  const to = new Date(Date.now() + 20_000);\n</script>\n\n<time use:svelteCountdown={{ to, oncomplete: () => console.log(\"done!\") }}></time>\n```\n\n### `countdown` attachment\n\nThe `countdown` attachment is the [attachment](#time-attachment) form of `svelteCountdown`, with the same reactive options as `time` and `duration`.\n\n```svelte\n<script>\n  import { countdown } from \"svelte-time\";\n\n  const to = new Date(Date.now() + 20_000);\n</script>\n\n<time {@attach countdown({ to, oncomplete: () => console.log(\"done!\") })}></time>\n```\n\n## Time Range\n\n`TimeRange` formats a span between two fixed instants, like an event start/end. `Duration` endpoints are open-ended. HTML `datetime` holds one value, so a range needs two: `TimeRange` renders two `<time>` elements, each with its own `datetime`, joined by a separator.\n\n### `TimeRange` component\n\n`format` uses dayjs `.format()` tokens, same default as `Time`, and applies independently to `start` and `end`. v1 does not dedupe a shared year or month. See [API](#api) for the full props list.\n\n<!-- render:TimeRangeBasic -->\n\n```svelte\n<script>\n  import { TimeRange } from \"svelte-time\";\n</script>\n\n<!-- An event's start/end -->\n<TimeRange\n  start=\"2024-06-05\"\n  end=\"2024-06-10\"\n/>\n<!-- Output: \"Jun 05, 2024 – Jun 10, 2024\" -->\n```\n\nFor a humanized span between endpoints like \"3 days\", compose `Duration`:\n\n```svelte\n<Duration value={dayjs(end).diff(start)} humanize />\n```\n\n### Meeting window\n\n`format` isn't limited to dates. Pass a time-only format, and optionally a custom `separator`, for a same-day window.\n\n<!-- render:TimeRangeMeeting -->\n\n```svelte\n<script>\n  import { TimeRange } from \"svelte-time\";\n</script>\n\n<!-- A same-day meeting window -->\n<TimeRange\n  start=\"2024-06-05T08:00:00\"\n  end=\"2024-06-05T10:00:00\"\n  format=\"h:mm A\"\n/>\n<!-- Output: \"8:00 AM – 10:00 AM\" -->\n```\n\n### Locale\n\nUse `locale` to format both endpoints. Import the locale from `dayjs` first.\n\n<!-- render:TimeRangeLocale -->\n\n```svelte\n<script>\n  import \"dayjs/locale/de\";\n  import { TimeRange } from \"svelte-time\";\n</script>\n\n<TimeRange\n  start=\"2024-06-05\"\n  end=\"2024-06-10\"\n  format=\"D. MMMM\"\n  locale=\"de\"\n/>\n<!-- Output: \"5. Juni – 10. Juni\" -->\n```\n\n### Custom markup\n\nPass a `children` snippet to replace the default output entirely. On `Time`/`Duration`, `children` only swaps inner text. On `TimeRange`, the snippet owns both `<time>` elements and the separator, because `format` alone can't condense a range (shared date once, times on each side). Format each side with `dayjs` inside the snippet.\n\n<!-- render:TimeRangeCustomMarkup -->\n\n```svelte\n<script>\n  import { dayjs, TimeRange } from \"svelte-time\";\n\n  const start = \"2024-06-05T08:00:00\";\n  const end = \"2024-06-05T10:00:00\";\n</script>\n\n<!-- Condensed: date once, time on each side -->\n<TimeRange {start} {end}>\n  {#snippet children({ startDatetime, endDatetime })}\n    <time datetime={startDatetime}>{dayjs(start).format(\"MMM D, h:mm A\")}</time>\n    –\n    <time datetime={endDatetime}>{dayjs(end).format(\"h:mm A\")}</time>\n  {/snippet}\n</TimeRange>\n<!-- Output: \"Jun 5, 8:00 AM – 10:00 AM\" -->\n```\n\n### `svelteTimeRange` action\n\nThe `svelteTimeRange` action attaches to a wrapper element and fills it with two `<time>` children and the separator. An action can only bind one node, and a range needs two.\n\n```svelte\n<script>\n  import { svelteTimeRange } from \"svelte-time\";\n</script>\n\n<span use:svelteTimeRange={{ start: \"2024-06-05\", end: \"2024-06-10\" }}></span>\n```\n\n### `timeRange` attachment\n\nThe `timeRange` attachment is the [attachment](#time-attachment) form of `svelteTimeRange`, same reactive options, same wrapper usage.\n\n```svelte\n<script>\n  import { timeRange } from \"svelte-time\";\n</script>\n\n<span {@attach timeRange({ start: \"2024-06-05\", end: \"2024-06-10\" })}></span>\n```\n\n## Utilities\n\nThe formatting logic and shared clock behind `<Time>` and `svelteTime` are also available as standalone helpers, for an `aria-label`, `document.title`, a toast, or server code.\n\n```svelte\n<script>\n  import { now, relativeTime } from \"svelte-time\";\n\n  // Re-derives every 30s from the shared timer. No timer of its own.\n  const label = $derived(relativeTime(post.createdAt, { from: now(30_000) }));\n</script>\n\n<button aria-label=\"Posted {label}\">…</button>\n```\n\n### `now(intervalMs?)`\n\nReactive current time from the shared ticker. Read inside an effect or derived and the caller re-runs every `intervalMs` (default `60_000`). All readers of the same interval share one timer. On the server, returns a fresh non-reactive value.\n\n### `formatTime(timestamp, options?)`\n\nFormats a timestamp as a string with the same output as `<Time>`'s `format` prop: same defaults, same locale fallback.\n\n### `relativeTime(timestamp, options?)`\n\nFormats a relative time string with the same output as `<Time relative />`. Pass `from` for the reference point; use `now(...)` to keep it live.\n\n## `svelte-time/intl` (zero-dependency alternative)\n\nA zero-dependency alternative on the runtime's native `Intl` APIs. No dayjs, no locale files, no plugins. It ships next to the dayjs-based primitives above; it does not replace them.\n\n> **Trade-off:** formatting only, not a dayjs stand-in. It will not parse arbitrary date strings, will not do arithmetic (`add`/`diff`/`startOf`, etc.), and has no token format strings like `\"MMM DD, YYYY\"`. You hand it a `Date` or timestamp you already have, and it formats with `Intl.DateTimeFormatOptions` or `dateStyle`/`timeStyle` presets. It also uses `Intl.DurationFormat`, the newest of the three `Intl` APIs here (Baseline since March 2025, less proven than `DateTimeFormat`/`RelativeTimeFormat`, which have been widely available since 2020). See the [full comparison](#svelte-time-vs-svelte-timeintl) before picking this over the dayjs package.\n\n`Intl.DateTimeFormat`, `Intl.RelativeTimeFormat`, and `Intl.DurationFormat` are Baseline in modern browsers, Node, Bun, and Deno, so this subpackage adds no bundle bytes beyond the platform. Import from `svelte-time/intl` instead of `svelte-time`.\n\n```bash\n# Same install as above. svelte-time/intl is a subpath of the same package\nnpm i svelte-time\n```\n\nSame component / action / attachment shape as the main package for `Time`, `TimeRange`, `Stopwatch`, and `Countdown`. No intl `Duration` component; `formatDuration` below already covers fixed spans.\n\n| Primitive  | Export            | Notes                                                          |\n| :--------- | :---------------- | :---------------------------------------------------------------- |\n| Component  | `Time`            | same shape as the main `Time` component                          |\n| Component  | `TimeRange`       | renders a single condensed range via `formatRange` (see below)   |\n| Component  | `Stopwatch`       | same shape as the main `Stopwatch` component                     |\n| Component  | `Countdown`       | same shape as the main `Countdown` component                     |\n| Action     | `svelteTime`      | same shape as the main `svelteTime` action                        |\n| Action     | `svelteTimeRange` | same shape as the main `svelteTimeRange` action                  |\n| Action     | `svelteStopwatch` | same shape as the main `svelteStopwatch` action                  |\n| Action     | `svelteCountdown` | same shape as the main `svelteCountdown` action                  |\n| Attachment | `time`            | same shape as the main `time` attachment                         |\n| Attachment | `timeRange`       | attachment version of `TimeRange`                                 |\n| Attachment | `stopwatch`       | attachment version of `Stopwatch`                                 |\n| Attachment | `countdown`       | attachment version of `Countdown`                                 |\n\n### `Time` component\n\n`options` is an [`Intl.DateTimeFormatOptions`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options) object, not a dayjs token string. Default is `dateStyle: \"medium\"`.\n\n<!-- render:IntlBasic -->\n\n```svelte\n<script>\n  import { Time } from \"svelte-time/intl\";\n</script>\n\n<Time />\n```\n\n<!-- render:IntlCustomOptions -->\n\n```svelte\n<Time\n  timestamp=\"2020-02-01\"\n  options={{ weekday: \"long\", year: \"numeric\", month: \"short\", day: \"numeric\" }}\n/>\n\n<Time timestamp={new Date()} options={{ year: \"numeric\", month: \"2-digit\", day: \"2-digit\" }} />\n```\n\n### `dateStyle` / `timeStyle` presets\n\n`Intl.DateTimeFormat` style presets (`\"short\"`, `\"medium\"`, `\"long\"`, `\"full\"`) are a locale-aware alternative to writing a token string by hand.\n\n<!-- render:IntlDateStyle -->\n\n```svelte\n<Time {timestamp} options={{ dateStyle: \"short\" }} />\n<Time {timestamp} options={{ dateStyle: \"full\" }} />\n<Time {timestamp} options={{ dateStyle: \"medium\", timeStyle: \"short\" }} />\n```\n\n### Relative time\n\nSet `relative` to `true`, same as the main package. `numeric` maps to [`Intl.RelativeTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat): `\"auto\"` (default) prefers words like \"yesterday\" when the locale has them; `\"always\"` forces \"1 day ago\".\n\n<!-- render:IntlRelative -->\n\n```svelte\n<Time relative timestamp={Date.now() - 4 * 86_400_000} />\n<Time relative timestamp={Date.now() + 2 * 3_600_000} />\n```\n\n<!-- render:IntlRelativeAlways -->\n\n```svelte\n<!-- numeric=\"auto\" (default): \"yesterday\" -->\n<Time relative {timestamp} />\n\n<!-- numeric=\"always\": \"1 day ago\" -->\n<Time relative {timestamp} numeric=\"always\" />\n```\n\n### Live updates\n\nSame `live` prop as the main `Time` component: `true` for the adaptive shared-clock schedule, or a number for a fixed interval in ms.\n\n<!-- render:IntlLive -->\n\n```svelte\n<Time relative live {timestamp} />\n```\n\n### Locale\n\nPass any [BCP-47 locale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locale_identification_and_negotiation) tag directly. No separate locale files, unlike dayjs. The runtime's ICU data covers what it supports.\n\n<!-- render:IntlLocale -->\n\n```svelte\n<Time {timestamp} locale=\"de\" options={{ dateStyle: \"long\" }} />\n<Time {timestamp} locale=\"ja\" options={{ dateStyle: \"long\" }} />\n<Time {timestamp} locale=\"ar\" options={{ dateStyle: \"long\" }} />\n<Time relative {timestamp} locale=\"fr\" />\n```\n\n### Alternate calendars and numbering systems\n\n`calendar` and `numberingSystem` work natively, with no plugins. dayjs needs extra code for that.\n\n<!-- render:IntlCalendar -->\n\n```svelte\n<Time {timestamp} options={{ dateStyle: \"long\", calendar: \"japanese\" }} />\n<Time {timestamp} options={{ dateStyle: \"long\", calendar: \"islamic\" }} />\n<Time {timestamp} options={{ dateStyle: \"long\", calendar: \"buddhist\" }} />\n<Time {timestamp} options={{ dateStyle: \"long\", numberingSystem: \"arab\" }} />\n```\n\n### `TimeRange` component\n\nFormats a span via [`Intl.DateTimeFormat.prototype.formatRange`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatRange), which condenses shared parts, e.g. \"Jan 10 – 15, 2026\". The main package's `TimeRange` renders two `<time>` elements because one `datetime` can't hold a range. This renders one `<time>` with the native condensed text and an [ISO 8601 interval](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) (`start/end`) as `datetime`.\n\n<!-- render:IntlTimeRange -->\n\n```svelte\n<script>\n  import { TimeRange } from \"svelte-time/intl\";\n</script>\n\n<!-- Output: \"Jan 10 – 15, 2026\" -->\n<TimeRange start=\"2026-01-10\" end=\"2026-01-15\" />\n\n<!-- Spans months/years automatically -->\n<TimeRange start=\"2026-01-10\" end=\"2026-03-02\" />\n\n<TimeRange start=\"2026-01-10\" end=\"2026-01-15\" options={{ dateStyle: \"long\" }} />\n```\n\n### `svelteTime` action\n\nSame shape as the main package `svelteTime` action.\n\n<!-- render:IntlSvelteTimeAction -->\n\n```svelte\n<script>\n  import { svelteTime } from \"svelte-time/intl\";\n</script>\n\n<time use:svelteTime></time>\n\n<time\n  use:svelteTime={{\n    timestamp: \"2021-02-02\",\n    options: { dateStyle: \"long\" },\n  }}\n></time>\n```\n\n### `time` attachment\n\n<!-- render:IntlTimeAttachment -->\n\n```svelte\n<script>\n  import { time } from \"svelte-time/intl\";\n</script>\n\n<time {@attach time({ timestamp: \"2021-02-02\", options: { dateStyle: \"long\" } })}></time>\n```\n\n### `svelteTimeRange` action\n\n<!-- render:IntlSvelteTimeRangeAction -->\n\n```svelte\n<script>\n  import { svelteTimeRange } from \"svelte-time/intl\";\n</script>\n\n<time use:svelteTimeRange={{ start: \"2026-01-10\", end: \"2026-01-15\" }}></time>\n```\n\n### `timeRange` attachment\n\n<!-- render:IntlTimeRangeAttachment -->\n\n```svelte\n<script>\n  import { timeRange } from \"svelte-time/intl\";\n</script>\n\n<time {@attach timeRange({ start: \"2026-01-10\", end: \"2026-01-15\" })}></time>\n```\n\n### `Stopwatch` component\n\nSame shape as the main `Stopwatch`: counts up from `since`, with `running` for pause/resume. `style` replaces `format`/`humanize`/`withSuffix`. `\"digital\"` (default) is `\"HH:mm:ss\"`-style; `\"long\"`/`\"short\"`/`\"narrow\"` use `Intl.DurationFormat`.\n\n<!-- render:IntlStopwatchBasic -->\n\n```svelte\n<script>\n  import { Stopwatch } from \"svelte-time/intl\";\n\n  let since = $state(new Date());\n</script>\n\n<!-- Ticks live by default, once per second -->\n<Stopwatch {since} />\n\n<!-- Changing `since` restarts the stopwatch -->\n<button onclick={() => (since = new Date())}>Restart</button>\n```\n\nPause and resume with `running`. The `children` snippet gets the formatted value and the current `running` state:\n\n<!-- render:IntlStopwatchPause -->\n\n```svelte\n<script>\n  import { Stopwatch } from \"svelte-time/intl\";\n\n  const since = new Date();\n  let running = $state(true);\n</script>\n\n<Stopwatch {since} {running}>\n  {#snippet children(formatted, isRunning)}\n    {formatted}\n    {isRunning ? \"(running)\" : \"(paused)\"}\n  {/snippet}\n</Stopwatch>\n\n<button onclick={() => (running = !running)}>\n  {running ? \"Pause\" : \"Resume\"}\n</button>\n```\n\n### `svelteStopwatch` action\n\n```svelte\n<script>\n  import { svelteStopwatch } from \"svelte-time/intl\";\n\n  let running = $state(true);\n</script>\n\n<time use:svelteStopwatch={{ since: new Date(), running }}></time>\n```\n\n### `stopwatch` attachment\n\n```svelte\n<script>\n  import { stopwatch } from \"svelte-time/intl\";\n\n  let running = $state(true);\n</script>\n\n<time {@attach stopwatch({ since: new Date(), running })}></time>\n```\n\n### `Countdown` component\n\nSame shape as the main `Countdown`: counts down to a future `to`, clamped at zero, ticking every second by default.\n\n<!-- render:IntlCountdownBasic -->\n\n```svelte\n<script>\n  import { Countdown } from \"svelte-time/intl\";\n\n  let to = $state(new Date(Date.now() + 20_000));\n</script>\n\n<!-- Ticks live by default, once per second -->\n<Countdown {to} />\n\n<!-- style=\"long\" gives a humanized readout -->\n<Countdown {to} style=\"long\" />\n\n<!-- Changing `to` restarts the countdown -->\n<button onclick={() => (to = new Date(Date.now() + 20_000))}>Reset</button>\n```\n\n`oncomplete` fires once when the countdown reaches `to`. The `children` snippet gets a `done` flag with the formatted value.\n\n<!-- render:IntlCountdownOnComplete -->\n\n```svelte\n<script>\n  import { Countdown } from \"svelte-time/intl\";\n\n  let to = $state(new Date(Date.now() + 5000));\n</script>\n\n<Countdown {to} oncomplete={() => console.log(\"done!\")}>\n  {#snippet children(formatted, done)}\n    {done ? \"Done!\" : formatted}\n  {/snippet}\n</Countdown>\n```\n\n### `svelteCountdown` action\n\n```svelte\n<script>\n  import { svelteCountdown } from \"svelte-time/intl\";\n</script>\n\n<time use:svelteCountdown={{ to: new Date(Date.now() + 20_000), oncomplete: () => console.log(\"done!\") }}></time>\n```\n\n### `countdown` attachment\n\n```svelte\n<script>\n  import { countdown } from \"svelte-time/intl\";\n\n  const to = new Date(Date.now() + 20_000);\n</script>\n\n<time {@attach countdown({ to, oncomplete: () => console.log(\"done!\") })}></time>\n```\n\n### `formatDuration(ms, options?)`\n\nUses [`Intl.DurationFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DurationFormat). `style` accepts `\"digital\"` (default, e.g. `\"1:30:25\"`), `\"long\"`, `\"short\"`, or `\"narrow\"`.\n\n<!-- render:IntlDuration -->\n\n```svelte\n<script>\n  import { formatDuration } from \"svelte-time/intl\";\n\n  const ms = 5_425_000; // 1h 30m 25s\n</script>\n\n<p>digital (default): {formatDuration(ms)}</p>\n<p>long: {formatDuration(ms, { style: \"long\" })}</p>\n<p>narrow: {formatDuration(ms, { style: \"narrow\" })}</p>\n<p>negative: {formatDuration(-42_000)}</p>\n```\n\n### Utility functions\n\n`formatTime`, `relativeTime`, and `formatRange` are also available standalone, outside a `<time>` element.\n\n<!-- render:IntlUtilities -->\n\n```svelte\n<script>\n  import { formatRange, formatTime, relativeTime } from \"svelte-time/intl\";\n\n  const timestamp = \"2026-01-10T00:00:00Z\";\n</script>\n\n<ul>\n  <li>formatTime: {formatTime(timestamp)}</li>\n  <li>relativeTime: {relativeTime(timestamp)}</li>\n  <li>formatRange: {formatRange(timestamp, \"2026-01-15T00:00:00Z\")}</li>\n</ul>\n```\n\n### `svelte-time` vs. `svelte-time/intl`\n\n`svelte-time/intl` drops dayjs parsing, arithmetic, and format strings for a zero-dependency footprint. If the app already uses dayjs, or needs any of the \"no\" rows below, stick with the dayjs package.\n\n| Aspect                    | `svelte-time` (dayjs)                                          | `svelte-time/intl`                                                       |\n| :------------------------ | :--------------------------------------------------------------- | :------------------------------------------------------------------------- |\n| Runtime dependency        | dayjs + `relativeTime`/`duration` plugins                        | none, built on platform `Intl` APIs                                        |\n| Format style              | token strings, e.g. `\"MMM DD, YYYY\"`                              | `Intl.DateTimeFormatOptions` fields, or `dateStyle`/`timeStyle` presets     |\n| Parsing arbitrary formats | yes, via dayjs                                                    | no, formats a `Date`/timestamp you already have                            |\n| Date arithmetic           | yes (`add`/`diff`/`startOf`, etc.)                                | no                                                                          |\n| Date ranges                | yes, `TimeRange` renders two `<time>` elements + separator       | yes, `TimeRange`/`formatRange` render one condensed native string         |\n| Alternate calendars/numbering systems | requires extra dayjs plugins                          | built in (`calendar`/`numberingSystem` options)                            |\n| Locale loading            | import each locale from `dayjs/locale/*`                         | none, covered by the runtime's built-in ICU data                           |\n| Browser baseline support  | n/a (bundled library)                                             | `DateTimeFormat`/`RelativeTimeFormat`/`formatRange`: widely available since 2020; `DurationFormat`: newer (Baseline since March 2025) |\n\n## API\n\n### `Time` component props\n\n| Name              | Type                                                  | Default value              | Description                                                                                                                                                                       |\n| :---------------- | :---------------------------------------------------- | :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| timestamp         | `string` &#124; `number` &#124; `Date` &#124; `Dayjs` | `new Date().toISOString()` | The timestamp to display. String values pass through to `datetime` as-is; `Date`/`Dayjs`/`number` values are normalized to ISO 8601.                                              |\n| format            | `string`                                              | `\"MMM DD, YYYY\"`           | Format for the displayed text (and the `title`, when `relative` is `true`). See the [dayjs display format](https://day.js.org/docs/en/display/format) docs.                       |\n| relative          | `boolean`                                             | `false`                    | Display the timestamp relative to now (e.g. \"4 days ago\") instead of a formatted date.                                                                                            |\n| withoutSuffix     | `boolean`                                             | `false`                    | Remove the \"ago\"/\"in\" suffix from relative time. Only applies when `relative` is `true`.                                                                                          |\n| relativeStyle     | `RelativeStyle` (`\"default\"` &#124; `\"micro\"`)        | `\"default\"`                | Render a compact single unit (e.g. `\"4d\"`) instead of the humanized string. Only applies when `relative` is `true`. See [Compact relative time](#compact-relative-time).          |\n| live              | `boolean` &#124; `number`                             | `false`                    | Keep relative time updated. `true` uses the adaptive schedule (see [Performance](#performance)); a number sets a fixed interval in ms. Only applies when `relative` is `true`.    |\n| locale            | `Locales` (TypeScript) &#124; `string`                | `\"en\"`                     | Locale used to format the timestamp. See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale) and [Internationalization](#internationalization).              |\n| tz                | `string`                                              | `undefined`                | IANA timezone (e.g. `\"America/New_York\"`) to render the timestamp in. Requires the dayjs `utc`/`timezone` plugins. See [tz prop](#tz-prop).                                       |\n| relativeThreshold | `number`                                              | `undefined`                | Switch from `relative` to the absolute `format` once the timestamp's age (ms) meets or exceeds this value. See [Auto-switch to absolute format](#auto-switch-to-absolute-format). |\n| children          | `Snippet<[string]>`                                   | `undefined`                | Custom markup rendered inside the `time` element instead of the plain formatted string; receives the formatted value as its argument. See [Custom markup](#custom-markup).        |\n\n### `svelteTime` action and `time` attachment options\n\nBoth the `svelteTime` action and the `time` attachment accept the same options as the `Time` component's props, plus:\n\n| Name  | Type                        | Default value                                   | Description                                                           |\n| :---- | :-------------------------- | :---------------------------------------------- | :-------------------------------------------------------------------- |\n| title | `string` &#124; `undefined` | formatted timestamp (when `relative` is `true`) | Override the `title` attribute; pass `undefined` to omit it entirely. |\n\n`live` accepts the same `boolean | number` on both, but the timers differ. The `svelteTime` action uses a per-node fixed interval (60 seconds by default when `true`, or a custom ms value). The `time` attachment shares the adaptive global timer with the `Time` component. Those schedules are separate. See [Performance](#performance).\n\n### Accessibility\n\nThe machine-readable `datetime` attribute is the accessible, parseable channel. The `title` tooltip isn't reachable via touch or keyboard, so don't put essential info only there; show the absolute date in text when it matters. Live text updates are not announced (`aria-live` is omitted on purpose). Minute-by-minute announcements would be hostile to screen-reader users.\n\n### `Duration` component props\n\n| Name       | Type                                                                                                                                        | Default value                                                                         |\n| :--------- | :------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------ |\n| value      | `number` &#124; `string` &#124; `object` &#124; `Duration`                                                                                  | `0` (ignored when `since` is set)                                                     |\n| unit       | `\"milliseconds\"` &#124; `\"seconds\"` &#124; `\"minutes\"` &#124; `\"hours\"` &#124; `\"days\"` &#124; `\"weeks\"` &#124; `\"months\"` &#124; `\"years\"` | `\"milliseconds\"` (only applies when `value` is a plain number)                        |\n| since      | `string` &#124; `number` &#124; `Date` &#124; `Dayjs`                                                                                       | `undefined` (see [live elapsed duration](#live-elapsed-duration-stopwatch))           |\n| format     | `string`                                                                                                                                    | `\"HH:mm:ss\"`                                                                          |\n| humanize   | `boolean`                                                                                                                                   | `false`                                                                               |\n| withSuffix | `boolean`                                                                                                                                   | `false` (only applies when `humanize` is `true`)                                      |\n| locale     | `Locales` (TypeScript) &#124; `string`                                                                                                      | `\"en\"` (See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale)) |\n| live       | `boolean` &#124; `number`                                                                                                                   | `false` (only applies when `since` is set)                                            |\n| children   | `Snippet<[string]>`                                                                                                                         | `undefined`                                                                           |\n\n### `Stopwatch` component props\n\n| Name       | Type                                                    | Default value                                                                         |\n| :--------- | :------------------------------------------------------ | :------------------------------------------------------------------------------------ |\n| since      | `string` &#124; `number` &#124; `Date` &#124; `Dayjs`    | `undefined` (captured once at mount as \"now\"); changing it resets the stopwatch       |\n| running    | `boolean`                                                | `true`; set to `false` to pause, excluding the paused interval from elapsed time      |\n| format     | `string`                                                 | `\"HH:mm:ss\"`                                                                          |\n| humanize   | `boolean`                                                | `false`                                                                               |\n| withSuffix | `boolean`                                                | `false` (only applies when `humanize` is `true`)                                      |\n| locale     | `Locales` (TypeScript) &#124; `string`                   | `\"en\"` (See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale)) |\n| live       | `boolean` &#124; `number`                                | `true` (ticks every second while `running`; pass a number for a custom fixed interval in ms) |\n| children   | `Snippet<[string, boolean]>`                             | `undefined`; receives the formatted value and the current `running` state             |\n\n### `Countdown` component props\n\n| Name       | Type                                                    | Default value                                                                         |\n| :--------- | :------------------------------------------------------ | :------------------------------------------------------------------------------------ |\n| to         | `string` &#124; `number` &#124; `Date` &#124; `Dayjs`    | (required) target instant to count down to                                            |\n| format     | `string`                                                 | `\"HH:mm:ss\"`                                                                          |\n| humanize   | `boolean`                                                | `false`                                                                               |\n| withSuffix | `boolean`                                                | `false` (only applies when `humanize` is `true`)                                      |\n| locale     | `Locales` (TypeScript) &#124; `string`                   | `\"en\"` (See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale)) |\n| live       | `boolean` &#124; `number`                                | `true` (ticks every second; pass a number for a custom fixed interval in ms)          |\n| oncomplete | `() => void`                                             | `undefined`; fires once, when the countdown reaches `to`                              |\n| children   | `Snippet<[string, boolean]>`                             | `undefined`; receives the formatted value and a `done` flag                           |\n\n### `TimeRange` component props\n\n| Name      | Type                                                   | Default value                                                                                                                                     |\n| :-------- | :------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------- |\n| start     | `string` &#124; `number` &#124; `Date` &#124; `Dayjs`   | (required) start instant                                                                                                                              |\n| end       | `string` &#124; `number` &#124; `Date` &#124; `Dayjs`   | (required) end instant                                                                                                                                |\n| format    | `string`                                                 | `\"MMM DD, YYYY\"` (applied independently to `start` and `end`)                                                                                         |\n| separator | `string`                                                 | `\" – \"`                                                                                                                                                |\n| locale    | `Locales` (TypeScript) &#124; `string`                  | `\"en\"` (See [supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale))                                                                 |\n| tz        | `string`                                                 | `undefined` (applied to both `start` and `end`; requires the dayjs `utc`/`timezone` plugins. See [tz prop](#tz-prop))                                 |\n| children  | `Snippet<[object]>`                                      | `undefined`; receives a single object with `formattedStart`, `formattedEnd`, `startDatetime`, and `endDatetime` fields. Destructure what you need. Replaces the entire default output, not just the inner text |\n\nThe `...rest` props (`SvelteHTMLElements[\"time\"]` minus `children`) are spread onto both `<time>` elements. There is no per-side rest-prop split in v1.\n\n## Examples\n\n- [examples/sveltekit](examples/sveltekit)\n- [examples/vite](examples/vite)\n- [examples/rollup](examples/rollup)\n- [examples/webpack](examples/webpack)\n\n## Changelog\n\n[CHANGELOG.md](CHANGELOG.md)\n\n## License\n\n[MIT](LICENSE)\n\n[npm]: https://img.shields.io/npm/v/svelte-time.svg?style=for-the-badge&color=%23ff3e00\n[npm-url]: https://npmjs.com/package/svelte-time\n","readmeFilename":"README.md"}