@triptease/tt-date-range-picker 6.2.5 → 6.3.1

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/package.json +3 -0
  3. package/dist/cjs/src/DateRangeInput/DateRangeInput.js +67 -0
  4. package/dist/cjs/src/DateRangeInput/DateRangeInput.js.map +1 -0
  5. package/dist/cjs/src/DateRangeInput/tt-date-range-input.js +15 -0
  6. package/dist/cjs/src/DateRangeInput/tt-date-range-input.js.map +1 -0
  7. package/dist/cjs/src/SidePanel/PresetButton.js +120 -0
  8. package/dist/cjs/src/SidePanel/PresetButton.js.map +1 -0
  9. package/dist/cjs/src/SidePanel/SidePanel.js +43 -0
  10. package/dist/cjs/src/SidePanel/SidePanel.js.map +1 -0
  11. package/dist/cjs/src/SidePanel/styles.js +85 -0
  12. package/dist/cjs/src/SidePanel/styles.js.map +1 -0
  13. package/dist/cjs/src/SidePanel/tt-side-panel.js +17 -0
  14. package/dist/cjs/src/SidePanel/tt-side-panel.js.map +1 -0
  15. package/dist/cjs/src/TtDateRangePicker.js +243 -0
  16. package/dist/cjs/src/TtDateRangePicker.js.map +1 -0
  17. package/dist/cjs/src/helpers.js +9 -0
  18. package/dist/cjs/src/helpers.js.map +1 -0
  19. package/dist/cjs/src/index.js +24 -0
  20. package/dist/cjs/src/index.js.map +1 -0
  21. package/dist/cjs/src/styles.js +70 -0
  22. package/dist/cjs/src/styles.js.map +1 -0
  23. package/dist/cjs/src/tt-date-range-picker.js +30 -0
  24. package/dist/cjs/src/tt-date-range-picker.js.map +1 -0
  25. package/dist/cjs/src/types.js +3 -0
  26. package/dist/cjs/src/types.js.map +1 -0
  27. package/dist/esm/src/DateRangeInput/DateRangeInput.js.map +1 -0
  28. package/dist/esm/src/DateRangeInput/tt-date-range-input.js.map +1 -0
  29. package/dist/esm/src/SidePanel/PresetButton.js.map +1 -0
  30. package/dist/esm/src/SidePanel/SidePanel.js.map +1 -0
  31. package/dist/esm/src/SidePanel/styles.js.map +1 -0
  32. package/dist/esm/src/SidePanel/tt-side-panel.js.map +1 -0
  33. package/dist/esm/src/TtDateRangePicker.js.map +1 -0
  34. package/dist/esm/src/helpers.js.map +1 -0
  35. package/dist/esm/src/index.js.map +1 -0
  36. package/dist/esm/src/styles.js.map +1 -0
  37. package/dist/esm/src/tt-date-range-picker.js.map +1 -0
  38. package/dist/esm/src/types.js.map +1 -0
  39. package/dist/esm/test/date-range-picker.test.js.map +1 -0
  40. package/dist/esm/test/preset-button.test.js.map +1 -0
  41. package/dist/web/DateRangeInput/DateRangeInput.js +1 -1
  42. package/dist/web/DateRangeInput/tt-date-range-input.js +3 -3
  43. package/dist/web/FocusEvent.d.js +1 -1
  44. package/dist/web/SidePanel/PresetButton.js +2 -2
  45. package/dist/web/SidePanel/SidePanel.js +1 -1
  46. package/dist/web/SidePanel/styles.js +1 -1
  47. package/dist/web/SidePanel/tt-side-panel.js +2 -2
  48. package/dist/web/TtDateRangePicker.js +3 -3
  49. package/dist/web/helpers.js +1 -1
  50. package/dist/web/index.js +17 -17
  51. package/dist/web/styles.js +1 -1
  52. package/dist/web/tt-date-range-picker.js +17 -17
  53. package/dist/web/types.js +1 -1
  54. package/package.json +26 -12
  55. package/tsconfig.cjs.json +9 -0
  56. package/tsconfig.json +3 -3
  57. package/web-test-runner.config.js +1 -1
  58. package/dist/src/DateRangeInput/DateRangeInput.js.map +0 -1
  59. package/dist/src/DateRangeInput/tt-date-range-input.js.map +0 -1
  60. package/dist/src/SidePanel/PresetButton.js.map +0 -1
  61. package/dist/src/SidePanel/SidePanel.js.map +0 -1
  62. package/dist/src/SidePanel/styles.js.map +0 -1
  63. package/dist/src/SidePanel/tt-side-panel.js.map +0 -1
  64. package/dist/src/TtDateRangePicker.js.map +0 -1
  65. package/dist/src/helpers.js.map +0 -1
  66. package/dist/src/index.js.map +0 -1
  67. package/dist/src/styles.js.map +0 -1
  68. package/dist/src/tt-date-range-picker.js.map +0 -1
  69. package/dist/src/types.js.map +0 -1
  70. package/dist/test/date-range-picker.test.js.map +0 -1
  71. package/dist/test/preset-button.test.js.map +0 -1
  72. /package/dist/{src → esm/src}/DateRangeInput/DateRangeInput.d.ts +0 -0
  73. /package/dist/{src → esm/src}/DateRangeInput/DateRangeInput.js +0 -0
  74. /package/dist/{src → esm/src}/DateRangeInput/tt-date-range-input.d.ts +0 -0
  75. /package/dist/{src → esm/src}/DateRangeInput/tt-date-range-input.js +0 -0
  76. /package/dist/{src → esm/src}/SidePanel/PresetButton.d.ts +0 -0
  77. /package/dist/{src → esm/src}/SidePanel/PresetButton.js +0 -0
  78. /package/dist/{src → esm/src}/SidePanel/SidePanel.d.ts +0 -0
  79. /package/dist/{src → esm/src}/SidePanel/SidePanel.js +0 -0
  80. /package/dist/{src → esm/src}/SidePanel/styles.d.ts +0 -0
  81. /package/dist/{src → esm/src}/SidePanel/styles.js +0 -0
  82. /package/dist/{src → esm/src}/SidePanel/tt-side-panel.d.ts +0 -0
  83. /package/dist/{src → esm/src}/SidePanel/tt-side-panel.js +0 -0
  84. /package/dist/{src → esm/src}/TtDateRangePicker.d.ts +0 -0
  85. /package/dist/{src → esm/src}/TtDateRangePicker.js +0 -0
  86. /package/dist/{src → esm/src}/helpers.d.ts +0 -0
  87. /package/dist/{src → esm/src}/helpers.js +0 -0
  88. /package/dist/{src → esm/src}/index.d.ts +0 -0
  89. /package/dist/{src → esm/src}/index.js +0 -0
  90. /package/dist/{src → esm/src}/styles.d.ts +0 -0
  91. /package/dist/{src → esm/src}/styles.js +0 -0
  92. /package/dist/{src → esm/src}/tt-date-range-picker.d.ts +0 -0
  93. /package/dist/{src → esm/src}/tt-date-range-picker.js +0 -0
  94. /package/dist/{src → esm/src}/types.d.ts +0 -0
  95. /package/dist/{src → esm/src}/types.js +0 -0
  96. /package/dist/{test → esm/test}/date-range-picker.test.d.ts +0 -0
  97. /package/dist/{test → esm/test}/date-range-picker.test.js +0 -0
  98. /package/dist/{test → esm/test}/preset-button.test.d.ts +0 -0
  99. /package/dist/{test → esm/test}/preset-button.test.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"TtDateRangePicker.js","sourceRoot":"","sources":["../../src/TtDateRangePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { property, query, state } from 'lit/decorators.js';\nimport { css, html, LitElement, nothing, PropertyValues } from 'lit';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { DateTime } from 'luxon';\nimport { TtDialog } from '@triptease/tt-dialog';\nimport { Calendar } from '@triptease/tt-calendar';\nimport { DateRange, DateRangeSelectionEvent } from '@triptease/tt-calendar/date-selection-context.js';\nimport { calendarIcon } from '@triptease/icons';\nimport { DateRangeInput } from './DateRangeInput/DateRangeInput.js';\nimport { styles } from './styles.js';\n\nexport class TtDateRangePicker extends LitElement {\n public internals: ReturnType<typeof this.attachInternals>;\n\n constructor() {\n super();\n this.internals = this.attachInternals();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('date-range-selection', this.onChange);\n this.addEventListener('dialog-open', this._onDialogOpen);\n this.addEventListener('dialog-close', this._onDialogClose);\n this.addEventListener('focusout', this.onFocusOut);\n this.addEventListener('focus', this._onFocus);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('date-range-selection', this.onChange);\n this.removeEventListener('dialog-open', this._onDialogOpen);\n this.removeEventListener('dialog-close', this._onDialogClose);\n this.removeEventListener('focusout', this.onFocusOut);\n this.removeEventListener('focus', this._onFocus);\n }\n\n static formAssociated = true;\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = [\n styles,\n css`\n [part='controls'] {\n min-width: 35.3ch;\n }\n `,\n ];\n\n @query('tt-calendar')\n calendar!: Calendar;\n\n @query('tt-dialog')\n dialog!: TtDialog;\n\n @property({\n type: String,\n })\n public start?: string;\n\n @property({\n type: String,\n })\n public end?: string;\n\n @property({ type: Number })\n public minDays?: number;\n\n @property({ type: Number })\n public maxDays?: number;\n\n @property({\n type: String,\n })\n public minDate?: string;\n\n @property({\n type: String,\n })\n public maxDate?: string;\n\n @property({ type: Boolean, attribute: 'open-left' })\n public openLeft = false;\n\n @property({ type: Boolean })\n public disabled = false;\n\n // Internal DateTime properties for calculations\n private get _startDateTime(): DateTime | undefined {\n return this.start ? DateTime.fromISO(this.start) : undefined;\n }\n\n private get _endDateTime(): DateTime | undefined {\n return this.end ? DateTime.fromISO(this.end) : undefined;\n }\n\n private get _minDateTime(): DateTime | undefined {\n return this.minDate ? DateTime.fromISO(this.minDate) : undefined;\n }\n\n private get _maxDateTime(): DateTime | undefined {\n return this.maxDate ? DateTime.fromISO(this.maxDate) : undefined;\n }\n\n @state()\n private _open: boolean = false;\n\n @query('tt-date-range-input')\n dateRangeInput!: DateRangeInput;\n\n private get _formValue(): string | null {\n return JSON.stringify({\n startDate: this._startDateTime?.toISODate(),\n endDate: this._endDateTime?.toISODate(),\n });\n }\n\n public get value(): DateRange | undefined {\n return this.end || this.start ? { startDate: this.start, endDate: this.end } : undefined;\n }\n\n showCalendar() {\n this.dialog.toggleVisibility();\n if (this.openLeft) {\n this.style.setProperty('--calendar-left-distance', '-146px');\n }\n }\n\n private _onDialogOpen = () => {\n this._open = true;\n };\n\n private _onDialogClose = () => {\n this._open = false;\n };\n\n public onFocusOut = (event: FocusEvent) => {\n if (!this._open) return;\n\n const target = (event.relatedTarget ?? event.explicitOriginalTarget) as HTMLElement | null;\n\n if (!this.contains(target)) {\n this.dialog.hide();\n }\n };\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('start') || changedProperties.has('end')) {\n this.internals.setFormValue(this._formValue);\n }\n\n if (changedProperties.has('start') || changedProperties.has('end')) {\n this.validate();\n }\n\n if (changedProperties.has('disabled')) {\n if (this.disabled) {\n this.internals.setFormValue(null);\n this.internals.states.add('disabled');\n this.inert = true;\n } else {\n this.internals.states.delete('disabled');\n this.internals.setFormValue(this._formValue);\n this.inert = false;\n }\n }\n }\n\n private onChange(e: Event) {\n if (!DateRangeSelectionEvent.is(e) && e.type !== 'change') return;\n\n if (DateRangeSelectionEvent.is(e)) {\n this.start = e.detail.startDate!;\n this.end = e.detail.endDate!;\n } else if (e.type === 'change') {\n const { value } = e.target as DateRangeInput;\n this.start = value!.startDate ? value!.startDate : undefined;\n this.end = value!.endDate ? value!.endDate : undefined;\n }\n\n this.dispatchEvent(new InputEvent('change'));\n this.dialog.hide();\n }\n\n private _onFocus = () => {\n this.dateRangeInput.focus();\n };\n\n private validate() {\n const wasValid = this.internals.validity.valid;\n const oldMessage = this.internals.validationMessage;\n this.internals.setValidity({});\n\n if (this._endDateTime && this._startDateTime) {\n if (this._endDateTime < this._startDateTime) {\n this.internals.setValidity({ customError: true }, 'End date must be after start date');\n return;\n }\n\n const differenceInDays = this._endDateTime.diff(this._startDateTime!).as('days');\n const minDaysAreValid = !this.minDays || differenceInDays >= this.minDays;\n if (!minDaysAreValid) {\n this.internals.setValidity({ rangeUnderflow: true }, `Date range must be at least ${this.minDays} days`);\n return;\n }\n const maxDaysAreValid = !this.maxDays || differenceInDays <= this.maxDays;\n if (!maxDaysAreValid) {\n this.internals.setValidity({ rangeOverflow: true }, `Date range must be at most ${this.maxDays} days`);\n return;\n }\n const minDateIsValid =\n !this._minDateTime || this._startDateTime > this._minDateTime || this._startDateTime.equals(this._minDateTime);\n if (!minDateIsValid) {\n this.internals.setValidity(\n { rangeUnderflow: true },\n `Start date should be equal or after ${this._minDateTime?.toLocaleString({ month: 'short', day: 'numeric', year: 'numeric' })}`\n );\n return;\n }\n const maxDateIsValid =\n !this._maxDateTime || this._endDateTime.equals(this._maxDateTime) || this._endDateTime < this._maxDateTime;\n if (!maxDateIsValid) {\n this.internals.setValidity(\n { rangeOverflow: true },\n `End date should be before or equal to ${this._maxDateTime?.toLocaleString({ month: 'short', day: 'numeric', year: 'numeric' })}`\n );\n return;\n }\n }\n if (wasValid !== this.internals.validity.valid || oldMessage !== this.internals.validationMessage) {\n this.requestUpdate();\n }\n }\n\n render() {\n return html`\n <div part=\"controls\" aria-invalid=${!this.internals.validity.valid}>\n <tt-date-range-input @change=${this.onChange} .value=\"${this.value}\"></tt-date-range-input>\n <button name=\"show calendar\" @click=${this.showCalendar} class=\"show-calendar\">\n ${unsafeSVG(calendarIcon)}\n </button>\n </div>\n <tt-dialog name=\"calendar\" aria-label=\"Choose date range\" part=\"dialog\">\n <tt-calendar\n max-date=${this.maxDate}\n min-date=${this.minDate}\n max-days=${this.maxDays}\n @date-range-selection=${this.onChange}\n .value=\"${this.value}\"\n range\n part=\"calendar\"\n ></tt-calendar>\n <tt-side-panel>\n <slot name=\"preset\" slot=\"side-preset\"></slot>\n </tt-side-panel>\n </tt-dialog>\n <div class=\"errormessage\" id=\"error-msg-${this.id}\" role=\"alert\" aria-atomic=\"true\" part=\"error\">\n ${this.internals.validity.valid ? nothing : this.internals.validationMessage}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'tt-date-range-picker': TtDateRangePicker;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAoB,EAAE,CACtE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAwB,EAAE,CAC9E,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC","sourcesContent":["import { DateTime } from 'luxon';\n\nexport const dateConverter = (value: string | null): Date | undefined =>\n value ? DateTime.fromISO(value).toJSDate() : undefined;\n\nexport const dateTimeConverter = (value: string | null): DateTime | undefined =>\n value ? DateTime.fromISO(value) : undefined;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export * from './types.js';\nexport { TtDateRangePicker } from './tt-date-range-picker.js';\nexport { Preset, PresetButton } from './SidePanel/tt-side-panel.js';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgExB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n position: relative;\n }\n\n :host(:state(disabled)) {\n pointer-events: none;\n opacity: 0.5;\n }\n\n tt-side-panel::part(side-panel) {\n border-right: 1px solid var(--color-border-200);\n }\n\n tt-side-panel:empty {\n display: none;\n }\n\n [part='container'] {\n padding: var(--space-scale-1) var(--space-scale-1-5);\n gap: var(--space-scale-1);\n }\n\n [part='controls'] {\n display: flex;\n border: 1px solid var(--color-border-200);\n border-radius: var(--border-radius);\n width: fit-content;\n height: var(--date-picker-height, fit-content);\n background-color: var(--color-surface-100);\n font-size: var(--font-size-200);\n color: var(--color-text-400);\n align-items: stretch;\n justify-content: space-around;\n padding: 0;\n\n &[aria-invalid='true'] {\n outline: 2px solid var(--color-alert-strong);\n }\n\n button {\n border: 0;\n padding-inline: var(--space-scale-1);\n background-color: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n border-left: 1px solid var(--color-border-200);\n box-sizing: border-box;\n color: var(--color-text-400);\n }\n\n &:has(+ tt-dialog[open]) .show-calendar svg,\n .show-calendar:hover svg {\n color: var(--color-primary-400);\n }\n }\n\n [part='dialog']::part(dialog) {\n margin-top: var(--space-scale-1);\n flex-direction: row-reverse;\n }\n`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tt-date-range-picker.js","sourceRoot":"","sources":["../../src/tt-date-range-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { TtDialog } from '@triptease/tt-dialog';\nimport { Calendar } from '@triptease/tt-calendar';\nimport { TtDateRangePicker } from './TtDateRangePicker.js';\nimport { DateRangeInput } from './DateRangeInput/tt-date-range-input.js';\nimport { SidePanel, PresetButton } from './SidePanel/tt-side-panel.js';\n\nif (typeof window !== 'undefined') {\n if (!window.customElements.get('tt-calendar')) {\n window.customElements.define('tt-calendar', Calendar);\n }\n if (!window.customElements.get('tt-date-range-input')) {\n window.customElements.define('tt-date-range-input', DateRangeInput);\n }\n if (!window.customElements.get('tt-dialog')) {\n window.customElements.define('tt-dialog', TtDialog);\n }\n\n if (!window.customElements.get('tt-date-range-picker')) {\n window.customElements.define('tt-date-range-picker', TtDateRangePicker);\n }\n\n if (!window.customElements.get('tt-side-panel')) {\n window.customElements.define('tt-side-panel', SidePanel);\n }\n\n if (!window.customElements.get('tt-preset-button')) {\n window.customElements.define('tt-preset-button', PresetButton);\n }\n}\n\nexport { TtDateRangePicker };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import { TtDateRangePicker } from './TtDateRangePicker.js';\nimport { PresetButton } from './SidePanel/PresetButton.js';\n\ninterface TtDateRangePickerExternalAttributes {\n id?: string;\n start?: string;\n end?: string;\n mindate?: string;\n maxdate?: string;\n mindays?: number;\n maxdays?: number;\n disabled?: boolean;\n 'open-left'?: boolean;\n name?: string;\n}\n\ninterface TtPresetButtonExternalAttributes {\n id?: string;\n slot?: string;\n preset?: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'tt-date-range-picker': TtDateRangePicker;\n 'tt-preset-button': PresetButton;\n }\n\n namespace JSX {\n interface IntrinsicElements {\n 'tt-date-range-picker': TtDateRangePickerExternalAttributes & {\n style?: string;\n onChange?: (event: InputEvent) => void;\n };\n\n 'tt-preset-button': TtPresetButtonExternalAttributes;\n }\n }\n\n namespace React {\n namespace JSX {\n interface IntrinsicElements {\n 'tt-date-range-picker': TtDateRangePickerExternalAttributes & {\n ref?: React.Ref<unknown>;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n onChange?: (event: InputEvent) => void;\n };\n\n 'tt-preset-button': TtPresetButtonExternalAttributes & {\n ref?: React.Ref<unknown>;\n children?: React.ReactNode;\n };\n }\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-range-picker.test.js","sourceRoot":"","sources":["../../test/date-range-picker.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { elementUpdated, expect, fixture, oneDefaultPreventedEvent, oneEvent } from '@open-wc/testing';\nimport { html } from 'lit';\nimport { DateTime, Settings } from 'luxon';\nimport { Calendar } from '@triptease/tt-calendar';\nimport { TtDateRangePicker } from '../src/tt-date-range-picker.js';\nimport '../src/tt-date-range-picker.js'; // This handles the registration\n\nconst getCalendarButton = (calendar: Calendar, date: string): HTMLLIElement => {\n const label = DateTime.fromISO(date).toLocaleString({ dateStyle: 'long' });\n return calendar.shadowRoot!.querySelector(`[role=\"gridcell\"][aria-label=\"${label}\"]`) as HTMLLIElement;\n};\n\ndescribe('TtDateRangePicker', () => {\n afterEach(() => {\n Settings.defaultZone = 'system';\n });\n\n ['Australia/Brisbane', 'America/New_York', 'Europe/London', 'Asia/Tokyo', 'Etc/UTC'].forEach((timezone) => {\n it(`should include date range values in form submission data for ${timezone} timezone`, async () => {\n Settings.defaultZone = timezone;\n const form = await fixture<HTMLFormElement>(html`\n <form method=\"post\" action=\"#\">\n <input type=\"text\" name=\"other_field\" value=\"test_value\" />\n <tt-date-range-picker name=\"booking_dates\" start=\"2025-04-15\" end=\"2025-04-20\"></tt-date-range-picker>\n <button type=\"submit\">Submit</button>\n </form>\n `);\n\n const dateRangePicker = form.querySelector('tt-date-range-picker') as TtDateRangePicker;\n expect(dateRangePicker).to.exist;\n\n await elementUpdated(dateRangePicker);\n\n setTimeout(() => form.querySelector('button')!.click());\n await oneDefaultPreventedEvent(form, 'submit');\n\n const formData = new FormData(form);\n const dateRangeValue = formData.get('booking_dates');\n const parsedValue = JSON.parse(dateRangeValue as string);\n\n const expectedStartDate = `2025-04-15`;\n const expectedEndDate = `2025-04-20`;\n\n expect(parsedValue.startDate).equals(expectedStartDate);\n expect(parsedValue.endDate).equals(expectedEndDate);\n });\n\n it(`should emit change event on date selection for ${timezone}`, async () => {\n Settings.defaultZone = timezone;\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-05-01\" end=\"2025-05-08\"></tt-date-range-picker>\n `);\n\n const showCalendarButton = dateRangePicker.shadowRoot!.querySelector(\n '[name=\"show calendar\"]'\n ) as HTMLButtonElement;\n showCalendarButton.click();\n await elementUpdated(dateRangePicker);\n\n const calendar = dateRangePicker.shadowRoot!.querySelector('[part=\"calendar\"]') as Calendar;\n\n const startDateButton = getCalendarButton(calendar, '2025-05-01');\n const endDateButton = getCalendarButton(calendar, '2025-05-15');\n\n // Set up a promise to listen for the change event\n const changeEventPromise = oneEvent(dateRangePicker, 'change');\n\n // Click the start date button\n startDateButton.click();\n await elementUpdated(dateRangePicker);\n\n // Click the end date button\n endDateButton.click();\n await elementUpdated(dateRangePicker);\n\n // Wait for the change event\n const event = await changeEventPromise;\n\n // Verify the event data\n const eventValue = (event.target! as TtDateRangePicker).value;\n const expectedStartDate = '2025-05-01';\n expect(eventValue!.startDate).to.equal(expectedStartDate);\n\n const expectedEndDate = '2025-05-15';\n expect(eventValue!.endDate).to.equal(expectedEndDate);\n });\n });\n\n it('should have aria-invalid when selected range is less than minDays', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-01-03\" end=\"2025-01-20\" minDays=\"6\"></tt-date-range-picker>\n `);\n\n const showCalendarButton = dateRangePicker.shadowRoot!.querySelector('[name=\"show calendar\"]') as HTMLButtonElement;\n showCalendarButton.click();\n await elementUpdated(dateRangePicker);\n\n const calendar = dateRangePicker.shadowRoot!.querySelector('[part=\"calendar\"]') as Calendar;\n\n const startDateButton = getCalendarButton(calendar, '2025-01-01');\n const endDateButton = getCalendarButton(calendar, '2025-01-02');\n\n startDateButton.click();\n await elementUpdated(dateRangePicker);\n\n endDateButton.click();\n await elementUpdated(dateRangePicker);\n const controls = dateRangePicker.shadowRoot!.querySelector('[part=\"controls\"]') as HTMLDivElement;\n\n expect(controls.getAttribute('aria-invalid')).to.equal('true');\n });\n\n it('should not have aria-invalid when selected range is equal to minDays', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-01-03\" end=\"2025-01-20\" minDays=\"3\"></tt-date-range-picker>\n `);\n\n const showCalendarButton = dateRangePicker.shadowRoot!.querySelector('[name=\"show calendar\"]') as HTMLButtonElement;\n showCalendarButton.click();\n await elementUpdated(dateRangePicker);\n\n const calendar = dateRangePicker.shadowRoot!.querySelector('[part=\"calendar\"]') as Calendar;\n\n const startDateButton = getCalendarButton(calendar, '2025-01-01');\n const endDateButton = getCalendarButton(calendar, '2025-01-04');\n\n startDateButton.click();\n await elementUpdated(dateRangePicker);\n\n endDateButton.click();\n await elementUpdated(dateRangePicker);\n const controls = dateRangePicker.shadowRoot!.querySelector('[part=\"controls\"]') as HTMLDivElement;\n\n expect(controls.getAttribute('aria-invalid')).to.equal('false');\n });\n\n it('it should have aria-invalid true when selected range is greater than maxDays', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-01-03\" end=\"2025-01-20\" maxDays=\"6\"></tt-date-range-picker>\n `);\n\n const showCalendarButton = dateRangePicker.shadowRoot!.querySelector('[name=\"show calendar\"]') as HTMLButtonElement;\n showCalendarButton.click();\n await elementUpdated(dateRangePicker);\n\n const calendar = dateRangePicker.shadowRoot!.querySelector('[part=\"calendar\"]') as Calendar;\n\n const startDateButton = getCalendarButton(calendar, '2025-01-01');\n const endDateButton = getCalendarButton(calendar, '2025-01-12');\n\n startDateButton.click();\n await elementUpdated(dateRangePicker);\n\n endDateButton.click();\n await elementUpdated(dateRangePicker);\n const controls = dateRangePicker.shadowRoot!.querySelector('[part=\"controls\"]') as HTMLDivElement;\n\n expect(controls.getAttribute('aria-invalid')).to.equal('true');\n });\n\n it('should not have aria-invalid when selected range is less than maxDays', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-01-03\" end=\"2025-01-20\" maxDays=\"20\"></tt-date-range-picker>\n `);\n\n const showCalendarButton = dateRangePicker.shadowRoot!.querySelector('[name=\"show calendar\"]') as HTMLButtonElement;\n showCalendarButton.click();\n await elementUpdated(dateRangePicker);\n\n const calendar = dateRangePicker.shadowRoot!.querySelector('[part=\"calendar\"]') as Calendar;\n\n const startDateButton = getCalendarButton(calendar, '2025-01-01');\n const endDateButton = getCalendarButton(calendar, '2025-01-10');\n\n startDateButton.click();\n await elementUpdated(dateRangePicker);\n\n endDateButton.click();\n await elementUpdated(dateRangePicker);\n const controls = dateRangePicker.shadowRoot!.querySelector('[part=\"controls\"]') as HTMLDivElement;\n\n expect(controls.getAttribute('aria-invalid')).to.equal('false');\n });\n\n it('should disable the date range picker when disabled attribute is set', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker start=\"2025-05-01\" end=\"2025-05-08\" disabled></tt-date-range-picker>\n `);\n\n expect(dateRangePicker.disabled).to.be.true;\n expect(dateRangePicker.inert).to.be.true;\n });\n\n it('it pass the max-date attribute to tt-calendar when max-date is passed', async () => {\n const dateRangePicker = await fixture<TtDateRangePicker>(html`\n <tt-date-range-picker mindate=\"2025-01-20\" maxdate=\"2025-01-21\"></tt-date-range-picker>\n `);\n\n const ttCalendar = dateRangePicker.shadowRoot!.querySelector('tt-calendar');\n\n expect(ttCalendar?.getAttribute('max-date')).to.equal('2025-01-21');\n expect(ttCalendar?.getAttribute('min-date')).to.equal('2025-01-20');\n });\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"preset-button.test.js","sourceRoot":"","sources":["../../test/preset-button.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACvD,OAAO,mCAAmC,CAAC;AAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,GAAG,EAAE;QACV,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH;QACE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;QAC7C,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QAC9C,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QAChD,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;QAC7C,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;QAC7C,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;QAC/C,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QAChD,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QAC9C,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;QAC/C,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QAChD,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QAChD,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;QACjD,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;KACvC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;QACzC,EAAE,CAAC,2EAA2E,MAAM,oBAAoB,EAAE,KAAK,IAAI,EAAE;YACnH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAe,IAAI,CAAA,6BAA6B,MAAM,uBAAuB,CAAC,CAAC;YAE3G,MAAM,oBAAoB,GAAG,QAAQ,CAA0B,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAC/F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC;YAEzC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Settings } from 'luxon';\nimport { expect, fixture, html, oneEvent } from '@open-wc/testing';\nimport { DateRangeSelectionEvent } from '@triptease/tt-calendar/date-selection-context.js';\nimport { Preset, PresetButton } from '../src/index.js';\nimport '../src/SidePanel/tt-side-panel.js';\n\nconst firstJan2025 = Date.UTC(2025, 0, 1, 0, 0, 0);\ndescribe('PresetButton', () => {\n before(() => {\n Settings.now = () => firstJan2025;\n });\n\n after(() => {\n Settings.now = () => Date.now();\n });\n\n [\n [Preset.LastWeek, '2024-12-23', '2024-12-29'],\n [Preset.LastMonth, '2024-12-01', '2024-12-31'],\n [Preset.LastQuarter, '2024-10-01', '2024-12-31'],\n [Preset.LastYear, '2024-01-01', '2024-12-31'],\n [Preset.ThisWeek, '2024-12-30', '2025-01-05'],\n [Preset.YearToDate, '2025-01-01', '2025-01-01'],\n [Preset.ThisQuarter, '2025-01-01', '2025-03-31'],\n [Preset.ThisMonth, '2025-01-01', '2025-01-31'],\n [Preset.Next1Month, '2025-01-01', '2025-02-01'],\n [Preset.Next3Months, '2025-01-01', '2025-04-01'],\n [Preset.Next6Months, '2025-01-01', '2025-07-01'],\n [Preset.Next12Months, '2025-01-01', '2026-01-01'],\n [Preset.AllTime, undefined, undefined],\n ].forEach(([preset, startDate, endDate]) => {\n it(`should fire a date selection event with the correct date range when the ${preset} preset is clicked`, async () => {\n const button = await fixture<PresetButton>(html` <tt-preset-button preset=${preset}></tt-preset-button> `);\n\n const dateSelectionPromise = oneEvent<DateRangeSelectionEvent>(button, 'date-range-selection');\n button.shadowRoot?.querySelector('button')?.click();\n const event = await dateSelectionPromise;\n\n await expect(event.detail.startDate).to.equal(startDate);\n await expect(event.detail.endDate).to.equal(endDate);\n });\n });\n});\n"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes