{"_id":"@craftthingy-digital-innovation/cty-date-indo-utils","_rev":"3-e3a7992c27589cb442707aab15b1b6f2","name":"@craftthingy-digital-innovation/cty-date-indo-utils","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@craftthingy-digital-innovation/cty-date-indo-utils","version":"1.0.0","_id":"@craftthingy-digital-innovation/cty-date-indo-utils@1.0.0","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils#readme","bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils/issues"},"dist":{"shasum":"dd12cce7f3e1dc93c2f66c299989a81970849209","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-date-indo-utils/-/cty-date-indo-utils-1.0.0.tgz","fileCount":6,"integrity":"sha512-Wx/QlziYDDWiqA1Z0yl2eKiIupQYPp5QO144OBtxEENU3+/QLlPtzgNIxJRVDFCJMPyXTWfQezfo7Bo0VsFpsw==","signatures":[{"sig":"MEQCIG76fyG4NAfo4pmAzx1kkYglcsPYrvqQ9Lqt/pBLHTOdAiBQAHCuiqIse2sav/VgAKVOM25A4cWhwKjbPnUhMSsaGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15157},"main":"./dist/cty-date-indo-utils.umd.js","type":"module","module":"./dist/cty-date-indo-utils.es.js","exports":{".":{"import":"./dist/cty-date-indo-utils.es.js","require":"./dist/cty-date-indo-utils.umd.js"}},"gitHead":"7efdd5d3f086c6a45b98594892b9fd2c28536021","scripts":{"build":"vite build"},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"repository":{"url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils.git","type":"git"},"_npmVersion":"11.6.1","description":"Isomorphic Indonesian date formatting, conversions, validation, and auto-slash input masking.","directories":{},"_nodeVersion":"23.11.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cty-date-indo-utils_1.0.0_1783088098228_0.13015616594509494","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@craftthingy-digital-innovation/cty-date-indo-utils","version":"1.0.1","_id":"@craftthingy-digital-innovation/cty-date-indo-utils@1.0.1","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils#readme","bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils/issues"},"dist":{"shasum":"2be7f71de61a1c39de2da5174167ce098eb15f2a","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-date-indo-utils/-/cty-date-indo-utils-1.0.1.tgz","fileCount":6,"integrity":"sha512-WG9Nl5iPBpGFmMkH2Sm+eK94qKSCOPXRhqKwh+AaVBjOnOhcieDx/si1t+LpQxDzCgFUwHp3kaAf6MqaENFqgQ==","signatures":[{"sig":"MEQCIEge3RVGB/6Q9hw41PlJCqMlDyTfxOBnvzaA+osQxdZ9AiBWt2w/OF9HRfrJY3y8wbjS4E1Q+3cYOmFVHsTJ1UoJQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15192},"main":"./dist/cty-date-indo-utils.umd.js","type":"module","module":"./dist/cty-date-indo-utils.es.js","exports":{".":{"import":"./dist/cty-date-indo-utils.es.js","require":"./dist/cty-date-indo-utils.umd.js"}},"gitHead":"56d5145d9a51f836f8e295609491c34248bb9301","scripts":{"build":"vite build"},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"repository":{"url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils.git","type":"git"},"_npmVersion":"11.6.1","description":"Isomorphic Indonesian date formatting, conversions, validation, and auto-slash input masking.","directories":{},"_nodeVersion":"23.11.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0"},"_npmOperationalInternal":{"tmp":"tmp/cty-date-indo-utils_1.0.1_1783088206753_0.32084676491266295","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@craftthingy-digital-innovation/cty-date-indo-utils","description":"Isomorphic Indonesian date formatting, conversions, validation, and auto-slash input masking.","version":"1.0.2","license":"SEE LICENSE IN LICENSE","type":"module","repository":{"type":"git","url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils.git"},"bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils/issues"},"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils#readme","main":"./dist/cty-date-indo-utils.umd.js","module":"./dist/cty-date-indo-utils.es.js","exports":{".":{"import":"./dist/cty-date-indo-utils.es.js","require":"./dist/cty-date-indo-utils.umd.js"}},"scripts":{"build":"vite build"},"publishConfig":{"access":"public"},"dependencies":{},"devDependencies":{"vite":"^5.2.0"},"_id":"@craftthingy-digital-innovation/cty-date-indo-utils@1.0.2","gitHead":"11c6e21453633f898f46759b0eb424cc4444b520","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-IfqTnQSPrYkKBdljnN8cPTU6IXoGArrXFoTXN2xUCqCY0atwnORfgw0RgTNMIpCYBglryV+8NYcs1pJ9/K0fiA==","shasum":"9b1f343066a83b2b9de0e7af7f07585c150abbf2","tarball":"https://registry.npmjs.org/@craftthingy-digital-innovation/cty-date-indo-utils/-/cty-date-indo-utils-1.0.2.tgz","fileCount":6,"unpackedSize":15195,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBIbqvyGzo2tqNFHKMEcy2xTIPoNs931gXt+r7uxNXUYAiAg7bBQMFkbXRpW22t1wgeJs0k0W3dPRSTfp67D2lM43w=="}]},"_npmUser":{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"},"directories":{},"maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cty-date-indo-utils_1.0.2_1783146781752_0.7515340160586874"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-03T14:14:58.071Z","modified":"2026-07-04T06:33:02.029Z","1.0.0":"2026-07-03T14:14:58.362Z","1.0.1":"2026-07-03T14:16:46.899Z","1.0.2":"2026-07-04T06:33:01.893Z"},"bugs":{"url":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils/issues"},"homepage":"https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils#readme","repository":{"type":"git","url":"git+https://github.com/CraftThingy-Digital-Innovation/cty-date-indo-utils.git"},"description":"Isomorphic Indonesian date formatting, conversions, validation, and auto-slash input masking.","maintainers":[{"name":"killerking69","email":"alifnurhidayatwork@gmail.com"}],"readme":"# @craftthingy-digital-innovation/cty-date-indo-utils-web\n\nBilingual documentation: [Bahasa Indonesia](#bahasa-indonesia) | [English](#english)\n\n---\n\n## Bahasa Indonesia\n\nLibrary client-side Javascript untuk memformat tanggal Indonesia (`DD/MM/YYYY`), mengubah ke format database (`YYYY-MM-DD`), memvalidasi tanggal kalender secara akurat (termasuk tahun kabisat), serta melakukan pembatasan input teks keyboard (date masking \"HH/BB/TTTT\").\n\nSangat berguna untuk standarisasi format tanggal Indonesia di berbagai form input aplikasi web Anda.\n\n### Instalasi\n```bash\nnpm install @craftthingy-digital-innovation/cty-date-indo-utils-web\n```\n\n### Cara Penggunaan\n```javascript\nimport { \n  formatDateIndo, \n  convertDateToDb, \n  maskDateInput, \n  isValidDateIndo \n} from '@craftthingy-digital-innovation/cty-date-indo-utils-web';\n\n// 1. Ubah database YYYY-MM-DD ke Indonesia DD/MM/YYYY\nformatDateIndo('2026-07-03'); // Output: '03/07/2026'\n\n// 2. Ubah database ke format tanggal lisan (Long Format)\nformatDateIndo('2026-07-03', true); // Output: '03 Juli 2026'\n\n// 3. Ubah input Indonesia DD/MM/YYYY kembali ke format database YYYY-MM-DD\nconvertDateToDb('03/07/2026'); // Output: '2026-07-03'\n\n// 4. Validasi kebenaran kalender tanggal Indonesia (termasuk kabisat)\nisValidDateIndo('29/02/2026'); // Output: false (2026 bukan tahun kabisat)\nisValidDateIndo('29/02/2024'); // Output: true (2024 adalah tahun kabisat)\n\n// 5. Pasang pembatas karakter ketik otomatis (Date Input Masking) pada input HTML\nconst myDateInput = document.getElementById('tanggal-lahir');\nmaskDateInput(myDateInput); // Otomatis menambahkan \"/\" saat diketik & hanya menerima angka\n```\n\n---\n\n## English\n\nA client-side JavaScript utility to format Indonesian dates (`DD/MM/YYYY`), convert them back to database formats (`YYYY-MM-DD`), validate calendar dates precisely (including leap years), and restrict text inputs (date masking \"DD/MM/YYYY\").\n\nPerfect for standardizing Indonesian date entries across your web applications.\n\n### Installation\n```bash\nnpm install @craftthingy-digital-innovation/cty-date-indo-utils-web\n```\n\n### Usage\n```javascript\nimport { \n  formatDateIndo, \n  convertDateToDb, \n  maskDateInput, \n  isValidDateIndo \n} from '@craftthingy-digital-innovation/cty-date-indo-utils-web';\n\n// 1. Format database YYYY-MM-DD to Indonesian DD/MM/YYYY\nformatDateIndo('2026-07-03'); // Returns: '03/07/2026'\n\n// 2. Format to verbose/long format name\nformatDateIndo('2026-07-03', true); // Returns: '03 Juli 2026'\n\n// 3. Convert Indonesian entry back to YYYY-MM-DD database format\nconvertDateToDb('03/07/2026'); // Returns: '2026-07-03'\n\n// 4. Validate calendar dates (handles leap years)\nisValidDateIndo('29/02/2026'); // Returns: false (2026 is not a leap year)\nisValidDateIndo('29/02/2024'); // Returns: true (2024 is a leap year)\n\n// 5. Restrict typing input with auto-slash masking\nconst myDateInput = document.getElementById('birthdate');\nmaskDateInput(myDateInput); // Restricts to numbers and inserts \"/\" automatically\n```\n","readmeFilename":"README.md","license":"SEE LICENSE IN LICENSE"}