forty-cdk 0.0.2 → 0.0.4
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/LICENSE +21 -21
- package/README.md +343 -343
- package/fesm2022/forty-cdk-internationalized-date.mjs +6 -6
- package/fesm2022/forty-cdk-internationalized-date.mjs.map +1 -1
- package/fesm2022/forty-cdk.mjs +10927 -2412
- package/fesm2022/forty-cdk.mjs.map +1 -1
- package/internationalized-date/README.md +23 -23
- package/package.json +5 -4
- package/types/forty-cdk.d.ts +3997 -482
|
@@ -74,10 +74,10 @@ class InternationalizedDateAdapter {
|
|
|
74
74
|
format(date, options) {
|
|
75
75
|
return new Intl.DateTimeFormat(undefined, options).format(date.toDate(getLocalTimeZone()));
|
|
76
76
|
}
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
78
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateAdapter });
|
|
79
79
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateAdapter, decorators: [{
|
|
81
81
|
type: Injectable
|
|
82
82
|
}] });
|
|
83
83
|
/**
|
|
@@ -199,10 +199,10 @@ class InternationalizedDateTimeAdapter {
|
|
|
199
199
|
setTime(date, hours, minutes, seconds) {
|
|
200
200
|
return date.set({ hour: hours, minute: minutes, second: seconds, millisecond: 0 });
|
|
201
201
|
}
|
|
202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.
|
|
203
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.
|
|
202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
203
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateTimeAdapter });
|
|
204
204
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: InternationalizedDateTimeAdapter, decorators: [{
|
|
206
206
|
type: Injectable
|
|
207
207
|
}] });
|
|
208
208
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forty-cdk-internationalized-date.mjs","sources":["../../../projects/forty-cdk/internationalized-date/src/internationalized-date-adapter.ts","../../../projects/forty-cdk/internationalized-date/src/internationalized-date-time-adapter.ts","../../../projects/forty-cdk/internationalized-date/src/forty-cdk-internationalized-date.ts"],"sourcesContent":["import { Injectable, type Provider } from '@angular/core';\r\nimport { CalendarDate, getLocalTimeZone, isSameDay, today } from '@internationalized/date';\r\n\r\nimport { type DateAdapter, FOR_DATE_ADAPTER } from 'forty-cdk';\r\n\r\n/**\r\n * {@link DateAdapter} over `@internationalized/date`'s immutable `CalendarDate`.\r\n * This is the recommended adapter: it is the same date primitive React Aria and\r\n * Ark UI build on, it works in every browser today with no polyfill, and its\r\n * reference-equality-on-mutation makes it signal-friendly.\r\n *\r\n * **Gregorian only.** `createDate` always builds a Gregorian `CalendarDate`, so\r\n * the calendar grid is Gregorian regardless of the runtime locale. True\r\n * non-Gregorian calendar systems are deferred to the planned Temporal adapter\r\n * track (#354).\r\n *\r\n * Ships in the `forty-cdk/internationalized-date` secondary entry point so the\r\n * main `forty-cdk` bundle never references `@internationalized/date` — the\r\n * package is an **optional peer dependency**, required only by consumers who\r\n * import this entry point. A consumer relying solely on\r\n * `provideNativeDateAdapter()` never resolves it at all.\r\n */\r\n@Injectable()\r\nexport class InternationalizedDateAdapter implements DateAdapter<CalendarDate> {\r\n /**\r\n * Today as a `CalendarDate` in the runtime time zone (`getLocalTimeZone()`).\r\n * Subject to the SSR/hydration caveat on {@link DateAdapter.today}.\r\n */\r\n today(): CalendarDate {\r\n return today(getLocalTimeZone());\r\n }\r\n\r\n createDate(year: number, month: number, day: number): CalendarDate {\r\n return new CalendarDate(year, month, day);\r\n }\r\n\r\n getYear(date: CalendarDate): number {\r\n return date.year;\r\n }\r\n\r\n getMonth(date: CalendarDate): number {\r\n return date.month;\r\n }\r\n\r\n getDate(date: CalendarDate): number {\r\n return date.day;\r\n }\r\n\r\n getDayOfWeek(date: CalendarDate): number {\r\n return date.toDate(getLocalTimeZone()).getDay();\r\n }\r\n\r\n getDaysInMonth(date: CalendarDate): number {\r\n return date.calendar.getDaysInMonth(date);\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return 0;\r\n }\r\n\r\n addDays(date: CalendarDate, n: number): CalendarDate {\r\n return date.add({ days: n });\r\n }\r\n\r\n addMonths(date: CalendarDate, n: number): CalendarDate {\r\n return date.add({ months: n });\r\n }\r\n\r\n addYears(date: CalendarDate, n: number): CalendarDate {\r\n return date.add({ years: n });\r\n }\r\n\r\n compare(a: CalendarDate, b: CalendarDate): number {\r\n return a.compare(b);\r\n }\r\n\r\n isSameDay(a: CalendarDate, b: CalendarDate): boolean {\r\n return isSameDay(a, b);\r\n }\r\n\r\n isValid(date: CalendarDate): boolean {\r\n return date instanceof CalendarDate;\r\n }\r\n\r\n /**\r\n * Formats through the runtime's default locale and time zone. Subject to the\r\n * SSR/hydration caveat on {@link DateAdapter.format}.\r\n */\r\n format(date: CalendarDate, options: Intl.DateTimeFormatOptions): string {\r\n return new Intl.DateTimeFormat(undefined, options).format(date.toDate(getLocalTimeZone()));\r\n }\r\n}\r\n\r\n/**\r\n * Provides the {@link InternationalizedDateAdapter} as the active\r\n * {@link DateAdapter}, making `ForCalendar` operate on `CalendarDate` values\r\n * from `@internationalized/date`.\r\n *\r\n * Requires `@internationalized/date` to be installed (optional peer\r\n * dependency).\r\n *\r\n * @example\r\n * ```ts\r\n * bootstrapApplication(App, {\r\n * providers: [provideInternationalizedDateAdapter()],\r\n * });\r\n * ```\r\n */\r\nexport function provideInternationalizedDateAdapter(): Provider[] {\r\n return [{ provide: FOR_DATE_ADAPTER, useClass: InternationalizedDateAdapter }];\r\n}\r\n","import { Injectable, type Provider } from '@angular/core';\r\nimport {\r\n CalendarDateTime,\r\n getLocalTimeZone,\r\n isSameDay,\r\n toCalendarDateTime,\r\n today,\r\n} from '@internationalized/date';\r\n\r\nimport { type DateAdapter, FOR_DATE_ADAPTER } from 'forty-cdk';\r\n\r\n/**\r\n * Time-capable {@link DateAdapter} over `@internationalized/date`'s immutable\r\n * `CalendarDateTime`. It mirrors {@link InternationalizedDateAdapter} for all\r\n * day operations but adds a wall-clock time component (hour / minute / second),\r\n * so it backs `ForTimeField` and the time granularity of the date primitives.\r\n * Use it when you want the `@internationalized/date` types *and* a time.\r\n *\r\n * **Gregorian only.** Like {@link InternationalizedDateAdapter}, `createDate`\r\n * builds a Gregorian `CalendarDateTime`; non-Gregorian calendar systems are\r\n * deferred to the planned Temporal adapter track (#354).\r\n *\r\n * Ships in the `forty-cdk/internationalized-date` secondary entry point so the\r\n * main `forty-cdk` bundle never references `@internationalized/date` — the\r\n * package is an **optional peer dependency**, required only by consumers who\r\n * import this entry point. A consumer relying solely on\r\n * `provideNativeDateAdapter()` never resolves it at all.\r\n *\r\n * `compare` orders by the full date-time (day *and* time); `compareDate`\r\n * ignores the time and orders by calendar day, so the calendar grid stays\r\n * day-granular even when `min`/`max` carry a time.\r\n */\r\n@Injectable()\r\nexport class InternationalizedDateTimeAdapter implements DateAdapter<CalendarDateTime> {\r\n /**\r\n * Today as a `CalendarDateTime` in the runtime time zone\r\n * (`getLocalTimeZone()`). Subject to the SSR/hydration caveat on\r\n * {@link DateAdapter.today}.\r\n */\r\n today(): CalendarDateTime {\r\n return toCalendarDateTime(today(getLocalTimeZone()));\r\n }\r\n\r\n createDate(year: number, month: number, day: number): CalendarDateTime {\r\n return new CalendarDateTime(year, month, day);\r\n }\r\n\r\n getYear(date: CalendarDateTime): number {\r\n return date.year;\r\n }\r\n\r\n getMonth(date: CalendarDateTime): number {\r\n return date.month;\r\n }\r\n\r\n getDate(date: CalendarDateTime): number {\r\n return date.day;\r\n }\r\n\r\n getDayOfWeek(date: CalendarDateTime): number {\r\n return date.toDate(getLocalTimeZone()).getDay();\r\n }\r\n\r\n getDaysInMonth(date: CalendarDateTime): number {\r\n return date.calendar.getDaysInMonth(date);\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return 0;\r\n }\r\n\r\n addDays(date: CalendarDateTime, n: number): CalendarDateTime {\r\n return date.add({ days: n });\r\n }\r\n\r\n addMonths(date: CalendarDateTime, n: number): CalendarDateTime {\r\n return date.add({ months: n });\r\n }\r\n\r\n addYears(date: CalendarDateTime, n: number): CalendarDateTime {\r\n return date.add({ years: n });\r\n }\r\n\r\n compare(a: CalendarDateTime, b: CalendarDateTime): number {\r\n return a.compare(b);\r\n }\r\n\r\n compareDate(a: CalendarDateTime, b: CalendarDateTime): number {\r\n if (a.year !== b.year) {\r\n return a.year - b.year;\r\n }\r\n if (a.month !== b.month) {\r\n return a.month - b.month;\r\n }\r\n return a.day - b.day;\r\n }\r\n\r\n isSameDay(a: CalendarDateTime, b: CalendarDateTime): boolean {\r\n return isSameDay(a, b);\r\n }\r\n\r\n isValid(date: CalendarDateTime): boolean {\r\n return date instanceof CalendarDateTime;\r\n }\r\n\r\n /**\r\n * Formats through the runtime's default locale and time zone. Subject to the\r\n * SSR/hydration caveat on {@link DateAdapter.format}.\r\n */\r\n format(date: CalendarDateTime, options: Intl.DateTimeFormatOptions): string {\r\n return new Intl.DateTimeFormat(undefined, options).format(date.toDate(getLocalTimeZone()));\r\n }\r\n\r\n supportsTime(): boolean {\r\n return true;\r\n }\r\n\r\n getHours(date: CalendarDateTime): number {\r\n return date.hour;\r\n }\r\n\r\n getMinutes(date: CalendarDateTime): number {\r\n return date.minute;\r\n }\r\n\r\n getSeconds(date: CalendarDateTime): number {\r\n return date.second;\r\n }\r\n\r\n setTime(\r\n date: CalendarDateTime,\r\n hours: number,\r\n minutes: number,\r\n seconds: number,\r\n ): CalendarDateTime {\r\n return date.set({ hour: hours, minute: minutes, second: seconds, millisecond: 0 });\r\n }\r\n}\r\n\r\n/**\r\n * Provides the {@link InternationalizedDateTimeAdapter} as the active\r\n * {@link DateAdapter}, making the time / date-time primitives operate on\r\n * `CalendarDateTime` values from `@internationalized/date`.\r\n *\r\n * Requires `@internationalized/date` to be installed (optional peer\r\n * dependency).\r\n *\r\n * @example\r\n * ```ts\r\n * bootstrapApplication(App, {\r\n * providers: [provideInternationalizedDateTimeAdapter()],\r\n * });\r\n * ```\r\n */\r\nexport function provideInternationalizedDateTimeAdapter(): Provider[] {\r\n return [{ provide: FOR_DATE_ADAPTER, useClass: InternationalizedDateTimeAdapter }];\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forty-cdk-internationalized-date.mjs","sources":["../../../projects/forty-cdk/internationalized-date/src/internationalized-date-adapter.ts","../../../projects/forty-cdk/internationalized-date/src/internationalized-date-time-adapter.ts","../../../projects/forty-cdk/internationalized-date/src/forty-cdk-internationalized-date.ts"],"sourcesContent":["import { Injectable, type Provider } from '@angular/core';\nimport { CalendarDate, getLocalTimeZone, isSameDay, today } from '@internationalized/date';\n\nimport { type DateAdapter, FOR_DATE_ADAPTER } from 'forty-cdk';\n\n/**\n * {@link DateAdapter} over `@internationalized/date`'s immutable `CalendarDate`.\n * This is the recommended adapter: it is the same date primitive React Aria and\n * Ark UI build on, it works in every browser today with no polyfill, and its\n * reference-equality-on-mutation makes it signal-friendly.\n *\n * **Gregorian only.** `createDate` always builds a Gregorian `CalendarDate`, so\n * the calendar grid is Gregorian regardless of the runtime locale. True\n * non-Gregorian calendar systems are deferred to the planned Temporal adapter\n * track (#354).\n *\n * Ships in the `forty-cdk/internationalized-date` secondary entry point so the\n * main `forty-cdk` bundle never references `@internationalized/date` — the\n * package is an **optional peer dependency**, required only by consumers who\n * import this entry point. A consumer relying solely on\n * `provideNativeDateAdapter()` never resolves it at all.\n */\n@Injectable()\nexport class InternationalizedDateAdapter implements DateAdapter<CalendarDate> {\n /**\n * Today as a `CalendarDate` in the runtime time zone (`getLocalTimeZone()`).\n * Subject to the SSR/hydration caveat on {@link DateAdapter.today}.\n */\n today(): CalendarDate {\n return today(getLocalTimeZone());\n }\n\n createDate(year: number, month: number, day: number): CalendarDate {\n return new CalendarDate(year, month, day);\n }\n\n getYear(date: CalendarDate): number {\n return date.year;\n }\n\n getMonth(date: CalendarDate): number {\n return date.month;\n }\n\n getDate(date: CalendarDate): number {\n return date.day;\n }\n\n getDayOfWeek(date: CalendarDate): number {\n return date.toDate(getLocalTimeZone()).getDay();\n }\n\n getDaysInMonth(date: CalendarDate): number {\n return date.calendar.getDaysInMonth(date);\n }\n\n getFirstDayOfWeek(): number {\n return 0;\n }\n\n addDays(date: CalendarDate, n: number): CalendarDate {\n return date.add({ days: n });\n }\n\n addMonths(date: CalendarDate, n: number): CalendarDate {\n return date.add({ months: n });\n }\n\n addYears(date: CalendarDate, n: number): CalendarDate {\n return date.add({ years: n });\n }\n\n compare(a: CalendarDate, b: CalendarDate): number {\n return a.compare(b);\n }\n\n isSameDay(a: CalendarDate, b: CalendarDate): boolean {\n return isSameDay(a, b);\n }\n\n isValid(date: CalendarDate): boolean {\n return date instanceof CalendarDate;\n }\n\n /**\n * Formats through the runtime's default locale and time zone. Subject to the\n * SSR/hydration caveat on {@link DateAdapter.format}.\n */\n format(date: CalendarDate, options: Intl.DateTimeFormatOptions): string {\n return new Intl.DateTimeFormat(undefined, options).format(date.toDate(getLocalTimeZone()));\n }\n}\n\n/**\n * Provides the {@link InternationalizedDateAdapter} as the active\n * {@link DateAdapter}, making `ForCalendar` operate on `CalendarDate` values\n * from `@internationalized/date`.\n *\n * Requires `@internationalized/date` to be installed (optional peer\n * dependency).\n *\n * @example\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideInternationalizedDateAdapter()],\n * });\n * ```\n */\nexport function provideInternationalizedDateAdapter(): Provider[] {\n return [{ provide: FOR_DATE_ADAPTER, useClass: InternationalizedDateAdapter }];\n}\n","import { Injectable, type Provider } from '@angular/core';\nimport {\n CalendarDateTime,\n getLocalTimeZone,\n isSameDay,\n toCalendarDateTime,\n today,\n} from '@internationalized/date';\n\nimport { type DateAdapter, FOR_DATE_ADAPTER } from 'forty-cdk';\n\n/**\n * Time-capable {@link DateAdapter} over `@internationalized/date`'s immutable\n * `CalendarDateTime`. It mirrors {@link InternationalizedDateAdapter} for all\n * day operations but adds a wall-clock time component (hour / minute / second),\n * so it backs `ForTimeField` and the time granularity of the date primitives.\n * Use it when you want the `@internationalized/date` types *and* a time.\n *\n * **Gregorian only.** Like {@link InternationalizedDateAdapter}, `createDate`\n * builds a Gregorian `CalendarDateTime`; non-Gregorian calendar systems are\n * deferred to the planned Temporal adapter track (#354).\n *\n * Ships in the `forty-cdk/internationalized-date` secondary entry point so the\n * main `forty-cdk` bundle never references `@internationalized/date` — the\n * package is an **optional peer dependency**, required only by consumers who\n * import this entry point. A consumer relying solely on\n * `provideNativeDateAdapter()` never resolves it at all.\n *\n * `compare` orders by the full date-time (day *and* time); `compareDate`\n * ignores the time and orders by calendar day, so the calendar grid stays\n * day-granular even when `min`/`max` carry a time.\n */\n@Injectable()\nexport class InternationalizedDateTimeAdapter implements DateAdapter<CalendarDateTime> {\n /**\n * Today as a `CalendarDateTime` in the runtime time zone\n * (`getLocalTimeZone()`). Subject to the SSR/hydration caveat on\n * {@link DateAdapter.today}.\n */\n today(): CalendarDateTime {\n return toCalendarDateTime(today(getLocalTimeZone()));\n }\n\n createDate(year: number, month: number, day: number): CalendarDateTime {\n return new CalendarDateTime(year, month, day);\n }\n\n getYear(date: CalendarDateTime): number {\n return date.year;\n }\n\n getMonth(date: CalendarDateTime): number {\n return date.month;\n }\n\n getDate(date: CalendarDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: CalendarDateTime): number {\n return date.toDate(getLocalTimeZone()).getDay();\n }\n\n getDaysInMonth(date: CalendarDateTime): number {\n return date.calendar.getDaysInMonth(date);\n }\n\n getFirstDayOfWeek(): number {\n return 0;\n }\n\n addDays(date: CalendarDateTime, n: number): CalendarDateTime {\n return date.add({ days: n });\n }\n\n addMonths(date: CalendarDateTime, n: number): CalendarDateTime {\n return date.add({ months: n });\n }\n\n addYears(date: CalendarDateTime, n: number): CalendarDateTime {\n return date.add({ years: n });\n }\n\n compare(a: CalendarDateTime, b: CalendarDateTime): number {\n return a.compare(b);\n }\n\n compareDate(a: CalendarDateTime, b: CalendarDateTime): number {\n if (a.year !== b.year) {\n return a.year - b.year;\n }\n if (a.month !== b.month) {\n return a.month - b.month;\n }\n return a.day - b.day;\n }\n\n isSameDay(a: CalendarDateTime, b: CalendarDateTime): boolean {\n return isSameDay(a, b);\n }\n\n isValid(date: CalendarDateTime): boolean {\n return date instanceof CalendarDateTime;\n }\n\n /**\n * Formats through the runtime's default locale and time zone. Subject to the\n * SSR/hydration caveat on {@link DateAdapter.format}.\n */\n format(date: CalendarDateTime, options: Intl.DateTimeFormatOptions): string {\n return new Intl.DateTimeFormat(undefined, options).format(date.toDate(getLocalTimeZone()));\n }\n\n supportsTime(): boolean {\n return true;\n }\n\n getHours(date: CalendarDateTime): number {\n return date.hour;\n }\n\n getMinutes(date: CalendarDateTime): number {\n return date.minute;\n }\n\n getSeconds(date: CalendarDateTime): number {\n return date.second;\n }\n\n setTime(\n date: CalendarDateTime,\n hours: number,\n minutes: number,\n seconds: number,\n ): CalendarDateTime {\n return date.set({ hour: hours, minute: minutes, second: seconds, millisecond: 0 });\n }\n}\n\n/**\n * Provides the {@link InternationalizedDateTimeAdapter} as the active\n * {@link DateAdapter}, making the time / date-time primitives operate on\n * `CalendarDateTime` values from `@internationalized/date`.\n *\n * Requires `@internationalized/date` to be installed (optional peer\n * dependency).\n *\n * @example\n * ```ts\n * bootstrapApplication(App, {\n * providers: [provideInternationalizedDateTimeAdapter()],\n * });\n * ```\n */\nexport function provideInternationalizedDateTimeAdapter(): Provider[] {\n return [{ provide: FOR_DATE_ADAPTER, useClass: InternationalizedDateTimeAdapter }];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|