ember-power-calendar 1.0.2 → 1.2.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/declarations/components/power-calendar-multiple.d.ts +1 -1
- package/declarations/components/power-calendar-multiple.d.ts.map +1 -1
- package/declarations/components/power-calendar-range.d.ts +1 -1
- package/declarations/components/power-calendar-range.d.ts.map +1 -1
- package/declarations/components/power-calendar.d.ts +1 -1
- package/declarations/components/power-calendar.d.ts.map +1 -1
- package/declarations/helpers/ember-power-calendar-day-classes.d.ts.map +1 -1
- package/declarations/helpers/power-calendar-format-date.d.ts +1 -1
- package/declarations/helpers/power-calendar-format-date.d.ts.map +1 -1
- package/declarations/template-registry.d.ts.map +1 -1
- package/dist/components/power-calendar/days.js.map +1 -1
- package/dist/components/power-calendar-multiple/days.js.map +1 -1
- package/dist/components/power-calendar-multiple.js +6 -8
- package/dist/components/power-calendar-multiple.js.map +1 -1
- package/dist/components/power-calendar-range/days.js.map +1 -1
- package/dist/components/power-calendar-range.js +5 -7
- package/dist/components/power-calendar-range.js.map +1 -1
- package/dist/components/power-calendar.js +6 -8
- package/dist/components/power-calendar.js.map +1 -1
- package/dist/days-utils-D13uOiMt.js.map +1 -1
- package/dist/helpers/ember-power-calendar-day-classes.js.map +1 -1
- package/dist/services/power-calendar.js.map +1 -1
- package/dist/test-support/helpers.js.map +1 -1
- package/dist/utils.js.map +1 -1
- package/less/base.less +15 -16
- package/package.json +38 -39
- package/scss/base.scss +18 -17
- package/vendor/ember-power-calendar.css +74 -0
- package/vendor/ember-power-calendar.js +1 -1
|
@@ -30,6 +30,7 @@ export default class PowerCalendarMultipleComponent extends Component<PowerCalen
|
|
|
30
30
|
navComponent: ComponentLike<any>;
|
|
31
31
|
daysComponent: ComponentLike<any>;
|
|
32
32
|
constructor(owner: Owner, args: PowerCalendarMultipleArgs);
|
|
33
|
+
willDestroy(): void;
|
|
33
34
|
get publicActions(): PowerCalendarActions;
|
|
34
35
|
get selected(): Date[] | undefined;
|
|
35
36
|
set selected(v: SelectedDays);
|
|
@@ -38,7 +39,6 @@ export default class PowerCalendarMultipleComponent extends Component<PowerCalen
|
|
|
38
39
|
get tagWithDefault(): string;
|
|
39
40
|
changeCenterTask: import("ember-concurrency").TaskForAsyncTaskFunction<unknown, (newCenter: Date, calendar: PowerCalendarAPI, e: MouseEvent) => Promise<void>>;
|
|
40
41
|
select(dayOrDays: CalendarDay, calendar: CalendarAPI, e: MouseEvent): void;
|
|
41
|
-
destroyElement(): void;
|
|
42
42
|
_buildCollection(days: PowerCalendarDay[]): NormalizeMultipleActionValue;
|
|
43
43
|
registerCalendar(): void;
|
|
44
44
|
unregisterCalendar(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar-multiple.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAW3C,OAAO,EAKL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,+BAA+B,CAAC;AAEtE,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,GAAG,EAAE,4BAA4B,EACjC,QAAQ,EAAE,wBAAwB,EAClC,KAAK,EAAE,UAAU,KACd,IAAI,CAAC;AAEV,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,UAAU,CAAC;IACxD,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,8BAA8B,CAAC;CAC3C;AAED,UAAU,iCAAkC,SAAQ,wBAAwB;IAC1E,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACnC;AAED,UAAU,8BACR,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAC5C,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,iCAAiC,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,8BAA8B,CAAC;IAClF,aAAa,EAAE,oBAAoB,CAAC;IAE5C,MAAM,OAAQ;IACd,aAAa,EAAE,aAAa,CAAc;IAC1C,SAAS,CAAC,EAAE,YAAY,CAAC;IAElC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAA6B;IAC7D,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAsC;gBAG3D,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB;IAQzD,IAAI,aAAa,IAAI,oBAAoB,CAQxC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,GAAG,SAAS,CAsBjC;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,EAE3B;IAED,IAAI,aAAa,IAAI,IAAI,CAMxB;IAED,IAAI,SAAS,IAAI,gBAAgB,CAUhC;IAED,IAAI,cAAc,IAAI,MAAM,CAK3B;IAGD,gBAAgB,4EACI,IAAI,YAAY,gBAAgB,KAAK,UAAU,oBAQjE;IAIF,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU;IAyBnE,
|
|
1
|
+
{"version":3,"file":"power-calendar-multiple.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar-multiple.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAW3C,OAAO,EAKL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,+BAA+B,CAAC;AAEtE,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,GAAG,EAAE,4BAA4B,EACjC,QAAQ,EAAE,wBAAwB,EAClC,KAAK,EAAE,UAAU,KACd,IAAI,CAAC;AAEV,UAAU,yBACR,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,UAAU,CAAC;IACxD,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,8BAA8B,CAAC;CAC3C;AAED,UAAU,iCAAkC,SAAQ,wBAAwB;IAC1E,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;CACnC;AAED,UAAU,8BACR,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAC5C,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,iCAAiC,CAAC,CAAC;KAC9C,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,SAAS,CAAC,8BAA8B,CAAC;IAClF,aAAa,EAAE,oBAAoB,CAAC;IAE5C,MAAM,OAAQ;IACd,aAAa,EAAE,aAAa,CAAc;IAC1C,SAAS,CAAC,EAAE,YAAY,CAAC;IAElC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAA6B;IAC7D,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAsC;gBAG3D,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,yBAAyB;IAQzD,WAAW,IAAI,IAAI;IAKnB,IAAI,aAAa,IAAI,oBAAoB,CAQxC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,GAAG,SAAS,CAsBjC;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,YAAY,EAE3B;IAED,IAAI,aAAa,IAAI,IAAI,CAMxB;IAED,IAAI,SAAS,IAAI,gBAAgB,CAUhC;IAED,IAAI,cAAc,IAAI,MAAM,CAK3B;IAGD,gBAAgB,4EACI,IAAI,YAAY,gBAAgB,KAAK,UAAU,oBAQjE;IAIF,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU;IAyBnE,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,4BAA4B;IAkBxE,gBAAgB;IAShB,kBAAkB;CAoDnB"}
|
|
@@ -39,6 +39,7 @@ export default class PowerCalendarRangeComponent extends Component<PowerCalendar
|
|
|
39
39
|
navComponent: ComponentLike<any>;
|
|
40
40
|
daysComponent: ComponentLike<any>;
|
|
41
41
|
constructor(owner: Owner, args: PowerCalendarRangeArgs);
|
|
42
|
+
willDestroy(): void;
|
|
42
43
|
get publicActions(): PowerCalendarActions;
|
|
43
44
|
get selected(): SelectedPowerCalendarRange;
|
|
44
45
|
set selected(v: SelectedPowerCalendarRange);
|
|
@@ -50,7 +51,6 @@ export default class PowerCalendarRangeComponent extends Component<PowerCalendar
|
|
|
50
51
|
get maxRange(): number | null;
|
|
51
52
|
changeCenterTask: import("ember-concurrency").TaskForAsyncTaskFunction<unknown, (newCenter: Date, calendar: PowerCalendarRangeAPI, e: MouseEvent) => Promise<void>>;
|
|
52
53
|
select(day: CalendarDay, calendar: CalendarAPI, e: MouseEvent): void;
|
|
53
|
-
destroyElement(): void;
|
|
54
54
|
_formatRange(v: number | undefined): number | null | undefined;
|
|
55
55
|
_buildRange(day: {
|
|
56
56
|
date: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar-range.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar-range.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"power-calendar-range.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar-range.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,7 @@ export default class PowerCalendarComponent extends Component<PowerCalendarSigna
|
|
|
56
56
|
navComponent: ComponentLike<any>;
|
|
57
57
|
daysComponent: ComponentLike<any>;
|
|
58
58
|
constructor(owner: Owner, args: PowerCalendarArgs);
|
|
59
|
+
willDestroy(): void;
|
|
59
60
|
get publicActions(): PowerCalendarActions;
|
|
60
61
|
get selected(): SelectedDays;
|
|
61
62
|
set selected(v: SelectedDays);
|
|
@@ -65,7 +66,6 @@ export default class PowerCalendarComponent extends Component<PowerCalendarSigna
|
|
|
65
66
|
get tagWithDefault(): string;
|
|
66
67
|
changeCenterTask: import("ember-concurrency").TaskForAsyncTaskFunction<unknown, (newCenter: Date, calendar: PowerCalendarAPI, e: MouseEvent) => Promise<void>>;
|
|
67
68
|
select(day: CalendarDay, calendar: PowerCalendarAPI, e: MouseEvent): void;
|
|
68
|
-
destroyElement(): void;
|
|
69
69
|
registerCalendar(): void;
|
|
70
70
|
unregisterCalendar(): void;
|
|
71
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"power-calendar.d.ts","sourceRoot":"","sources":["../../src/components/power-calendar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ember-power-calendar-day-classes.d.ts","sourceRoot":"","sources":["../../src/helpers/ember-power-calendar-day-classes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;IAC7E,gBAAgB;IAChB,gBAAgB;IAChB,IAAI,EAAE;IACN,CACI,MAAM,GACN,CAAC,CACC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,IAAI,EAAE,KACV,MAAM,CAAC,CACf;CACF,UAoCA
|
|
1
|
+
{"version":3,"file":"ember-power-calendar-day-classes.d.ts","sourceRoot":"","sources":["../../src/helpers/ember-power-calendar-day-classes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,wBAAgB,4BAA4B,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;IAC7E,gBAAgB;IAChB,gBAAgB;IAChB,IAAI,EAAE;IACN,CACI,MAAM,GACN,CAAC,CACC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,IAAI,EAAE,KACV,MAAM,CAAC,CACf;CACF,UAoCA;;;iFAzCY,gBAAgB,YACX,gBAAgB,SACnB,IAAI,EAAE,KACV,MAAM;;;;;AAwCjB,wBAAoD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar-format-date.d.ts","sourceRoot":"","sources":["../../src/helpers/power-calendar-format-date.ts"],"names":[],"mappings":"AAGA,wBAAgB,uBAAuB,CACrC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAC9B,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,UAGvC
|
|
1
|
+
{"version":3,"file":"power-calendar-format-date.d.ts","sourceRoot":"","sources":["../../src/helpers/power-calendar-format-date.ts"],"names":[],"mappings":"AAGA,wBAAgB,uBAAuB,CACrC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAC9B,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,UAGvC;;;;;qBAHwB,MAAM,GAAG,IAAI;;;;;AAKtC,wBAA+C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-registry.d.ts","sourceRoot":"","sources":["../src/template-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-registry.d.ts","sourceRoot":"","sources":["../src/template-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,2BAA2B,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,8BAA8B,MAAM,yCAAyC,CAAC;AAE1F,MAAM,CAAC,OAAO,WAAW,0BAA0B;IACjD,aAAa,EAAE,OAAO,sBAAsB,CAAC;IAC7C,kBAAkB,EAAE,OAAO,2BAA2B,CAAC;IACvD,qBAAqB,EAAE,OAAO,8BAA8B,CAAC;CAC9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar/days.hbs","../../../src/components/power-calendar/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport {\n add,\n getWeekdays,\n getWeekdaysMin,\n getWeekdaysShort,\n isBefore,\n isSame,\n normalizeDate,\n withLocale,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { CalendarAPI } from '../power-calendar.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\nimport {\n firstDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n buildDay,\n lastDay,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\n\nexport interface PowerCalendarDaysArgs {\n calendar: CalendarAPI;\n dayClass?: string;\n disabledDates?: Array<Date | string>;\n maxDate?: Date;\n minDate?: Date;\n selected?: Date;\n showDaysAround?: boolean;\n startOfWeek?: string;\n center?: Date;\n weekdayFormat?: TWeekdayFormat;\n}\n\nexport interface PowerCalendarDaysSignature {\n Element: HTMLElement;\n Args: PowerCalendarDaysArgs;\n Blocks: {\n default: [day: PowerCalendarDay, calendar: CalendarAPI, weeks: Week[]];\n };\n}\n\nexport default class PowerCalendarDaysComponent extends Component<PowerCalendarDaysSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n buildDay(\n day,\n today,\n this.args.calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n ),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.args.selected || this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n dayIsSelected(date: Date, calendar: CalendarAPI = this.args.calendar) {\n return calendar.selected\n ? isSame(date, calendar.selected as Date, 'day')\n : false;\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n}\n"],"names":["PowerCalendarDaysComponent","Component","g","this","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","focusedId","dayIsSelected","bind","minDate","maxDate","disabledDates","add","weeks","center","selected","normalizeDate","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","id","focusDate","uniqueId","handleClick","date","isSame","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar/days.hbs","../../../src/components/power-calendar/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport {\n add,\n getWeekdays,\n getWeekdaysMin,\n getWeekdaysShort,\n isBefore,\n isSame,\n normalizeDate,\n withLocale,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { CalendarAPI } from '../power-calendar.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\nimport {\n firstDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n buildDay,\n lastDay,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\n\nexport interface PowerCalendarDaysArgs {\n calendar: CalendarAPI;\n dayClass?: string;\n disabledDates?: Array<Date | string>;\n maxDate?: Date;\n minDate?: Date;\n selected?: Date;\n showDaysAround?: boolean;\n startOfWeek?: string;\n center?: Date;\n weekdayFormat?: TWeekdayFormat;\n}\n\nexport interface PowerCalendarDaysSignature {\n Element: HTMLElement;\n Args: PowerCalendarDaysArgs;\n Blocks: {\n default: [day: PowerCalendarDay, calendar: CalendarAPI, weeks: Week[]];\n };\n}\n\nexport default class PowerCalendarDaysComponent extends Component<PowerCalendarDaysSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n buildDay(\n day,\n today,\n this.args.calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n ),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.args.selected || this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n dayIsSelected(date: Date, calendar: CalendarAPI = this.args.calendar) {\n return calendar.selected\n ? isSame(date, calendar.selected as Date, 'day')\n : false;\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n}\n"],"names":["PowerCalendarDaysComponent","Component","g","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","focusedId","dayIsSelected","bind","minDate","maxDate","disabledDates","add","weeks","center","selected","normalizeDate","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","id","focusDate","uniqueId","handleClick","date","isSame","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,swCAAswC;;ACoDzxC,MAAMA,0BAA0B,SAASC,SAAS,CAA6B;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CAC3FC,MAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAEPI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAA4B,IAAI,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,UAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;EAExC,IAAIE,aAAaA,GAAmB;IAClC,OAAO,IAAI,CAACC,IAAI,CAACD,aAAa,IAAI,OAAO,CAAC;AAC5C,GAAA;EAEA,IAAIE,cAAcA,GAAY;AAC5B,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,cAAc,KAAKC,SAAS,GACzC,IAAI,CAACF,IAAI,CAACC,cAAc,GACxB,IAAI,CAAA;AACV,GAAA;EAEA,IAAIE,WAAWA,GAAa;IAC1B,OAAOC,UAAU,CAAC,IAAI,CAACJ,IAAI,CAACK,QAAQ,CAACC,MAAM,EAAEC,cAAc,CAAC,CAAA;AAC9D,GAAA;EAEA,IAAIC,aAAaA,GAAa;IAC5B,OAAOJ,UAAU,CAAC,IAAI,CAACJ,IAAI,CAACK,QAAQ,CAACC,MAAM,EAAEG,gBAAgB,CAAC,CAAA;AAChE,GAAA;EAEA,IAAIC,QAAQA,GAAa;IACvB,OAAON,UAAU,CAAC,IAAI,CAACJ,IAAI,CAACK,QAAQ,CAACC,MAAM,EAAEK,WAAW,CAAC,CAAA;AAC3D,GAAA;EAEA,IAAIC,iBAAiBA,GAAW;AAC9B,IAAA,OAAOC,2BAA2B,CAChC,IAAI,CAACb,IAAI,CAACc,WAAW,EACrB,IAAI,CAACd,IAAI,CAACK,QAAQ,CAACC,MACrB,CAAC,CAAA;AACH,GAAA;EAEA,IAAIS,aAAaA,GAAa;IAC5B,OAAOA,aAAa,CAClB,IAAI,CAACH,iBAAiB,EACtB,IAAI,CAACb,aAAa,EAClB,IAAI,CAACW,QAAQ,EACb,IAAI,CAACP,WAAW,EAChB,IAAI,CAACK,aACP,CAAC,CAAA;AACH,GAAA;EAEA,IAAIQ,IAAIA,GAAuB;IAC7B,MAAMC,KAAK,GAAG,IAAI,CAACC,aAAa,CAACC,OAAO,EAAE,CAAA;IAC1C,MAAMC,UAAU,GAAGC,OAAO,CAAC,IAAI,CAACT,iBAAiB,EAAE,IAAI,CAACU,aAAa,CAAC,CAAA;IACtE,IAAIC,GAAG,GAAGC,QAAQ,CAAC,IAAI,CAACF,aAAa,EAAE,IAAI,CAACV,iBAAiB,CAAC,CAAA;IAC9D,MAAMI,IAAwB,GAAG,EAAE,CAAA;AACnC,IAAA,OAAOS,QAAQ,CAACF,GAAG,EAAEH,UAAU,CAAC,EAAE;MAChCJ,IAAI,CAACU,IAAI,CACPC,QAAQ,CACNJ,GAAG,EACHN,KAAK,EACL,IAAI,CAACjB,IAAI,CAACK,QAAQ,EAClB,IAAI,CAACuB,SAAS,EACd,IAAI,CAACN,aAAa,EAClB,IAAI,CAACO,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC,EAC7B,IAAI,CAAC9B,IAAI,CAAC+B,OAAO,EACjB,IAAI,CAAC/B,IAAI,CAACgC,OAAO,EACjB,IAAI,CAAChC,IAAI,CAACiC,aACZ,CACF,CAAC,CAAA;MACDV,GAAG,GAAGW,GAAG,CAACX,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;AAC1B,KAAA;AACA,IAAA,OAAOP,IAAI,CAAA;AACb,GAAA;EAEA,IAAImB,KAAKA,GAAW;IAClB,OAAOA,KAAK,CAAC,IAAI,CAACnB,IAAI,EAAE,IAAI,CAACf,cAAc,CAAC,CAAA;AAC9C,GAAA;EAEA,IAAIqB,aAAaA,GAAS;AACxB,IAAA,IAAIc,MAAM,GAAG,IAAI,CAACpC,IAAI,CAACoC,MAAM,CAAA;IAC7B,IAAI,CAACA,MAAM,EAAE;AACXA,MAAAA,MAAM,GAAG,IAAI,CAACpC,IAAI,CAACqC,QAAQ,IAAI,IAAI,CAACrC,IAAI,CAACK,QAAQ,CAAC+B,MAAM,CAAA;AAC1D,KAAA;IACA,OAAOE,aAAa,CAACF,MAAM,CAAC,IAAI,IAAI,CAACpC,IAAI,CAACK,QAAQ,CAAC+B,MAAM,CAAA;AAC3D,GAAA;;AAEA;EAEAG,cAAcA,CAACC,CAAa,EAAQ;AAClCC,IAAAA,YAAY,CACV,SAAS,EACT,IAAI,EACJ,IAAI,CAACC,cAAc,EAClBF,CAAC,CAACG,MAAM,CAAiBC,OAAO,CAAC,MAAM,CAC1C,CAAC,CAAA;AACH,GAAA;AAAC,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAnD,SAAA,EAAA,gBAAA,EAAA,CARAoD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;AAWPC,EAAAA,aAAaA,GAAS;IACpBN,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAACC,cAAc,EAAE,IAAI,CAAC,CAAA;AAC1D,GAAA;AAAC,EAAA;IAAAG,CAAA,CAAA,IAAA,CAAAnD,SAAA,EAAA,eAAA,EAAA,CAHAoD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;EAMPE,aAAaA,CAACR,CAAgB,EAAQ;AACpC,IAAA,MAAMjB,GAAG,GAAG0B,gBAAgB,CAACT,CAAC,EAAE,IAAI,CAACZ,SAAS,EAAE,IAAI,CAACZ,IAAI,CAAC,CAAA;IAC1D,IAAI,CAACO,GAAG,EAAE;AACR,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAI,CAACK,SAAS,GAAGL,GAAG,CAAC2B,EAAE,CAAA;IACvBT,YAAY,CACV,aAAa,EACb,IAAI,EACJU,SAAS,EACT,IAAI,CAACnD,IAAI,CAACK,QAAQ,CAAC+C,QAAQ,EAC3B,IAAI,CAACxB,SAAS,IAAI,EACpB,CAAC,CAAA;AACH,GAAA;AAAC,EAAA;IAAAiB,CAAA,CAAA,IAAA,CAAAnD,SAAA,EAAA,eAAA,EAAA,CAdAoD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;EAiBPO,WAAWA,CAACb,CAAa,EAAE;AACzBa,IAAAA,WAAW,CAACb,CAAC,EAAE,IAAI,CAACxB,IAAI,EAAE,IAAI,CAAChB,IAAI,CAACK,QAAQ,CAAC,CAAA;AAC/C,GAAA;;AAEA;AAAA,EAAA;IAAAwC,CAAA,CAAA,IAAA,CAAAnD,SAAA,EAAA,aAAA,EAAA,CALCoD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;EAMPjB,aAAaA,CAACyB,IAAU,EAAEjD,QAAqB,GAAG,IAAI,CAACL,IAAI,CAACK,QAAQ,EAAE;AACpE,IAAA,OAAOA,QAAQ,CAACgC,QAAQ,GACpBkB,MAAM,CAACD,IAAI,EAAEjD,QAAQ,CAACgC,QAAQ,EAAU,KAAK,CAAC,GAC9C,KAAK,CAAA;AACX,GAAA;EAEAK,cAAcA,CAACQ,EAAkB,EAAE;AACjC,IAAA,IAAI,CAACtB,SAAS,GAAGsB,EAAE,IAAI,IAAI,CAAA;AAC7B,GAAA;AACF,CAAA;AAACM,oBAAA,CAAAC,QAAA,EA/HoBlE,0BAA0B,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar-multiple/days.hbs","../../../src/components/power-calendar-multiple/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport {\n add,\n getWeekdays,\n getWeekdaysMin,\n getWeekdaysShort,\n isBefore,\n isSame,\n normalizeDate,\n withLocale,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { PowerCalendarMultipleAPI } from '../power-calendar-multiple.ts';\nimport {\n buildDay,\n dayIsDisabled,\n firstDay,\n lastDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\nimport type { CalendarAPI } from '../power-calendar.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\nimport type {\n PowerCalendarDaysArgs,\n PowerCalendarDaysSignature,\n} from '../power-calendar/days.ts';\n\ninterface PowerCalendarMultipleDaysArgs\n extends Omit<PowerCalendarDaysArgs, 'selected'> {\n selected?: Date[];\n maxLength?: number;\n}\n\ninterface PowerCalendarMultipleDaysSignature\n extends Omit<PowerCalendarDaysSignature, 'Args'> {\n Args: PowerCalendarMultipleDaysArgs;\n}\n\nexport default class PowerCalendarMultipleDaysComponent extends Component<PowerCalendarMultipleDaysSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n buildDay(\n day,\n today,\n this.args.calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n this.dayIsDisabled.bind(this),\n ),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.args.selected\n ? this.args.selected[0]\n : this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n get maxLength(): number {\n return this.args.maxLength || Infinity;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n dayIsSelected(date: Date, calendar: CalendarAPI = this.args.calendar) {\n const selected = (calendar as PowerCalendarMultipleAPI).selected || [];\n return selected.some((d) => isSame(date, d, 'day'));\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n\n dayIsDisabled(\n date: Date,\n calendarApi: CalendarAPI,\n minDate?: Date,\n maxDate?: Date,\n disabledDates?: Array<Date | string>,\n ) {\n const calendar = calendarApi as PowerCalendarMultipleAPI;\n const numSelected = (calendar.selected && calendar.selected.length) || 0;\n const maxLength = this.maxLength || Infinity;\n return (\n dayIsDisabled(date, calendar, minDate, maxDate, disabledDates) ||\n (numSelected >= maxLength && !this.dayIsSelected(date))\n );\n }\n}\n"],"names":["PowerCalendarMultipleDaysComponent","Component","g","this","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","focusedId","dayIsSelected","bind","minDate","maxDate","disabledDates","dayIsDisabled","add","weeks","center","selected","normalizeDate","maxLength","Infinity","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","id","focusDate","uniqueId","handleClick","date","some","d","isSame","calendarApi","numSelected","length","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar-multiple/days.hbs","../../../src/components/power-calendar-multiple/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport {\n add,\n getWeekdays,\n getWeekdaysMin,\n getWeekdaysShort,\n isBefore,\n isSame,\n normalizeDate,\n withLocale,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { PowerCalendarMultipleAPI } from '../power-calendar-multiple.ts';\nimport {\n buildDay,\n dayIsDisabled,\n firstDay,\n lastDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\nimport type { CalendarAPI } from '../power-calendar.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\nimport type {\n PowerCalendarDaysArgs,\n PowerCalendarDaysSignature,\n} from '../power-calendar/days.ts';\n\ninterface PowerCalendarMultipleDaysArgs\n extends Omit<PowerCalendarDaysArgs, 'selected'> {\n selected?: Date[];\n maxLength?: number;\n}\n\ninterface PowerCalendarMultipleDaysSignature\n extends Omit<PowerCalendarDaysSignature, 'Args'> {\n Args: PowerCalendarMultipleDaysArgs;\n}\n\nexport default class PowerCalendarMultipleDaysComponent extends Component<PowerCalendarMultipleDaysSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n buildDay(\n day,\n today,\n this.args.calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n this.dayIsDisabled.bind(this),\n ),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.args.selected\n ? this.args.selected[0]\n : this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n get maxLength(): number {\n return this.args.maxLength || Infinity;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n dayIsSelected(date: Date, calendar: CalendarAPI = this.args.calendar) {\n const selected = (calendar as PowerCalendarMultipleAPI).selected || [];\n return selected.some((d) => isSame(date, d, 'day'));\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n\n dayIsDisabled(\n date: Date,\n calendarApi: CalendarAPI,\n minDate?: Date,\n maxDate?: Date,\n disabledDates?: Array<Date | string>,\n ) {\n const calendar = calendarApi as PowerCalendarMultipleAPI;\n const numSelected = (calendar.selected && calendar.selected.length) || 0;\n const maxLength = this.maxLength || Infinity;\n return (\n dayIsDisabled(date, calendar, minDate, maxDate, disabledDates) ||\n (numSelected >= maxLength && !this.dayIsSelected(date))\n );\n }\n}\n"],"names":["PowerCalendarMultipleDaysComponent","Component","g","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","focusedId","dayIsSelected","bind","minDate","maxDate","disabledDates","dayIsDisabled","add","weeks","center","selected","normalizeDate","maxLength","Infinity","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","id","focusDate","uniqueId","handleClick","date","some","d","isSame","calendarApi","numSelected","length","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
15
15
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
16
16
|
import { setComponentTemplate } from '@ember/component';
|
|
17
17
|
|
|
18
|
-
var TEMPLATE = precompileTemplate("{{#let (assign this.publicAPI (hash\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\n)) as |calendar|}}\n {{#let (element this.tagWithDefault) as |Tag|}}\n <Tag class=\"ember-power-calendar\" ...attributes id={{calendar.uniqueId}}
|
|
18
|
+
var TEMPLATE = precompileTemplate("{{#let (assign this.publicAPI (hash\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\n)) as |calendar|}}\n {{#let (element this.tagWithDefault) as |Tag|}}\n <Tag class=\"ember-power-calendar\" ...attributes id={{calendar.uniqueId}}>\n {{#if (has-block)}}\n {{yield calendar}}\n {{else}}\n <calendar.Nav/>\n <calendar.Days/>\n {{/if}}\n </Tag>\n {{/let}}\n{{/let}}\n");
|
|
19
19
|
|
|
20
20
|
class PowerCalendarMultipleComponent extends Component {
|
|
21
21
|
static {
|
|
@@ -49,6 +49,10 @@ class PowerCalendarMultipleComponent extends Component {
|
|
|
49
49
|
this.args.onInit(this.publicAPI);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
willDestroy() {
|
|
53
|
+
super.willDestroy();
|
|
54
|
+
this.unregisterCalendar();
|
|
55
|
+
}
|
|
52
56
|
get publicActions() {
|
|
53
57
|
return publicActionsObject(this.args.onSelect, this.select, this.args.onCenterChange, this.changeCenterTask, this.currentCenter);
|
|
54
58
|
}
|
|
@@ -123,16 +127,10 @@ class PowerCalendarMultipleComponent extends Component {
|
|
|
123
127
|
this.args.onSelect(this._buildCollection(days ?? []), calendar, e);
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
|
-
static {
|
|
127
|
-
n(this.prototype, "select", [action]);
|
|
128
|
-
}
|
|
129
|
-
destroyElement() {
|
|
130
|
-
this.unregisterCalendar();
|
|
131
|
-
}
|
|
132
130
|
|
|
133
131
|
// Methods
|
|
134
132
|
static {
|
|
135
|
-
n(this.prototype, "
|
|
133
|
+
n(this.prototype, "select", [action]);
|
|
136
134
|
}
|
|
137
135
|
_buildCollection(days) {
|
|
138
136
|
let selected = this.selected || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar-multiple.js","sources":["../../src/components/power-calendar-multiple.hbs","../../src/components/power-calendar-multiple.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{#let (assign this.publicAPI (hash\\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\\n)) as |calendar|}}\\n {{#let (element this.tagWithDefault) as |Tag|}}\\n <Tag class=\\\"ember-power-calendar\\\" ...attributes id={{calendar.uniqueId}}\\n {{will-destroy this.destroyElement}}\\n >\\n {{#if (has-block)}}\\n {{yield calendar}}\\n {{else}}\\n <calendar.Nav/>\\n <calendar.Days/>\\n {{/if}}\\n </Tag>\\n {{/let}}\\n{{/let}}\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { inject as service } from '@ember/service';\nimport { assert } from '@ember/debug';\nimport { isArray } from '@ember/array';\nimport { action } from '@ember/object';\nimport { task } from 'ember-concurrency';\nimport PowerCalendarMultipleDaysComponent from './power-calendar-multiple/days.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\nimport {\n normalizeDate,\n isSame,\n normalizeMultipleActionValue,\n normalizeCalendarValue,\n type NormalizeMultipleActionValue,\n type PowerCalendarDay,\n} from '../utils.ts';\nimport type {\n CalendarAPI,\n CalendarDay,\n PowerCalendarAPI,\n PowerCalendarActions,\n PowerCalendarArgs,\n PowerCalendarSignature,\n SelectedDays,\n TCalendarType,\n} from './power-calendar.ts';\nimport type Owner from '@ember/owner';\nimport type { ComponentLike } from '@glint/template';\nimport type PowerCalendarService from '../services/power-calendar.ts';\n\nexport interface PowerCalendarMultipleAPI\n extends Omit<PowerCalendarAPI, 'selected'> {\n selected?: Date[];\n}\n\nexport type TPowerCalendarMultipleOnSelect = (\n day: NormalizeMultipleActionValue,\n calendar: PowerCalendarMultipleAPI,\n event: MouseEvent,\n) => void;\n\ninterface PowerCalendarMultipleArgs\n extends Omit<PowerCalendarArgs, 'selected' | 'onSelect'> {\n selected?: Date[];\n onSelect?: TPowerCalendarMultipleOnSelect;\n}\n\ninterface PowerCalendarMultipleDefaultBlock extends PowerCalendarMultipleAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\ninterface PowerCalendarMultipleSignature\n extends Omit<PowerCalendarSignature, 'Args'> {\n Args: PowerCalendarMultipleArgs;\n Blocks: {\n default: [PowerCalendarMultipleDefaultBlock];\n };\n}\n\nexport default class PowerCalendarMultipleComponent extends Component<PowerCalendarMultipleSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'multiple';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarMultipleDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarMultipleArgs) {\n super(owner, args);\n this.registerCalendar();\n if (this.args.onInit) {\n this.args.onInit(this.publicAPI);\n }\n }\n\n get publicActions(): PowerCalendarActions {\n return publicActionsObject(\n this.args.onSelect,\n this.select,\n this.args.onCenterChange,\n this.changeCenterTask,\n this.currentCenter,\n );\n }\n\n get selected(): Date[] | undefined {\n if (this._selected) {\n return (this._selected as Date[]) || undefined;\n }\n\n const value = this.args.selected;\n\n if (!isArray(value)) {\n return value;\n }\n\n const selected: Date[] = [];\n\n for (const date of value) {\n const normalizedDate = normalizeDate(date);\n if (!(normalizedDate instanceof Date)) {\n continue;\n }\n selected.push(normalizedDate);\n }\n\n return selected;\n }\n\n set selected(v: SelectedDays) {\n this._selected = normalizeDate(v as Date | undefined);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = (this.selected || [])[0] || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarAPI {\n return {\n uniqueId: guidFor(this),\n type: this._calendarType,\n selected: this.selected,\n loading: this.changeCenterTask.isRunning,\n center: this.currentCenter,\n locale: this.args.locale || this.powerCalendar.locale,\n actions: this.publicActions,\n };\n }\n\n get tagWithDefault(): string {\n if (this.args.tag === undefined || this.args.tag === null) {\n return 'div';\n }\n return this.args.tag;\n }\n\n // Tasks\n changeCenterTask = task(\n async (newCenter: Date, calendar: PowerCalendarAPI, e: MouseEvent) => {\n assert(\n \"You attempted to move the center of a calendar that doesn't receive an `@onCenterChange` action.\",\n typeof this.args.onCenterChange === 'function',\n );\n const value = normalizeCalendarValue({ date: newCenter });\n await this.args.onCenterChange(value, calendar, e);\n },\n );\n\n // Actions\n @action\n select(dayOrDays: CalendarDay, calendar: CalendarAPI, e: MouseEvent) {\n assert(\n `The select action expects an array of date objects, or a date object. ${typeof dayOrDays} was recieved instead.`,\n isArray(dayOrDays) ||\n (dayOrDays instanceof Object && dayOrDays.date instanceof Date),\n );\n\n let days;\n\n if (isArray(dayOrDays)) {\n days = dayOrDays;\n } else if (dayOrDays instanceof Object && dayOrDays.date instanceof Date) {\n days = [dayOrDays];\n }\n\n if (this.args.onSelect) {\n this.args.onSelect(\n this._buildCollection((days as PowerCalendarDay[]) ?? []),\n calendar as PowerCalendarMultipleAPI,\n e,\n );\n }\n }\n\n @action\n destroyElement() {\n this.unregisterCalendar();\n }\n\n // Methods\n _buildCollection(days: PowerCalendarDay[]): NormalizeMultipleActionValue {\n let selected = this.selected || [];\n\n for (const day of days) {\n const index = selected.findIndex((selectedDate) =>\n isSame(day.date, selectedDate, 'day'),\n );\n if (index === -1) {\n selected = [...selected, day.date];\n } else {\n selected = selected.slice(0, index).concat(selected.slice(index + 1));\n }\n }\n\n return normalizeMultipleActionValue({ date: selected });\n }\n\n // Methods\n registerCalendar() {\n if (window) {\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars = window.__powerCalendars || {}; // TODO: weakmap??\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars[this.publicAPI.uniqueId] = this;\n }\n }\n\n unregisterCalendar() {\n // @ts-expect-error Property '__powerCalendars'\n if (window && window.__powerCalendars?.[guidFor(this)]) {\n // @ts-expect-error Property '__powerCalendars'\n delete window.__powerCalendars[guidFor(this)];\n }\n }\n}\n"],"names":["PowerCalendarMultipleComponent","Component","g","this","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarMultipleDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","undefined","value","isArray","date","normalizedDate","normalizeDate","Date","push","v","center","powerCalendar","getDate","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","tagWithDefault","tag","_buildTask","context","generator","newCenter","calendar","e","assert","normalizeCalendarValue","dayOrDays","Object","days","_buildCollection","n","action","destroyElement","unregisterCalendar","day","index","findIndex","selectedDate","isSame","slice","concat","normalizeMultipleActionValue","window","__powerCalendars","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"power-calendar-multiple.js","sources":["../../src/components/power-calendar-multiple.hbs","../../src/components/power-calendar-multiple.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{#let (assign this.publicAPI (hash\\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\\n)) as |calendar|}}\\n {{#let (element this.tagWithDefault) as |Tag|}}\\n <Tag class=\\\"ember-power-calendar\\\" ...attributes id={{calendar.uniqueId}}>\\n {{#if (has-block)}}\\n {{yield calendar}}\\n {{else}}\\n <calendar.Nav/>\\n <calendar.Days/>\\n {{/if}}\\n </Tag>\\n {{/let}}\\n{{/let}}\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { inject as service } from '@ember/service';\nimport { assert } from '@ember/debug';\nimport { isArray } from '@ember/array';\nimport { action } from '@ember/object';\nimport { task } from 'ember-concurrency';\nimport PowerCalendarMultipleDaysComponent from './power-calendar-multiple/days.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\nimport {\n normalizeDate,\n isSame,\n normalizeMultipleActionValue,\n normalizeCalendarValue,\n type NormalizeMultipleActionValue,\n type PowerCalendarDay,\n} from '../utils.ts';\nimport type {\n CalendarAPI,\n CalendarDay,\n PowerCalendarAPI,\n PowerCalendarActions,\n PowerCalendarArgs,\n PowerCalendarSignature,\n SelectedDays,\n TCalendarType,\n} from './power-calendar.ts';\nimport type Owner from '@ember/owner';\nimport type { ComponentLike } from '@glint/template';\nimport type PowerCalendarService from '../services/power-calendar.ts';\n\nexport interface PowerCalendarMultipleAPI\n extends Omit<PowerCalendarAPI, 'selected'> {\n selected?: Date[];\n}\n\nexport type TPowerCalendarMultipleOnSelect = (\n day: NormalizeMultipleActionValue,\n calendar: PowerCalendarMultipleAPI,\n event: MouseEvent,\n) => void;\n\ninterface PowerCalendarMultipleArgs\n extends Omit<PowerCalendarArgs, 'selected' | 'onSelect'> {\n selected?: Date[];\n onSelect?: TPowerCalendarMultipleOnSelect;\n}\n\ninterface PowerCalendarMultipleDefaultBlock extends PowerCalendarMultipleAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\ninterface PowerCalendarMultipleSignature\n extends Omit<PowerCalendarSignature, 'Args'> {\n Args: PowerCalendarMultipleArgs;\n Blocks: {\n default: [PowerCalendarMultipleDefaultBlock];\n };\n}\n\nexport default class PowerCalendarMultipleComponent extends Component<PowerCalendarMultipleSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'multiple';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarMultipleDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarMultipleArgs) {\n super(owner, args);\n this.registerCalendar();\n if (this.args.onInit) {\n this.args.onInit(this.publicAPI);\n }\n }\n\n willDestroy(): void {\n super.willDestroy();\n this.unregisterCalendar();\n }\n\n get publicActions(): PowerCalendarActions {\n return publicActionsObject(\n this.args.onSelect,\n this.select,\n this.args.onCenterChange,\n this.changeCenterTask,\n this.currentCenter,\n );\n }\n\n get selected(): Date[] | undefined {\n if (this._selected) {\n return (this._selected as Date[]) || undefined;\n }\n\n const value = this.args.selected;\n\n if (!isArray(value)) {\n return value;\n }\n\n const selected: Date[] = [];\n\n for (const date of value) {\n const normalizedDate = normalizeDate(date);\n if (!(normalizedDate instanceof Date)) {\n continue;\n }\n selected.push(normalizedDate);\n }\n\n return selected;\n }\n\n set selected(v: SelectedDays) {\n this._selected = normalizeDate(v as Date | undefined);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = (this.selected || [])[0] || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarAPI {\n return {\n uniqueId: guidFor(this),\n type: this._calendarType,\n selected: this.selected,\n loading: this.changeCenterTask.isRunning,\n center: this.currentCenter,\n locale: this.args.locale || this.powerCalendar.locale,\n actions: this.publicActions,\n };\n }\n\n get tagWithDefault(): string {\n if (this.args.tag === undefined || this.args.tag === null) {\n return 'div';\n }\n return this.args.tag;\n }\n\n // Tasks\n changeCenterTask = task(\n async (newCenter: Date, calendar: PowerCalendarAPI, e: MouseEvent) => {\n assert(\n \"You attempted to move the center of a calendar that doesn't receive an `@onCenterChange` action.\",\n typeof this.args.onCenterChange === 'function',\n );\n const value = normalizeCalendarValue({ date: newCenter });\n await this.args.onCenterChange(value, calendar, e);\n },\n );\n\n // Actions\n @action\n select(dayOrDays: CalendarDay, calendar: CalendarAPI, e: MouseEvent) {\n assert(\n `The select action expects an array of date objects, or a date object. ${typeof dayOrDays} was recieved instead.`,\n isArray(dayOrDays) ||\n (dayOrDays instanceof Object && dayOrDays.date instanceof Date),\n );\n\n let days;\n\n if (isArray(dayOrDays)) {\n days = dayOrDays;\n } else if (dayOrDays instanceof Object && dayOrDays.date instanceof Date) {\n days = [dayOrDays];\n }\n\n if (this.args.onSelect) {\n this.args.onSelect(\n this._buildCollection((days as PowerCalendarDay[]) ?? []),\n calendar as PowerCalendarMultipleAPI,\n e,\n );\n }\n }\n\n // Methods\n _buildCollection(days: PowerCalendarDay[]): NormalizeMultipleActionValue {\n let selected = this.selected || [];\n\n for (const day of days) {\n const index = selected.findIndex((selectedDate) =>\n isSame(day.date, selectedDate, 'day'),\n );\n if (index === -1) {\n selected = [...selected, day.date];\n } else {\n selected = selected.slice(0, index).concat(selected.slice(index + 1));\n }\n }\n\n return normalizeMultipleActionValue({ date: selected });\n }\n\n // Methods\n registerCalendar() {\n if (window) {\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars = window.__powerCalendars || {}; // TODO: weakmap??\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars[this.publicAPI.uniqueId] = this;\n }\n }\n\n unregisterCalendar() {\n // @ts-expect-error Property '__powerCalendars'\n if (window && window.__powerCalendars?.[guidFor(this)]) {\n // @ts-expect-error Property '__powerCalendars'\n delete window.__powerCalendars[guidFor(this)];\n }\n }\n}\n"],"names":["PowerCalendarMultipleComponent","Component","g","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarMultipleDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","willDestroy","unregisterCalendar","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","undefined","value","isArray","date","normalizedDate","normalizeDate","Date","push","v","center","powerCalendar","getDate","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","tagWithDefault","tag","_buildTask","context","generator","newCenter","calendar","e","assert","normalizeCalendarValue","dayOrDays","Object","days","_buildCollection","n","action","day","index","findIndex","selectedDate","isSame","slice","concat","normalizeMultipleActionValue","window","__powerCalendars","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar-range/days.hbs","../../../src/components/power-calendar-range/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport type {\n PowerCalendarDaysArgs,\n PowerCalendarDaysSignature,\n} from '../power-calendar/days.ts';\nimport {\n isBetween,\n isSame,\n diff,\n isBefore,\n add,\n withLocale,\n getWeekdaysMin,\n getWeekdaysShort,\n getWeekdays,\n normalizeDate,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { PowerCalendarRangeAPI } from '../power-calendar-range.ts';\nimport {\n buildDay,\n firstDay,\n lastDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\n\ninterface PowerCalendarMultipleDaysArgs\n extends Omit<PowerCalendarDaysArgs, 'selected'> {\n selected?: {\n start: Date | null;\n end: Date | null;\n };\n}\n\ninterface PowerCalendarRangeSignature\n extends Omit<PowerCalendarDaysSignature, 'Args'> {\n Args: PowerCalendarMultipleDaysArgs;\n}\n\nexport default class PowerCalendarRangeDaysComponent extends Component<PowerCalendarRangeSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n this.buildDay(day, today, this.args.calendar as PowerCalendarRangeAPI),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n\n if (!center) {\n center = this.args.selected?.start || this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n buildDay(date: Date, today: Date, calendar: PowerCalendarRangeAPI) {\n const day = buildDay(\n date,\n today,\n calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n );\n\n const { start, end } = calendar.selected || { start: null, end: null };\n if (start && end) {\n day.isSelected = isBetween(date, start, end, 'day', '[]');\n day.isRangeStart = day.isSelected && isSame(date, start, 'day');\n day.isRangeEnd = day.isSelected && isSame(date, end, 'day');\n } else {\n day.isRangeEnd = false;\n if (!start) {\n day.isRangeStart = false;\n } else {\n day.isRangeStart = day.isSelected = isSame(date, start, 'day');\n if (!day.isDisabled) {\n const diffInMs = Math.abs(diff(day.date, start));\n const minRange = calendar.minRange;\n const maxRange = calendar.maxRange;\n day.isDisabled =\n (minRange && diffInMs < minRange) ||\n (maxRange !== null &&\n maxRange !== undefined &&\n diffInMs > maxRange);\n }\n }\n }\n return day;\n }\n\n dayIsSelected() {\n return false;\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n}\n"],"names":["PowerCalendarRangeDaysComponent","Component","g","this","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","add","weeks","center","selected","start","normalizeDate","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","focusedId","id","focusDate","uniqueId","handleClick","date","dayIsSelected","bind","minDate","maxDate","disabledDates","end","isSelected","isBetween","isRangeStart","isSame","isRangeEnd","isDisabled","diffInMs","Math","abs","diff","minRange","maxRange","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"days.js","sources":["../../../src/components/power-calendar-range/days.hbs","../../../src/components/power-calendar-range/days.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{! template-lint-disable no-invalid-interactive }}\\n<div\\n class=\\\"ember-power-calendar-days\\\"\\n data-power-calendar-id={{or @calendar.calendarUniqueId @calendar.uniqueId}}\\n {{on \\\"click\\\" this.handleClick}}\\n ...attributes\\n>\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-weekdays\\\">\\n {{#each this.weekdaysNames as |wdn|}}\\n <div class=\\\"ember-power-calendar-weekday\\\">{{wdn}}</div>\\n {{/each}}\\n </div>\\n <div class=\\\"ember-power-calendar-day-grid\\\" {{on \\\"keydown\\\" this.handleKeyDown}}>\\n {{#each this.weeks key=\\'id\\' as |week|}}\\n <div class=\\\"ember-power-calendar-row ember-power-calendar-week\\\" data-missing-days={{week.missingDays}}>\\n {{#each week.days key=\\'id\\' as |day|}}\\n <button type=\\\"button\\\"\\n data-date=\\\"{{day.id}}\\\"\\n class={{ember-power-calendar-day-classes day @calendar this.weeks @dayClass}}\\n {{on \\\"focus\\\" this.handleDayFocus}}\\n {{on \\\"blur\\\" this.handleDayBlur}}\\n disabled={{day.isDisabled}}>\\n {{#if (has-block)}}\\n {{yield day @calendar this.weeks}}\\n {{else}}\\n {{day.number}}\\n {{/if}}\\n </button>\\n {{/each}}\\n </div>\\n {{/each}}\\n </div>\\n</div>\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { scheduleOnce } from '@ember/runloop';\nimport { inject as service } from '@ember/service';\nimport type {\n PowerCalendarDaysArgs,\n PowerCalendarDaysSignature,\n} from '../power-calendar/days.ts';\nimport {\n isBetween,\n isSame,\n diff,\n isBefore,\n add,\n withLocale,\n getWeekdaysMin,\n getWeekdaysShort,\n getWeekdays,\n normalizeDate,\n type PowerCalendarDay,\n} from '../../utils.ts';\nimport type { PowerCalendarRangeAPI } from '../power-calendar-range.ts';\nimport {\n buildDay,\n firstDay,\n lastDay,\n localeStartOfWeekOrFallback,\n weekdaysNames,\n weeks,\n handleDayKeyDown,\n focusDate,\n handleClick,\n type TWeekdayFormat,\n type Week,\n} from '../../-private/days-utils.ts';\nimport type PowerCalendarService from '../../services/power-calendar.ts';\n\ninterface PowerCalendarMultipleDaysArgs\n extends Omit<PowerCalendarDaysArgs, 'selected'> {\n selected?: {\n start: Date | null;\n end: Date | null;\n };\n}\n\ninterface PowerCalendarRangeSignature\n extends Omit<PowerCalendarDaysSignature, 'Args'> {\n Args: PowerCalendarMultipleDaysArgs;\n}\n\nexport default class PowerCalendarRangeDaysComponent extends Component<PowerCalendarRangeSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked focusedId: string | null = null;\n\n get weekdayFormat(): TWeekdayFormat {\n return this.args.weekdayFormat || 'short'; // \"min\" | \"short\" | \"long\"\n }\n\n get showDaysAround(): boolean {\n return this.args.showDaysAround !== undefined\n ? this.args.showDaysAround\n : true;\n }\n\n get weekdaysMin(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysMin) as string[];\n }\n\n get weekdaysShort(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdaysShort) as string[];\n }\n\n get weekdays(): string[] {\n return withLocale(this.args.calendar.locale, getWeekdays) as string[];\n }\n\n get localeStartOfWeek(): number {\n return localeStartOfWeekOrFallback(\n this.args.startOfWeek,\n this.args.calendar.locale,\n );\n }\n\n get weekdaysNames(): string[] {\n return weekdaysNames(\n this.localeStartOfWeek,\n this.weekdayFormat,\n this.weekdays,\n this.weekdaysMin,\n this.weekdaysShort,\n );\n }\n\n get days(): PowerCalendarDay[] {\n const today = this.powerCalendar.getDate();\n const theLastDay = lastDay(this.localeStartOfWeek, this.currentCenter);\n let day = firstDay(this.currentCenter, this.localeStartOfWeek);\n const days: PowerCalendarDay[] = [];\n while (isBefore(day, theLastDay)) {\n days.push(\n this.buildDay(day, today, this.args.calendar as PowerCalendarRangeAPI),\n );\n day = add(day, 1, 'day');\n }\n return days;\n }\n\n get weeks(): Week[] {\n return weeks(this.days, this.showDaysAround);\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n\n if (!center) {\n center = this.args.selected?.start || this.args.calendar.center;\n }\n return normalizeDate(center) || this.args.calendar.center;\n }\n\n // Actions\n @action\n handleDayFocus(e: FocusEvent): void {\n scheduleOnce(\n 'actions',\n this,\n this._updateFocused,\n (e.target as HTMLElement).dataset['date'],\n );\n }\n\n @action\n handleDayBlur(): void {\n scheduleOnce('actions', this, this._updateFocused, null);\n }\n\n @action\n handleKeyDown(e: KeyboardEvent): void {\n const day = handleDayKeyDown(e, this.focusedId, this.days);\n if (!day) {\n return;\n }\n this.focusedId = day.id;\n scheduleOnce(\n 'afterRender',\n this,\n focusDate,\n this.args.calendar.uniqueId,\n this.focusedId ?? '',\n );\n }\n\n @action\n handleClick(e: MouseEvent) {\n handleClick(e, this.days, this.args.calendar);\n }\n\n // Methods\n buildDay(date: Date, today: Date, calendar: PowerCalendarRangeAPI) {\n const day = buildDay(\n date,\n today,\n calendar,\n this.focusedId,\n this.currentCenter,\n this.dayIsSelected.bind(this),\n this.args.minDate,\n this.args.maxDate,\n this.args.disabledDates,\n );\n\n const { start, end } = calendar.selected || { start: null, end: null };\n if (start && end) {\n day.isSelected = isBetween(date, start, end, 'day', '[]');\n day.isRangeStart = day.isSelected && isSame(date, start, 'day');\n day.isRangeEnd = day.isSelected && isSame(date, end, 'day');\n } else {\n day.isRangeEnd = false;\n if (!start) {\n day.isRangeStart = false;\n } else {\n day.isRangeStart = day.isSelected = isSame(date, start, 'day');\n if (!day.isDisabled) {\n const diffInMs = Math.abs(diff(day.date, start));\n const minRange = calendar.minRange;\n const maxRange = calendar.maxRange;\n day.isDisabled =\n (minRange && diffInMs < minRange) ||\n (maxRange !== null &&\n maxRange !== undefined &&\n diffInMs > maxRange);\n }\n }\n }\n return day;\n }\n\n dayIsSelected() {\n return false;\n }\n\n _updateFocused(id?: string | null) {\n this.focusedId = id ?? null;\n }\n}\n"],"names":["PowerCalendarRangeDaysComponent","Component","g","prototype","service","i","void 0","tracked","weekdayFormat","args","showDaysAround","undefined","weekdaysMin","withLocale","calendar","locale","getWeekdaysMin","weekdaysShort","getWeekdaysShort","weekdays","getWeekdays","localeStartOfWeek","localeStartOfWeekOrFallback","startOfWeek","weekdaysNames","days","today","powerCalendar","getDate","theLastDay","lastDay","currentCenter","day","firstDay","isBefore","push","buildDay","add","weeks","center","selected","start","normalizeDate","handleDayFocus","e","scheduleOnce","_updateFocused","target","dataset","n","action","handleDayBlur","handleKeyDown","handleDayKeyDown","focusedId","id","focusDate","uniqueId","handleClick","date","dayIsSelected","bind","minDate","maxDate","disabledDates","end","isSelected","isBetween","isRangeStart","isSame","isRangeEnd","isDisabled","diffInMs","Math","abs","diff","minRange","maxRange","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
14
14
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
15
15
|
import { setComponentTemplate } from '@ember/component';
|
|
16
16
|
|
|
17
|
-
var TEMPLATE = precompileTemplate("{{#let (assign this.publicAPI (hash\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\n)) as |calendar|}}\n {{#let (element this.tagWithDefault) as |Tag|}}\n <Tag class=\"ember-power-calendar\" ...attributes id={{calendar.uniqueId}}
|
|
17
|
+
var TEMPLATE = precompileTemplate("{{#let (assign this.publicAPI (hash\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\n)) as |calendar|}}\n {{#let (element this.tagWithDefault) as |Tag|}}\n <Tag class=\"ember-power-calendar\" ...attributes id={{calendar.uniqueId}}>\n {{#if (has-block)}}\n {{yield calendar}}\n {{else}}\n <calendar.Nav/>\n <calendar.Days/>\n {{/if}}\n </Tag>\n {{/let}}\n{{/let}}\n");
|
|
18
18
|
|
|
19
19
|
const DAY_IN_MS = 86400000;
|
|
20
20
|
class PowerCalendarRangeComponent extends Component {
|
|
@@ -49,6 +49,10 @@ class PowerCalendarRangeComponent extends Component {
|
|
|
49
49
|
this.args.onInit(this.publicAPI);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
willDestroy() {
|
|
53
|
+
super.willDestroy();
|
|
54
|
+
this.unregisterCalendar();
|
|
55
|
+
}
|
|
52
56
|
get publicActions() {
|
|
53
57
|
return publicActionsObject(this.args.onSelect, this.select, this.args.onCenterChange, this.changeCenterTask, this.currentCenter);
|
|
54
58
|
}
|
|
@@ -167,12 +171,6 @@ class PowerCalendarRangeComponent extends Component {
|
|
|
167
171
|
static {
|
|
168
172
|
n(this.prototype, "select", [action]);
|
|
169
173
|
}
|
|
170
|
-
destroyElement() {
|
|
171
|
-
this.unregisterCalendar();
|
|
172
|
-
}
|
|
173
|
-
static {
|
|
174
|
-
n(this.prototype, "destroyElement", [action]);
|
|
175
|
-
}
|
|
176
174
|
_formatRange(v) {
|
|
177
175
|
if (typeof v === 'number') {
|
|
178
176
|
return v * DAY_IN_MS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-calendar-range.js","sources":["../../src/components/power-calendar-range.hbs","../../src/components/power-calendar-range.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{#let (assign this.publicAPI (hash\\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\\n)) as |calendar|}}\\n {{#let (element this.tagWithDefault) as |Tag|}}\\n <Tag class=\\\"ember-power-calendar\\\" ...attributes id={{calendar.uniqueId}}\\n {{will-destroy this.destroyElement}}\\n >\\n {{#if (has-block)}}\\n {{yield calendar}}\\n {{else}}\\n <calendar.Nav/>\\n <calendar.Days/>\\n {{/if}}\\n </Tag>\\n {{/let}}\\n{{/let}}\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { task } from 'ember-concurrency';\nimport PowerCalendarRangeDaysComponent from './power-calendar-range/days.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\nimport {\n normalizeDate,\n normalizeRangeActionValue,\n diff,\n isAfter,\n isBefore,\n normalizeDuration,\n normalizeCalendarValue,\n type NormalizeRangeActionValue,\n type PowerCalendarDay,\n type SelectedPowerCalendarRange,\n} from '../utils.ts';\nimport type {\n PowerCalendarAPI,\n PowerCalendarSignature,\n PowerCalendarArgs,\n TCalendarType,\n SelectedDays,\n PowerCalendarActions,\n CalendarDay,\n CalendarAPI,\n} from './power-calendar.ts';\nimport type Owner from '@ember/owner';\nimport type { ComponentLike } from '@glint/template';\nimport type PowerCalendarService from '../services/power-calendar.ts';\n\nexport interface PowerCalendarRangeDay extends Omit<PowerCalendarDay, 'date'> {\n date: SelectedPowerCalendarRange;\n}\n\nexport const DAY_IN_MS = 86400000;\n\nexport type TPowerCalendarRangeOnSelect = (\n day: NormalizeRangeActionValue,\n calendar: PowerCalendarRangeAPI,\n event: MouseEvent,\n) => void;\n\ninterface PowerCalendarRangeArgs\n extends Omit<PowerCalendarArgs, 'selected' | 'onSelect'> {\n selected?: SelectedPowerCalendarRange;\n minRange?: number;\n maxRange?: number;\n proximitySelection?: boolean;\n onSelect?: TPowerCalendarRangeOnSelect;\n}\n\nexport interface PowerCalendarRangeDefaultBlock extends PowerCalendarRangeAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\ninterface PowerCalendarRangeSignature\n extends Omit<PowerCalendarSignature, 'Args' | 'Blocks'> {\n Args: PowerCalendarRangeArgs;\n Blocks: {\n default: [PowerCalendarRangeDefaultBlock];\n };\n}\n\nexport interface PowerCalendarRangeAPI\n extends Omit<PowerCalendarAPI, 'selected'> {\n selected?: SelectedPowerCalendarRange;\n minRange?: number | null;\n maxRange?: number | null;\n}\n\nexport default class PowerCalendarRangeComponent extends Component<PowerCalendarRangeSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'range';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarRangeDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarRangeArgs) {\n super(owner, args);\n this.registerCalendar();\n if (this.args.onInit) {\n this.args.onInit(this.publicAPI);\n }\n }\n\n get publicActions(): PowerCalendarActions {\n return publicActionsObject(\n this.args.onSelect,\n this.select,\n this.args.onCenterChange,\n this.changeCenterTask,\n this.currentCenter,\n );\n }\n\n get selected(): SelectedPowerCalendarRange {\n if (this._selected) {\n return this._selected as SelectedPowerCalendarRange;\n }\n\n if (this.args.selected) {\n return {\n start: normalizeDate(this.args.selected.start),\n end: normalizeDate(this.args.selected.end),\n };\n }\n\n return { start: undefined, end: undefined };\n }\n\n set selected(v) {\n if (v === undefined || v === null) {\n v = {};\n }\n this._selected = {\n start: normalizeDate(v.start),\n end: normalizeDate(v.end),\n };\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.selected.start || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarRangeAPI {\n return {\n uniqueId: guidFor(this),\n type: this._calendarType,\n selected: this.selected,\n loading: this.changeCenterTask.isRunning,\n center: this.currentCenter,\n locale: this.args.locale || this.powerCalendar.locale,\n actions: this.publicActions,\n minRange: this.minRange,\n maxRange: this.maxRange,\n };\n }\n\n get tagWithDefault(): string {\n if (this.args.tag === undefined || this.args.tag === null) {\n return 'div';\n }\n return this.args.tag;\n }\n\n get proximitySelection(): boolean {\n return this.args.proximitySelection !== undefined\n ? this.args.proximitySelection\n : false;\n }\n\n get minRange(): number | null {\n if (this.args.minRange !== undefined) {\n return this._formatRange(this.args.minRange) as number;\n }\n\n return DAY_IN_MS;\n }\n\n get maxRange(): number | null {\n if (this.args.maxRange !== undefined) {\n return this._formatRange(this.args.maxRange) as number;\n }\n\n return null;\n }\n\n // Tasks\n changeCenterTask = task(\n async (newCenter: Date, calendar: PowerCalendarRangeAPI, e: MouseEvent) => {\n assert(\n \"You attempted to move the center of a calendar that doesn't receive an `@onCenterChange` action.\",\n typeof this.args.onCenterChange === 'function',\n );\n const value = normalizeCalendarValue({ date: newCenter });\n await this.args.onCenterChange(value, calendar, e);\n },\n );\n\n // Actions\n @action\n select(day: CalendarDay, calendar: CalendarAPI, e: MouseEvent) {\n const { date } = day as NormalizeRangeActionValue;\n assert(\n 'date must be either a Date, or a Range',\n date &&\n (ownProp(date, 'start') ||\n ownProp(date, 'end') ||\n date instanceof Date),\n );\n\n let range: NormalizeRangeActionValue;\n\n if (ownProp(date, 'start') && ownProp(date, 'end')) {\n range = { date };\n } else {\n range = this._buildRange({ date } as { date: Date });\n }\n\n const { start, end } = range.date;\n if (start && end) {\n const { minRange, maxRange } = this.publicAPI;\n const diffInMs = Math.abs(diff(end, start));\n if (\n diffInMs < (minRange ?? DAY_IN_MS) ||\n (maxRange && diffInMs > maxRange)\n ) {\n return;\n }\n }\n\n if (this.args.onSelect) {\n this.args.onSelect(range, calendar as PowerCalendarRangeAPI, e);\n }\n }\n\n @action\n destroyElement() {\n this.unregisterCalendar();\n }\n\n _formatRange(v: number | undefined) {\n if (typeof v === 'number') {\n return v * DAY_IN_MS;\n }\n\n return normalizeDuration(v === undefined ? DAY_IN_MS : v);\n }\n\n // Methods\n _buildRange(day: { date: Date }): NormalizeRangeActionValue {\n const selected = this.selected || { start: null, end: null };\n const { start, end } = selected;\n\n if (this.proximitySelection) {\n return this._buildRangeByProximity(day, start, end);\n }\n\n return this._buildDefaultRange(day, start, end);\n }\n\n _buildRangeByProximity(\n day: { date: Date },\n start?: Date | null,\n end?: Date | null,\n ): NormalizeRangeActionValue {\n if (start && end) {\n const changeStart =\n Math.abs(diff(day.date, end)) > Math.abs(diff(day.date, start));\n\n return normalizeRangeActionValue({\n date: {\n start: changeStart ? day.date : start,\n end: changeStart ? end : day.date,\n },\n });\n }\n\n if (start && isBefore(day.date, start)) {\n return normalizeRangeActionValue({\n date: { start: day.date, end: null },\n });\n }\n\n return this._buildDefaultRange(day, start, end);\n }\n\n _buildDefaultRange(\n day: { date: Date },\n start?: Date | null,\n end?: Date | null,\n ): NormalizeRangeActionValue {\n if (start && !end) {\n if (isAfter(start, day.date)) {\n return normalizeRangeActionValue({\n date: { start: day.date, end: start },\n });\n }\n return normalizeRangeActionValue({\n date: { start: start, end: day.date },\n });\n }\n\n return normalizeRangeActionValue({ date: { start: day.date, end: null } });\n }\n\n // Methods\n registerCalendar() {\n if (window) {\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars = window.__powerCalendars || {}; // TODO: weakmap??\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars[this.publicAPI.uniqueId] = this;\n }\n }\n\n unregisterCalendar() {\n // @ts-expect-error Property '__powerCalendars'\n if (window && window.__powerCalendars?.[guidFor(this)]) {\n // @ts-expect-error Property '__powerCalendars'\n delete window.__powerCalendars[guidFor(this)];\n }\n }\n}\n\nfunction ownProp<T = { [key: string | number]: any }>(obj: T, prop: keyof T) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n"],"names":["DAY_IN_MS","PowerCalendarRangeComponent","Component","g","this","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarRangeDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","start","normalizeDate","end","undefined","v","center","powerCalendar","getDate","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","minRange","maxRange","tagWithDefault","tag","proximitySelection","_formatRange","_buildTask","context","generator","newCenter","calendar","e","assert","value","normalizeCalendarValue","date","day","ownProp","Date","range","_buildRange","diffInMs","Math","abs","diff","n","action","destroyElement","unregisterCalendar","normalizeDuration","_buildRangeByProximity","_buildDefaultRange","changeStart","normalizeRangeActionValue","isBefore","isAfter","window","__powerCalendars","obj","prop","Object","hasOwnProperty","call","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"power-calendar-range.js","sources":["../../src/components/power-calendar-range.hbs","../../src/components/power-calendar-range.ts"],"sourcesContent":["import { precompileTemplate } from \"@ember/template-compilation\";\nexport default precompileTemplate(\"{{#let (assign this.publicAPI (hash\\n Nav=(component (ensure-safe-component (or @navComponent this.navComponent)) calendar=(readonly this.publicAPI))\\n Days=(component (ensure-safe-component (or @daysComponent this.daysComponent)) calendar=(readonly this.publicAPI))\\n)) as |calendar|}}\\n {{#let (element this.tagWithDefault) as |Tag|}}\\n <Tag class=\\\"ember-power-calendar\\\" ...attributes id={{calendar.uniqueId}}>\\n {{#if (has-block)}}\\n {{yield calendar}}\\n {{else}}\\n <calendar.Nav/>\\n <calendar.Days/>\\n {{/if}}\\n </Tag>\\n {{/let}}\\n{{/let}}\\n\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\nimport { guidFor } from '@ember/object/internals';\nimport { assert } from '@ember/debug';\nimport { task } from 'ember-concurrency';\nimport PowerCalendarRangeDaysComponent from './power-calendar-range/days.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\nimport {\n normalizeDate,\n normalizeRangeActionValue,\n diff,\n isAfter,\n isBefore,\n normalizeDuration,\n normalizeCalendarValue,\n type NormalizeRangeActionValue,\n type PowerCalendarDay,\n type SelectedPowerCalendarRange,\n} from '../utils.ts';\nimport type {\n PowerCalendarAPI,\n PowerCalendarSignature,\n PowerCalendarArgs,\n TCalendarType,\n SelectedDays,\n PowerCalendarActions,\n CalendarDay,\n CalendarAPI,\n} from './power-calendar.ts';\nimport type Owner from '@ember/owner';\nimport type { ComponentLike } from '@glint/template';\nimport type PowerCalendarService from '../services/power-calendar.ts';\n\nexport interface PowerCalendarRangeDay extends Omit<PowerCalendarDay, 'date'> {\n date: SelectedPowerCalendarRange;\n}\n\nexport const DAY_IN_MS = 86400000;\n\nexport type TPowerCalendarRangeOnSelect = (\n day: NormalizeRangeActionValue,\n calendar: PowerCalendarRangeAPI,\n event: MouseEvent,\n) => void;\n\ninterface PowerCalendarRangeArgs\n extends Omit<PowerCalendarArgs, 'selected' | 'onSelect'> {\n selected?: SelectedPowerCalendarRange;\n minRange?: number;\n maxRange?: number;\n proximitySelection?: boolean;\n onSelect?: TPowerCalendarRangeOnSelect;\n}\n\nexport interface PowerCalendarRangeDefaultBlock extends PowerCalendarRangeAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\ninterface PowerCalendarRangeSignature\n extends Omit<PowerCalendarSignature, 'Args' | 'Blocks'> {\n Args: PowerCalendarRangeArgs;\n Blocks: {\n default: [PowerCalendarRangeDefaultBlock];\n };\n}\n\nexport interface PowerCalendarRangeAPI\n extends Omit<PowerCalendarAPI, 'selected'> {\n selected?: SelectedPowerCalendarRange;\n minRange?: number | null;\n maxRange?: number | null;\n}\n\nexport default class PowerCalendarRangeComponent extends Component<PowerCalendarRangeSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'range';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarRangeDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarRangeArgs) {\n super(owner, args);\n this.registerCalendar();\n if (this.args.onInit) {\n this.args.onInit(this.publicAPI);\n }\n }\n\n willDestroy(): void {\n super.willDestroy();\n this.unregisterCalendar();\n }\n\n get publicActions(): PowerCalendarActions {\n return publicActionsObject(\n this.args.onSelect,\n this.select,\n this.args.onCenterChange,\n this.changeCenterTask,\n this.currentCenter,\n );\n }\n\n get selected(): SelectedPowerCalendarRange {\n if (this._selected) {\n return this._selected as SelectedPowerCalendarRange;\n }\n\n if (this.args.selected) {\n return {\n start: normalizeDate(this.args.selected.start),\n end: normalizeDate(this.args.selected.end),\n };\n }\n\n return { start: undefined, end: undefined };\n }\n\n set selected(v) {\n if (v === undefined || v === null) {\n v = {};\n }\n this._selected = {\n start: normalizeDate(v.start),\n end: normalizeDate(v.end),\n };\n }\n\n get currentCenter(): Date {\n let center = this.args.center;\n if (!center) {\n center = this.selected.start || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarRangeAPI {\n return {\n uniqueId: guidFor(this),\n type: this._calendarType,\n selected: this.selected,\n loading: this.changeCenterTask.isRunning,\n center: this.currentCenter,\n locale: this.args.locale || this.powerCalendar.locale,\n actions: this.publicActions,\n minRange: this.minRange,\n maxRange: this.maxRange,\n };\n }\n\n get tagWithDefault(): string {\n if (this.args.tag === undefined || this.args.tag === null) {\n return 'div';\n }\n return this.args.tag;\n }\n\n get proximitySelection(): boolean {\n return this.args.proximitySelection !== undefined\n ? this.args.proximitySelection\n : false;\n }\n\n get minRange(): number | null {\n if (this.args.minRange !== undefined) {\n return this._formatRange(this.args.minRange) as number;\n }\n\n return DAY_IN_MS;\n }\n\n get maxRange(): number | null {\n if (this.args.maxRange !== undefined) {\n return this._formatRange(this.args.maxRange) as number;\n }\n\n return null;\n }\n\n // Tasks\n changeCenterTask = task(\n async (newCenter: Date, calendar: PowerCalendarRangeAPI, e: MouseEvent) => {\n assert(\n \"You attempted to move the center of a calendar that doesn't receive an `@onCenterChange` action.\",\n typeof this.args.onCenterChange === 'function',\n );\n const value = normalizeCalendarValue({ date: newCenter });\n await this.args.onCenterChange(value, calendar, e);\n },\n );\n\n // Actions\n @action\n select(day: CalendarDay, calendar: CalendarAPI, e: MouseEvent) {\n const { date } = day as NormalizeRangeActionValue;\n assert(\n 'date must be either a Date, or a Range',\n date &&\n (ownProp(date, 'start') ||\n ownProp(date, 'end') ||\n date instanceof Date),\n );\n\n let range: NormalizeRangeActionValue;\n\n if (ownProp(date, 'start') && ownProp(date, 'end')) {\n range = { date };\n } else {\n range = this._buildRange({ date } as { date: Date });\n }\n\n const { start, end } = range.date;\n if (start && end) {\n const { minRange, maxRange } = this.publicAPI;\n const diffInMs = Math.abs(diff(end, start));\n if (\n diffInMs < (minRange ?? DAY_IN_MS) ||\n (maxRange && diffInMs > maxRange)\n ) {\n return;\n }\n }\n\n if (this.args.onSelect) {\n this.args.onSelect(range, calendar as PowerCalendarRangeAPI, e);\n }\n }\n\n _formatRange(v: number | undefined) {\n if (typeof v === 'number') {\n return v * DAY_IN_MS;\n }\n\n return normalizeDuration(v === undefined ? DAY_IN_MS : v);\n }\n\n // Methods\n _buildRange(day: { date: Date }): NormalizeRangeActionValue {\n const selected = this.selected || { start: null, end: null };\n const { start, end } = selected;\n\n if (this.proximitySelection) {\n return this._buildRangeByProximity(day, start, end);\n }\n\n return this._buildDefaultRange(day, start, end);\n }\n\n _buildRangeByProximity(\n day: { date: Date },\n start?: Date | null,\n end?: Date | null,\n ): NormalizeRangeActionValue {\n if (start && end) {\n const changeStart =\n Math.abs(diff(day.date, end)) > Math.abs(diff(day.date, start));\n\n return normalizeRangeActionValue({\n date: {\n start: changeStart ? day.date : start,\n end: changeStart ? end : day.date,\n },\n });\n }\n\n if (start && isBefore(day.date, start)) {\n return normalizeRangeActionValue({\n date: { start: day.date, end: null },\n });\n }\n\n return this._buildDefaultRange(day, start, end);\n }\n\n _buildDefaultRange(\n day: { date: Date },\n start?: Date | null,\n end?: Date | null,\n ): NormalizeRangeActionValue {\n if (start && !end) {\n if (isAfter(start, day.date)) {\n return normalizeRangeActionValue({\n date: { start: day.date, end: start },\n });\n }\n return normalizeRangeActionValue({\n date: { start: start, end: day.date },\n });\n }\n\n return normalizeRangeActionValue({ date: { start: day.date, end: null } });\n }\n\n // Methods\n registerCalendar() {\n if (window) {\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars = window.__powerCalendars || {}; // TODO: weakmap??\n // @ts-expect-error Property '__powerCalendars'\n window.__powerCalendars[this.publicAPI.uniqueId] = this;\n }\n }\n\n unregisterCalendar() {\n // @ts-expect-error Property '__powerCalendars'\n if (window && window.__powerCalendars?.[guidFor(this)]) {\n // @ts-expect-error Property '__powerCalendars'\n delete window.__powerCalendars[guidFor(this)];\n }\n }\n}\n\nfunction ownProp<T = { [key: string | number]: any }>(obj: T, prop: keyof T) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n"],"names":["DAY_IN_MS","PowerCalendarRangeComponent","Component","g","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarRangeDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","willDestroy","unregisterCalendar","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","start","normalizeDate","end","undefined","v","center","powerCalendar","getDate","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","minRange","maxRange","tagWithDefault","tag","proximitySelection","_formatRange","_buildTask","context","generator","newCenter","calendar","e","assert","value","normalizeCalendarValue","date","day","ownProp","Date","range","_buildRange","diffInMs","Math","abs","diff","n","action","normalizeDuration","_buildRangeByProximity","_buildDefaultRange","changeStart","normalizeRangeActionValue","isBefore","isAfter","window","__powerCalendars","obj","prop","Object","hasOwnProperty","call","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,mlBAAmlB;;ACuC9mB,MAAMA,SAAS,GAAG,SAAQ;AAqClB,MAAMC,2BAA2B,SAASC,SAAS,CAA8B;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CAC7FC,MAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,QAAA,EAAA,CAEPI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAU,IAAI,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CACrBI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAgC,OAAO,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,WAAA,EAAA,CAC9CI,OAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,UAAA,IAAAF,CAAA,CAAA,IAAA,EAAA,WAAA,CAAA,EAAAC,KAAA,CAAA,EAAA;AAERE,EAAAA,YAAY,GAAuBC,yBAAyB,CAAA;AAC5DC,EAAAA,aAAa,GAAuBC,+BAA+B,CAAA;;AAEnE;AACAC,EAAAA,WAAWA,CAACC,KAAY,EAAEC,IAA4B,EAAE;AACtD,IAAA,KAAK,CAACD,KAAK,EAAEC,IAAI,CAAC,CAAA;IAClB,IAAI,CAACC,gBAAgB,EAAE,CAAA;AACvB,IAAA,IAAI,IAAI,CAACD,IAAI,CAACE,MAAM,EAAE;MACpB,IAAI,CAACF,IAAI,CAACE,MAAM,CAAC,IAAI,CAACC,SAAS,CAAC,CAAA;AAClC,KAAA;AACF,GAAA;AAEAC,EAAAA,WAAWA,GAAS;IAClB,KAAK,CAACA,WAAW,EAAE,CAAA;IACnB,IAAI,CAACC,kBAAkB,EAAE,CAAA;AAC3B,GAAA;EAEA,IAAIC,aAAaA,GAAyB;IACxC,OAAOC,mBAAmB,CACxB,IAAI,CAACP,IAAI,CAACQ,QAAQ,EAClB,IAAI,CAACC,MAAM,EACX,IAAI,CAACT,IAAI,CAACU,cAAc,EACxB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,aACP,CAAC,CAAA;AACH,GAAA;EAEA,IAAIC,QAAQA,GAA+B;IACzC,IAAI,IAAI,CAACC,SAAS,EAAE;MAClB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,KAAA;AAEA,IAAA,IAAI,IAAI,CAACd,IAAI,CAACa,QAAQ,EAAE;MACtB,OAAO;QACLE,KAAK,EAAEC,aAAa,CAAC,IAAI,CAAChB,IAAI,CAACa,QAAQ,CAACE,KAAK,CAAC;QAC9CE,GAAG,EAAED,aAAa,CAAC,IAAI,CAAChB,IAAI,CAACa,QAAQ,CAACI,GAAG,CAAA;OAC1C,CAAA;AACH,KAAA;IAEA,OAAO;AAAEF,MAAAA,KAAK,EAAEG,SAAS;AAAED,MAAAA,GAAG,EAAEC,SAAAA;KAAW,CAAA;AAC7C,GAAA;EAEA,IAAIL,QAAQA,CAACM,CAAC,EAAE;AACd,IAAA,IAAIA,CAAC,KAAKD,SAAS,IAAIC,CAAC,KAAK,IAAI,EAAE;MACjCA,CAAC,GAAG,EAAE,CAAA;AACR,KAAA;IACA,IAAI,CAACL,SAAS,GAAG;AACfC,MAAAA,KAAK,EAAEC,aAAa,CAACG,CAAC,CAACJ,KAAK,CAAC;AAC7BE,MAAAA,GAAG,EAAED,aAAa,CAACG,CAAC,CAACF,GAAG,CAAA;KACzB,CAAA;AACH,GAAA;EAEA,IAAIL,aAAaA,GAAS;AACxB,IAAA,IAAIQ,MAAM,GAAG,IAAI,CAACpB,IAAI,CAACoB,MAAM,CAAA;IAC7B,IAAI,CAACA,MAAM,EAAE;AACXA,MAAAA,MAAM,GAAG,IAAI,CAACP,QAAQ,CAACE,KAAK,IAAI,IAAI,CAACM,aAAa,CAACC,OAAO,EAAE,CAAA;AAC9D,KAAA;IACA,OAAON,aAAa,CAACI,MAAM,CAAC,IAAI,IAAI,CAACC,aAAa,CAACC,OAAO,EAAE,CAAA;AAC9D,GAAA;EAEA,IAAInB,SAASA,GAA0B;IACrC,OAAO;AACLoB,MAAAA,QAAQ,EAAEC,OAAO,CAAC,IAAI,CAAC;MACvBC,IAAI,EAAE,IAAI,CAACC,aAAa;MACxBb,QAAQ,EAAE,IAAI,CAACA,QAAQ;AACvBc,MAAAA,OAAO,EAAE,IAAI,CAAChB,gBAAgB,CAACiB,SAAS;MACxCR,MAAM,EAAE,IAAI,CAACR,aAAa;MAC1BiB,MAAM,EAAE,IAAI,CAAC7B,IAAI,CAAC6B,MAAM,IAAI,IAAI,CAACR,aAAa,CAACQ,MAAM;MACrDC,OAAO,EAAE,IAAI,CAACxB,aAAa;MAC3ByB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,QAAQ,EAAE,IAAI,CAACA,QAAAA;KAChB,CAAA;AACH,GAAA;EAEA,IAAIC,cAAcA,GAAW;AAC3B,IAAA,IAAI,IAAI,CAACjC,IAAI,CAACkC,GAAG,KAAKhB,SAAS,IAAI,IAAI,CAAClB,IAAI,CAACkC,GAAG,KAAK,IAAI,EAAE;AACzD,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,OAAO,IAAI,CAAClC,IAAI,CAACkC,GAAG,CAAA;AACtB,GAAA;EAEA,IAAIC,kBAAkBA,GAAY;AAChC,IAAA,OAAO,IAAI,CAACnC,IAAI,CAACmC,kBAAkB,KAAKjB,SAAS,GAC7C,IAAI,CAAClB,IAAI,CAACmC,kBAAkB,GAC5B,KAAK,CAAA;AACX,GAAA;EAEA,IAAIJ,QAAQA,GAAkB;AAC5B,IAAA,IAAI,IAAI,CAAC/B,IAAI,CAAC+B,QAAQ,KAAKb,SAAS,EAAE;MACpC,OAAO,IAAI,CAACkB,YAAY,CAAC,IAAI,CAACpC,IAAI,CAAC+B,QAAQ,CAAC,CAAA;AAC9C,KAAA;AAEA,IAAA,OAAO9C,SAAS,CAAA;AAClB,GAAA;EAEA,IAAI+C,QAAQA,GAAkB;AAC5B,IAAA,IAAI,IAAI,CAAChC,IAAI,CAACgC,QAAQ,KAAKd,SAAS,EAAE;MACpC,OAAO,IAAI,CAACkB,YAAY,CAAC,IAAI,CAACpC,IAAI,CAACgC,QAAQ,CAAC,CAAA;AAC9C,KAAA;AAEA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;;AAEA;AACArB,EAAAA,gBAAgB,GAAA0B,SAAA,CAAA,OAAA;IAAAC,OAAA,EAAA,IAAA;AAAAC,IAAAA,SAAA,aACPC,SAAe,EAAEC,QAA+B,EAAEC,CAAa,EAAK;MACzEC,MAAM,CACJ,kGAAkG,EAClG,OAAO,IAAI,CAAC3C,IAAI,CAACU,cAAc,KAAK,UACtC,CAAC,CAAA;MACD,MAAMkC,KAAK,GAAGC,sBAAsB,CAAC;AAAEC,QAAAA,IAAI,EAAEN,SAAAA;AAAU,OAAC,CAAC,CAAA;MACzD,MAAM,IAAI,CAACxC,IAAI,CAACU,cAAc,CAACkC,KAAK,EAAEH,QAAQ,EAAEC,CAAC,CAAC,CAAA;AACpD,KAAA;AAAC,GAAA,CAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;;AAGH;AAEAjC,EAAAA,MAAMA,CAACsC,GAAgB,EAAEN,QAAqB,EAAEC,CAAa,EAAE;IAC7D,MAAM;AAAEI,MAAAA,IAAAA;AAAK,KAAC,GAAGC,GAAgC,CAAA;IACjDJ,MAAM,CACJ,wCAAwC,EACxCG,IAAI,KACDE,OAAO,CAACF,IAAI,EAAE,OAAO,CAAC,IACrBE,OAAO,CAACF,IAAI,EAAE,KAAK,CAAC,IACpBA,IAAI,YAAYG,IAAI,CAC1B,CAAC,CAAA;AAED,IAAA,IAAIC,KAAgC,CAAA;AAEpC,IAAA,IAAIF,OAAO,CAACF,IAAI,EAAE,OAAO,CAAC,IAAIE,OAAO,CAACF,IAAI,EAAE,KAAK,CAAC,EAAE;AAClDI,MAAAA,KAAK,GAAG;AAAEJ,QAAAA,IAAAA;OAAM,CAAA;AAClB,KAAC,MAAM;AACLI,MAAAA,KAAK,GAAG,IAAI,CAACC,WAAW,CAAC;AAAEL,QAAAA,IAAAA;AAAK,OAAmB,CAAC,CAAA;AACtD,KAAA;IAEA,MAAM;MAAE/B,KAAK;AAAEE,MAAAA,GAAAA;KAAK,GAAGiC,KAAK,CAACJ,IAAI,CAAA;IACjC,IAAI/B,KAAK,IAAIE,GAAG,EAAE;MAChB,MAAM;QAAEc,QAAQ;AAAEC,QAAAA,QAAAA;OAAU,GAAG,IAAI,CAAC7B,SAAS,CAAA;AAC7C,MAAA,MAAMiD,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACC,IAAI,CAACtC,GAAG,EAAEF,KAAK,CAAC,CAAC,CAAA;AAC3C,MAAA,IACEqC,QAAQ,IAAIrB,QAAQ,IAAI9C,SAAS,CAAC,IACjC+C,QAAQ,IAAIoB,QAAQ,GAAGpB,QAAS,EACjC;AACA,QAAA,OAAA;AACF,OAAA;AACF,KAAA;AAEA,IAAA,IAAI,IAAI,CAAChC,IAAI,CAACQ,QAAQ,EAAE;MACtB,IAAI,CAACR,IAAI,CAACQ,QAAQ,CAAC0C,KAAK,EAAET,QAAQ,EAA2BC,CAAC,CAAC,CAAA;AACjE,KAAA;AACF,GAAA;AAAC,EAAA;IAAAc,CAAA,CAAA,IAAA,CAAAnE,SAAA,EAAA,QAAA,EAAA,CAlCAoE,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;EAoCPrB,YAAYA,CAACjB,CAAqB,EAAE;AAClC,IAAA,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACzB,OAAOA,CAAC,GAAGlC,SAAS,CAAA;AACtB,KAAA;IAEA,OAAOyE,iBAAiB,CAACvC,CAAC,KAAKD,SAAS,GAAGjC,SAAS,GAAGkC,CAAC,CAAC,CAAA;AAC3D,GAAA;;AAEA;EACAgC,WAAWA,CAACJ,GAAmB,EAA6B;AAC1D,IAAA,MAAMlC,QAAQ,GAAG,IAAI,CAACA,QAAQ,IAAI;AAAEE,MAAAA,KAAK,EAAE,IAAI;AAAEE,MAAAA,GAAG,EAAE,IAAA;KAAM,CAAA;IAC5D,MAAM;MAAEF,KAAK;AAAEE,MAAAA,GAAAA;AAAI,KAAC,GAAGJ,QAAQ,CAAA;IAE/B,IAAI,IAAI,CAACsB,kBAAkB,EAAE;MAC3B,OAAO,IAAI,CAACwB,sBAAsB,CAACZ,GAAG,EAAEhC,KAAK,EAAEE,GAAG,CAAC,CAAA;AACrD,KAAA;IAEA,OAAO,IAAI,CAAC2C,kBAAkB,CAACb,GAAG,EAAEhC,KAAK,EAAEE,GAAG,CAAC,CAAA;AACjD,GAAA;AAEA0C,EAAAA,sBAAsBA,CACpBZ,GAAmB,EACnBhC,KAAmB,EACnBE,GAAiB,EACU;IAC3B,IAAIF,KAAK,IAAIE,GAAG,EAAE;AAChB,MAAA,MAAM4C,WAAW,GACfR,IAAI,CAACC,GAAG,CAACC,IAAI,CAACR,GAAG,CAACD,IAAI,EAAE7B,GAAG,CAAC,CAAC,GAAGoC,IAAI,CAACC,GAAG,CAACC,IAAI,CAACR,GAAG,CAACD,IAAI,EAAE/B,KAAK,CAAC,CAAC,CAAA;AAEjE,MAAA,OAAO+C,yBAAyB,CAAC;AAC/BhB,QAAAA,IAAI,EAAE;AACJ/B,UAAAA,KAAK,EAAE8C,WAAW,GAAGd,GAAG,CAACD,IAAI,GAAG/B,KAAK;AACrCE,UAAAA,GAAG,EAAE4C,WAAW,GAAG5C,GAAG,GAAG8B,GAAG,CAACD,IAAAA;AAC/B,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;IAEA,IAAI/B,KAAK,IAAIgD,QAAQ,CAAChB,GAAG,CAACD,IAAI,EAAE/B,KAAK,CAAC,EAAE;AACtC,MAAA,OAAO+C,yBAAyB,CAAC;AAC/BhB,QAAAA,IAAI,EAAE;UAAE/B,KAAK,EAAEgC,GAAG,CAACD,IAAI;AAAE7B,UAAAA,GAAG,EAAE,IAAA;AAAK,SAAA;AACrC,OAAC,CAAC,CAAA;AACJ,KAAA;IAEA,OAAO,IAAI,CAAC2C,kBAAkB,CAACb,GAAG,EAAEhC,KAAK,EAAEE,GAAG,CAAC,CAAA;AACjD,GAAA;AAEA2C,EAAAA,kBAAkBA,CAChBb,GAAmB,EACnBhC,KAAmB,EACnBE,GAAiB,EACU;AAC3B,IAAA,IAAIF,KAAK,IAAI,CAACE,GAAG,EAAE;MACjB,IAAI+C,OAAO,CAACjD,KAAK,EAAEgC,GAAG,CAACD,IAAI,CAAC,EAAE;AAC5B,QAAA,OAAOgB,yBAAyB,CAAC;AAC/BhB,UAAAA,IAAI,EAAE;YAAE/B,KAAK,EAAEgC,GAAG,CAACD,IAAI;AAAE7B,YAAAA,GAAG,EAAEF,KAAAA;AAAM,WAAA;AACtC,SAAC,CAAC,CAAA;AACJ,OAAA;AACA,MAAA,OAAO+C,yBAAyB,CAAC;AAC/BhB,QAAAA,IAAI,EAAE;AAAE/B,UAAAA,KAAK,EAAEA,KAAK;UAAEE,GAAG,EAAE8B,GAAG,CAACD,IAAAA;AAAK,SAAA;AACtC,OAAC,CAAC,CAAA;AACJ,KAAA;AAEA,IAAA,OAAOgB,yBAAyB,CAAC;AAAEhB,MAAAA,IAAI,EAAE;QAAE/B,KAAK,EAAEgC,GAAG,CAACD,IAAI;AAAE7B,QAAAA,GAAG,EAAE,IAAA;AAAK,OAAA;AAAE,KAAC,CAAC,CAAA;AAC5E,GAAA;;AAEA;AACAhB,EAAAA,gBAAgBA,GAAG;AACjB,IAAA,IAAIgE,MAAM,EAAE;AACV;MACAA,MAAM,CAACC,gBAAgB,GAAGD,MAAM,CAACC,gBAAgB,IAAI,EAAE,CAAC;AACxD;MACAD,MAAM,CAACC,gBAAgB,CAAC,IAAI,CAAC/D,SAAS,CAACoB,QAAQ,CAAC,GAAG,IAAI,CAAA;AACzD,KAAA;AACF,GAAA;AAEAlB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,IAAI4D,MAAM,IAAIA,MAAM,CAACC,gBAAgB,GAAG1C,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACtD;MACA,OAAOyC,MAAM,CAACC,gBAAgB,CAAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,KAAA;AACF,GAAA;AACF,CAAA;AAEA,SAASwB,OAAOA,CAAsCmB,GAAM,EAAEC,IAAa,EAAE;EAC3E,OAAOC,MAAM,CAAChF,SAAS,CAACiF,cAAc,CAACC,IAAI,CAACJ,GAAG,EAAEC,IAAI,CAAC,CAAA;AACxD,CAAA;AAACI,oBAAA,CAAAC,QAAA,EArPoBvF,2BAA2B,CAAA;;;;"}
|