ember-power-calendar 1.0.1 → 1.1.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.
@@ -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,cAAc;IAKd,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,4BAA4B;IAkBxE,gBAAgB;IAShB,kBAAkB;CAqDnB"}
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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"}
@@ -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}}\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");
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, "destroyElement", [action]);
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":";;;;;;;;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,qoBAAqoB;;AC8DxpB,MAAMA,8BAA8B,SAASC,SAAS,CAAiC;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,oBACnGC,MAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAAH,IAAA,oBAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,aAEPI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAU,IAAI,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAAA,IAAAF,CAAA,CAAAH,IAAA,aAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,oBACrBI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAgC,UAAU,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAF,CAAA,CAAAH,IAAA,oBAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,gBACjDI,OAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,UAAA,IAAAF,CAAA,CAAAH,IAAA,gBAAAI,KAAA,CAAA,EAAA;AAERE,EAAAA,YAAY,GAAuBC,yBAAyB,CAAA;AAC5DC,EAAAA,aAAa,GAAuBC,kCAAkC,CAAA;;AAEtE;AACAC,EAAAA,WAAWA,CAACC,KAAY,EAAEC,IAA+B,EAAE;AACzD,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;EAEA,IAAIC,aAAaA,GAAyB;IACxC,OAAOC,mBAAmB,CACxB,IAAI,CAACL,IAAI,CAACM,QAAQ,EAClB,IAAI,CAACC,MAAM,EACX,IAAI,CAACP,IAAI,CAACQ,cAAc,EACxB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,aACP,CAAC,CAAA;AACH,GAAA;EAEA,IAAIC,QAAQA,GAAuB;IACjC,IAAI,IAAI,CAACC,SAAS,EAAE;AAClB,MAAA,OAAQ,IAAI,CAACA,SAAS,IAAeC,SAAS,CAAA;AAChD,KAAA;AAEA,IAAA,MAAMC,KAAK,GAAG,IAAI,CAACd,IAAI,CAACW,QAAQ,CAAA;AAEhC,IAAA,IAAI,CAACI,OAAO,CAACD,KAAK,CAAC,EAAE;AACnB,MAAA,OAAOA,KAAK,CAAA;AACd,KAAA;IAEA,MAAMH,QAAgB,GAAG,EAAE,CAAA;AAE3B,IAAA,KAAK,MAAMK,IAAI,IAAIF,KAAK,EAAE;AACxB,MAAA,MAAMG,cAAc,GAAGC,aAAa,CAACF,IAAI,CAAC,CAAA;AAC1C,MAAA,IAAI,EAAEC,cAAc,YAAYE,IAAI,CAAC,EAAE;AACrC,QAAA,SAAA;AACF,OAAA;AACAR,MAAAA,QAAQ,CAACS,IAAI,CAACH,cAAc,CAAC,CAAA;AAC/B,KAAA;AAEA,IAAA,OAAON,QAAQ,CAAA;AACjB,GAAA;EAEA,IAAIA,QAAQA,CAACU,CAAe,EAAE;AAC5B,IAAA,IAAI,CAACT,SAAS,GAAGM,aAAa,CAACG,CAAqB,CAAC,CAAA;AACvD,GAAA;EAEA,IAAIX,aAAaA,GAAS;AACxB,IAAA,IAAIY,MAAM,GAAG,IAAI,CAACtB,IAAI,CAACsB,MAAM,CAAA;IAC7B,IAAI,CAACA,MAAM,EAAE;AACXA,MAAAA,MAAM,GAAG,CAAC,IAAI,CAACX,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAACY,aAAa,CAACC,OAAO,EAAE,CAAA;AACnE,KAAA;IACA,OAAON,aAAa,CAACI,MAAM,CAAC,IAAI,IAAI,CAACC,aAAa,CAACC,OAAO,EAAE,CAAA;AAC9D,GAAA;EAEA,IAAIrB,SAASA,GAAqB;IAChC,OAAO;AACLsB,MAAAA,QAAQ,EAAEC,OAAO,CAAC,IAAI,CAAC;MACvBC,IAAI,EAAE,IAAI,CAACC,aAAa;MACxBjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;AACvBkB,MAAAA,OAAO,EAAE,IAAI,CAACpB,gBAAgB,CAACqB,SAAS;MACxCR,MAAM,EAAE,IAAI,CAACZ,aAAa;MAC1BqB,MAAM,EAAE,IAAI,CAAC/B,IAAI,CAAC+B,MAAM,IAAI,IAAI,CAACR,aAAa,CAACQ,MAAM;MACrDC,OAAO,EAAE,IAAI,CAAC5B,aAAAA;KACf,CAAA;AACH,GAAA;EAEA,IAAI6B,cAAcA,GAAW;AAC3B,IAAA,IAAI,IAAI,CAACjC,IAAI,CAACkC,GAAG,KAAKrB,SAAS,IAAI,IAAI,CAACb,IAAI,CAACkC,GAAG,KAAK,IAAI,EAAE;AACzD,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,OAAO,IAAI,CAAClC,IAAI,CAACkC,GAAG,CAAA;AACtB,GAAA;;AAEA;AACAzB,EAAAA,gBAAgB,GAAA0B,SAAA,CAAA,OAAA;IAAAC,OAAA,EAAA,IAAA;AAAAC,IAAAA,SAAA,aACPC,SAAe,EAAEC,QAA0B,EAAEC,CAAa,EAAK;MACpEC,MAAM,CACJ,kGAAkG,EAClG,OAAO,IAAI,CAACzC,IAAI,CAACQ,cAAc,KAAK,UACtC,CAAC,CAAA;MACD,MAAMM,KAAK,GAAG4B,sBAAsB,CAAC;AAAE1B,QAAAA,IAAI,EAAEsB,SAAAA;AAAU,OAAC,CAAC,CAAA;MACzD,MAAM,IAAI,CAACtC,IAAI,CAACQ,cAAc,CAACM,KAAK,EAAEyB,QAAQ,EAAEC,CAAC,CAAC,CAAA;AACpD,KAAA;AAAC,GAAA,CAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;;AAGH;AAEAjC,EAAAA,MAAMA,CAACoC,SAAsB,EAAEJ,QAAqB,EAAEC,CAAa,EAAE;IACnEC,MAAM,CACH,yEAAwE,OAAOE,SAAU,wBAAuB,EACjH5B,OAAO,CAAC4B,SAAS,CAAC,IACfA,SAAS,YAAYC,MAAM,IAAID,SAAS,CAAC3B,IAAI,YAAYG,IAC9D,CAAC,CAAA;AAED,IAAA,IAAI0B,IAAI,CAAA;AAER,IAAA,IAAI9B,OAAO,CAAC4B,SAAS,CAAC,EAAE;AACtBE,MAAAA,IAAI,GAAGF,SAAS,CAAA;KACjB,MAAM,IAAIA,SAAS,YAAYC,MAAM,IAAID,SAAS,CAAC3B,IAAI,YAAYG,IAAI,EAAE;MACxE0B,IAAI,GAAG,CAACF,SAAS,CAAC,CAAA;AACpB,KAAA;AAEA,IAAA,IAAI,IAAI,CAAC3C,IAAI,CAACM,QAAQ,EAAE;AACtB,MAAA,IAAI,CAACN,IAAI,CAACM,QAAQ,CAChB,IAAI,CAACwC,gBAAgB,CAAED,IAAI,IAA2B,EAAE,CAAC,EACzDN,QAAQ,EACRC,CACF,CAAC,CAAA;AACH,KAAA;AACF,GAAA;AAAC,EAAA;AAAAO,IAAAA,CAAA,CAAA3D,IAAA,CAAAC,SAAA,aAvBA2D,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;AA0BPC,EAAAA,cAAcA,GAAG;IACf,IAAI,CAACC,kBAAkB,EAAE,CAAA;AAC3B,GAAA;;AAEA;AAAA,EAAA;AAAAH,IAAAA,CAAA,CAAA3D,IAAA,CAAAC,SAAA,qBALC2D,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;EAMPF,gBAAgBA,CAACD,IAAwB,EAAgC;AACvE,IAAA,IAAIlC,QAAQ,GAAG,IAAI,CAACA,QAAQ,IAAI,EAAE,CAAA;AAElC,IAAA,KAAK,MAAMwC,GAAG,IAAIN,IAAI,EAAE;AACtB,MAAA,MAAMO,KAAK,GAAGzC,QAAQ,CAAC0C,SAAS,CAAEC,YAAY,IAC5CC,MAAM,CAACJ,GAAG,CAACnC,IAAI,EAAEsC,YAAY,EAAE,KAAK,CACtC,CAAC,CAAA;AACD,MAAA,IAAIF,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBzC,QAAQ,GAAG,CAAC,GAAGA,QAAQ,EAAEwC,GAAG,CAACnC,IAAI,CAAC,CAAA;AACpC,OAAC,MAAM;QACLL,QAAQ,GAAGA,QAAQ,CAAC6C,KAAK,CAAC,CAAC,EAAEJ,KAAK,CAAC,CAACK,MAAM,CAAC9C,QAAQ,CAAC6C,KAAK,CAACJ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AACvE,OAAA;AACF,KAAA;AAEA,IAAA,OAAOM,4BAA4B,CAAC;AAAE1C,MAAAA,IAAI,EAAEL,QAAAA;AAAS,KAAC,CAAC,CAAA;AACzD,GAAA;;AAEA;AACAV,EAAAA,gBAAgBA,GAAG;AACjB,IAAA,IAAI0D,MAAM,EAAE;AACV;MACAA,MAAM,CAACC,gBAAgB,GAAGD,MAAM,CAACC,gBAAgB,IAAI,EAAE,CAAC;AACxD;MACAD,MAAM,CAACC,gBAAgB,CAAC,IAAI,CAACzD,SAAS,CAACsB,QAAQ,CAAC,GAAG,IAAI,CAAA;AACzD,KAAA;AACF,GAAA;AAEAyB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,IAAIS,MAAM,IAAIA,MAAM,CAACC,gBAAgB,GAAGlC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACtD;MACA,OAAOiC,MAAM,CAACC,gBAAgB,CAAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,KAAA;AACF,GAAA;AACF,CAAA;AAACmC,oBAAA,CAAAC,QAAA,EAlKoB7E,8BAA8B,CAAA;;;;"}
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","this","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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"}
@@ -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}}\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");
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","this","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":"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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}}\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");
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
  class PowerCalendarComponent extends Component {
20
20
  static {
@@ -48,6 +48,10 @@ class PowerCalendarComponent extends Component {
48
48
  this.args.onInit(this.publicAPI);
49
49
  }
50
50
  }
51
+ willDestroy() {
52
+ super.willDestroy();
53
+ this.unregisterCalendar();
54
+ }
51
55
  get publicActions() {
52
56
  return publicActionsObject(this.args.onSelect, this.select, this.args.onCenterChange, this.changeCenterTask, this.currentCenter);
53
57
  }
@@ -106,16 +110,10 @@ class PowerCalendarComponent extends Component {
106
110
  this.args.onSelect(day, calendar, e);
107
111
  }
108
112
  }
109
- static {
110
- n(this.prototype, "select", [action]);
111
- }
112
- destroyElement() {
113
- this.unregisterCalendar();
114
- }
115
113
 
116
114
  // Methods
117
115
  static {
118
- n(this.prototype, "destroyElement", [action]);
116
+ n(this.prototype, "select", [action]);
119
117
  }
120
118
  registerCalendar() {
121
119
  if (window) {
@@ -1 +1 @@
1
- {"version":3,"file":"power-calendar.js","sources":["../../src/components/power-calendar.hbs","../../src/components/power-calendar.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 { guidFor } from '@ember/object/internals';\nimport { inject as service } from '@ember/service';\nimport { task } from 'ember-concurrency';\nimport { assert } from '@ember/debug';\nimport type { ComponentLike } from '@glint/template';\nimport {\n normalizeDate,\n normalizeCalendarValue,\n type NormalizeCalendarValue,\n type PowerCalendarDay,\n type SelectedPowerCalendarRange,\n} from '../utils.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport PowerCalendarDaysComponent from './power-calendar/days.ts';\nimport type Owner from '@ember/owner';\nimport type PowerCalendarService from '../services/power-calendar.ts';\nimport type {\n PowerCalendarRangeAPI,\n PowerCalendarRangeDay,\n} from './power-calendar-range.ts';\nimport type { PowerCalendarMultipleAPI } from './power-calendar-multiple.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\n\nexport type TCalendarType = 'multiple' | 'range' | 'single';\nexport type TPowerCalendarMoveCenterUnit = 'year' | 'month';\nexport type SelectedDays =\n | SelectedPowerCalendarRange\n | Date\n | Date[]\n | undefined;\nexport type CalendarAPI =\n | PowerCalendarAPI\n | PowerCalendarMultipleAPI\n | PowerCalendarRangeAPI;\n\nexport interface PowerCalendarAPI {\n uniqueId: string;\n calendarUniqueId?: string;\n selected?: SelectedDays;\n loading: boolean;\n center: Date;\n locale: string;\n type: TCalendarType;\n actions: PowerCalendarActions;\n}\n\nexport interface PowerCalendarActions {\n changeCenter?: (\n newCenter: Date,\n calendar: CalendarAPI,\n event: MouseEvent,\n ) => void;\n moveCenter?: (\n step: number,\n unit: TPowerCalendarMoveCenterUnit,\n calendar: PowerCalendarAPI,\n event: MouseEvent,\n ) => void;\n select?: (day: CalendarDay, calendar: CalendarAPI, event: MouseEvent) => void;\n}\n\nexport type TPowerCalendarOnSelect = (\n day: CalendarDay,\n calendar: CalendarAPI,\n event: MouseEvent,\n) => void;\n\nexport interface PowerCalendarArgs {\n daysComponent?: string | ComponentLike<any>;\n locale: string;\n navComponent?: string | ComponentLike<any>;\n onCenterChange?: (\n newCenter: NormalizeCalendarValue,\n calendar: PowerCalendarAPI,\n event: MouseEvent,\n ) => void;\n onInit?: (calendar: PowerCalendarAPI) => void;\n onSelect?: TPowerCalendarOnSelect;\n selected?: SelectedDays;\n center?: Date;\n tag?: string;\n}\n\nexport interface PowerCalendarDefaultBlock extends PowerCalendarAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\nexport type CalendarDay =\n | PowerCalendarDay\n | PowerCalendarRangeDay\n | PowerCalendarDay[];\n\nexport interface PowerCalendarSignature {\n Element: HTMLElement;\n Args: PowerCalendarArgs;\n Blocks: {\n default: [PowerCalendarDefaultBlock];\n };\n}\n\nexport default class PowerCalendarComponent extends Component<PowerCalendarSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'single';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarArgs) {\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(): SelectedDays {\n if (this._selected) {\n return this._selected;\n }\n\n return normalizeDate(this.args.selected as Date);\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 as Date) || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarAPI {\n return this._publicAPI;\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(day: CalendarDay, calendar: PowerCalendarAPI, e: MouseEvent) {\n if (this.args.onSelect) {\n this.args.onSelect(day, calendar, e);\n }\n }\n\n @action\n destroyElement() {\n this.unregisterCalendar();\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":["PowerCalendarComponent","Component","g","this","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","normalizeDate","v","center","powerCalendar","getDate","_publicAPI","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","tagWithDefault","tag","undefined","_buildTask","context","generator","newCenter","calendar","e","assert","value","normalizeCalendarValue","date","day","n","action","destroyElement","unregisterCalendar","window","__powerCalendars","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;;;;;;;;;;AACA,eAAe,kBAAkB,CAAC,qoBAAqoB;;ACuGxpB,MAAMA,sBAAsB,SAASC,SAAS,CAAyB;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,oBACnFC,MAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAAH,IAAA,oBAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,aAEPI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAU,IAAI,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAAA,IAAAF,CAAA,CAAAH,IAAA,aAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,oBACrBI,OAAO,CAAA,EAAA,YAAA;AAAA,MAAA,OAAgC,QAAQ,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,cAAA,IAAAF,CAAA,CAAAH,IAAA,oBAAAI,KAAA,CAAA,EAAA;AAAA,EAAA;AAAAL,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,gBAC/CI,OAAO,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,UAAA,IAAAF,CAAA,CAAAH,IAAA,gBAAAI,KAAA,CAAA,EAAA;AAERE,EAAAA,YAAY,GAAuBC,yBAAyB,CAAA;AAC5DC,EAAAA,aAAa,GAAuBC,0BAA0B,CAAA;;AAE9D;AACAC,EAAAA,WAAWA,CAACC,KAAY,EAAEC,IAAuB,EAAE;AACjD,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;EAEA,IAAIC,aAAaA,GAAyB;IACxC,OAAOC,mBAAmB,CACxB,IAAI,CAACL,IAAI,CAACM,QAAQ,EAClB,IAAI,CAACC,MAAM,EACX,IAAI,CAACP,IAAI,CAACQ,cAAc,EACxB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,aACP,CAAC,CAAA;AACH,GAAA;EAEA,IAAIC,QAAQA,GAAiB;IAC3B,IAAI,IAAI,CAACC,SAAS,EAAE;MAClB,OAAO,IAAI,CAACA,SAAS,CAAA;AACvB,KAAA;AAEA,IAAA,OAAOC,aAAa,CAAC,IAAI,CAACb,IAAI,CAACW,QAAgB,CAAC,CAAA;AAClD,GAAA;EAEA,IAAIA,QAAQA,CAACG,CAAe,EAAE;AAC5B,IAAA,IAAI,CAACF,SAAS,GAAGC,aAAa,CAACC,CAAqB,CAAC,CAAA;AACvD,GAAA;EAEA,IAAIJ,aAAaA,GAAS;AACxB,IAAA,IAAIK,MAAM,GAAG,IAAI,CAACf,IAAI,CAACe,MAAM,CAAA;IAC7B,IAAI,CAACA,MAAM,EAAE;MACXA,MAAM,GAAI,IAAI,CAACJ,QAAQ,IAAa,IAAI,CAACK,aAAa,CAACC,OAAO,EAAE,CAAA;AAClE,KAAA;IACA,OAAOJ,aAAa,CAACE,MAAM,CAAC,IAAI,IAAI,CAACC,aAAa,CAACC,OAAO,EAAE,CAAA;AAC9D,GAAA;EAEA,IAAId,SAASA,GAAqB;IAChC,OAAO,IAAI,CAACe,UAAU,CAAA;AACxB,GAAA;EAEA,IAAIA,UAAUA,GAAqB;IACjC,OAAO;AACLC,MAAAA,QAAQ,EAAEC,OAAO,CAAC,IAAI,CAAC;MACvBC,IAAI,EAAE,IAAI,CAACC,aAAa;MACxBX,QAAQ,EAAE,IAAI,CAACA,QAAQ;AACvBY,MAAAA,OAAO,EAAE,IAAI,CAACd,gBAAgB,CAACe,SAAS;MACxCT,MAAM,EAAE,IAAI,CAACL,aAAa;MAC1Be,MAAM,EAAE,IAAI,CAACzB,IAAI,CAACyB,MAAM,IAAI,IAAI,CAACT,aAAa,CAACS,MAAM;MACrDC,OAAO,EAAE,IAAI,CAACtB,aAAAA;KACf,CAAA;AACH,GAAA;EAEA,IAAIuB,cAAcA,GAAW;AAC3B,IAAA,IAAI,IAAI,CAAC3B,IAAI,CAAC4B,GAAG,KAAKC,SAAS,IAAI,IAAI,CAAC7B,IAAI,CAAC4B,GAAG,KAAK,IAAI,EAAE;AACzD,MAAA,OAAO,KAAK,CAAA;AACd,KAAA;AACA,IAAA,OAAO,IAAI,CAAC5B,IAAI,CAAC4B,GAAG,CAAA;AACtB,GAAA;;AAEA;AACAnB,EAAAA,gBAAgB,GAAAqB,SAAA,CAAA,OAAA;IAAAC,OAAA,EAAA,IAAA;AAAAC,IAAAA,SAAA,aACPC,SAAe,EAAEC,QAA0B,EAAEC,CAAa,EAAK;MACpEC,MAAM,CACJ,kGAAkG,EAClG,OAAO,IAAI,CAACpC,IAAI,CAACQ,cAAc,KAAK,UACtC,CAAC,CAAA;MACD,MAAM6B,KAAK,GAAGC,sBAAsB,CAAC;AAAEC,QAAAA,IAAI,EAAEN,SAAAA;AAAU,OAAC,CAAC,CAAA;MACzD,MAAM,IAAI,CAACjC,IAAI,CAACQ,cAAc,CAAC6B,KAAK,EAAEH,QAAQ,EAAEC,CAAC,CAAC,CAAA;AACpD,KAAA;AAAC,GAAA,CAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;;AAGH;AAEA5B,EAAAA,MAAMA,CAACiC,GAAgB,EAAEN,QAA0B,EAAEC,CAAa,EAAE;AAClE,IAAA,IAAI,IAAI,CAACnC,IAAI,CAACM,QAAQ,EAAE;MACtB,IAAI,CAACN,IAAI,CAACM,QAAQ,CAACkC,GAAG,EAAEN,QAAQ,EAAEC,CAAC,CAAC,CAAA;AACtC,KAAA;AACF,GAAA;AAAC,EAAA;AAAAM,IAAAA,CAAA,CAAArD,IAAA,CAAAC,SAAA,aALAqD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;AAQPC,EAAAA,cAAcA,GAAG;IACf,IAAI,CAACC,kBAAkB,EAAE,CAAA;AAC3B,GAAA;;AAEA;AAAA,EAAA;AAAAH,IAAAA,CAAA,CAAArD,IAAA,CAAAC,SAAA,qBALCqD,MAAM,CAAA,CAAA,CAAA;AAAA,GAAA;AAMPzC,EAAAA,gBAAgBA,GAAG;AACjB,IAAA,IAAI4C,MAAM,EAAE;AACV;MACAA,MAAM,CAACC,gBAAgB,GAAGD,MAAM,CAACC,gBAAgB,IAAI,EAAE,CAAC;AACxD;MACAD,MAAM,CAACC,gBAAgB,CAAC,IAAI,CAAC3C,SAAS,CAACgB,QAAQ,CAAC,GAAG,IAAI,CAAA;AACzD,KAAA;AACF,GAAA;AAEAyB,EAAAA,kBAAkBA,GAAG;AACnB;IACA,IAAIC,MAAM,IAAIA,MAAM,CAACC,gBAAgB,GAAG1B,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACtD;MACA,OAAOyB,MAAM,CAACC,gBAAgB,CAAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/C,KAAA;AACF,GAAA;AACF,CAAA;AAAC2B,oBAAA,CAAAC,QAAA,EAlHoB/D,sBAAsB,CAAA;;;;"}
1
+ {"version":3,"file":"power-calendar.js","sources":["../../src/components/power-calendar.hbs","../../src/components/power-calendar.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 { guidFor } from '@ember/object/internals';\nimport { inject as service } from '@ember/service';\nimport { task } from 'ember-concurrency';\nimport { assert } from '@ember/debug';\nimport type { ComponentLike } from '@glint/template';\nimport {\n normalizeDate,\n normalizeCalendarValue,\n type NormalizeCalendarValue,\n type PowerCalendarDay,\n type SelectedPowerCalendarRange,\n} from '../utils.ts';\nimport PowerCalendarNavComponent from './power-calendar/nav.ts';\nimport PowerCalendarDaysComponent from './power-calendar/days.ts';\nimport type Owner from '@ember/owner';\nimport type PowerCalendarService from '../services/power-calendar.ts';\nimport type {\n PowerCalendarRangeAPI,\n PowerCalendarRangeDay,\n} from './power-calendar-range.ts';\nimport type { PowerCalendarMultipleAPI } from './power-calendar-multiple.ts';\nimport { publicActionsObject } from '../-private/utils.ts';\n\nexport type TCalendarType = 'multiple' | 'range' | 'single';\nexport type TPowerCalendarMoveCenterUnit = 'year' | 'month';\nexport type SelectedDays =\n | SelectedPowerCalendarRange\n | Date\n | Date[]\n | undefined;\nexport type CalendarAPI =\n | PowerCalendarAPI\n | PowerCalendarMultipleAPI\n | PowerCalendarRangeAPI;\n\nexport interface PowerCalendarAPI {\n uniqueId: string;\n calendarUniqueId?: string;\n selected?: SelectedDays;\n loading: boolean;\n center: Date;\n locale: string;\n type: TCalendarType;\n actions: PowerCalendarActions;\n}\n\nexport interface PowerCalendarActions {\n changeCenter?: (\n newCenter: Date,\n calendar: CalendarAPI,\n event: MouseEvent,\n ) => void;\n moveCenter?: (\n step: number,\n unit: TPowerCalendarMoveCenterUnit,\n calendar: PowerCalendarAPI,\n event: MouseEvent,\n ) => void;\n select?: (day: CalendarDay, calendar: CalendarAPI, event: MouseEvent) => void;\n}\n\nexport type TPowerCalendarOnSelect = (\n day: CalendarDay,\n calendar: CalendarAPI,\n event: MouseEvent,\n) => void;\n\nexport interface PowerCalendarArgs {\n daysComponent?: string | ComponentLike<any>;\n locale: string;\n navComponent?: string | ComponentLike<any>;\n onCenterChange?: (\n newCenter: NormalizeCalendarValue,\n calendar: PowerCalendarAPI,\n event: MouseEvent,\n ) => void;\n onInit?: (calendar: PowerCalendarAPI) => void;\n onSelect?: TPowerCalendarOnSelect;\n selected?: SelectedDays;\n center?: Date;\n tag?: string;\n}\n\nexport interface PowerCalendarDefaultBlock extends PowerCalendarAPI {\n NavComponent: ComponentLike<any>;\n DaysComponent: ComponentLike<any>;\n}\n\nexport type CalendarDay =\n | PowerCalendarDay\n | PowerCalendarRangeDay\n | PowerCalendarDay[];\n\nexport interface PowerCalendarSignature {\n Element: HTMLElement;\n Args: PowerCalendarArgs;\n Blocks: {\n default: [PowerCalendarDefaultBlock];\n };\n}\n\nexport default class PowerCalendarComponent extends Component<PowerCalendarSignature> {\n @service declare powerCalendar: PowerCalendarService;\n\n @tracked center = null;\n @tracked _calendarType: TCalendarType = 'single';\n @tracked _selected?: SelectedDays;\n\n navComponent: ComponentLike<any> = PowerCalendarNavComponent;\n daysComponent: ComponentLike<any> = PowerCalendarDaysComponent;\n\n // Lifecycle hooks\n constructor(owner: Owner, args: PowerCalendarArgs) {\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(): SelectedDays {\n if (this._selected) {\n return this._selected;\n }\n\n return normalizeDate(this.args.selected as Date);\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 as Date) || this.powerCalendar.getDate();\n }\n return normalizeDate(center) || this.powerCalendar.getDate();\n }\n\n get publicAPI(): PowerCalendarAPI {\n return this._publicAPI;\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(day: CalendarDay, calendar: PowerCalendarAPI, e: MouseEvent) {\n if (this.args.onSelect) {\n this.args.onSelect(day, calendar, e);\n }\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":["PowerCalendarComponent","Component","g","this","prototype","service","i","void 0","tracked","navComponent","PowerCalendarNavComponent","daysComponent","PowerCalendarDaysComponent","constructor","owner","args","registerCalendar","onInit","publicAPI","willDestroy","unregisterCalendar","publicActions","publicActionsObject","onSelect","select","onCenterChange","changeCenterTask","currentCenter","selected","_selected","normalizeDate","v","center","powerCalendar","getDate","_publicAPI","uniqueId","guidFor","type","_calendarType","loading","isRunning","locale","actions","tagWithDefault","tag","undefined","_buildTask","context","generator","newCenter","calendar","e","assert","value","normalizeCalendarValue","date","day","n","action","window","__powerCalendars","setComponentTemplate","TEMPLATE"],"mappings":"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"}
@@ -23,7 +23,7 @@ function findCalendarGuid(selector) {
23
23
  if (maybeCalendar.classList.contains('ember-power-calendar')) {
24
24
  return maybeCalendar.id;
25
25
  } else {
26
- return maybeCalendar.dataset['dataPowerCalendarId'];
26
+ return maybeCalendar.dataset['powerCalendarId'];
27
27
  }
28
28
  }
29
29
  function findComponentInstance(selector) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/test-support/helpers.ts"],"sourcesContent":["import { run } from '@ember/runloop';\nimport { assert } from '@ember/debug';\nimport { click, settled, find } from '@ember/test-helpers';\nimport { formatDate } from '../utils.ts';\nimport type PowerCalendarMultipleComponent from '../components/power-calendar-multiple.ts';\nimport type PowerCalendarComponent from '../components/power-calendar.ts';\nimport type PowerCalendarRangeComponent from '../components/power-calendar-range.ts';\n\nexport default {};\n\nexport * from '../utils.ts';\n\nfunction findCalendarElement(selector: string): Element | null | undefined {\n const target = find(selector);\n\n if (target) {\n if (target.classList.contains('ember-power-calendar')) {\n return target;\n } else {\n return (\n target.querySelector('.ember-power-calendar') ||\n target.querySelector('[data-power-calendar-id]')\n );\n }\n }\n}\n\nfunction findCalendarGuid(selector: string): string | undefined {\n const maybeCalendar = findCalendarElement(selector);\n if (!maybeCalendar) {\n return;\n }\n if (maybeCalendar.classList.contains('ember-power-calendar')) {\n return maybeCalendar.id;\n } else {\n return (maybeCalendar as HTMLElement).dataset['dataPowerCalendarId'];\n }\n}\n\nfunction findComponentInstance(\n selector: string,\n):\n | PowerCalendarComponent\n | PowerCalendarMultipleComponent\n | PowerCalendarRangeComponent {\n const calendarGuid = findCalendarGuid(selector);\n assert(\n `Could not find a calendar using selector: \"${selector}\"`,\n calendarGuid,\n );\n // @ts-expect-error Property '__powerCalendars'\n return window.__powerCalendars[calendarGuid];\n}\n\nexport async function calendarCenter(\n selector: string,\n newCenter: Date,\n): Promise<void> {\n assert(\n '`calendarCenter` expect a Date object as second argument',\n newCenter instanceof Date,\n );\n const calendarComponent = findComponentInstance(selector);\n const onCenterChange = calendarComponent.args.onCenterChange;\n assert(\n \"You cannot call `calendarCenter` on a component that doesn't has an `@onCenterChange` action\",\n !!onCenterChange,\n );\n const publicAPI = calendarComponent.publicAPI;\n run(() =>\n publicAPI.actions.changeCenter!(newCenter, publicAPI, {} as MouseEvent),\n );\n return settled();\n}\n\nexport async function calendarSelect(\n selector: string,\n selected: Date,\n): Promise<void> {\n assert('`calendarSelect` expect a Date object as second argument', selected);\n const calendarElement = findCalendarElement(selector);\n const daySelector = `${selector} [data-date=\"${formatDate(\n selected,\n 'YYYY-MM-DD',\n )}\"]`;\n const dayElement = calendarElement?.querySelector(daySelector);\n if (!dayElement) {\n await calendarCenter(selector, selected);\n }\n return click(daySelector);\n}\n"],"names":["findCalendarElement","selector","target","find","classList","contains","querySelector","findCalendarGuid","maybeCalendar","id","dataset","findComponentInstance","calendarGuid","assert","window","__powerCalendars","calendarCenter","newCenter","Date","calendarComponent","onCenterChange","args","publicAPI","run","actions","changeCenter","settled","calendarSelect","selected","calendarElement","daySelector","formatDate","dayElement","click"],"mappings":";;;;;;AAQA,cAAe,EAAE,CAAA;AAIjB,SAASA,mBAAmBA,CAACC,QAAgB,EAA8B;AACzE,EAAA,MAAMC,MAAM,GAAGC,IAAI,CAACF,QAAQ,CAAC,CAAA;AAE7B,EAAA,IAAIC,MAAM,EAAE;IACV,IAAIA,MAAM,CAACE,SAAS,CAACC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACrD,MAAA,OAAOH,MAAM,CAAA;AACf,KAAC,MAAM;AACL,MAAA,OACEA,MAAM,CAACI,aAAa,CAAC,uBAAuB,CAAC,IAC7CJ,MAAM,CAACI,aAAa,CAAC,0BAA0B,CAAC,CAAA;AAEpD,KAAA;AACF,GAAA;AACF,CAAA;AAEA,SAASC,gBAAgBA,CAACN,QAAgB,EAAsB;AAC9D,EAAA,MAAMO,aAAa,GAAGR,mBAAmB,CAACC,QAAQ,CAAC,CAAA;EACnD,IAAI,CAACO,aAAa,EAAE;AAClB,IAAA,OAAA;AACF,GAAA;EACA,IAAIA,aAAa,CAACJ,SAAS,CAACC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;IAC5D,OAAOG,aAAa,CAACC,EAAE,CAAA;AACzB,GAAC,MAAM;AACL,IAAA,OAAQD,aAAa,CAAiBE,OAAO,CAAC,qBAAqB,CAAC,CAAA;AACtE,GAAA;AACF,CAAA;AAEA,SAASC,qBAAqBA,CAC5BV,QAAgB,EAIc;AAC9B,EAAA,MAAMW,YAAY,GAAGL,gBAAgB,CAACN,QAAQ,CAAC,CAAA;AAC/CY,EAAAA,MAAM,CACH,CAA6CZ,2CAAAA,EAAAA,QAAS,CAAE,CAAA,CAAA,EACzDW,YACF,CAAC,CAAA;AACD;AACA,EAAA,OAAOE,MAAM,CAACC,gBAAgB,CAACH,YAAY,CAAC,CAAA;AAC9C,CAAA;AAEO,eAAeI,cAAcA,CAClCf,QAAgB,EAChBgB,SAAe,EACA;AACfJ,EAAAA,MAAM,CACJ,0DAA0D,EAC1DI,SAAS,YAAYC,IACvB,CAAC,CAAA;AACD,EAAA,MAAMC,iBAAiB,GAAGR,qBAAqB,CAACV,QAAQ,CAAC,CAAA;AACzD,EAAA,MAAMmB,cAAc,GAAGD,iBAAiB,CAACE,IAAI,CAACD,cAAc,CAAA;AAC5DP,EAAAA,MAAM,CACJ,8FAA8F,EAC9F,CAAC,CAACO,cACJ,CAAC,CAAA;AACD,EAAA,MAAME,SAAS,GAAGH,iBAAiB,CAACG,SAAS,CAAA;AAC7CC,EAAAA,GAAG,CAAC,MACFD,SAAS,CAACE,OAAO,CAACC,YAAY,CAAER,SAAS,EAAEK,SAAS,EAAE,EAAgB,CACxE,CAAC,CAAA;EACD,OAAOI,OAAO,EAAE,CAAA;AAClB,CAAA;AAEO,eAAeC,cAAcA,CAClC1B,QAAgB,EAChB2B,QAAc,EACC;AACff,EAAAA,MAAM,CAAC,0DAA0D,EAAEe,QAAQ,CAAC,CAAA;AAC5E,EAAA,MAAMC,eAAe,GAAG7B,mBAAmB,CAACC,QAAQ,CAAC,CAAA;EACrD,MAAM6B,WAAW,GAAI,CAAA,EAAE7B,QAAS,CAAA,aAAA,EAAe8B,UAAU,CACvDH,QAAQ,EACR,YACF,CAAE,CAAG,EAAA,CAAA,CAAA;AACL,EAAA,MAAMI,UAAU,GAAGH,eAAe,EAAEvB,aAAa,CAACwB,WAAW,CAAC,CAAA;EAC9D,IAAI,CAACE,UAAU,EAAE;AACf,IAAA,MAAMhB,cAAc,CAACf,QAAQ,EAAE2B,QAAQ,CAAC,CAAA;AAC1C,GAAA;EACA,OAAOK,KAAK,CAACH,WAAW,CAAC,CAAA;AAC3B;;;;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/test-support/helpers.ts"],"sourcesContent":["import { run } from '@ember/runloop';\nimport { assert } from '@ember/debug';\nimport { click, settled, find } from '@ember/test-helpers';\nimport { formatDate } from '../utils.ts';\nimport type PowerCalendarMultipleComponent from '../components/power-calendar-multiple.ts';\nimport type PowerCalendarComponent from '../components/power-calendar.ts';\nimport type PowerCalendarRangeComponent from '../components/power-calendar-range.ts';\n\nexport default {};\n\nexport * from '../utils.ts';\n\nfunction findCalendarElement(selector: string): Element | null | undefined {\n const target = find(selector);\n\n if (target) {\n if (target.classList.contains('ember-power-calendar')) {\n return target;\n } else {\n return (\n target.querySelector('.ember-power-calendar') ||\n target.querySelector('[data-power-calendar-id]')\n );\n }\n }\n}\n\nfunction findCalendarGuid(selector: string): string | undefined {\n const maybeCalendar = findCalendarElement(selector);\n if (!maybeCalendar) {\n return;\n }\n if (maybeCalendar.classList.contains('ember-power-calendar')) {\n return maybeCalendar.id;\n } else {\n return (maybeCalendar as HTMLElement).dataset['powerCalendarId'];\n }\n}\n\nfunction findComponentInstance(\n selector: string,\n):\n | PowerCalendarComponent\n | PowerCalendarMultipleComponent\n | PowerCalendarRangeComponent {\n const calendarGuid = findCalendarGuid(selector);\n assert(\n `Could not find a calendar using selector: \"${selector}\"`,\n calendarGuid,\n );\n // @ts-expect-error Property '__powerCalendars'\n return window.__powerCalendars[calendarGuid];\n}\n\nexport async function calendarCenter(\n selector: string,\n newCenter: Date,\n): Promise<void> {\n assert(\n '`calendarCenter` expect a Date object as second argument',\n newCenter instanceof Date,\n );\n const calendarComponent = findComponentInstance(selector);\n const onCenterChange = calendarComponent.args.onCenterChange;\n assert(\n \"You cannot call `calendarCenter` on a component that doesn't has an `@onCenterChange` action\",\n !!onCenterChange,\n );\n const publicAPI = calendarComponent.publicAPI;\n run(() =>\n publicAPI.actions.changeCenter!(newCenter, publicAPI, {} as MouseEvent),\n );\n return settled();\n}\n\nexport async function calendarSelect(\n selector: string,\n selected: Date,\n): Promise<void> {\n assert('`calendarSelect` expect a Date object as second argument', selected);\n const calendarElement = findCalendarElement(selector);\n const daySelector = `${selector} [data-date=\"${formatDate(\n selected,\n 'YYYY-MM-DD',\n )}\"]`;\n const dayElement = calendarElement?.querySelector(daySelector);\n if (!dayElement) {\n await calendarCenter(selector, selected);\n }\n return click(daySelector);\n}\n"],"names":["findCalendarElement","selector","target","find","classList","contains","querySelector","findCalendarGuid","maybeCalendar","id","dataset","findComponentInstance","calendarGuid","assert","window","__powerCalendars","calendarCenter","newCenter","Date","calendarComponent","onCenterChange","args","publicAPI","run","actions","changeCenter","settled","calendarSelect","selected","calendarElement","daySelector","formatDate","dayElement","click"],"mappings":";;;;;;AAQA,cAAe,EAAE,CAAA;AAIjB,SAASA,mBAAmBA,CAACC,QAAgB,EAA8B;AACzE,EAAA,MAAMC,MAAM,GAAGC,IAAI,CAACF,QAAQ,CAAC,CAAA;AAE7B,EAAA,IAAIC,MAAM,EAAE;IACV,IAAIA,MAAM,CAACE,SAAS,CAACC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACrD,MAAA,OAAOH,MAAM,CAAA;AACf,KAAC,MAAM;AACL,MAAA,OACEA,MAAM,CAACI,aAAa,CAAC,uBAAuB,CAAC,IAC7CJ,MAAM,CAACI,aAAa,CAAC,0BAA0B,CAAC,CAAA;AAEpD,KAAA;AACF,GAAA;AACF,CAAA;AAEA,SAASC,gBAAgBA,CAACN,QAAgB,EAAsB;AAC9D,EAAA,MAAMO,aAAa,GAAGR,mBAAmB,CAACC,QAAQ,CAAC,CAAA;EACnD,IAAI,CAACO,aAAa,EAAE;AAClB,IAAA,OAAA;AACF,GAAA;EACA,IAAIA,aAAa,CAACJ,SAAS,CAACC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;IAC5D,OAAOG,aAAa,CAACC,EAAE,CAAA;AACzB,GAAC,MAAM;AACL,IAAA,OAAQD,aAAa,CAAiBE,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAClE,GAAA;AACF,CAAA;AAEA,SAASC,qBAAqBA,CAC5BV,QAAgB,EAIc;AAC9B,EAAA,MAAMW,YAAY,GAAGL,gBAAgB,CAACN,QAAQ,CAAC,CAAA;AAC/CY,EAAAA,MAAM,CACH,CAA6CZ,2CAAAA,EAAAA,QAAS,CAAE,CAAA,CAAA,EACzDW,YACF,CAAC,CAAA;AACD;AACA,EAAA,OAAOE,MAAM,CAACC,gBAAgB,CAACH,YAAY,CAAC,CAAA;AAC9C,CAAA;AAEO,eAAeI,cAAcA,CAClCf,QAAgB,EAChBgB,SAAe,EACA;AACfJ,EAAAA,MAAM,CACJ,0DAA0D,EAC1DI,SAAS,YAAYC,IACvB,CAAC,CAAA;AACD,EAAA,MAAMC,iBAAiB,GAAGR,qBAAqB,CAACV,QAAQ,CAAC,CAAA;AACzD,EAAA,MAAMmB,cAAc,GAAGD,iBAAiB,CAACE,IAAI,CAACD,cAAc,CAAA;AAC5DP,EAAAA,MAAM,CACJ,8FAA8F,EAC9F,CAAC,CAACO,cACJ,CAAC,CAAA;AACD,EAAA,MAAME,SAAS,GAAGH,iBAAiB,CAACG,SAAS,CAAA;AAC7CC,EAAAA,GAAG,CAAC,MACFD,SAAS,CAACE,OAAO,CAACC,YAAY,CAAER,SAAS,EAAEK,SAAS,EAAE,EAAgB,CACxE,CAAC,CAAA;EACD,OAAOI,OAAO,EAAE,CAAA;AAClB,CAAA;AAEO,eAAeC,cAAcA,CAClC1B,QAAgB,EAChB2B,QAAc,EACC;AACff,EAAAA,MAAM,CAAC,0DAA0D,EAAEe,QAAQ,CAAC,CAAA;AAC5E,EAAA,MAAMC,eAAe,GAAG7B,mBAAmB,CAACC,QAAQ,CAAC,CAAA;EACrD,MAAM6B,WAAW,GAAI,CAAA,EAAE7B,QAAS,CAAA,aAAA,EAAe8B,UAAU,CACvDH,QAAQ,EACR,YACF,CAAE,CAAG,EAAA,CAAA,CAAA;AACL,EAAA,MAAMI,UAAU,GAAGH,eAAe,EAAEvB,aAAa,CAACwB,WAAW,CAAC,CAAA;EAC9D,IAAI,CAACE,UAAU,EAAE;AACf,IAAA,MAAMhB,cAAc,CAACf,QAAQ,EAAE2B,QAAQ,CAAC,CAAA;AAC1C,GAAA;EACA,OAAOK,KAAK,CAACH,WAAW,CAAC,CAAA;AAC3B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-power-calendar",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Powerful and customizable calendar component for Ember",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -67,28 +67,27 @@
67
67
  "dependencies": {
68
68
  "@embroider/addon-shim": "^1.8.7",
69
69
  "decorator-transforms": "^1.0.1",
70
- "@embroider/util": "^1.13.0",
71
- "@ember/render-modifiers": "^2.1.0",
72
- "@embroider/macros": "^1.15.0",
70
+ "@embroider/util": "^1.13.1",
71
+ "@embroider/macros": "^1.16.1",
73
72
  "ember-assign-helper": "^0.5.0",
74
- "ember-element-helper": "^0.8.5",
73
+ "ember-element-helper": "^0.8.6",
75
74
  "ember-truth-helpers": "^4.0.3"
76
75
  },
77
76
  "devDependencies": {
78
- "@babel/core": "^7.24.0",
79
- "@babel/runtime": "^7.24.0",
80
- "@babel/plugin-transform-typescript": "^7.23.6",
81
- "@babel/preset-typescript": "^7.23.3",
82
- "@ember/test-helpers": "^3.2.1",
83
- "@embroider/addon-dev": "^4.1.3",
84
- "@glint/core": "^1.3.0",
85
- "@glint/environment-ember-loose": "^1.3.0",
86
- "@glint/environment-ember-template-imports": "^1.3.0",
87
- "@glint/template": "^1.3.0",
77
+ "@babel/core": "^7.24.5",
78
+ "@babel/runtime": "^7.24.5",
79
+ "@babel/plugin-transform-typescript": "^7.24.5",
80
+ "@babel/preset-typescript": "^7.24.1",
81
+ "@ember/test-helpers": "^3.3.0",
82
+ "@embroider/addon-dev": "^4.3.1",
83
+ "@glint/core": "^1.4.0",
84
+ "@glint/environment-ember-loose": "^1.4.0",
85
+ "@glint/environment-ember-template-imports": "^1.4.0",
86
+ "@glint/template": "^1.4.0",
88
87
  "@glimmer/component": "^1.1.2",
89
88
  "@glimmer/tracking": "^1.1.2",
90
89
  "@rollup/plugin-babel": "^6.0.4",
91
- "@tsconfig/ember": "^3.0.5",
90
+ "@tsconfig/ember": "^3.0.6",
92
91
  "@types/ember": "^4.0.11",
93
92
  "@types/ember__application": "^4.0.11",
94
93
  "@types/ember__array": "^4.0.10",
@@ -102,35 +101,35 @@
102
101
  "@types/ember__object": "^4.0.12",
103
102
  "@types/ember__owner": "^4.0.9",
104
103
  "@types/ember__polyfills": "^4.0.6",
105
- "@types/ember__routing": "^4.0.21",
106
- "@types/ember__runloop": "^4.0.9",
104
+ "@types/ember__routing": "^4.0.22",
105
+ "@types/ember__runloop": "^4.0.10",
107
106
  "@types/ember__service": "^4.0.9",
108
107
  "@types/ember__string": "^3.16.3",
109
108
  "@types/ember__template": "^4.0.7",
110
109
  "@types/ember__test": "^4.0.6",
111
110
  "@types/ember__utils": "^4.0.7",
112
- "@typescript-eslint/eslint-plugin": "^7.1.0",
113
- "@typescript-eslint/parser": "^7.1.0",
114
- "babel-plugin-ember-template-compilation": "^2.2.1",
111
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
112
+ "@typescript-eslint/parser": "^7.8.0",
113
+ "babel-plugin-ember-template-compilation": "^2.2.3",
115
114
  "concurrently": "^8.2.2",
116
- "ember-concurrency": "^4.0.1",
117
- "ember-source": "~5.7.0",
118
- "ember-template-lint": "^5.13.0",
115
+ "ember-concurrency": "^4.0.2",
116
+ "ember-source": "~5.8.0",
117
+ "ember-template-lint": "^6.0.0",
119
118
  "eslint": "^8.57.0",
120
119
  "eslint-config-prettier": "^9.1.0",
121
120
  "eslint-plugin-ember": "^12.0.2",
122
121
  "eslint-plugin-n": "^16.6.2",
123
122
  "eslint-plugin-prettier": "^5.1.3",
124
123
  "node-sass": "^9.0.0",
125
- "postcss": "^8.4.33",
126
- "prettier": "^3.2.2",
127
- "prettier-plugin-ember-template-tag": "^2.0.0",
128
- "rollup": "^4.12.1",
124
+ "postcss": "^8.4.38",
125
+ "prettier": "^3.2.5",
126
+ "prettier-plugin-ember-template-tag": "^2.0.2",
127
+ "rollup": "^4.17.2",
129
128
  "rollup-plugin-styles": "^4.0.0",
130
129
  "rsvp": "^4.8.5",
131
- "sass": "^1.71.1",
132
- "typescript": "^5.3.3",
133
- "webpack": "^5.90.3"
130
+ "sass": "^1.76.0",
131
+ "typescript": "^5.4.5",
132
+ "webpack": "^5.91.0"
134
133
  },
135
134
  "publishConfig": {
136
135
  "registry": "https://registry.npmjs.org"
@@ -160,7 +159,7 @@
160
159
  "@ember/test-helpers": "^2.9.4 || ^3.2.1",
161
160
  "@glimmer/component": "^1.1.2",
162
161
  "@glimmer/tracking": "^1.1.2",
163
- "ember-concurrency": "^4.0.1",
162
+ "ember-concurrency": "^4.0.2",
164
163
  "ember-source": "^3.28.0 || ^4.0.0 || >=5.0.0"
165
164
  }
166
165
  }