ngxsmk-datepicker 2.4.0-beta.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -97
- package/package.json +106 -113
- package/schematics/tsconfig.json +17 -0
- package/CHANGELOG.md +0 -1318
- package/LICENSE +0 -21
- package/MIGRATION.md +0 -1818
- package/fesm2022/ngxsmk-datepicker.mjs +0 -15166
- package/schematics/ng-add/index.js +0 -67
- package/types/ngxsmk-datepicker.d.ts +0 -2644
package/README.md
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
### _The Gold Standard for Premium Angular Calendar Selection_
|
|
12
12
|
|
|
13
13
|
[](https://www.npmjs.com/package/ngxsmk-datepicker)
|
|
14
|
-
[](https://github.com/NGXSMK/ngxsmk-datepicker/actions/workflows/ci.yml)
|
|
15
14
|
[](https://angular.io/)
|
|
16
15
|
[](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/LICENSE)
|
|
17
16
|
[](https://buymeacoffee.com/toozuuu)
|
|
@@ -20,9 +19,7 @@
|
|
|
20
19
|
|
|
21
20
|
**`npm i ngxsmk-datepicker`**
|
|
22
21
|
|
|
23
|
-
[Live
|
|
24
|
-
|
|
25
|
-
*StackBlitz:* after it boots, run `npm install` then `npm start` in the terminal to serve the demo app (`demo-app`).
|
|
22
|
+
[Explore Live Demo](https://ngxsmk.github.io/ngxsmk-datepicker/) • [Buy me a coffee](https://buymeacoffee.com/toozuuu) • [API Documentation](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/projects/ngxsmk-datepicker/docs/API.md) • [Submit Issue](https://github.com/NGXSMK/ngxsmk-datepicker/issues)
|
|
26
23
|
|
|
27
24
|
</div>
|
|
28
25
|
|
|
@@ -44,16 +41,14 @@
|
|
|
44
41
|
|
|
45
42
|
1. [📷 Screenshots](#-screenshots)
|
|
46
43
|
2. [✨ Features](#-features)
|
|
47
|
-
3. [
|
|
48
|
-
4. [
|
|
49
|
-
5. [
|
|
50
|
-
6. [
|
|
51
|
-
7. [
|
|
52
|
-
8. [
|
|
53
|
-
9. [
|
|
54
|
-
10. [
|
|
55
|
-
11. [🎨 Theming](#-theming)
|
|
56
|
-
12. [⌨️ Keyboard Navigation](#-keyboard-navigation)
|
|
44
|
+
3. [📋 Compatibility](#-compatibility)
|
|
45
|
+
4. [🌍 Localization (i18n)](#-localization-i18n)
|
|
46
|
+
5. [📦 Installation](#-installation)
|
|
47
|
+
6. [🚀 Quick Start](#-quick-start)
|
|
48
|
+
7. [🔌 Framework Integration](#-framework-integration)
|
|
49
|
+
8. [⚙️ API Reference](#-api-reference)
|
|
50
|
+
9. [🎨 Theming](#-theming)
|
|
51
|
+
10. [⌨️ Keyboard Navigation](#-keyboard-navigation)
|
|
57
52
|
|
|
58
53
|
---
|
|
59
54
|
|
|
@@ -72,43 +67,37 @@
|
|
|
72
67
|
- 💎 **Signal-Driven Engine**: Hyper-reactive state management using Angular Signals.
|
|
73
68
|
- 🌓 **Native Dark Mode**: Beautifully crafted themes for light and dark environments.
|
|
74
69
|
- 📱 **Mobile-First UX**: Native mobile picker integration with touch gestures and haptic feedback.
|
|
75
|
-
- 🧩 **
|
|
70
|
+
- 🧩 **Zero Dependencies**: Lightweight standalone component with no external bloat.
|
|
76
71
|
- ⚡ **Performance++**: Lazy-loaded calendar months, memoized calculations, and tree-shakable architecture.
|
|
77
72
|
|
|
78
73
|
### **Advanced Functionality**
|
|
79
74
|
|
|
80
75
|
- 📅 **Google Calendar Sync**: Built-in support for seamlessly syncing and displaying events natively from Google Calendar.
|
|
81
76
|
- 🌐 **8-Language i18n**: Full localization for `en`, `de`, `es`, `sv`, `ko`, `zh`, `ja`, and `fr`.
|
|
82
|
-
- 🔢 **ISO Week Numbers**: Optional week-number column via `[showWeekNumbers]`.
|
|
83
|
-
- ⌨️ **Guided Input Masking**: `[inputMask]` auto-inserts separators as users type (e.g. `12` → `12/`).
|
|
84
|
-
- 🌍 **Secondary Calendars**: Annotate day cells with Hijri, Jalali, Hebrew, Buddhist, or Japanese dates via `[secondaryCalendar]`.
|
|
85
|
-
- 🏨 **Availability Calendars**: Per-day prices, indicator dots, and classes via `[dayMetadata]`; server-driven blocked dates via `[asyncDateFilter]`.
|
|
86
|
-
- 🎛️ **Custom Action Bars**: `[calendarHeaderTemplate]` / `[calendarFooterTemplate]` slots with `clear()`/`close()` actions.
|
|
87
77
|
- 🛠️ **Plugin Architecture**: Extend functionality via hooks for rendering, validation, and shortcuts.
|
|
88
78
|
- 🧪 **Signal Forms Native**: Direct integration with Angular 21's new Signal Forms API.
|
|
89
79
|
- 🚀 **Zoneless Ready**: Optimized for the future of Angular—works perfectly without zone.js.
|
|
90
80
|
- ♿ **Full Accessibility**: WAI-ARIA compliant with extensive keyboard navigation support.
|
|
91
81
|
|
|
92
|
-
## Why
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
| |
|
|
97
|
-
|
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
**Security:** report sensitive issues per [SECURITY.md](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/SECURITY.md), not via public issues.
|
|
82
|
+
## **⚖️ Why ngxsmk-datepicker? (Comparison)**
|
|
83
|
+
|
|
84
|
+
| Capability | **ngxsmk-datepicker** | @angular/material | ngx-bootstrap | ng-pick-datetime |
|
|
85
|
+
| --- | :---: | :---: | :---: | :---: |
|
|
86
|
+
| Standalone / no NgModule | ✅ | ✅ | ⚠️ | ❌ |
|
|
87
|
+
| Signals & Zoneless-ready | ✅ | ⚠️ | ❌ | ❌ |
|
|
88
|
+
| SSR / Angular Universal | ✅ | ✅ | ⚠️ | ❌ |
|
|
89
|
+
| Date **range** picker | ✅ | ✅ | ✅ | ✅ |
|
|
90
|
+
| Multiple / week / month / quarter / year modes | ✅ | ❌ | ❌ | ❌ |
|
|
91
|
+
| Time & timezone-aware selection | ✅ | ❌ | ⚠️ | ✅ |
|
|
92
|
+
| Natural-language input ("next friday") | ✅ | ❌ | ❌ | ❌ |
|
|
93
|
+
| Dual-range **comparison** highlight | ✅ | ❌ | ❌ | ❌ |
|
|
94
|
+
| Built-in i18n (8 languages) + RTL | ✅ | ⚠️ | ⚠️ | ⚠️ |
|
|
95
|
+
| React / Vue / Web-Component wrappers | ✅ | ❌ | ❌ | ❌ |
|
|
96
|
+
| Zero peer-dep bloat (only Luxon) | ✅ | ⚠️ | ⚠️ | ⚠️ |
|
|
97
|
+
| Actively maintained (Angular 17–21+) | ✅ | ✅ | ⚠️ | ❌ |
|
|
98
|
+
|
|
99
|
+
<sub>✅ first-class · ⚠️ partial / extra setup · ❌ not available. Comparison reflects each library's
|
|
100
|
+
publicly documented features at the time of writing; corrections welcome via PR.</sub>
|
|
112
101
|
|
|
113
102
|
## **📋 Compatibility**
|
|
114
103
|
|
|
@@ -168,36 +157,21 @@ Features marked as experimental may change:
|
|
|
168
157
|
|
|
169
158
|
For details, see [CONTRIBUTING.md](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/CONTRIBUTING.md#deprecation-policy).
|
|
170
159
|
|
|
171
|
-
##
|
|
172
|
-
|
|
173
|
-
```bash
|
|
174
|
-
ng add ngxsmk-datepicker
|
|
175
|
-
```
|
|
160
|
+
## **🚀 Installation**
|
|
176
161
|
|
|
177
|
-
|
|
162
|
+
Install the package using npm:
|
|
178
163
|
|
|
179
164
|
```bash
|
|
180
|
-
npm install ngxsmk-datepicker@
|
|
165
|
+
npm install ngxsmk-datepicker@latest
|
|
181
166
|
```
|
|
182
167
|
|
|
183
168
|
### Alternative installation
|
|
184
169
|
|
|
185
|
-
You can install without npm using
|
|
186
|
-
|
|
187
|
-
| Method | Command |
|
|
188
|
-
|--------|--------|
|
|
189
|
-
| **Yarn** | `yarn add ngxsmk-datepicker@2.4.0` |
|
|
190
|
-
| **pnpm** | `pnpm add ngxsmk-datepicker@2.4.0` |
|
|
191
|
-
| **Bun** | `bun add ngxsmk-datepicker@2.4.0` |
|
|
192
|
-
| **From Git** | `npm install github:NGXSMK/ngxsmk-datepicker#v2.4.0` (requires the repo to have built output or you build from source) |
|
|
193
|
-
| **Local path** | Build the library in the repo (`npx ng build ngxsmk-datepicker`), then `npm install /path/to/ngxsmk-datepicker/dist/ngxsmk-datepicker` |
|
|
194
|
-
| **CDN (ESM)** | Use [unpkg](https://unpkg.com/ngxsmk-datepicker@2.4.0/) or [jsDelivr](https://cdn.jsdelivr.net/npm/ngxsmk-datepicker@2.4.0/) in your bundler or import map; peer dependencies (Angular, etc.) must be installed in your app. |
|
|
195
|
-
|
|
196
|
-
For all options and caveats, see [docs/INSTALLATION.md](docs/INSTALLATION.md).
|
|
170
|
+
You can install without npm using Yarn, pnpm, Bun, from Git, a local path, or via CDN (ESM). Peer dependencies must still be installed in your app. For all options and caveats, see [INSTALLATION.md](../../docs/INSTALLATION.md) in the repo root.
|
|
197
171
|
|
|
198
172
|
## **Usage**
|
|
199
173
|
|
|
200
|
-
ngxsmk-datepicker is a standalone component, so you can import it directly into your component or module.
|
|
174
|
+
ngxsmk-datepicker is a standalone component, so you can import it directly into your component or module. If you see **NG1010** (`'imports' must be an array... Value could not be determined statically`) when using the Angular compiler plugin or in strict AOT builds, use `NgxsmkDatepickerModule` in your `imports` array instead of `NgxsmkDatepickerComponent` (same template: `<ngxsmk-datepicker>`).
|
|
201
175
|
|
|
202
176
|
### Signal Forms (Angular 21)
|
|
203
177
|
|
|
@@ -267,7 +241,7 @@ For detailed Signal Forms integration including dirty state tracking, see the [S
|
|
|
267
241
|
|
|
268
242
|
#### **1. Import the Component**
|
|
269
243
|
|
|
270
|
-
|
|
244
|
+
In your component file (e.g., app.component.ts), import NgxsmkDatepickerComponent.
|
|
271
245
|
|
|
272
246
|
import { Component } from '@angular/core';
|
|
273
247
|
import { NgxsmkDatepickerComponent, DateRange, HolidayProvider } from 'ngxsmk-datepicker';
|
|
@@ -297,8 +271,6 @@ All public exports (component, utilities, types, services) come from the main pa
|
|
|
297
271
|
}
|
|
298
272
|
}
|
|
299
273
|
|
|
300
|
-
**If you see NG1010** (`'imports' must be an array... Value could not be determined statically`) when using the Angular compiler plugin or in strict AOT builds, use the wrapper module instead: `import { NgxsmkDatepickerModule } from 'ngxsmk-datepicker'` and set `imports: [NgxsmkDatepickerModule]`. The template stays the same (`<ngxsmk-datepicker>`).
|
|
301
|
-
|
|
302
274
|
#### **2. Add it to Your Template**
|
|
303
275
|
|
|
304
276
|
Use the `<ngxsmk-datepicker>` selector in your HTML template.
|
|
@@ -379,7 +351,7 @@ export class MaterialFormComponent {
|
|
|
379
351
|
}
|
|
380
352
|
```
|
|
381
353
|
|
|
382
|
-
**Non-Standalone (NgModules):** Add the directive file from [INTEGRATION.md § Angular Material](
|
|
354
|
+
**Non-Standalone (NgModules):** Add the directive file from [INTEGRATION.md § Angular Material](docs/INTEGRATION.md#angular-material), then add it to your module `imports` (with `NgxsmkDatepickerComponent`, `MatFormFieldModule`, etc.) and use `ngxsmkMatFormFieldControl` on the datepicker in templates.
|
|
383
355
|
|
|
384
356
|
**With Date Range:**
|
|
385
357
|
|
|
@@ -398,9 +370,6 @@ For best integration with Ionic, import the integration styles in your global CS
|
|
|
398
370
|
@import "ngxsmk-datepicker/styles/ionic-integration.css";
|
|
399
371
|
```
|
|
400
372
|
|
|
401
|
-
**Automatic Theming:**
|
|
402
|
-
The datepicker automatically detects and uses Ionic CSS variables (e.g., `--ion-color-primary`, `--ion-background-color`) so it matches your app's theme out of the box without extra configuration.
|
|
403
|
-
|
|
404
373
|
Works seamlessly with Ionic form components and follows Ionic design patterns:
|
|
405
374
|
|
|
406
375
|
```typescript
|
|
@@ -573,14 +542,6 @@ By default, the datepicker input is `readonly` to prevent invalid date strings a
|
|
|
573
542
|
| rangePresetFactory | (today: Date) => DatePreset[] | null | Callback function supplying dynamic rolling range presets. |
|
|
574
543
|
| showTimezoneSelector | boolean | false | Enables searchable IANA timezone selection dropdown UI. |
|
|
575
544
|
| enableNaturalLanguage | boolean | false | Enables manual relative keyboard typing input (e.g. "today", "in 3 days"). |
|
|
576
|
-
| showWeekNumbers | boolean | false | Shows an ISO 8601 week-number column on the left of the day grid. |
|
|
577
|
-
| weekNumberLabel | string | 'Wk' | Header label for the week-number column (e.g. "KW", "S"). |
|
|
578
|
-
| inputMask | boolean \| string | false | Guided input masking while typing: `true` uses `displayFormat` (or MM/DD/YYYY); a string (e.g. `'DD.MM.YYYY'`) sets an explicit pattern. Requires `allowTyping`. |
|
|
579
|
-
| asyncDateFilter | (start: Date, end: Date) => Promise<DateInput[]> | null | Server-driven disabled dates: called with the visible range on every navigation; resolved dates are disabled. Stale responses are discarded. |
|
|
580
|
-
| secondaryCalendar | 'islamic' \| 'persian' \| 'hebrew' \| 'buddhist' \| 'japanese' | null | Annotates each day cell with its date in a second calendar system (rendered via Intl; the grid stays Gregorian). |
|
|
581
|
-
| dayMetadata | (date: Date) => DayMetadata | null | Per-day decorations without templates: label under the day number (e.g. a price), indicator dot color, extra CSS classes, tooltip. |
|
|
582
|
-
| calendarHeaderTemplate | TemplateRef | null | Custom content at the top of the popover/inline calendar. Context: `let-actions` → `{ clear(), close() }`. |
|
|
583
|
-
| calendarFooterTemplate | TemplateRef | null | Replaces the default Clear/Close footer with custom actions. Context: `let-actions` → `{ clear(), close() }`. |
|
|
584
545
|
|
|
585
546
|
### **Outputs**
|
|
586
547
|
|
|
@@ -592,8 +553,6 @@ By default, the datepicker input is `readonly` to prevent invalid date strings a
|
|
|
592
553
|
| invalidRange | { start: Date; end: Date; disabledDatesInside: Date[] } | Emitted when selected date range contains disabled dates. |
|
|
593
554
|
| naturalLanguageResolved | Date \| { start: Date; end: Date } | Emitted when user types relative natural language date input. |
|
|
594
555
|
| timezoneChange | string | Emitted when timezone selection is changed. |
|
|
595
|
-
| asyncDateFilterLoading | boolean | Emits true while an `asyncDateFilter` request is in flight, false when it settles. |
|
|
596
|
-
| asyncDateFilterError | unknown | Emitted when `asyncDateFilter` rejects; the previous disabled set is kept. |
|
|
597
556
|
|
|
598
557
|
## **🎨 Theming**
|
|
599
558
|
|
|
@@ -661,14 +620,14 @@ The `locale` input controls all internationalization. It automatically formats m
|
|
|
661
620
|
|
|
662
621
|
ngxsmk-datepicker v2.4.0+ now features **full localization synchronization** for:
|
|
663
622
|
|
|
664
|
-
-
|
|
665
|
-
-
|
|
666
|
-
-
|
|
667
|
-
-
|
|
623
|
+
- 🇺🇸 English (`en`)
|
|
624
|
+
- 🇩🇪 German (`de`)
|
|
625
|
+
- 🇫🇷 French (`fr`)
|
|
626
|
+
- 🇪🇸 Spanish (`es`)
|
|
668
627
|
- 🇸🇪 Swedish (`sv`)
|
|
669
|
-
-
|
|
670
|
-
-
|
|
671
|
-
-
|
|
628
|
+
- 🇰🇷 Korean (`ko`)
|
|
629
|
+
- 🇨🇳 Chinese (`zh`)
|
|
630
|
+
- 🇯🇵 Japanese (`ja`)
|
|
672
631
|
|
|
673
632
|
### **Usage Example**
|
|
674
633
|
|
|
@@ -733,7 +692,7 @@ const myHooks: DatepickerHooks = {
|
|
|
733
692
|
<ngxsmk-datepicker [hooks]="myHooks" [customShortcuts]="shortcuts" mode="single"> </ngxsmk-datepicker>
|
|
734
693
|
```
|
|
735
694
|
|
|
736
|
-
All date cells are keyboard accessible with proper ARIA attributes for screen readers.
|
|
695
|
+
All date cells are keyboard accessible with proper ARIA attributes for screen readers.
|
|
737
696
|
|
|
738
697
|
See [Extension Points Guide](./projects/ngxsmk-datepicker/docs/extension-points.md) for detailed customization options.
|
|
739
698
|
|
|
@@ -758,14 +717,11 @@ This library has been optimized for maximum performance:
|
|
|
758
717
|
- ✅ **Date Validation**: Fixed "Today" unselectable bug by normalizing `minDate` boundary checks.
|
|
759
718
|
- ✅ **Keyboard Shortcuts**: Updated "Today" selection shortcut to use timezone-aware calculation.
|
|
760
719
|
- ✅ **Validation messages**: User-facing i18n strings for invalid date, min/max; `validationError` output and on-screen error display
|
|
761
|
-
- ✅ **
|
|
762
|
-
- ✅ **
|
|
763
|
-
- ✅ **
|
|
764
|
-
- ✅ **
|
|
765
|
-
- ✅ **
|
|
766
|
-
- ✅ **Performance**: Optimized template bindings with memoized functions
|
|
767
|
-
- ✅ **Accessibility**: Better focus states and keyboard navigation
|
|
768
|
-
- ✅ **Build System**: Improved build configuration and optimization
|
|
720
|
+
- ✅ **Calendar loading state**: Visual spinner + text and screen-reader announcement while calendar opens/generates
|
|
721
|
+
- ✅ **Demo theme**: Light/dark theme toggle and system preference now correctly switch the demo UI
|
|
722
|
+
- ✅ **Installation options**: Full install guide (npm, Yarn, pnpm, Bun, Git, CDN, etc.) and demo page updates
|
|
723
|
+
- ✅ **Accessibility**: Loading state announced via live region; validation errors exposed for a11y
|
|
724
|
+
- ✅ **Type Safety**: New translation keys and strictly typed inputs/outputs
|
|
769
725
|
|
|
770
726
|
### **Performance Enhancements:**
|
|
771
727
|
|
|
@@ -919,9 +875,13 @@ We welcome and appreciate contributions from the community! Whether it's reporti
|
|
|
919
875
|
|
|
920
876
|
## **📄 Changelog**
|
|
921
877
|
|
|
922
|
-
|
|
878
|
+
For a full list of changes, please refer to the [CHANGELOG.md](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/CHANGELOG.md) file.
|
|
879
|
+
|
|
880
|
+
### **v2.4.0** (Current Stable)`r`n`r`n- **npm**: Published tarballs include compiled `fesm2022/` output and type declarations.
|
|
923
881
|
|
|
924
|
-
|
|
882
|
+
### **Earlier Versions**
|
|
883
|
+
|
|
884
|
+
For older version details, please refer to the [full CHANGELOG.md](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/CHANGELOG.md).
|
|
925
885
|
|
|
926
886
|
## **🎨 Theming with TokiForge**
|
|
927
887
|
|
|
@@ -929,6 +889,11 @@ Looking for a powerful theming solution for your Angular application? Check out
|
|
|
929
889
|
|
|
930
890
|
### Why TokiForge?
|
|
931
891
|
|
|
892
|
+
- ✅ **Framework-agnostic** — Works with Angular, React, Vue, Svelte, and vanilla JS
|
|
893
|
+
- ✅ **Runtime theme switching** — Change themes dynamically without rebuilds
|
|
894
|
+
- ✅ **Type-safe** — Full TypeScript support for design tokens
|
|
895
|
+
- ✅ **Lightweight** — <3 KB gzipped runtime footprint
|
|
896
|
+
- ✅ **CSS custom properties** — Zero JS overhead in static mode
|
|
932
897
|
- ✅ **SSR compatible** — Works seamlessly with Angular Universal
|
|
933
898
|
|
|
934
899
|
Perfect for managing design tokens, creating theme systems, and implementing dark mode in your Angular applications!
|
|
@@ -941,9 +906,19 @@ Perfect for managing design tokens, creating theme systems, and implementing dar
|
|
|
941
906
|
|
|
942
907
|
MIT License - see [LICENSE](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/LICENSE) file for details.
|
|
943
908
|
|
|
944
|
-
## **🔍 SEO
|
|
909
|
+
## **🔍 SEO & Discoverability**
|
|
910
|
+
|
|
911
|
+
This library is optimized for search engine visibility, especially for European markets:
|
|
945
912
|
|
|
946
|
-
|
|
913
|
+
- **Keywords**: Angular datepicker, date range picker, calendar component, Angular 17-21, TypeScript, Signal Forms, SSR compatible
|
|
914
|
+
- **European SEO**: Optimized for Germany, France, Spain, Italy, Netherlands, Poland, Portugal, Sweden, Norway, Finland, Denmark, Belgium, Switzerland, Austria, and United Kingdom
|
|
915
|
+
- **Multi-language Support**: hreflang tags for 15+ European languages and locales
|
|
916
|
+
- **European Geo-targeting**: Geo tags and structured data optimized for European Union countries
|
|
917
|
+
- **Meta Tags**: Comprehensive Open Graph and Twitter Card support with European locale alternates
|
|
918
|
+
- **Structured Data**: JSON-LD schema markup with European audience targeting and area served information
|
|
919
|
+
- **Documentation**: Complete API documentation with examples
|
|
920
|
+
- **Performance**: Optimized bundle size (~127KB) for fast loading
|
|
921
|
+
- **European Localization**: Full i18n support for European date formats, week start days, and regional preferences
|
|
947
922
|
|
|
948
923
|
## **👨💻 Author**
|
|
949
924
|
|
package/package.json
CHANGED
|
@@ -1,113 +1,106 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "ngxsmk-datepicker",
|
|
3
|
-
"version": "2.4.0
|
|
4
|
-
"description": "Lightweight, accessible date and range picker for Angular 17+. Standalone component, Signals, SSR and zoneless-ready, Luxon-based i18n and timezones.",
|
|
5
|
-
"author": {
|
|
6
|
-
"name": "Sachin Dilshan",
|
|
7
|
-
"url": "https://www.sachindilshan.com/"
|
|
8
|
-
},
|
|
9
|
-
"peerDependencies": {
|
|
10
|
-
"@angular/common": ">=17.0.0 <24.0.0",
|
|
11
|
-
"@angular/core": ">=17.0.0 <24.0.0",
|
|
12
|
-
"@angular/forms": ">=17.0.0 <24.0.0",
|
|
13
|
-
"luxon": "^3.0.0"
|
|
14
|
-
},
|
|
15
|
-
"peerDependenciesMeta": {
|
|
16
|
-
"zone.js": {
|
|
17
|
-
"optional": true
|
|
18
|
-
},
|
|
19
|
-
"@angular/material": {
|
|
20
|
-
"optional": true
|
|
21
|
-
},
|
|
22
|
-
"@angular/cdk": {
|
|
23
|
-
"optional": true
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"dependencies": {
|
|
27
|
-
"tslib": "^2.3.0"
|
|
28
|
-
},
|
|
29
|
-
"main": "fesm2022/ngxsmk-datepicker.mjs",
|
|
30
|
-
"module": "fesm2022/ngxsmk-datepicker.mjs",
|
|
31
|
-
"es2022": "fesm2022/ngxsmk-datepicker.mjs",
|
|
32
|
-
"types": "types/ngxsmk-datepicker.d.ts",
|
|
33
|
-
"typings": "types/ngxsmk-datepicker.d.ts",
|
|
34
|
-
"homepage": "https://github.com/NGXSMK/ngxsmk-datepicker#readme",
|
|
35
|
-
"repository": {
|
|
36
|
-
"type": "git",
|
|
37
|
-
"url": "git+https://github.com/NGXSMK/ngxsmk-datepicker.git"
|
|
38
|
-
},
|
|
39
|
-
"bugs": {
|
|
40
|
-
"url": "https://github.com/NGXSMK/ngxsmk-datepicker/issues"
|
|
41
|
-
},
|
|
42
|
-
"sideEffects": false,
|
|
43
|
-
"schematics": "./schematics/collection.json",
|
|
44
|
-
"ng-add": {
|
|
45
|
-
"save": "dependencies"
|
|
46
|
-
},
|
|
47
|
-
"files": [
|
|
48
|
-
"schematics/**/*.js",
|
|
49
|
-
"schematics/**/*.json",
|
|
50
|
-
"fesm2022/**/*.mjs",
|
|
51
|
-
"**/*.d.ts",
|
|
52
|
-
"**/*.metadata.json",
|
|
53
|
-
"README.md",
|
|
54
|
-
"LICENSE",
|
|
55
|
-
"CHANGELOG.md",
|
|
56
|
-
"MIGRATION.md",
|
|
57
|
-
"docs/*.md",
|
|
58
|
-
"!docs/REFACTOR_PLAN.md",
|
|
59
|
-
"!docs/FEATURE_SCOPING.md",
|
|
60
|
-
"!docs/IONIC_TESTING.md",
|
|
61
|
-
"!docs/**/*.png",
|
|
62
|
-
"!docs/**/*.jpg",
|
|
63
|
-
"!docs/**/*.gif",
|
|
64
|
-
"styles/**/*.css"
|
|
65
|
-
],
|
|
66
|
-
"keywords": [
|
|
67
|
-
"angular",
|
|
68
|
-
"datepicker",
|
|
69
|
-
"date-range-picker",
|
|
70
|
-
"calendar",
|
|
71
|
-
"standalone-component",
|
|
72
|
-
"reactive-forms",
|
|
73
|
-
"luxon",
|
|
74
|
-
"angular-17",
|
|
75
|
-
"angular-18",
|
|
76
|
-
"angular-19",
|
|
77
|
-
"angular-20",
|
|
78
|
-
"angular-21",
|
|
79
|
-
"angular-22",
|
|
80
|
-
"angular-23",
|
|
81
|
-
"typescript",
|
|
82
|
-
"date-selection",
|
|
83
|
-
"i18n",
|
|
84
|
-
"localization",
|
|
85
|
-
"ssr",
|
|
86
|
-
"angular-universal",
|
|
87
|
-
"zoneless",
|
|
88
|
-
"accessibility",
|
|
89
|
-
"a11y"
|
|
90
|
-
],
|
|
91
|
-
"optimization": {
|
|
92
|
-
"treeShaking": true,
|
|
93
|
-
"sideEffects": false,
|
|
94
|
-
"usedExports": true
|
|
95
|
-
},
|
|
96
|
-
"engines": {
|
|
97
|
-
"node": ">=20.19.0 || >=22.12.0",
|
|
98
|
-
"npm": ">=10.0.0"
|
|
99
|
-
},
|
|
100
|
-
"prepublishOnly": "node ../../scripts/assert-lib-publish-artifacts.cjs",
|
|
101
|
-
"exports": {
|
|
102
|
-
"./styles/*": {
|
|
103
|
-
"default": "./styles/*"
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
".": {
|
|
109
|
-
"types": "./types/ngxsmk-datepicker.d.ts",
|
|
110
|
-
"default": "./fesm2022/ngxsmk-datepicker.mjs"
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "ngxsmk-datepicker",
|
|
3
|
+
"version": "2.4.0",
|
|
4
|
+
"description": "Lightweight, accessible date and range picker for Angular 17+. Standalone component, Signals, SSR and zoneless-ready, Luxon-based i18n and timezones.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Sachin Dilshan",
|
|
7
|
+
"url": "https://www.sachindilshan.com/"
|
|
8
|
+
},
|
|
9
|
+
"peerDependencies": {
|
|
10
|
+
"@angular/common": ">=17.0.0 <24.0.0",
|
|
11
|
+
"@angular/core": ">=17.0.0 <24.0.0",
|
|
12
|
+
"@angular/forms": ">=17.0.0 <24.0.0",
|
|
13
|
+
"luxon": "^3.0.0"
|
|
14
|
+
},
|
|
15
|
+
"peerDependenciesMeta": {
|
|
16
|
+
"zone.js": {
|
|
17
|
+
"optional": true
|
|
18
|
+
},
|
|
19
|
+
"@angular/material": {
|
|
20
|
+
"optional": true
|
|
21
|
+
},
|
|
22
|
+
"@angular/cdk": {
|
|
23
|
+
"optional": true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"tslib": "^2.3.0"
|
|
28
|
+
},
|
|
29
|
+
"main": "fesm2022/ngxsmk-datepicker.mjs",
|
|
30
|
+
"module": "fesm2022/ngxsmk-datepicker.mjs",
|
|
31
|
+
"es2022": "fesm2022/ngxsmk-datepicker.mjs",
|
|
32
|
+
"types": "types/ngxsmk-datepicker.d.ts",
|
|
33
|
+
"typings": "types/ngxsmk-datepicker.d.ts",
|
|
34
|
+
"homepage": "https://github.com/NGXSMK/ngxsmk-datepicker#readme",
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "git+https://github.com/NGXSMK/ngxsmk-datepicker.git"
|
|
38
|
+
},
|
|
39
|
+
"bugs": {
|
|
40
|
+
"url": "https://github.com/NGXSMK/ngxsmk-datepicker/issues"
|
|
41
|
+
},
|
|
42
|
+
"sideEffects": false,
|
|
43
|
+
"schematics": "./schematics/collection.json",
|
|
44
|
+
"ng-add": {
|
|
45
|
+
"save": "dependencies"
|
|
46
|
+
},
|
|
47
|
+
"files": [
|
|
48
|
+
"schematics/**/*.js",
|
|
49
|
+
"schematics/**/*.json",
|
|
50
|
+
"fesm2022/**/*.mjs",
|
|
51
|
+
"**/*.d.ts",
|
|
52
|
+
"**/*.metadata.json",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE",
|
|
55
|
+
"CHANGELOG.md",
|
|
56
|
+
"MIGRATION.md",
|
|
57
|
+
"docs/*.md",
|
|
58
|
+
"!docs/REFACTOR_PLAN.md",
|
|
59
|
+
"!docs/FEATURE_SCOPING.md",
|
|
60
|
+
"!docs/IONIC_TESTING.md",
|
|
61
|
+
"!docs/**/*.png",
|
|
62
|
+
"!docs/**/*.jpg",
|
|
63
|
+
"!docs/**/*.gif",
|
|
64
|
+
"styles/**/*.css"
|
|
65
|
+
],
|
|
66
|
+
"keywords": [
|
|
67
|
+
"angular",
|
|
68
|
+
"datepicker",
|
|
69
|
+
"date-range-picker",
|
|
70
|
+
"calendar",
|
|
71
|
+
"standalone-component",
|
|
72
|
+
"reactive-forms",
|
|
73
|
+
"luxon",
|
|
74
|
+
"angular-17",
|
|
75
|
+
"angular-18",
|
|
76
|
+
"angular-19",
|
|
77
|
+
"angular-20",
|
|
78
|
+
"angular-21",
|
|
79
|
+
"angular-22",
|
|
80
|
+
"angular-23",
|
|
81
|
+
"typescript",
|
|
82
|
+
"date-selection",
|
|
83
|
+
"i18n",
|
|
84
|
+
"localization",
|
|
85
|
+
"ssr",
|
|
86
|
+
"angular-universal",
|
|
87
|
+
"zoneless",
|
|
88
|
+
"accessibility",
|
|
89
|
+
"a11y"
|
|
90
|
+
],
|
|
91
|
+
"optimization": {
|
|
92
|
+
"treeShaking": true,
|
|
93
|
+
"sideEffects": false,
|
|
94
|
+
"usedExports": true
|
|
95
|
+
},
|
|
96
|
+
"engines": {
|
|
97
|
+
"node": ">=20.19.0 || >=22.12.0",
|
|
98
|
+
"npm": ">=10.0.0"
|
|
99
|
+
},
|
|
100
|
+
"prepublishOnly": "node ../../scripts/assert-lib-publish-artifacts.cjs",
|
|
101
|
+
"exports": {
|
|
102
|
+
"./styles/*": {
|
|
103
|
+
"default": "./styles/*"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "node16",
|
|
4
|
+
"moduleResolution": "node16",
|
|
5
|
+
"target": "es2020",
|
|
6
|
+
"lib": ["es2020"],
|
|
7
|
+
"outDir": "../../../dist/ngxsmk-datepicker/schematics",
|
|
8
|
+
"rootDir": ".",
|
|
9
|
+
"declaration": false,
|
|
10
|
+
"sourceMap": false,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"skipLibCheck": true,
|
|
14
|
+
"types": []
|
|
15
|
+
},
|
|
16
|
+
"include": ["ng-add/index.ts"]
|
|
17
|
+
}
|