{"_id":"@bw-ui/datepicker-locale","_rev":"3-c8e9f5303a118dbf6663e08190c602e4","name":"@bw-ui/datepicker-locale","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@bw-ui/datepicker-locale","version":"1.0.0","keywords":["datepicker","locale","i18n","internationalization","localization","translation","bw-ui","calendar","plugin"],"author":{"name":"BW UI"},"license":"MIT","_id":"@bw-ui/datepicker-locale@1.0.0","maintainers":[{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"}],"homepage":"https://github.com/AmaanBilwar/bw-datepicker#readme","bugs":{"url":"https://github.com/AmaanBilwar/bw-datepicker/issues"},"dist":{"shasum":"b3d44c533666f59938dc487e24af958278f29236","tarball":"https://registry.npmjs.org/@bw-ui/datepicker-locale/-/datepicker-locale-1.0.0.tgz","fileCount":4,"integrity":"sha512-IVRovOxY6zdTda2LfsWjZgbXd8kPvmUY1yoZienS17UHZ26c7l1fMa3W+nnR1bWWQ/q8DDq2aSTA6irqsv6OVw==","signatures":[{"sig":"MEUCIGrcGnz4OH5CSLPp225aEy5snoC0dbLEIx67twGvIq0gAiEA6GaAZX5h4JfKTYI5U+6rJpCY5YZSDQBKax3EqGFMtCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39409},"main":"dist/bw-locale.min.js","types":"src/index.d.ts","module":"dist/bw-locale.esm.min.js","gitHead":"40090008e522bc7c32a5f9b9da198c7954d2874d","scripts":{"build":"node build.js"},"_npmUser":{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"},"repository":{"url":"git+https://github.com/AmaanBilwar/bw-datepicker.git","type":"git","directory":"packages/locale"},"_npmVersion":"10.9.3","description":"Locale plugin for BW DatePicker - Internationalization support with 15+ languages","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.20.0"},"peerDependencies":{"@bw-ui/datepicker":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datepicker-locale_1.0.0_1764417748143_0.022263591706354946","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bw-ui/datepicker-locale","version":"1.0.1","keywords":["datepicker","locale","i18n","internationalization","localization","translation","bw-ui","calendar","plugin"],"author":{"name":"BW UI"},"license":"MIT","_id":"@bw-ui/datepicker-locale@1.0.1","maintainers":[{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"}],"homepage":"https://github.com/bw-ui/bw-datepicker","bugs":{"url":"https://github.com/bw-ui/bw-datepicker/issues"},"dist":{"shasum":"a6b4ddbb6be775ab93330963e4a113ef9bdc89bc","tarball":"https://registry.npmjs.org/@bw-ui/datepicker-locale/-/datepicker-locale-1.0.1.tgz","fileCount":4,"integrity":"sha512-IwAUtUoT86znpDg23kvjoK+K1bcM2jROTsI1umCl9J6OJUFbG2xlYX+6CcXv6ip0tadvjCdzj2eOsqbG7ZSSNQ==","signatures":[{"sig":"MEQCIAHA26edFz9arQkE2234PpcxbIk3vdiJ78IDzqBZz6KnAiB/7FcSPuFzMVh5NRR2Kw6Xtuer19YoRFPbUqjYCZiJXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39364},"main":"dist/bw-locale.min.js","type":"module","types":"src/index.d.ts","module":"dist/bw-locale.esm.min.js","gitHead":"40090008e522bc7c32a5f9b9da198c7954d2874d","scripts":{"build":"node build.js"},"_npmUser":{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"},"repository":{"url":"git+https://github.com/bw-ui/bw-datepicker.git","type":"git"},"_npmVersion":"10.9.3","description":"Locale plugin for BW DatePicker - Internationalization support with 15+ languages","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.20.0"},"peerDependencies":{"@bw-ui/datepicker":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/datepicker-locale_1.0.1_1764418331568_0.05015858666504669","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@bw-ui/datepicker-locale","version":"1.1.1","description":"Locale plugin for BW DatePicker - Internationalization support with 15+ languages","main":"dist/bw-locale.min.js","module":"dist/bw-locale.esm.min.js","types":"src/index.d.ts","scripts":{"build":"node build.js"},"keywords":["datepicker","locale","i18n","internationalization","localization","translation","bw-ui","calendar","plugin"],"author":{"name":"BW UI"},"license":"MIT","peerDependencies":{"@bw-ui/datepicker":"^1.0.0"},"devDependencies":{"esbuild":"^0.20.0"},"repository":{"type":"git","url":"git+https://github.com/bw-ui/bw-datepicker.git"},"bugs":{"url":"https://github.com/bw-ui/bw-datepicker/issues"},"homepage":"https://github.com/bw-ui/bw-datepicker","type":"module","_id":"@bw-ui/datepicker-locale@1.1.1","gitHead":"30d8915a21fd5e442ea3830e44532446a20dfa3c","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-Wnfvz8jOCYz0LsKrMKNpW0e0uu/L8eNP5b+K1X2f3Fb9g0xP3637eccNAOBSZb0XnOEeWD3pYgpbMLRQM6JJRg==","shasum":"565b9d95eec81b1355a50d8becaf3a945a5f4375","tarball":"https://registry.npmjs.org/@bw-ui/datepicker-locale/-/datepicker-locale-1.1.1.tgz","fileCount":4,"unpackedSize":39358,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGxLvasTx3jBP5dmsuTnBCqd7XKUoltV67MskZgMwJQgAiEAl0uXbgw8PiV501Pl06bGMawieIL3gppMyXJXwxCYp60="}]},"_npmUser":{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"},"directories":{},"maintainers":[{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/datepicker-locale_1.1.1_1764510935498_0.5952186277444782"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-29T12:02:28.083Z","modified":"2025-11-30T13:55:35.886Z","1.0.0":"2025-11-29T12:02:28.360Z","1.0.1":"2025-11-29T12:12:11.734Z","1.1.1":"2025-11-30T13:55:35.692Z"},"bugs":{"url":"https://github.com/bw-ui/bw-datepicker/issues"},"author":{"name":"BW UI"},"license":"MIT","homepage":"https://github.com/bw-ui/bw-datepicker","keywords":["datepicker","locale","i18n","internationalization","localization","translation","bw-ui","calendar","plugin"],"repository":{"type":"git","url":"git+https://github.com/bw-ui/bw-datepicker.git"},"description":"Locale plugin for BW DatePicker - Internationalization support with 15+ languages","maintainers":[{"name":"rchoudhary.dev","email":"rchoudhary.dev@gmail.com"}],"readme":"# @bw-ui/datepicker-locale\n\nLocale plugin for BW DatePicker - Internationalization support with 17+ languages.\n\n![Version](https://img.shields.io/npm/v/@bw-ui/datepicker-locale)\n![License](https://img.shields.io/npm/l/@bw-ui/datepicker-locale)\n![Size](https://img.shields.io/bundlephobia/minzip/@bw-ui/datepicker-locale)\n\n[Live Demo](https://bw-ui.github.io/bw-datepicker) • [Documentation](https://www.npmjs.com/package/@bw-ui/datepicker-locale) • [Core Package](https://www.npmjs.com/package/@bw-ui/datepicker)\n\n## ✨ Features\n\n- 🌍 **17+ Languages** - Built-in presets for major languages\n- 🔤 **Intl API** - Uses native browser localization\n- ✏️ **Custom Names** - Override month/day names\n- 🔄 **Runtime Switching** - Change locale dynamically\n- 📅 **First Day of Week** - Configurable per locale\n- ↔️ **RTL Support** - Right-to-left languages\n\n## 📦 Installation\n\n```bash\nnpm install @bw-ui/datepicker @bw-ui/datepicker-locale\n```\n\n> ⚠️ **Peer Dependency:** Requires `@bw-ui/datepicker` core package\n\n## 🚀 Quick Start\n\n### ES Modules\n\n```javascript\nimport { BWDatePicker } from '@bw-ui/datepicker';\nimport { LocalePlugin } from '@bw-ui/datepicker-locale';\n\nconst picker = new BWDatePicker('#date-input', {\n  mode: 'popup'\n}).use(LocalePlugin, {\n  locale: 'fr-FR'\n});\n```\n\n### CDN\n\n```html\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@bw-ui/datepicker/dist/bw-datepicker.min.css\">\n\n<script src=\"https://unpkg.com/@bw-ui/datepicker/dist/bw-datepicker.min.js\"></script>\n<script src=\"https://unpkg.com/@bw-ui/datepicker-locale/dist/bw-locale.min.js\"></script>\n\n<script>\n  const picker = new BW.BWDatePicker('#date-input')\n    .use(BWLocale.LocalePlugin, {\n      locale: 'fr-FR'\n    });\n</script>\n```\n\n## ⚙️ Options\n\n```javascript\n.use(BWLocale.LocalePlugin, {\n  locale: 'en-US',\n  useIntl: true,\n  monthNames: null,\n  monthNamesShort: null,\n  dayNames: null,\n  dayNamesShort: null,\n  dayNamesNarrow: null,\n  firstDayOfWeek: 0,\n})\n```\n\n### Options Reference\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `locale` | `string` | `'en-US'` | BCP 47 locale code or preset name |\n| `useIntl` | `boolean` | `true` | Use browser's Intl API |\n| `monthNames` | `array\\|null` | `null` | Custom month names (12 items) |\n| `monthNamesShort` | `array\\|null` | `null` | Custom short month names |\n| `dayNames` | `array\\|null` | `null` | Custom day names (7 items, starting Sunday) |\n| `dayNamesShort` | `array\\|null` | `null` | Custom short day names |\n| `dayNamesNarrow` | `array\\|null` | `null` | Custom narrow day names (single letter) |\n| `firstDayOfWeek` | `number` | `0` | First day: `0` (Sunday) - `6` (Saturday) |\n\n## 🌍 Built-in Locales\n\n| Code | Language | First Day |\n|------|----------|-----------|\n| `en-US` | English (US) | Sunday |\n| `en-GB` | English (UK) | Monday |\n| `es-ES` | Spanish | Monday |\n| `fr-FR` | French | Monday |\n| `de-DE` | German | Monday |\n| `it-IT` | Italian | Monday |\n| `pt-BR` | Portuguese (Brazil) | Sunday |\n| `nl-NL` | Dutch | Monday |\n| `ru-RU` | Russian | Monday |\n| `ja-JP` | Japanese | Sunday |\n| `zh-CN` | Chinese (Simplified) | Monday |\n| `ko-KR` | Korean | Sunday |\n| `ar-SA` | Arabic (RTL) | Sunday |\n| `hi-IN` | Hindi | Sunday |\n| `tr-TR` | Turkish | Monday |\n| `pl-PL` | Polish | Monday |\n| `sv-SE` | Swedish | Monday |\n\n## 📖 Examples\n\n### Using Built-in Preset\n\n```javascript\n// French\n.use(BWLocale.LocalePlugin, { locale: 'fr-FR' })\n\n// German  \n.use(BWLocale.LocalePlugin, { locale: 'de-DE' })\n\n// Japanese\n.use(BWLocale.LocalePlugin, { locale: 'ja-JP' })\n\n// Arabic (with RTL)\n.use(BWLocale.LocalePlugin, { locale: 'ar-SA' })\n```\n\n### Using Intl API (Any Locale)\n\n```javascript\n// Use any BCP 47 locale code - Intl API handles it\n.use(BWLocale.LocalePlugin, { \n  locale: 'th-TH',  // Thai\n  useIntl: true \n})\n```\n\n### Custom Month/Day Names\n\n```javascript\n.use(BWLocale.LocalePlugin, {\n  locale: 'custom',\n  monthNames: [\n    'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n  ],\n  dayNamesShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n  firstDayOfWeek: 1,\n})\n```\n\n### Monday First Day of Week\n\n```javascript\n.use(BWLocale.LocalePlugin, {\n  locale: 'en-US',\n  firstDayOfWeek: 1,  // Monday\n})\n```\n\n## 🔄 Runtime Locale Switching\n\n```javascript\nconst picker = new BWDatePicker('#date-input')\n  .use(BWLocale.LocalePlugin, { locale: 'en-US' });\n\n// Get locale plugin instance\nconst locale = picker.getPlugin('locale');\n\n// Switch to French\nlocale.setLocale('fr-FR');\n\n// Switch to German\nlocale.setLocale('de-DE');\n\n// Get current locale\nconst current = locale.getLocale(); // 'de-DE'\n```\n\n## 📖 API Methods\n\n```javascript\nconst locale = picker.getPlugin('locale');\n\n// Get current locale\nlocale.getLocale();                    // 'fr-FR'\n\n// Set locale\nlocale.setLocale('de-DE');\n\n// Get month name\nlocale.getMonthName(0);                // 'January'\nlocale.getMonthName(0, 'short');       // 'Jan'\n\n// Get all month names\nlocale.getMonthNames();                // ['January', 'February', ...]\nlocale.getMonthNames('short');         // ['Jan', 'Feb', ...]\n\n// Get day name\nlocale.getDayName(0);                  // 'Sunday'\nlocale.getDayName(0, 'narrow');        // 'S'\n\n// Get all day names\nlocale.getDayNames();                  // ['Sun', 'Mon', ...]\nlocale.getDayNames('long', 1);         // Monday first: ['Monday', 'Tuesday', ...]\n\n// Format date with locale\nlocale.formatDate(new Date(), { dateStyle: 'long' });\n\n// Get relative time\nlocale.getRelativeTime(new Date());    // 'Today', 'Tomorrow', etc.\n```\n\n## 🔌 Combining with Other Plugins\n\n```javascript\nimport { BWDatePicker } from '@bw-ui/datepicker';\nimport { ThemingPlugin } from '@bw-ui/datepicker-theming';\nimport { LocalePlugin } from '@bw-ui/datepicker-locale';\nimport { AccessibilityPlugin } from '@bw-ui/datepicker-accessibility';\n\nconst picker = new BWDatePicker('#date-input')\n  .use(ThemingPlugin, { theme: 'dark' })\n  .use(LocalePlugin, { locale: 'de-DE' })\n  .use(AccessibilityPlugin);\n```\n\n## 📝 Using Presets Directly\n\n```javascript\nimport { LocalePlugin, fr_FR, de_DE } from '@bw-ui/datepicker-locale';\n\n// Use preset object\n.use(LocalePlugin, fr_FR)\n\n// Or spread and override\n.use(LocalePlugin, {\n  ...de_DE,\n  firstDayOfWeek: 0,  // Override to Sunday\n})\n```\n\n## 📁 What's Included\n\n```\ndist/\n├── bw-locale.min.js      # IIFE build (for <script>)\n└── bw-locale.esm.min.js  # ESM build (for import)\n```\n\n## 🔗 Related Packages\n\n| Package | Description |\n|---------|-------------|\n| [@bw-ui/datepicker](https://www.npmjs.com/package/@bw-ui/datepicker) | Core (required) |\n| [@bw-ui/datepicker-theming](https://www.npmjs.com/package/@bw-ui/datepicker-theming) | Dark mode |\n| [@bw-ui/datepicker-accessibility](https://www.npmjs.com/package/@bw-ui/datepicker-accessibility) | Keyboard nav |\n| [@bw-ui/datepicker-positioning](https://www.npmjs.com/package/@bw-ui/datepicker-positioning) | Auto-positioning |\n| [@bw-ui/datepicker-mobile](https://www.npmjs.com/package/@bw-ui/datepicker-mobile) | Touch support |\n| [@bw-ui/datepicker-input-handler](https://www.npmjs.com/package/@bw-ui/datepicker-input-handler) | Input masking |\n| [@bw-ui/datepicker-date-utils](https://www.npmjs.com/package/@bw-ui/datepicker-date-utils) | Date utilities |\n\n## 📄 License\n\nMIT © [BW UI](https://github.com/bw-ui)\n\n## 🐛 Issues\n\nFound a bug? [Report it here](https://github.com/bw-ui/bw-datepicker/issues)\n","readmeFilename":"README.md"}