@ember-eui/pikaday 14.0.0 → 14.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.
@@ -1,32 +1,73 @@
1
1
  import Component from '@glimmer/component';
2
2
  import type { EuiFieldTextSignature } from '@ember-eui/core/components/eui-field-text';
3
+ /**
4
+ * A date input with a Pikaday calendar, styled as an EuiFieldText (its
5
+ * args, like `@clear`, `@compressed` or `@isInvalid`, apply too). Load the
6
+ * calendar's styles with `import '@ember-eui/pikaday/pikaday.css'`.
7
+ */
3
8
  export interface EuiPikadaySignature {
4
9
  Element: EuiFieldTextSignature['Element'];
5
10
  Args: EuiFieldTextSignature['Args'] & {
11
+ /** moment format of the date in the input. Defaults to `'DD.MM.YYYY'`. */
6
12
  format?: string;
13
+ /** The selected date. Update it in `@onSelection`. */
7
14
  value?: Date;
15
+ /**
16
+ * Years in the year dropdown: a number of years around the current one
17
+ * (`'10'`, the default), or a range `'1990,2030'` (`'1990,currentYear'`
18
+ * ends at this year).
19
+ */
8
20
  yearRange?: string;
21
+ /**
22
+ * Translations: Pikaday's i18n object (`{ previousMonth, nextMonth,
23
+ * months, weekdays, weekdaysShort }`), or `{ t }` with a function
24
+ * looking these keys up (e.g. ember-intl's `t`, with comma separated
25
+ * lists for months and weekdays).
26
+ */
9
27
  i18n?: {
10
28
  t: (key: string) => string;
11
29
  };
30
+ /** First day of the week, `'0'` (Sunday) to `'6'`. Defaults to `1` (Monday). */
12
31
  firstDay?: string;
32
+ /** Called when the calendar closes. */
13
33
  onClose?: () => void;
34
+ /** Called when the calendar opens. */
14
35
  onOpen?: () => void;
36
+ /** Called when the calendar redraws (e.g. changing month). */
15
37
  onDraw?: () => void;
38
+ /**
39
+ * Called with the selected `Date`, or `null` when the input is cleared.
40
+ * Update `@value` here.
41
+ */
16
42
  onSelection?: (date: Date | null) => void;
43
+ /** Called with the Pikaday instance, e.g. to call its methods. */
17
44
  register?: (pikaday: any) => void;
45
+ /** Date shown when there is no `@value`. */
18
46
  defaultDate?: Date;
47
+ /** Earliest selectable date. */
19
48
  minDate?: Date;
49
+ /** Latest selectable date. */
20
50
  maxDate?: Date;
51
+ /** Class added to the calendar, for custom themes. */
21
52
  theme?: string;
53
+ /** Element to render the calendar in (instead of `<body>`). */
22
54
  container?: HTMLElement;
55
+ /**
56
+ * Positions the calendar under the input (`true`, the default) or
57
+ * renders it inline where `@container` is.
58
+ */
23
59
  bound?: boolean;
60
+ /** The `moment` instance to parse and format dates with. */
24
61
  moment?: any;
62
+ /** @private Ignore the `<:prepend>` block. */
25
63
  isFakePrependBlock?: boolean;
64
+ /** @private Ignore the `<:append>` block. */
26
65
  isFakeAppendBlock?: boolean;
27
66
  };
28
67
  Blocks: {
68
+ /** Content before the input; yields the class to put on it and the input id. */
29
69
  prepend: EuiFieldTextSignature['Blocks']['prepend'];
70
+ /** Content after the input; yields the class to put on it and the input id. */
30
71
  append: EuiFieldTextSignature['Blocks']['append'];
31
72
  };
32
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-pikaday.d.ts","sourceRoot":"","sources":["../../src/components/eui-pikaday.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAc3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG;QACpC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,IAAI,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE;YACL,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;SAC5B,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;QAC1C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QAClC,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,WAAW,CAAC;QACxB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;KACnD,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;;IAC7E,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACtC,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd,IAAI,MAAM,WAET;IAED,IAAI,KAAK,gCAER;IAED,IAAI,SAAS,sCAkBZ;IAED,IAAI,IAAI;WAxDD,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;;;;;;;kBA0E7B;IAED,IAAI,QAAQ,WAEX;IAGD,aAAa,CAAC,KAAK,EAAE,gBAAgB;IAKrC,eAAe,CAAC,OAAO,EAAE,GAAG;IAM5B,OAAO;IAaP,MAAM;IAWN,MAAM;IAQN,SAAS,CAAC,KAAK,EAAE,KAAK;IAKtB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,WAAW,IAAI,IAAI;CAgCpB"}
1
+ {"version":3,"file":"eui-pikaday.d.ts","sourceRoot":"","sources":["../../src/components/eui-pikaday.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAc3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG;QACpC,0EAA0E;QAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,sDAAsD;QACtD,KAAK,CAAC,EAAE,IAAI,CAAC;QACb;;;;WAIG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;;;WAKG;QACH,IAAI,CAAC,EAAE;YACL,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;SAC5B,CAAC;QACF,gFAAgF;QAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uCAAuC;QACvC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,sCAAsC;QACtC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,8DAA8D;QAC9D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB;;;WAGG;QACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;QAC1C,kEAAkE;QAClE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QAClC,4CAA4C;QAC5C,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,gCAAgC;QAChC,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,8BAA8B;QAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,sDAAsD;QACtD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+DAA+D;QAC/D,SAAS,CAAC,EAAE,WAAW,CAAC;QACxB;;;WAGG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,4DAA4D;QAC5D,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,8CAA8C;QAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6CAA6C;QAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACN,gFAAgF;QAChF,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;QACpD,+EAA+E;QAC/E,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;KACnD,CAAC;CACH;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS,CAAC,mBAAmB,CAAC;;IAC7E,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IACtC,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd,IAAI,MAAM,WAET;IAED,IAAI,KAAK,gCAER;IAED,IAAI,SAAS,sCAkBZ;IAED,IAAI,IAAI;WA/ED,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;;;;;;;kBAiG7B;IAED,IAAI,QAAQ,WAEX;IAGD,aAAa,CAAC,KAAK,EAAE,gBAAgB;IAKrC,eAAe,CAAC,OAAO,EAAE,GAAG;IAM5B,OAAO;IAaP,MAAM;IAWN,MAAM;IAQN,SAAS,CAAC,KAAK,EAAE,KAAK;IAKtB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,WAAW,IAAI,IAAI;CAgCpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"random-id.js","sources":["../../src/-private/random-id.ts"],"sourcesContent":["import { helper } from '@ember/component/helper';\n\nexport default helper<{\n Args: {\n Positional: [];\n };\n Return: string;\n}>(randomId);\n\n// Copy-pasted from the ember-source implementation:\n// https://github.com/emberjs/ember.js/blob/master/packages/@ember/-internals/glimmer/lib/helpers/unique-id.ts\nfunction randomId() {\n //@ts-expect-error\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands -- ember's own trick\n return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, (a) =>\n ((a * 4) ^ ((Math.random() * 16) >> (a & 2))).toString(16)\n );\n}\n"],"names":["helper","randomId","replace","a","Math","random","toString"],"mappings":";;AAEA,eAAeA,MAAM,CAKlBC,UAAQ,CAAC;;AAEZ;AACA;AACA,SAASA,UAAQA,GAAG;AAClB;AACA;EACA,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAEC,OAAO,CAAC,QAAQ,EAAGC,CAAC,IAC9D,CAAEA,CAAC,GAAG,CAAC,GAAMC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,KAAMF,CAAC,GAAG,CAAC,CAAE,EAAEG,QAAQ,CAAC,EAAE,CAC3D,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"random-id.js","sources":["../../src/-private/random-id.ts"],"sourcesContent":["import { helper } from '@ember/component/helper';\n\nexport default helper<{\n Args: {\n Positional: [];\n };\n Return: string;\n}>(randomId);\n\n// Copy-pasted from the ember-source implementation:\n// https://github.com/emberjs/ember.js/blob/master/packages/@ember/-internals/glimmer/lib/helpers/unique-id.ts\nfunction randomId() {\n //@ts-expect-error\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands -- ember's own trick\n return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, (a) =>\n ((a * 4) ^ ((Math.random() * 16) >> (a & 2))).toString(16)\n );\n}\n"],"names":["helper","randomId","replace","a","Math","random","toString"],"mappings":";;AAEA,eAAeA,MAAM,CAKlBC,UAAQ,CAAC;;AAEZ;AACA;AACA,SAASA,UAAQA,GAAG;AAClB;AACA;EACA,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAEC,OAAO,CAAC,QAAQ,EAAGC,CAAC,IAC9D,CAAEA,CAAC,GAAG,CAAC,GAAMC,IAAI,CAACC,MAAM,EAAE,GAAG,EAAE,KAAMF,CAAC,GAAG,CAAC,CAAE,EAAEG,QAAQ,CAAC,EAAE,CAC3D,CAAC;AACH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-pikaday.js","sources":["../../src/components/eui-pikaday.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { EuiFieldText } from '@ember-eui/core/components';\nimport { argOrDefault } from '@ember-eui/core/helpers';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport pikaday from 'ember-pikaday/modifiers/pikaday';\nimport { and, not } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\n\nimport type { EuiFieldTextSignature } from '@ember-eui/core/components/eui-field-text';\n\nexport interface EuiPikadaySignature {\n Element: EuiFieldTextSignature['Element'];\n Args: EuiFieldTextSignature['Args'] & {\n format?: string;\n value?: Date;\n yearRange?: string;\n i18n?: {\n t: (key: string) => string;\n };\n firstDay?: string;\n onClose?: () => void;\n onOpen?: () => void;\n onDraw?: () => void;\n onSelection?: (date: Date | null) => void;\n register?: (pikaday: any) => void;\n defaultDate?: Date;\n minDate?: Date;\n maxDate?: Date;\n theme?: string;\n container?: HTMLElement;\n bound?: boolean;\n moment?: any;\n isFakePrependBlock?: boolean;\n isFakeAppendBlock?: boolean;\n };\n Blocks: {\n prepend: EuiFieldTextSignature['Blocks']['prepend'];\n append: EuiFieldTextSignature['Blocks']['append'];\n };\n}\n\nexport default class EuiPikadayComponent extends Component<EuiPikadaySignature> {\n field: HTMLInputElement | null = null;\n pikaday?: any;\n\n get format() {\n return this.args.format || 'DD.MM.YYYY';\n }\n\n get value() {\n return this.args.value;\n }\n\n get yearRange() {\n const yearRange = this.args.yearRange;\n\n if (!yearRange) {\n return 10;\n }\n\n if (yearRange.indexOf(',') > -1) {\n const yearArray: (string | number)[] = yearRange.split(',');\n\n if (yearArray[1] === 'currentYear') {\n yearArray[1] = new Date().getFullYear();\n }\n\n return yearArray;\n } else {\n return yearRange;\n }\n }\n\n get i18n() {\n const i18n = this.args.i18n;\n\n if (!i18n) {\n return undefined;\n }\n\n if (!i18n.t) {\n return i18n;\n }\n\n return {\n previousMonth: i18n.t('previousMonth').toString(),\n nextMonth: i18n.t('nextMonth').toString(),\n months: i18n.t('months').toString().split(','),\n weekdays: i18n.t('weekdays').toString().split(','),\n weekdaysShort: i18n.t('weekdaysShort').toString().split(',')\n };\n }\n\n get firstDay() {\n return this.args.firstDay == null ? 1 : parseInt(this.args.firstDay, 10);\n }\n\n @action\n registerField(field: HTMLInputElement) {\n this.field = field;\n }\n\n @action\n registerPikaday(pikaday: any) {\n this.pikaday = pikaday;\n this.args.register?.(pikaday);\n }\n\n @action\n onClose() {\n if (this.isDestroying) {\n return;\n }\n\n if (!this.#heardValue) {\n this.onSelect(null);\n }\n\n this.args.onClose?.();\n }\n\n @action\n onOpen() {\n if (this.isDestroying) {\n return;\n }\n\n this.args.onOpen?.();\n }\n\n #heardValue?: any;\n\n @action\n onDraw() {\n // this is here because apparently the classic behavior is to pass no\n // arguments to the onDraw callback, but Pikaday's own ownDraw has an\n // argument.\n this.args.onDraw?.();\n }\n\n @action\n didChange(event: Event) {\n this.#heardValue = (event.target as HTMLInputElement).value;\n }\n\n @action\n onSelect(date: Date | null) {\n this.args.onSelection?.(date);\n }\n\n willDestroy(): void {\n super.willDestroy();\n\n this.field = null;\n }\n\n <template>\n {{#let\n (and (not (argOrDefault @isFakePrependBlock false)) (has-block \"prepend\"))\n (and (not (argOrDefault @isFakeAppendBlock false)) (has-block \"append\"))\n (argOrDefault @id (randomId))\n as |hasPrepend hasAppend inputId|\n }}\n <EuiFieldText\n @icon={{if @icon @icon \"calendar\"}}\n @fullWidth={{@fullWidth}}\n @isLoading={{@isLoading}}\n @readOnly={{@readOnly}}\n @inputRef={{@inputRef}}\n @controlOnly={{@controlOnly}}\n @compressed={{@compressed}}\n @id={{inputId}}\n @clear={{if @clear (fn (optional @clear) null)}}\n @isFakePrependBlock={{not hasPrepend}}\n @isFakeAppendBlock={{not hasAppend}}\n @disabled={{@disabled}}\n @isInvalid={{@isInvalid}}\n ...attributes\n {{pikaday\n value=this.value\n onSelect=this.onSelect\n setDefaultDate=true\n defaultDate=@defaultDate\n onOpen=this.onOpen\n onDraw=this.onDraw\n onClose=this.onClose\n format=this.format\n minDate=@minDate\n maxDate=@maxDate\n theme=@theme\n yearRange=this.yearRange\n i18n=this.i18n\n firstDay=this.firstDay\n container=@container\n bound=@bound\n register=this.registerPikaday\n moment=@moment\n }}\n {{on \"change\" this.didChange}}\n {{didInsert this.registerField}}\n >\n <:prepend as |classes inputId|>\n {{yield classes inputId to=\"prepend\"}}\n </:prepend>\n <:append as |classes inputId|>\n {{yield classes inputId to=\"append\"}}\n </:append>\n </EuiFieldText>\n {{/let}}\n </template>\n}\n"],"names":["EuiPikadayComponent","Component","field","pikaday","format","args","value","yearRange","indexOf","yearArray","split","Date","getFullYear","i18n","undefined","t","previousMonth","toString","nextMonth","months","weekdays","weekdaysShort","firstDay","parseInt","registerField","n","prototype","action","registerPikaday","register","onClose","isDestroying","onSelect","onOpen","onDraw","didChange","event","target","date","onSelection","willDestroy","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","EuiFieldText","fn","optional","on","didInsert"],"mappings":"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"}
1
+ {"version":3,"file":"eui-pikaday.js","sources":["../../src/components/eui-pikaday.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { EuiFieldText } from '@ember-eui/core/components';\nimport { argOrDefault } from '@ember-eui/core/helpers';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport pikaday from 'ember-pikaday/modifiers/pikaday';\nimport { and, not } from 'ember-truth-helpers';\n\nimport randomId from '../-private/random-id.ts';\n\nimport type { EuiFieldTextSignature } from '@ember-eui/core/components/eui-field-text';\n\n/**\n * A date input with a Pikaday calendar, styled as an EuiFieldText (its\n * args, like `@clear`, `@compressed` or `@isInvalid`, apply too). Load the\n * calendar's styles with `import '@ember-eui/pikaday/pikaday.css'`.\n */\nexport interface EuiPikadaySignature {\n Element: EuiFieldTextSignature['Element'];\n Args: EuiFieldTextSignature['Args'] & {\n /** moment format of the date in the input. Defaults to `'DD.MM.YYYY'`. */\n format?: string;\n /** The selected date. Update it in `@onSelection`. */\n value?: Date;\n /**\n * Years in the year dropdown: a number of years around the current one\n * (`'10'`, the default), or a range `'1990,2030'` (`'1990,currentYear'`\n * ends at this year).\n */\n yearRange?: string;\n /**\n * Translations: Pikaday's i18n object (`{ previousMonth, nextMonth,\n * months, weekdays, weekdaysShort }`), or `{ t }` with a function\n * looking these keys up (e.g. ember-intl's `t`, with comma separated\n * lists for months and weekdays).\n */\n i18n?: {\n t: (key: string) => string;\n };\n /** First day of the week, `'0'` (Sunday) to `'6'`. Defaults to `1` (Monday). */\n firstDay?: string;\n /** Called when the calendar closes. */\n onClose?: () => void;\n /** Called when the calendar opens. */\n onOpen?: () => void;\n /** Called when the calendar redraws (e.g. changing month). */\n onDraw?: () => void;\n /**\n * Called with the selected `Date`, or `null` when the input is cleared.\n * Update `@value` here.\n */\n onSelection?: (date: Date | null) => void;\n /** Called with the Pikaday instance, e.g. to call its methods. */\n register?: (pikaday: any) => void;\n /** Date shown when there is no `@value`. */\n defaultDate?: Date;\n /** Earliest selectable date. */\n minDate?: Date;\n /** Latest selectable date. */\n maxDate?: Date;\n /** Class added to the calendar, for custom themes. */\n theme?: string;\n /** Element to render the calendar in (instead of `<body>`). */\n container?: HTMLElement;\n /**\n * Positions the calendar under the input (`true`, the default) or\n * renders it inline where `@container` is.\n */\n bound?: boolean;\n /** The `moment` instance to parse and format dates with. */\n moment?: any;\n /** @private Ignore the `<:prepend>` block. */\n isFakePrependBlock?: boolean;\n /** @private Ignore the `<:append>` block. */\n isFakeAppendBlock?: boolean;\n };\n Blocks: {\n /** Content before the input; yields the class to put on it and the input id. */\n prepend: EuiFieldTextSignature['Blocks']['prepend'];\n /** Content after the input; yields the class to put on it and the input id. */\n append: EuiFieldTextSignature['Blocks']['append'];\n };\n}\n\nexport default class EuiPikadayComponent extends Component<EuiPikadaySignature> {\n field: HTMLInputElement | null = null;\n pikaday?: any;\n\n get format() {\n return this.args.format || 'DD.MM.YYYY';\n }\n\n get value() {\n return this.args.value;\n }\n\n get yearRange() {\n const yearRange = this.args.yearRange;\n\n if (!yearRange) {\n return 10;\n }\n\n if (yearRange.indexOf(',') > -1) {\n const yearArray: (string | number)[] = yearRange.split(',');\n\n if (yearArray[1] === 'currentYear') {\n yearArray[1] = new Date().getFullYear();\n }\n\n return yearArray;\n } else {\n return yearRange;\n }\n }\n\n get i18n() {\n const i18n = this.args.i18n;\n\n if (!i18n) {\n return undefined;\n }\n\n if (!i18n.t) {\n return i18n;\n }\n\n return {\n previousMonth: i18n.t('previousMonth').toString(),\n nextMonth: i18n.t('nextMonth').toString(),\n months: i18n.t('months').toString().split(','),\n weekdays: i18n.t('weekdays').toString().split(','),\n weekdaysShort: i18n.t('weekdaysShort').toString().split(',')\n };\n }\n\n get firstDay() {\n return this.args.firstDay == null ? 1 : parseInt(this.args.firstDay, 10);\n }\n\n @action\n registerField(field: HTMLInputElement) {\n this.field = field;\n }\n\n @action\n registerPikaday(pikaday: any) {\n this.pikaday = pikaday;\n this.args.register?.(pikaday);\n }\n\n @action\n onClose() {\n if (this.isDestroying) {\n return;\n }\n\n if (!this.#heardValue) {\n this.onSelect(null);\n }\n\n this.args.onClose?.();\n }\n\n @action\n onOpen() {\n if (this.isDestroying) {\n return;\n }\n\n this.args.onOpen?.();\n }\n\n #heardValue?: any;\n\n @action\n onDraw() {\n // this is here because apparently the classic behavior is to pass no\n // arguments to the onDraw callback, but Pikaday's own ownDraw has an\n // argument.\n this.args.onDraw?.();\n }\n\n @action\n didChange(event: Event) {\n this.#heardValue = (event.target as HTMLInputElement).value;\n }\n\n @action\n onSelect(date: Date | null) {\n this.args.onSelection?.(date);\n }\n\n willDestroy(): void {\n super.willDestroy();\n\n this.field = null;\n }\n\n <template>\n {{#let\n (and (not (argOrDefault @isFakePrependBlock false)) (has-block \"prepend\"))\n (and (not (argOrDefault @isFakeAppendBlock false)) (has-block \"append\"))\n (argOrDefault @id (randomId))\n as |hasPrepend hasAppend inputId|\n }}\n <EuiFieldText\n @icon={{if @icon @icon \"calendar\"}}\n @fullWidth={{@fullWidth}}\n @isLoading={{@isLoading}}\n @readOnly={{@readOnly}}\n @inputRef={{@inputRef}}\n @controlOnly={{@controlOnly}}\n @compressed={{@compressed}}\n @id={{inputId}}\n @clear={{if @clear (fn (optional @clear) null)}}\n @isFakePrependBlock={{not hasPrepend}}\n @isFakeAppendBlock={{not hasAppend}}\n @disabled={{@disabled}}\n @isInvalid={{@isInvalid}}\n ...attributes\n {{pikaday\n value=this.value\n onSelect=this.onSelect\n setDefaultDate=true\n defaultDate=@defaultDate\n onOpen=this.onOpen\n onDraw=this.onDraw\n onClose=this.onClose\n format=this.format\n minDate=@minDate\n maxDate=@maxDate\n theme=@theme\n yearRange=this.yearRange\n i18n=this.i18n\n firstDay=this.firstDay\n container=@container\n bound=@bound\n register=this.registerPikaday\n moment=@moment\n }}\n {{on \"change\" this.didChange}}\n {{didInsert this.registerField}}\n >\n <:prepend as |classes inputId|>\n {{yield classes inputId to=\"prepend\"}}\n </:prepend>\n <:append as |classes inputId|>\n {{yield classes inputId to=\"append\"}}\n </:append>\n </EuiFieldText>\n {{/let}}\n </template>\n}\n"],"names":["EuiPikadayComponent","Component","field","pikaday","format","args","value","yearRange","indexOf","yearArray","split","Date","getFullYear","i18n","undefined","t","previousMonth","toString","nextMonth","months","weekdays","weekdaysShort","firstDay","parseInt","registerField","n","prototype","action","registerPikaday","register","onClose","isDestroying","onSelect","onOpen","onDraw","didChange","event","target","date","onSelection","willDestroy","setComponentTemplate","precompileTemplate","strictMode","scope","and","not","argOrDefault","randomId","EuiFieldText","fn","optional","on","didInsert"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-eui/pikaday",
3
- "version": "14.0.0",
3
+ "version": "14.1.0",
4
4
  "description": "ember-pikaday integration with @ember-eui/core",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -60,7 +60,7 @@
60
60
  "@babel/plugin-transform-class-static-block": "^7.20.0",
61
61
  "@babel/plugin-transform-typescript": "^7.12.13",
62
62
  "@babel/preset-typescript": "^7.18.6",
63
- "@ember-eui/core": "14.0.0",
63
+ "@ember-eui/core": "14.1.0",
64
64
  "@ember/optional-features": "^2.2.0",
65
65
  "@ember/test-helpers": "^5.2.1",
66
66
  "@ember/test-waiters": "^4.1.1",