{"version":3,"sources":["jsdelivr-header.js","/npm/react-datepicker-library@1.1.4/src/components/Calendar/calc.tsx","/npm/react-datepicker-library@1.1.4/src/components/Calendar/Calendar.tsx","/npm/react-datepicker-library@1.1.4/src/components/Datepicker/Datepicker.tsx","/npm/react-datepicker-library@1.1.4/src/index.tsx"],"names":[],"mappings":"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","file":"/npm/react-datepicker-library@1.1.4/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-datepicker-library@1.1.4/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","export const WEEK_DAYS: { [key: string]: any } = {\n  Sunday: 'Sun',\n  Monday: 'Mon',\n  Tuesday: 'Tue',\n  Wednesday: 'Wed',\n  Thursday: 'Thu',\n  Friday: 'Fri',\n  Saturday: 'Sat'\n}\n\nexport const CALENDAR_MONTHS = {\n  January: 'Jan',\n  February: 'Feb',\n  March: 'Mar',\n  April: 'Apr',\n  May: 'May',\n  June: 'Jun',\n  July: 'Jul',\n  August: 'Aug',\n  September: 'Sep',\n  October: 'Oct',\n  November: 'Nov',\n  December: 'Dec'\n}\n\nexport const CALENDAR_WEEKS = 6\n\nexport const CALENDAR_MONTHS_30 = [4, 6, 9, 11]\n\nexport const getDateISO = (date: any) => {\n  return [date.getFullYear(), date.getMonth() + 1, date.getDate()]\n    .map((v) => String(v).padStart(2, '0'))\n    .join('-')\n}\n\nexport const getDateArray = (date: Date) => {\n  const [year, month, day] = (getDateISO(date) || '').split('-').map((v) => +v)\n  return [year, month, day]\n}\n\nexport const getMonthDays = (date: Date) => {\n  const [year, month] = getDateArray(date)\n  return month === 2\n    ? year % 4 === 0\n      ? 29\n      : 28\n    : CALENDAR_MONTHS_30.includes(month)\n    ? 30\n    : 31\n}\n\nexport const getMonthFirstDay = (date: Date) => {\n  return new Date(new Date(+date).setDate(1)).getDay() + 1\n}\n\nexport const getPreviousMonth = (date: Date) => {\n  const [year, month] = getDateArray(date)\n  return {\n    month: month > 1 ? month - 1 : 12,\n    year: month > 1 ? year : year - 1\n  }\n}\n\nexport const getNextMonth = (date: Date) => {\n  const [year, month] = getDateArray(date)\n  return {\n    month: month < 12 ? month + 1 : 1,\n    year: month < 12 ? year : year + 1\n  }\n}\n\nexport const dateDiff = (date1: any, date2 = new Date()) => {\n  return (\n    new Date(+date1).setHours(0, 0, 0, 0) -\n    new Date(+date2).setHours(0, 0, 0, 0)\n  )\n}\n\nexport const isBeforeDay = (date1: Date, date2: Date) =>\n  +dateDiff(date1, date2) < 0\n\nexport const isAfterDay = (date1: Date, date2: Date) =>\n  +dateDiff(date1, date2) > 0\n\nexport const isSameDay = (date1: Date, date2: Date) =>\n  dateDiff(date1, date2) === 0\n\nexport const isSameMonth = (date1: any, date2: any) => {\n  return new Date(+date1).setDate(1) - new Date(+date2).setDate(1) === 0\n}\n\nexport default (date = new Date()) => {\n  console.log('Początek calc')\n  const monthDays = getMonthDays(date)\n  const monthFirstDay = getMonthFirstDay(date)\n  const [year, month] = getDateArray(date)\n\n  const daysFromPrevMonth = monthFirstDay - 1\n  const daysFromNextMonth = CALENDAR_WEEKS * 7 - (daysFromPrevMonth + monthDays)\n\n  const { month: prevMonth, year: prevMonthYear } = getPreviousMonth(date)\n  const { month: nextMonth, year: nextMonthYear } = getNextMonth(date)\n\n  const prevMonthDays = getMonthDays(\n    new Date([prevMonthYear, prevMonth].toString())\n  )\n\n  const prevMonthDates = [\n    ...new Array(daysFromPrevMonth)\n  ].map((n = 0, index) => [\n    prevMonthYear,\n    prevMonth,\n    index + 1 + n + (prevMonthDays - daysFromPrevMonth)\n  ])\n\n  const thisMonthDates = [...new Array(monthDays)].map((n = 0, index) => [\n    year,\n    month,\n    index + 1 + n\n  ])\n\n  const nextMonthDates = [\n    ...new Array(daysFromNextMonth)\n  ].map((n = 0, index) => [nextMonthYear, nextMonth, index + 1 + n])\n  console.log('Calc przed return')\n  return [...prevMonthDates, ...thisMonthDates, ...nextMonthDates]\n}\n","import React from 'react'\nimport calc, {\n  dateDiff,\n  isBeforeDay,\n  isAfterDay,\n  isSameDay,\n  isSameMonth,\n  getDateISO,\n  getDateArray,\n  getNextMonth,\n  getPreviousMonth,\n  getMonthDays,\n  WEEK_DAYS,\n  CALENDAR_MONTHS\n} from './calc'\n\nimport styles from './Calendar.css'\n\ninterface Props {\n  date: any\n  min: any\n  max: any\n  onDateChanged: any\n}\n\ninterface State {\n  current: any\n  month: any\n  year: any\n  mindate: Date\n  maxdate: Date\n  today: Date\n}\n\nclass Calendar extends React.Component<Props, State> {\n  state: State = { ...this.stateFromProp(), today: new Date() }\n  pressureShift: any\n  pressureTimeout: any\n  pressureTimer: any\n  dayTimeout: any\n\n  stateFromDate({ date, min, max }: any) {\n    const {\n      mindate: stateMinDate,\n      maxdate: stateMaxDate,\n      current: stateCurrent\n    } = this.state || {}\n    const minDate = min || stateMinDate\n    const maxDate = max || stateMaxDate\n    const currentDate = date || stateCurrent\n\n    const mindate = isAfterDay(minDate, maxDate) ? null : minDate\n    const maxdate = isBeforeDay(maxDate, minDate) ? null : maxDate\n    const current = this.calendarWithinRange(currentDate, {\n      mindate,\n      maxdate,\n      year: 0,\n      month: 0,\n      current: 0,\n      today: new Date()\n    })\n      ? currentDate\n      : null\n\n    const calendarDate = current || new Date()\n\n    const [year, month] = getDateArray(\n      this.calendarWithinRange(calendarDate, {\n        mindate,\n        maxdate,\n        year: 0,\n        month: 0,\n        current: 0,\n        today: new Date()\n      })\n        ? calendarDate\n        : maxdate\n    )\n\n    return { current, month, year, mindate, maxdate }\n  }\n\n  stateFromProp() {\n    return this.stateFromDate(this.props)\n  }\n\n  changeHandler = (date: Date) => () => {\n    const { onDateChanged } = this.props\n    typeof onDateChanged === 'function' && onDateChanged(date)\n  }\n\n  calendarWithinRange(date: Date, { maxdate, mindate } = this.state) {\n    const min = new Date(new Date(+mindate).setDate(1))\n    const max = new Date(new Date(+maxdate).setDate(getMonthDays(maxdate)))\n\n    return (date >= min || !mindate) && (date <= max || !maxdate)\n  }\n\n  getCalendarDates = () => {\n    console.log('Początek getCalendarDates')\n    const { current, month, year } = this.state\n    const [currentYear, currentMonth] = current ? getDateArray(current) : []\n    console.log('getCalendarDates przed return')\n\n    return calc(\n      new Date([year || currentYear, month || currentMonth].toString())\n    )\n  }\n\n  gotoDate = (date: Date) => (evt: any) => {\n    evt && evt.preventDefault()\n    const { current, maxdate, mindate } = this.state\n    const isCurrent = current && isSameDay(date, current)\n    const outOfRange = isBeforeDay(date, mindate) || isAfterDay(date, maxdate)\n\n    !(isCurrent || outOfRange) &&\n      this.setState(\n        this.stateFromDate({ date, min: 0, max: 0 }),\n        this.changeHandler(date)\n      )\n  }\n\n  gotoPreviousMonth = () => {\n    const { month, year } = this.state\n    const previousMonth = getPreviousMonth(new Date([year, month].toString()))\n    const previous = new Date(\n      [previousMonth.year, previousMonth.month].toString()\n    )\n\n    this.calendarWithinRange(previous) && this.setState(previousMonth)\n  }\n\n  gotoNextMonth = () => {\n    const { month, year } = this.state\n    const nextMonth = getNextMonth(new Date([year, month].toString()))\n    const next = new Date([nextMonth.year, nextMonth.month].toString())\n\n    this.calendarWithinRange(next) && this.setState(nextMonth)\n  }\n\n  gotoPreviousYear = () => {\n    const { month, year } = this.state\n    const previous = new Date([year - 1, month].toString())\n    this.calendarWithinRange(previous) && this.setState({ year: year - 1 })\n  }\n\n  gotoNextYear = () => {\n    const { month, year } = this.state\n    const next = new Date([year + 1, month].toString())\n    this.calendarWithinRange(next) && this.setState({ year: year + 1 })\n  }\n\n  handlePressure = (evt: any) => (fn: any, fnShift: any) => {\n    if (typeof fn === 'function' && typeof fnShift === 'function') {\n      this.pressureShift = evt.shiftKey\n      this.pressureShift ? fnShift() : fn()\n\n      this.pressureTimeout = setTimeout(() => {\n        this.pressureTimer = setInterval(\n          () => (this.pressureShift ? fnShift() : fn()),\n          100\n        )\n      }, 500)\n\n      document.addEventListener('keyup', this.handlePressureKeyup)\n      document.addEventListener('keydown', this.handlePressureKeydown)\n    }\n  }\n\n  handlePressureKeyup = (evt: any) => {\n    evt.preventDefault()\n    !evt.shiftKey && (this.pressureShift = !evt.shiftKey && false)\n  }\n\n  handlePressureKeydown = (evt: any) => {\n    evt.preventDefault()\n    evt.shiftKey && (this.pressureShift = true)\n  }\n\n  clearPressureTimer = () => {\n    this.pressureTimer && clearInterval(this.pressureTimer)\n    this.pressureTimeout && clearTimeout(this.pressureTimeout)\n\n    this.pressureShift = false\n\n    document.removeEventListener('keyup', this.handlePressureKeyup)\n    document.removeEventListener('keydown', this.handlePressureKeydown)\n  }\n\n  clearDayTimeout = () => {\n    this.dayTimeout && clearTimeout(this.dayTimeout)\n  }\n\n  handlePrevious = (evt: any) => {\n    return (\n      evt &&\n      (evt.preventDefault(),\n      this.handlePressure(evt)(this.gotoPreviousMonth, this.gotoPreviousYear))\n    )\n  }\n\n  handleNext = (evt: any) => {\n    return (\n      evt &&\n      (evt.preventDefault(),\n      this.handlePressure(evt)(this.gotoNextMonth, this.gotoNextYear))\n    )\n  }\n\n  renderMonthAndYear = () => {\n    const { month, year } = this.state\n    const monthname = Object.keys(CALENDAR_MONTHS)[\n      Math.max(0, Math.min(month - 1, 11))\n    ]\n    const props = { onMouseUp: this.clearPressureTimer }\n\n    return (\n      <div className={styles.header}>\n        <button\n          className={styles.left_arrow}\n          title='Previous'\n          onMouseDown={this.handlePrevious}\n          {...props}\n        />\n        <div className={styles.monthAndYear}>\n          {monthname} {year}\n        </div>\n        <button\n          className={styles.right_arrow}\n          title='Next'\n          onMouseDown={this.handleNext}\n          {...props}\n        />\n      </div>\n    )\n  }\n\n  renderDayLabels = (day: any) => {\n    const daylabel = WEEK_DAYS[day].toUpperCase()\n    return (\n      <div\n        className={`${styles.CalendarCell} ${styles.CalendarDay}`}\n        key={daylabel}\n      >\n        {daylabel}\n      </div>\n    )\n  }\n\n  renderCalendarDate = (date: any) => {\n    console.log('Początek renderCalendarDates')\n    const { current, month, year, today, maxdate, mindate } = this.state\n    const thisDay = new Date(date)\n    const monthFirstDay = new Date([year, month].toString())\n\n    const isToday = !!today && isSameDay(thisDay, today)\n    const isCurrent = !!current && isSameDay(thisDay, current)\n    const inMonth = !!(month && year) && isSameMonth(thisDay, monthFirstDay)\n    const inRange = !(\n      isBeforeDay(thisDay, mindate) || isAfterDay(thisDay, maxdate)\n    )\n    const inRangeStyle = inRange ? (inMonth ? '#333' : '#ddd') : '#ddd'\n    console.log('renderCalendarDates przed returnami warunkowymi')\n    if (isCurrent) {\n      console.log('isCurrent')\n      return (\n        <div\n          className={`${styles.CalendarCell} ${styles.CalendarDate} ${styles.HighlightedCalendarDate}`}\n          key={getDateISO(thisDay)}\n          onClick={this.gotoDate(thisDay)}\n        >\n          {thisDay.getDate()}\n        </div>\n      )\n    } else if (isToday) {\n      console.log('isToday')\n      return (\n        <div\n          className={`${styles.CalendarCell} ${styles.CalendarDate} ${styles.HighlightedCalendarDate} ${styles.TodayCalendarDate}`}\n          key={getDateISO(thisDay)}\n          onClick={this.gotoDate(thisDay)}\n        >\n          {thisDay.getDate()}\n        </div>\n      )\n    } else {\n      console.log('else')\n      return (\n        <div\n          className={`${styles.CalendarCell} ${styles.CalendarDate}`}\n          style={{ color: inRangeStyle }}\n          key={getDateISO(thisDay)}\n          onClick={this.gotoDate(thisDay)}\n        >\n          {thisDay.getDate()}\n        </div>\n      )\n    }\n  }\n\n  componentDidMount() {\n    const tomorrow = new Date().setHours(0, 0, 0, 0) + 24 * 60 * 60 * 1000\n\n    this.dayTimeout = setTimeout(() => {\n      this.setState({ today: new Date() }, this.clearDayTimeout)\n    }, dateDiff(tomorrow))\n  }\n\n  componentDidUpdate(prevProps: any) {\n    const { date, min, max } = this.props\n    const { date: prevDate, min: prevMin, max: prevMax } = prevProps\n\n    const dateMatch = date === prevDate || isSameDay(date, prevDate)\n    const minMatch = min === prevMin || isSameDay(min, prevMin)\n    const maxMatch = max === prevMax || isSameDay(max, prevMax)\n\n    !(dateMatch && minMatch && maxMatch) &&\n      this.setState(this.stateFromDate(date), this.changeHandler(date))\n  }\n\n  componentWillUnmount() {\n    this.clearPressureTimer()\n    this.clearDayTimeout()\n  }\n\n  render() {\n    return (\n      <div className={styles.calendar_wrapper}>\n        {this.renderMonthAndYear()}\n\n        <div className={styles.grid}>\n          <React.Fragment>\n            {Object.keys(WEEK_DAYS).map(this.renderDayLabels)}\n          </React.Fragment>\n\n          <React.Fragment>\n            {console.log('Przed funkcjami na zewnątrz')}\n            {this.getCalendarDates().map(this.renderCalendarDate)}\n            {console.log('Po obu funkcjach')}\n          </React.Fragment>\n        </div>\n      </div>\n    )\n  }\n}\n\nexport default Calendar\n","import React from 'react'\nimport Calendar from '../Calendar'\nimport { getDateISO } from '../Calendar/calc'\n\nimport styles from './Datepicker.css'\n\ninterface Props {\n  label: string\n  min: string\n  max: string\n}\n\ninterface State {\n  date: string\n  min: any\n  max: any\n  calendarOpen: any\n}\n\nclass Datepicker extends React.Component<Props, State> {\n  state: State = {\n    date: getDateISO(new Date()),\n    min: null,\n    max: null,\n    calendarOpen: false\n  }\n\n  toggleCalendar = () =>\n    this.setState({ calendarOpen: !this.state.calendarOpen })\n\n  handleChange = (evt: any) => evt.preventDefault()\n\n  handleDateChange = (date: Date) => {\n    const { date: currentDate } = this.state\n    const newDate = getDateISO(date)\n\n    if (currentDate !== newDate) {\n      this.setState({ date: newDate, calendarOpen: false })\n    }\n  }\n\n  get value() {\n    return this.state.date || ''\n  }\n\n  get date() {\n    const { date } = this.state\n    return date ? new Date(date) : null\n  }\n\n  get mindate() {\n    const { min } = this.state\n    return min ? new Date(min) : null\n  }\n\n  get maxdate() {\n    const { max } = this.state\n    return max ? new Date(max) : null\n  }\n\n  componentDidMount() {\n    const { min, max } = this.props\n\n    const minDate = getDateISO(new Date(min))\n    const maxDate = getDateISO(new Date(max))\n\n    minDate && this.setState({ min: minDate })\n    maxDate && this.setState({ max: maxDate })\n  }\n\n  componentDidUpdate(prevProps: any) {\n    const { label: date, min, max } = this.props\n    const { date: prevDate, min: prevMin, max: prevMax } = prevProps\n    const dateISO = getDateISO(new Date(date))\n    const prevDateISO = getDateISO(new Date(prevDate))\n\n    const minISO = getDateISO(new Date(min))\n    const prevMinISO = getDateISO(new Date(prevMin))\n\n    const maxISO = getDateISO(new Date(max))\n    const prevMaxISO = getDateISO(new Date(prevMax))\n\n    minISO !== prevMinISO && this.setState({ min: minISO })\n    maxISO !== prevMaxISO && this.setState({ max: maxISO })\n    dateISO !== prevDateISO && this.setState({ date: dateISO })\n  }\n\n  render() {\n    const { label } = this.props\n    const { calendarOpen } = this.state\n    const value = this.value\n\n    return (\n      <React.Fragment>\n        <div className={styles.wrapper} onClick={this.toggleCalendar}>\n          <form className={styles.form}>\n            <label className={styles.label}>{label}</label>\n            <input\n              className={styles.input}\n              type='text'\n              readOnly\n              value={value}\n              onChange={this.handleChange}\n            />\n          </form>\n        </div>\n        <div className={styles.wrapper}>\n          {calendarOpen && (\n            <Calendar\n              date={this.date}\n              min={this.mindate}\n              max={this.maxdate}\n              onDateChanged={this.handleDateChange}\n            />\n          )}\n        </div>\n      </React.Fragment>\n    )\n  }\n}\n\nexport default Datepicker\n","import * as React from 'react'\nimport Datepicker from './components/Datepicker'\n\nexport interface Props {\n  label: string\n  min: string\n  max: string\n}\n\nconst DatepickerLib = ({ label, min, max }: Props) => {\n  return <Datepicker label={label} min={min} max={max} />\n}\n\nexport default DatepickerLib\n"]}