{"version":3,"file":"js/4194-1900a196f828ea78a7ea.js","mappings":"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","sources":["webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/advanced/date-range-picker.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/advanced/date-time-picker.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/advanced/tutorial-video.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/click-target.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/styles/basic/dropdown-menu.module.scss?d164","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/dropdown-menu.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/pagination.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/rolldown.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/video-popup.jsx"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\nimport { List, Map, fromJS } from 'immutable'\nimport { DateRange } from 'react-date-range'\nimport moment from 'moment'\nimport { stopEvent } from '@aytm/lib/common/func'\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\nimport Label from '@aytm/lib/rfd-ui/components/basic/label'\n\nimport '@aytm/lib/rfd-ui/styles/advanced/date-range-picker.scss'\n\nconst THEME = {\n  DateRange: {\n    background: '#ffffff',\n    fontSize: '16px',\n    width: '563px'\n  },\n  Calendar: {\n    background: '#ffffff',\n    color: '#555555',\n    fontSize: '16px',\n    padding: '9px',\n    width: '281px'\n  },\n  Day: {\n    fontSize: '16px',\n    transition: 'transform .1s ease, box-shadow .1s ease, background .1s ease'\n  },\n  DayInRange: {\n    background: '#E6E7E8',\n    color: '#555555',\n    fontSize: '16px'\n  },\n  DaySelected: {\n    background: '#29ABE2',\n    fontSize: '16px'\n  },\n  DayHover: {\n    background: '#555555',\n    color: '#ffffff',\n    fontSize: '16px'\n  },\n  Weekday: {\n    background: '#ffffff',\n    fontSize: '16px',\n    color: '#4D4D4D'\n  },\n  MonthAndYear: {\n    background: '#ffffff',\n    fontSize: '16px',\n    color: '#4D4D4D'\n  },\n  MonthArrowPrev: {\n    borderRightColor: '#4D4D4D'\n  },\n  MonthArrowNext: {\n    borderLeftColor: '#4D4D4D'\n  },\n  MonthButton: {\n    background: '#FFFFFF'\n  }\n}\n\nexport function refreshDates(index) {\n  const dates = fromJS([\n    {\n      text: 'TODAY',\n      from: moment(),\n      to: moment(),\n      index: 0\n    },\n    {\n      text: 'THIS MONTH',\n      from: moment().startOf('month'),\n      to: moment(),\n      index: 1\n    },\n    {\n      text: 'PREVIOUS MONTH',\n      from: moment().subtract(1, 'months').startOf('month'),\n      to: moment().subtract(1, 'months').endOf('month'),\n      index: 2\n    },\n    {\n      text: 'LAST 3 MONTHS',\n      from: moment().subtract(3, 'months').endOf('month'),\n      to: moment(),\n      index: 3\n    },\n    {\n      text: 'THIS YEAR',\n      from: moment().startOf('year'),\n      to: moment(),\n      index: 4\n    },\n    {\n      text: 'LAST YEAR',\n      from: moment().subtract(1, 'years').startOf('year'),\n      to: moment().subtract(1, 'years').endOf('year'),\n      index: 5\n    }\n  ])\n\n  if (index && index >= 0) return dates.get(index)\n  return dates\n}\n\nexport default class DateRangePicker extends PureDataComponent {\n  static propTypes = {\n    detached: PropTypes.bool.isRequired,\n    placeholder: PropTypes.string,\n    buttons: PropTypes.oneOfType([PropTypes.instanceOf(List), PropTypes.array]),\n    from: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n    to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n    detachedWidth: PropTypes.number,\n    empty: PropTypes.bool,\n    left: PropTypes.bool,\n    hideOnChange: PropTypes.bool,\n    applyOnHide: PropTypes.bool,\n    onChange: PropTypes.func,\n    onApply: PropTypes.func,\n    className: PropTypes.string\n  }\n\n  constructor(props) {\n    super(props)\n\n    this.buttons = props.buttons ? (List.isList(props.buttons) ? props.buttons : fromJS(props.buttons)) : refreshDates()\n\n    this.picker = null\n    this.rangeSet = false\n    this.style = null\n    this.link = null\n\n    this.listener = event => {\n      if ((!this.link || !this.link.contains(event.target)) && (!this.picker || !this.picker.contains(event.target))) {\n        this.hidePicker()\n      }\n    }\n\n    this.state = {\n      shown: false,\n      from: props.from ? ('object' == typeof props.from ? props.from : moment(props.from)) : moment(),\n      to: props.to ? ('object' == typeof props.to ? props.to : moment(props.to)) : moment(),\n      detachedValue: props.placeholder\n    }\n  }\n\n  componentDidMount() {\n    super.componentDidMount()\n    // if (this.link) {\n    //   const el = this.link.querySelectorAll(':first-child')[0]\n    //   this.style = {\n    //     left:\n    //       this.link.offsetLeft - this.link.scrollLeft + (this.props.left ? el.getBoundingClientRect().width - 742 : 0),\n    //     top: this.link.offsetTop - this.link.scrollTop,\n    //     marginTop: el.getBoundingClientRect().height\n    //   }\n    // }\n  }\n\n  @autobind\n  showPicker() {\n    if (this.link) {\n      const el = this.link.querySelectorAll(':first-child')[0]\n      this.style = {\n        left:\n          this.link.offsetLeft - this.link.scrollLeft + (this.props.left ? el.getBoundingClientRect().width - 742 : 0),\n        top: this.link.offsetTop - this.link.scrollTop,\n        marginTop: el.getBoundingClientRect().height\n      }\n    }\n    document.addEventListener('click', this.listener)\n    this.setState({ shown: true })\n  }\n\n  @autobind\n  clearState() {\n    this.setState({\n      shown: false,\n      from: this.props.from\n        ? 'object' == typeof this.props.from\n          ? this.props.from\n          : moment(this.props.from)\n        : moment(),\n      to: this.props.to ? ('object' == typeof this.props.to ? this.props.to : moment(this.props.to)) : moment(),\n      detachedValue: this.props.placeholder\n    })\n  }\n\n  @autobind\n  hidePicker() {\n    this.setState({ shown: false })\n\n    this.props.applyOnHide &&\n      this.props.onChange &&\n      'function' == typeof this.props.onChange &&\n      this.props.onChange(\n        Map({\n          from: this.state.from,\n          to: this.state.to,\n          text: this.state.detachedValue\n        })\n      )\n\n    document.removeEventListener('click', this.listener)\n  }\n\n  @autobind\n  onChange(range) {\n    range.startDate != range.endDate && this.props.hideOnChange && this.hidePicker()\n\n    !this.props.applyOnHide &&\n      this.props.onChange &&\n      'function' == typeof this.props.onChange &&\n      this.props.onChange(\n        Map({\n          from: this.state.from,\n          to: this.state.to,\n          text: this.state.detachedValue\n        })\n      )\n\n    this.setState({\n      from: range.startDate,\n      to: range.endDate\n    })\n\n    this.props.detached &&\n      !this.rangeSet &&\n      this.setState({\n        detachedValue: `${range.startDate.format('MMM DD, YYYY')} - ${range.endDate.format('MMM DD, YYYY')}`\n      })\n    this.rangeSet = false\n  }\n\n  @autobind\n  onApply(button) {\n    const applyMap = Map.isMap(button)\n      ? button\n      : Map({\n          from: this.state.from,\n          to: this.state.to,\n          text: this.state.detachedValue\n        })\n\n    !this.props.applyOnHide &&\n      this.props.onApply &&\n      'function' == typeof this.props.onApply &&\n      this.props.onApply(applyMap)\n\n    this.hidePicker()\n    this.setState({ detachedValue: this.props.placeholder })\n  }\n\n  @autobind\n  setRange(event) {\n    stopEvent(event)\n\n    const optionIndex = event.target ? event.target.dataset.index : null\n    this.buttons = refreshDates()\n    const button = this.buttons.get(optionIndex) ? this.buttons.get(optionIndex) : null\n\n    this.setState({\n      from: button.get('from'),\n      to: button.get('to')\n    })\n\n    this.rangeSet = true\n    this.props.detached && this.setState({ detachedValue: button.get('text').toUpperCase() })\n\n    !this.props.applyOnHide &&\n      this.props.onApply &&\n      'function' == typeof this.props.onApply &&\n      this.props.onApply(button)\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    this.mounted && nextProps.empty && this.clearState()\n  }\n\n  renderPicker() {\n    const { shown, from, to } = this.state\n    const { onApply, className = '' } = this.props\n\n    return (\n      <div>\n        {shown && (\n          <div\n            className={`rfd-ui-date-range-picker-calendar ${className}`}\n            ref={el => {\n              this.picker = el\n            }}\n            style={this.style}\n          >\n            <i className=\"icon-aytmfd-delete\" onClick={this.hidePicker} />\n            <div className=\"rfd-ui-date-range-picker-calendar-header\">\n              {(() =>\n                this.buttons.map((o, oi) => (\n                  <a\n                    className=\"rfd-ui-button\"\n                    key={oi}\n                    data-index={oi}\n                    onClick={this.setRange}\n                    dangerouslySetInnerHTML={{ __html: o.get('text') }}\n                  />\n                )))()}\n            </div>\n            <DateRange startDate={from} endDate={to} onChange={this.onChange} theme={THEME} linkedCalendars={true} />\n            {onApply && (\n              <a className=\"rfd-ui-button apply-button\" onClick={this.onApply}>\n                APPLY\n              </a>\n            )}\n          </div>\n        )}\n      </div>\n    )\n  }\n\n  renderAttached() {\n    return (\n      <div>\n        <div\n          className=\"rfd-ui-date-range-picker-link\"\n          ref={div => {\n            this.link = div\n          }}\n          onClick={this.showPicker}\n        >\n          {this.props.children}\n        </div>\n        {this.renderPicker()}\n      </div>\n    )\n  }\n\n  renderDetached() {\n    return (\n      <div>\n        <div\n          className=\"rfd-ui-date-range-picker-link\"\n          ref={div => {\n            this.link = div\n          }}\n          onClick={this.showPicker}\n        >\n          <Label\n            icon=\"calendar\"\n            withArrow={true}\n            placeholder={this.state.detachedValue}\n            width={this.props.detachedWidth ? this.props.detachedWidth : 231}\n          />\n        </div>\n        {this.renderPicker()}\n      </div>\n    )\n  }\n\n  render() {\n    return (\n      <div className=\"rfd-ui-date-range-picker\">\n        {this.props.detached ? this.renderDetached() : this.renderAttached()}\n      </div>\n    )\n  }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Map } from 'immutable'\nimport { Calendar } from 'react-date-range'\nimport moment from 'moment'\nimport classNames from 'classnames'\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\nimport Label from '@aytm/lib/rfd-ui/components/basic/label'\nimport TextField from '@aytm/lib/rfd-ui/components/basic/text-field'\nimport autobind from 'autobind-decorator'\n\nimport '@aytm/lib/rfd-ui/styles/advanced/date-time-picker.scss'\n\nconst formatCharacters = {\n  0: {\n    validate: c => /\\d/.test(c),\n    transform: c => (parseInt(c, 10) > 1 ? `0` : c)\n  }\n}\n\nexport default class DateTimePicker extends PureDataComponent {\n  static propTypes = {\n    placeholder: PropTypes.string,\n    timeZone: PropTypes.instanceOf(Map),\n    minDate: PropTypes.number,\n    maxDate: PropTypes.number,\n    detached: PropTypes.bool.isRequired,\n    empty: PropTypes.bool,\n    disabled: PropTypes.bool,\n    onChange: PropTypes.func\n  }\n\n  constructor(props) {\n    super(props)\n\n    this.picker = null\n    this.style = null\n    this.link = null\n    this.mounted = false\n    this.listener = function (event) {\n      if ((!this.link || !this.link.contains(event.target)) && (!this.picker || !this.picker.contains(event.target))) {\n        this.hidePicker()\n      }\n    }.bind(this)\n\n    const date = props.date ? moment(props.date) : moment()\n    this.state = {\n      shown: false,\n      date: (date.isValid() ? date : moment()).utcOffset(props.timeZone.get('offset') || moment().utcOffset()),\n      detachedValue: props.placeholder\n    }\n  }\n\n  @autobind\n  showPicker() {\n    if (this.state.disabled) return\n\n    this.setState({ shown: true })\n\n    document.addEventListener('click', this.listener)\n  }\n\n  @autobind\n  hidePicker() {\n    document.removeEventListener('click', this.listener)\n\n    this.setState({ shown: false })\n  }\n\n  @autobind\n  onTimeBlur(event) {\n    const value =\n      this.refHoursInput && this.refHoursInput.refInput ? this.refHoursInput.refInput.value : event.target.value\n    if (value) {\n      this.onTimeChange(value.replace(/_/gi, '0'))\n    }\n  }\n\n  @autobind\n  onTimeChange(t) {\n    if (!t.length || t.replace(/_/gi, '').length < 5) return\n\n    const { date: currentDate } = this.state\n\n    const meridiem = currentDate.format('A')\n\n    const hours = Math.min(parseInt(t.split(':')[0], 10) || 0, 12) + ('AM' == meridiem ? 0 : 12)\n    const minutes = Math.min(parseInt(t.split(':')[1], 10) || 0, 59)\n\n    const newDate = moment(currentDate).set({\n      hour: hours % 24,\n      minute: minutes % 60\n    })\n\n    this.change(newDate)\n  }\n\n  @autobind\n  onMeridiemClick() {\n    const { date: currentDate } = this.state\n\n    const hours = currentDate.get('hour') + (currentDate.get('hour') > 12 ? -1 : 1) * 12\n\n    const newDate = moment(currentDate).set({ hour: hours % 24 })\n\n    this.change(newDate)\n  }\n\n  @autobind\n  onCalendarChange(date) {\n    const { date: currentDate } = this.state\n\n    const newDate = moment(currentDate).set({\n      year: date.get('year'),\n      month: date.get('month'),\n      date: date.get('date')\n    })\n\n    this.change(newDate)\n  }\n\n  @autobind\n  change(date) {\n    const newDate = moment\n      .max(moment(this.props.minDate), date)\n      .utcOffset(this.props.timeZone.get('offset') || moment().utcOffset())\n\n    if (newDate.isValid()) {\n      const text = `${newDate.format('dddd, MMMM D, YYYY HH:mm A')} ${this.props.timeZone.get('name')}`\n      this.props.onChange &&\n        'function' == typeof this.props.onChange &&\n        this.props.onChange(\n          Map({\n            date: moment(newDate),\n            text: text\n          })\n        )\n      this.setState({ date: newDate })\n      this.props.detached && this.setState({ detachedValue: newDate.text })\n    }\n  }\n\n  @autobind\n  clearState() {\n    const date = this.props.date ? moment(this.props.date) : moment()\n    this.setState({\n      shown: false,\n      date: (date.isValid() ? date : moment()).utcOffset(this.props.timeZone.get('offset') || moment().utcOffset()),\n      detachedValue: this.props.placeholder\n    })\n  }\n\n  componentDidMount() {\n    const el = this.link.querySelectorAll(':first-child')[0]\n    this.style = {\n      left:\n        this.link.offsetLeft - this.link.scrollLeft + (this.props.left ? el.getBoundingClientRect().width - 742 : 0),\n      top: this.link.offsetTop - this.link.scrollTop,\n      marginTop: el.getBoundingClientRect().height\n    }\n    if (!this.props.date.isSame(this.state.date)) {\n      this.props.onChange &&\n        'function' == typeof this.props.onChange &&\n        this.props.onChange(\n          Map({\n            date: moment(this.state.date),\n            text: `${this.state.date.format('dddd, MMMM D, YYYY HH:mm A')} ${this.props.timeZone.get('name')}`\n          })\n        )\n    }\n  }\n\n  UNSAFE_componentWillReceiveProps(nextProps) {\n    this.mounted && nextProps.empty && this.clearState()\n    this.mounted && nextProps.disabled && this.state.shown && this.hidePicker()\n  }\n\n  @autobind\n  renderPicker() {\n    const { timeZone, minDate, maxDate } = this.props\n    const { shown, date } = this.state\n    const utcOffset = timeZone.get('offset') || moment().utcOffset()\n\n    return (\n      <div>\n        {shown && (\n          <div\n            className=\"rfd-ui-date-time-picker-calendar\"\n            ref={el => {\n              this.picker = el\n            }}\n            style={this.style}\n          >\n            <div className=\"rfd-ui-date-time-picker-calendar-time\">\n              <div className=\"rfd-ui-date-time-picker-calendar-time-label\">time:</div>\n              <div className=\"rfd-ui-date-time-picker-calendar-time-input\">\n                <TextField\n                  className=\"rfd-ui-text-field-simple\"\n                  ref={this.saveRef('HoursInput')}\n                  width={68}\n                  value={date.format('hh:mm')}\n                  maskPattern=\"01:11\"\n                  maskPlaceholderChar=\"_\"\n                  maskFormatCharacters={formatCharacters}\n                  maskSub=\"__:__\"\n                  onBlur={this.onTimeBlur}\n                  onChange={this.onTimeChange}\n                />\n              </div>\n              <div className=\"rfd-ui-date-time-picker-calendar-time-meridiem\" onClick={this.onMeridiemClick}>\n                {date.format('A')}\n              </div>\n            </div>\n            <Calendar\n              date={moment(date)}\n              minDate={moment(minDate).utcOffset(utcOffset)}\n              maxDate={moment(maxDate).utcOffset(utcOffset)}\n              onChange={this.onCalendarChange}\n            />\n          </div>\n        )}\n      </div>\n    )\n  }\n\n  @autobind\n  renderAttached() {\n    return (\n      <div>\n        <div\n          className=\"rfd-ui-date-time-picker-link\"\n          ref={div => {\n            this.link = div\n          }}\n          onClick={this.showPicker}\n        >\n          {this.props.children}\n        </div>\n        {this.renderPicker()}\n      </div>\n    )\n  }\n\n  @autobind\n  renderDetached() {\n    return (\n      <div>\n        <div\n          className=\"rfd-ui-date-time-picker-link\"\n          ref={div => {\n            this.link = div\n          }}\n          onClick={this.showPicker}\n        >\n          <Label\n            icon=\"calendar\"\n            withArrow={true}\n            placeholder={this.state.detachedValue}\n            width={this.props.detachedWidth ? this.props.detachedWidth : 231}\n          />\n        </div>\n        {this.renderPicker()}\n      </div>\n    )\n  }\n\n  render() {\n    return (\n      <div\n        className={classNames('rfd-ui-date-time-picker', {\n          'rfd-ui-date-time-picker-disabled': this.props.disabled\n        })}\n      >\n        {this.props.detached ? this.renderDetached() : this.renderAttached()}\n      </div>\n    )\n  }\n}\n","// lib\nimport React from 'react'\nimport { List } from 'immutable'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\n\n// components\nimport VideoPopup from '@aytm/lib/rfd-ui/components/basic/video-popup'\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\n\n// styles\nimport '@aytm/lib/rfd-ui/styles/advanced/tutorial-video.scss'\nimport classNames from 'classnames'\n\n// <Component>\nexport default class TutorialVideo extends PureDataComponent {\n  static propTypes = {\n    videos: PropTypes.instanceOf(List).isRequired,\n    videoId: PropTypes.string,\n    className: PropTypes.string,\n    videoStartTime: PropTypes.number\n  }\n\n  constructor(props) {\n    super(props)\n    this.state = {\n      popup: false\n    }\n  }\n\n  @autobind\n  openPopup(event) {\n    this.setState({\n      popup: true\n    })\n    try {\n      event?.preventDefault?.()\n      event?.stopPropagation?.()\n      event?.stopImmediatePropagation?.()\n    } catch {\n      //\n    }\n  }\n\n  @autobind\n  closePopup() {\n    this.setState({\n      popup: false\n    })\n  }\n\n  render() {\n    const { popup } = this.state\n    const { videos, videoStartTime, videoId, className } = this.props\n    return (\n      <div className={classNames('rfd-ui-tutorial-video', { [className]: className })}>\n        <i className={`rfd-ui-tutorial-video-icon icon-aytmfd-videotut`} onClick={this.openPopup} />\n        <VideoPopup\n          show={popup}\n          videos={videos}\n          videoId={videoId}\n          onClose={this.closePopup}\n          videoStartTime={videoStartTime}\n        />\n      </div>\n    )\n  }\n}\n","import React, { useEffect, useState, useRef, useCallback } from 'react'\nimport PropTypes from 'prop-types'\nimport useMountedRef from '@aytm/lib/hooks/useMountedRef'\n\n// styles\nimport '@aytm/lib/rfd-ui/styles/basic/click-target.scss'\n\nClickTarget.propTypes = {\n  clicked: PropTypes.bool,\n  resetOnClickOutside: PropTypes.bool,\n  className: PropTypes.string,\n  onFocus: PropTypes.func,\n  onBlur: PropTypes.func,\n  children: PropTypes.any,\n  onOpenChange: PropTypes.func\n}\nexport default function ClickTarget(props) {\n  const {\n    className,\n    children,\n    clicked: propsClicked = false,\n    resetOnClickOutside = true,\n    onFocus,\n    onBlur,\n    onOpenChange,\n    ...restProps\n  } = props\n\n  const rootElement = useRef(null)\n  const oldClickedState = useRef(null)\n  const [clicked, setClicked] = useState(propsClicked)\n  const mountedRef = useMountedRef()\n\n  // sync props to state\n  useEffect(() => {\n    setClicked(propsClicked)\n  }, [propsClicked])\n\n  useEffect(() => {\n    if (onOpenChange && oldClickedState.current !== clicked) {\n      onOpenChange(clicked)\n      oldClickedState.current = clicked\n    }\n  }, [clicked, onOpenChange])\n\n  // focus\n  const onFocusRef = useRef()\n  onFocusRef.current = onFocus\n  const onBlurRef = useRef()\n  onBlurRef.current = onBlur\n  const updateClicked = useCallback(\n    newState => {\n      if (mountedRef.current && newState !== clicked) {\n        setClicked(newState)\n        if (newState && onFocusRef.current) {\n          onFocusRef.current()\n        } else if (!newState && onBlurRef.current) {\n          onBlurRef.current()\n        }\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [clicked]\n  )\n  const updateClickedRef = useRef()\n  updateClickedRef.current = updateClicked\n\n  // click outside\n  useEffect(() => {\n    if (resetOnClickOutside && clicked) {\n      const clickOutside = event => {\n        if (null == rootElement.current || null == event.target || !rootElement.current.contains(event.target)) {\n          updateClickedRef.current(false)\n        }\n      }\n      document.addEventListener('touchend', clickOutside, true)\n      document.addEventListener('mousedown', clickOutside, true)\n      return () => {\n        document.removeEventListener('touchend', clickOutside, true)\n        document.removeEventListener('mousedown', clickOutside, true)\n      }\n    } else {\n      return void 0\n    }\n  }, [clicked, resetOnClickOutside])\n\n  return (\n    <span\n      {...restProps}\n      className={`rfd-ui-click-target${className ? ' ' + className : ''}`}\n      onClick={() => void (!clicked && updateClicked(true))}\n      ref={rootElement}\n    >\n      {children(clicked, updateClicked)}\n    </span>\n  )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"component\":\"dropdown-menu-module__component___3HdFQ\",\"menu\":\"dropdown-menu-module__menu___lAVAh\",\"menuHeader\":\"dropdown-menu-module__menuHeader___2l2cJ\",\"menuFooter\":\"dropdown-menu-module__menuFooter___rC8S-\",\"hr\":\"dropdown-menu-module__hr___1E7Xe\",\"list\":\"dropdown-menu-module__list___1BgXo\",\"item\":\"dropdown-menu-module__item___38qbe\",\"itemIcon\":\"dropdown-menu-module__itemIcon___Rtaku\",\"itemText\":\"dropdown-menu-module__itemText___1NiLO\",\"itemOpened\":\"dropdown-menu-module__itemOpened___3804O\",\"panel\":\"dropdown-menu-module__panel___1zyZC\"};","import React, { useState, useMemo, useEffect } from 'react'\nimport { List } from 'immutable'\nimport PropTypes from 'prop-types'\nimport useMultiRef from '@aytm/lib/hooks/useMultiRef'\nimport useMountedRef from '@aytm/lib/hooks/useMountedRef'\n\nimport ClickTarget from '@aytm/lib/rfd-ui/components/basic/click-target.jsx'\nimport RollDown from '@aytm/lib/rfd-ui/components/basic/rolldown'\n\nimport style from '@aytm/lib/rfd-ui/styles/basic/dropdown-menu.module.scss'\n\n/* DropdownMenu */\n\nDropdownMenu.propTypes = {\n  header: PropTypes.func,\n  footer: PropTypes.func,\n  items: PropTypes.oneOfType([PropTypes.instanceOf(List), PropTypes.func]).isRequired,\n  className: PropTypes.string,\n  openedPanelID: PropTypes.string,\n  defaultPanel: PropTypes.func,\n  containerExpander: PropTypes.object\n}\nfunction DropdownMenuPropsEqual(prevProps, nextProps) {\n  return (\n    prevProps.items === nextProps.items &&\n    prevProps.header === nextProps.header &&\n    prevProps.className === nextProps.className &&\n    prevProps.openedPanelID === nextProps.openedPanelID\n  )\n}\nfunction DropdownMenu({\n  header,\n  footer,\n  items: itemsSource,\n  className = '',\n  openedPanelID,\n  defaultPanel,\n  containerExpander\n} = {}) {\n  const [openedPanelIndex, setOpenedPanelIndex] = useState()\n  const items = 'function' === typeof itemsSource ? itemsSource() : itemsSource\n\n  const [refRootNode, refLastItems, refCurrentItems, refContainerExpander, refLastOpenedPanelIndex] = useMultiRef(\n    null,\n    items,\n    items,\n    containerExpander,\n    openedPanelIndex\n  )\n  refCurrentItems.current = items\n  refContainerExpander.current = containerExpander\n\n  // if items changed and panel is opened - open the panel with the same id\n  useEffect(() => {\n    if (refLastItems.current !== items) {\n      if (null != refLastItems.current && null != items && null != openedPanelIndex) {\n        // find new opened panel by ID\n        const lastOpenedItem = refLastItems.current.get(openedPanelIndex)\n        if (lastOpenedItem && lastOpenedItem.has('id')) {\n          const lastOpenedItemID = lastOpenedItem.get('id')\n          const currentOpenedItemIndex = items.findIndex(item => item.get('id') === lastOpenedItemID)\n          const currentOpenedItem = items.get(currentOpenedItemIndex)\n          if (currentOpenedItem && currentOpenedItem.has('panel')) {\n            setOpenedPanelIndex(currentOpenedItemIndex)\n          }\n        }\n      }\n      refLastItems.current = items\n    }\n  }, [items, openedPanelIndex, refLastItems])\n\n  const openedPanelItem = null == openedPanelIndex ? null : items.get(openedPanelIndex)\n  const openedPanel = useMemo(() => {\n    if (null == openedPanelItem) {\n      return defaultPanel ? defaultPanel() : null\n    } else {\n      const panel = openedPanelItem.get('panel')\n      return 'function' === typeof panel ? panel() : null\n    }\n  }, [openedPanelItem, defaultPanel])\n\n  useEffect(() => {\n    const openedItemIndex =\n      null != openedPanelID\n        ? refCurrentItems.current.findIndex(item => item.get('id') === openedPanelID && item.has('panel'))\n        : -1\n    if (openedItemIndex >= 0) setOpenedPanelIndex(openedItemIndex)\n  }, [openedPanelID, refCurrentItems])\n\n  useEffect(() => {\n    if (\n      null != refContainerExpander.current &&\n      refLastOpenedPanelIndex.current !== openedPanelIndex &&\n      null != refRootNode.current\n    ) {\n      refContainerExpander.current.expand(refRootNode.current)\n    }\n    refLastOpenedPanelIndex.current = openedPanelIndex\n  }, [openedPanelIndex, refContainerExpander, refRootNode, refLastOpenedPanelIndex])\n\n  const headerContent = 'function' === typeof header ? header(items) : null\n  const footerContent = 'function' === typeof footer ? footer(items) : null\n\n  return (\n    <div className={`rfd-ui-dropdown-menu ${style.component} ${className}`} role=\"section\" ref={refRootNode}>\n      {openedPanel && <div className={style.panel}>{openedPanel}</div>}\n      <div className={style.menu}>\n        {null != headerContent && (\n          <>\n            <div className={`rfd-ui-dropdown-menu-header ${style.menuHeader}`} role=\"sectionhead\">\n              {headerContent}\n            </div>\n            <div className={style.hr} role=\"separator\" />\n          </>\n        )}\n        {items && (\n          <div className={`rfd-ui-dropdown-menu-list ${style.list}$`} role=\"menu\" aria-orientation=\"vertical\">\n            {items.toArray().map((item, index) => {\n              const icon = item.get('icon')\n              const iconSize = item.get('iconSize')\n              const textSource = item.get('text')\n              const text = 'function' === typeof textSource ? textSource() : textSource\n              const iconStyle =\n                icon && iconSize\n                  ? {\n                      fontSize: iconSize,\n                      width: iconSize,\n                      height: iconSize,\n                      lineHeight: `${iconSize}px`,\n                      top: (16 - iconSize) / 2,\n                      left: (22 - iconSize) / 2\n                    }\n                  : null\n              const onSelectItem = () => {\n                if (item.has('panel')) {\n                  setOpenedPanelIndex(index === openedPanelIndex ? null : index)\n                } else {\n                  setOpenedPanelIndex(null)\n                  const onSelect = item.get('onSelect')\n                  if ('function' === typeof onSelect) {\n                    onSelect(item, index)\n                  }\n                }\n              }\n              return (\n                <a\n                  className={`rfd-ui-dropdown-menu-item ${style.item}${\n                    index === openedPanelIndex ? ' ' + style.itemOpened : ''\n                  }`}\n                  href={item.has('link') ? item.getIn(['link', 'href']) : void 0}\n                  rel={item.has('link') ? item.getIn(['link', 'rel']) : void 0}\n                  target={item.has('link') ? item.getIn(['link', 'target']) : void 0}\n                  title={item.get('title')}\n                  aria-label={item.get('title') || text}\n                  role=\"menuitem\"\n                  tabIndex=\"0\"\n                  aria-haspopup={item.has('panel')}\n                  aria-expanded={index === openedPanelIndex}\n                  onClick={onSelectItem}\n                  onKeyDown={event => {\n                    if (' ' === event.key) {\n                      onSelectItem()\n                      void (event.preventDefault && event.preventDefault())\n                    } else if ('Enter' === event.key) {\n                      onSelectItem()\n                    }\n                  }}\n                  key={index}\n                >\n                  {icon && (\n                    <span className={`rfd-ui-dropdown-menu-item-icon ${style.itemIcon}`} role=\"presentation\">\n                      <i className={icon} style={iconStyle} />\n                    </span>\n                  )}\n                  <span className={`rfd-ui-dropdown-menu-item-text ${style.itemText}`}>{text}</span>\n                </a>\n              )\n            })}\n          </div>\n        )}\n        {null != footerContent && (\n          <div className={`rfd-ui-dropdown-menu-footer ${style.menuFooter}`}>{footerContent}</div>\n        )}\n      </div>\n    </div>\n  )\n}\n\n/* DropdownMenuButton */\n\nDropdownMenuButton.propTypes = {\n  children: PropTypes.arrayOf(PropTypes.func.isRequired).isRequired,\n  className: PropTypes.string,\n  rollDown: PropTypes.number,\n  onOpen: PropTypes.func,\n  onClose: PropTypes.func,\n  openMenuRef: PropTypes.shape({ current: PropTypes.any }),\n  defaultOpenedPanelID: PropTypes.string,\n  containerExpander: PropTypes.object,\n  onOpenChange: PropTypes.func\n}\nfunction DropdownMenuButton({\n  children,\n  className,\n  rollDown = 0,\n  onOpen,\n  onClose,\n  openMenuRef,\n  defaultOpenedPanelID,\n  containerExpander,\n  onOpenChange\n} = {}) {\n  const [openedPanelID, setOpenedPanelID] = useState(defaultOpenedPanelID)\n  const mountedRef = useMountedRef()\n  return (\n    <ClickTarget\n      resetOnClickOutside={true}\n      className={className}\n      onFocus={onOpen}\n      onBlur={() => void (null != openedPanelID && mountedRef.current && setOpenedPanelID(), onClose && onClose())}\n      onOpenChange={onOpenChange}\n    >\n      {(opened, setOpened) => {\n        const close = () => void (mountedRef.current && setOpened(false))\n        if (openMenuRef) {\n          openMenuRef.current = openPanelID => {\n            if (openedPanelID !== openPanelID) {\n              void (mountedRef.current && setOpenedPanelID(openPanelID))\n            }\n            if (openPanelID && !opened) {\n              void (mountedRef.current && setOpened(true))\n            }\n          }\n        }\n        return [\n          children[0] ? children[0](opened, setOpened) : null,\n          children[1] ? (\n            <RollDown duration={rollDown} opened={opened} containerExpander={containerExpander} key=\"rolldown\">\n              {transitionState => children[1](close, openedPanelID, transitionState)}\n            </RollDown>\n          ) : null\n        ]\n      }}\n    </ClickTarget>\n  )\n}\n\n/* exports */\n\nexport { DropdownMenu, DropdownMenuButton }\n\nexport default React.memo(DropdownMenu, DropdownMenuPropsEqual)\n","import React, { useCallback, useState, useRef } from 'react'\nimport PropTypes from 'prop-types'\n\nimport '@aytm/lib/rfd-ui/styles/basic/pagination.scss'\n\nPagination.propTypes = {\n  page: PropTypes.number.isRequired,\n  total: PropTypes.number.isRequired,\n  prefix: PropTypes.string,\n  separator: PropTypes.string,\n  disabled: PropTypes.bool,\n  onPageChange: PropTypes.func.isRequired\n}\nexport default function Pagination({ page, total, prefix = '', separator = ' of ', disabled, onPageChange } = {}) {\n  const onPrev = useCallback(() => {\n    if (onPageChange) {\n      onPageChange(page - 1)\n    }\n  }, [page, onPageChange])\n\n  const onNext = useCallback(() => {\n    if (onPageChange) {\n      onPageChange(page + 1)\n    }\n  }, [page, onPageChange])\n\n  const counterElementRef = useRef(null)\n  const manualInputElementRef = useRef(null)\n  const [manualInput, setManualInput] = useState(false)\n  const [manualInputWidth, setManualInputWidth] = useState(null)\n  const enableManualInput = useCallback(() => {\n    if (counterElementRef.current) {\n      const counterElementWidth = counterElementRef.current.getBoundingClientRect().width\n      if (counterElementWidth !== manualInputWidth) {\n        setManualInputWidth(counterElementWidth)\n      }\n    }\n    setManualInput(true)\n  }, [manualInputWidth])\n  const onManualInputBlur = useCallback(() => {\n    if (manualInputElementRef.current) {\n      const manualInputValue = Math.min(total, Math.max(1, parseInt(manualInputElementRef.current.value, 10) || 0))\n      if (page !== manualInputValue && onPageChange) {\n        onPageChange(manualInputValue)\n      }\n      setManualInput(false)\n    }\n  }, [page, total, onPageChange])\n  const onManualInputKeyPress = useCallback(\n    event => {\n      if ('Enter' === event.key) {\n        onManualInputBlur()\n      }\n    },\n    [onManualInputBlur]\n  )\n\n  const prevDisabled = disabled || 1 >= page\n  const nextDisabled = disabled || total <= page\n\n  return (\n    <div className={`rfd-ui-pagination${disabled ? ' rfd-ui-pagination-disabled' : ''}`}>\n      <span\n        className={`rfd-ui-pagination-prev${prevDisabled ? ' rfd-ui-pagination-disabled' : ''}`}\n        onClick={prevDisabled ? null : onPrev}\n      />\n      {manualInput ? (\n        <input\n          type=\"number\"\n          className=\"rfd-ui-pagination-manual-input\"\n          autoFocus={true}\n          defaultValue={page}\n          min=\"1\"\n          max={total}\n          placeholder={`?${separator}${total}`}\n          title={`?${separator}${total}`}\n          style={{ width: manualInputWidth }}\n          onKeyPress={onManualInputKeyPress}\n          onBlur={onManualInputBlur}\n          ref={manualInputElementRef}\n        />\n      ) : (\n        <span\n          className=\"rfd-ui-pagination-counter\"\n          ref={counterElementRef}\n          onClick={disabled ? null : enableManualInput}\n        >{` ${prefix}${page}${separator}${total} `}</span>\n      )}\n      <span\n        className={`rfd-ui-pagination-next${nextDisabled ? ' rfd-ui-pagination-disabled' : ''}`}\n        onClick={nextDisabled ? null : onNext}\n      />\n    </div>\n  )\n}\n","import React, { useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport { Transition } from 'react-transition-group'\nimport useMultiRef from '@aytm/lib/hooks/useMultiRef'\n\nconst ENTER_TRANSITION = {}\nconst EXIT_TRANSITION = {}\n\nRollDown.propTypes = {\n  duration: PropTypes.number.isRequired,\n  opened: PropTypes.bool.isRequired,\n  children: PropTypes.func.isRequired,\n  containerExpander: PropTypes.object\n}\nexport default function RollDown({ children, opened, duration = 0, containerExpander } = {}) {\n  const [savedStyles, fullHeight, transitionStarted, transitionTimeout] = useMultiRef({}, null, null, null)\n\n  const nodeRef = useRef()\n  useEffect(\n    () => () => {\n      if (containerExpander && containerExpander.expanded && nodeRef.current) {\n        containerExpander.unexpand(nodeRef.current)\n      }\n    },\n    [containerExpander]\n  )\n\n  const stopTransition = (node, transitionType) => {\n    node.style.height = null != savedStyles.current.height ? savedStyles.current.height : ''\n    delete savedStyles.current.height\n    node.style.overflowY = null != savedStyles.current.overflowY ? savedStyles.current.overflowY : ''\n    delete savedStyles.current.overflowY\n    node.style.transition = null != savedStyles.current.transition ? savedStyles.current.transition : ''\n    delete savedStyles.current.transition\n    fullHeight.current = null\n    transitionStarted.current = null\n    if (containerExpander) {\n      switch (transitionType) {\n        case ENTER_TRANSITION: {\n          nodeRef.current = node\n          containerExpander.expand(node)\n          break\n        }\n        case EXIT_TRANSITION: {\n          nodeRef.current = null\n          containerExpander.unexpand(node)\n          break\n        }\n        default: {\n          //\n        }\n      }\n    }\n  }\n\n  const startTransition = (node, transitionType) => {\n    if (transitionStarted.current !== transitionType) {\n      if (transitionTimeout.current) {\n        clearTimeout(transitionTimeout.current)\n        transitionTimeout.current = null\n      }\n      stopTransition(node)\n    }\n    fullHeight.current = node.clientHeight\n    savedStyles.current.height = node.style.height\n    savedStyles.current.overflowY = node.style.overflowY\n    savedStyles.current.transition = node.style.transition\n    node.style.height = ENTER_TRANSITION === transitionType ? 0 : `${fullHeight.current}px`\n    node.style.overflowY = 'hidden'\n    node.style.transition = `height ${duration}ms`\n    transitionStarted.current = transitionType\n  }\n\n  const transition = (node, transitionType) => {\n    if (transitionTimeout.current) {\n      clearTimeout(transitionTimeout.current)\n    }\n    transitionTimeout.current = setTimeout(() => {\n      transitionTimeout.current = null\n      if (document.contains(node)) {\n        node.style.height = ENTER_TRANSITION === transitionType ? `${fullHeight.current}px` : 0\n      }\n    }, 0)\n  }\n\n  return (\n    <Transition\n      in={opened}\n      timeout={duration}\n      mountOnEnter={true}\n      unmountOnExit={true}\n      appear={true}\n      onEnter={node => void startTransition(node, ENTER_TRANSITION)}\n      onEntering={node => void transition(node, ENTER_TRANSITION)}\n      onEntered={node => void stopTransition(node, ENTER_TRANSITION)}\n      onExit={node => void startTransition(node, EXIT_TRANSITION)}\n      onExiting={node => void transition(node, EXIT_TRANSITION)}\n      onExited={node => void stopTransition(node, EXIT_TRANSITION)}\n    >\n      {state => children(state)}\n    </Transition>\n  )\n}\n","// lib\nimport moment from 'moment'\nimport { List } from 'immutable'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport React, { useEffect, useState } from 'react'\nimport { preprocessText, escapeText } from '@aytm/lib/common/func'\n\n// components\nimport LightBox from '@aytm/lib/rfd-ui/components/basic/light-box'\n\n// styles\nimport '@aytm/lib/rfd-ui/styles/basic/video-popup.scss'\n\n// constants\nconst FRAME_PADDING = 7\nconst LABEL_HEIGHT = 40\n\nconst VIDEO_WIDTH = 530\nconst VIDEO_RATIO = 520 / 270\n\n// <Component>\nVideoPopup.propTypes = {\n  videos: PropTypes.instanceOf(List).isRequired,\n  videoId: PropTypes.string,\n  videoStartTime: PropTypes.number, // seconds\n  show: PropTypes.bool,\n  onClose: PropTypes.func\n}\n\nexport default function VideoPopup(props) {\n  const { show, videos, videoId, videoStartTime, onClose } = props\n\n  const [currentVideoId, setCurrentVideoId] = useState('')\n  const [startTime, setStartTime] = useState(0)\n\n  const setVideo = () => {\n    const { videos, videoId, videoStartTime } = props\n    const currentVideoId = videoId || videos.getIn([0, 'id'])\n    setCurrentVideoId(List.isList(currentVideoId) ? currentVideoId.get(0) : currentVideoId)\n    setStartTime(videoStartTime || 0)\n  }\n\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  useEffect(() => void setVideo(), [])\n\n  useEffect(() => {\n    if (videoId) setCurrentVideoId(videoId)\n    setStartTime(videoStartTime || 0)\n  }, [videoId, videoStartTime])\n\n  const onCloseClick = event => {\n    if ('function' === typeof onClose) {\n      onClose()\n    }\n    try {\n      event?.preventDefault?.()\n      event?.stopPropagation?.()\n      event?.stopImmediatePropagation?.()\n    } catch {\n      //\n    }\n  }\n\n  const onPrevClick = event => {\n    event.nativeEvent.stopImmediatePropagation()\n    const currentVideoIndex = videos.findIndex(v =>\n      List.isList(v.get('id')) ? v.get('id').some(id => id == currentVideoId) : v.get('id') == currentVideoId\n    )\n    const prevVideoIndex = Math.max(currentVideoIndex - 1, 0)\n    const prevVideoId = videos.getIn([prevVideoIndex, 'id'])\n    setCurrentVideoId(List.isList(prevVideoId) ? prevVideoId.get(0) : prevVideoId)\n    setStartTime(0)\n  }\n\n  const onNextClick = event => {\n    event.nativeEvent.stopImmediatePropagation()\n    const currentVideoIndex = videos.findIndex(v =>\n      List.isList(v.get('id')) ? v.get('id').some(id => id == currentVideoId) : v.get('id') == currentVideoId\n    )\n    const nextVideoIndex = Math.min(currentVideoIndex + 1, videos.size - 1)\n    const nextVideoId = videos.getIn([nextVideoIndex, 'id'])\n    setCurrentVideoId(List.isList(nextVideoId) ? nextVideoId.get(0) : nextVideoId)\n    setStartTime(0)\n  }\n\n  const currentVideoIndex = videos.findIndex(v =>\n    List.isList(v.get('id')) ? v.get('id').some(id => id == currentVideoId) : v.get('id') == currentVideoId\n  )\n  const currentVideo = videos.get(currentVideoIndex)\n  const rel = currentVideo.get('rel')\n  const autoplay = currentVideo.get('autoplay')\n\n  // vimeo start time url param\n  const duration = moment.duration(startTime, 'seconds')\n  const vimeoStartTime = 't={mm}m{ss}s'.replace('{mm}', duration.minutes()).replace('{ss}', duration.seconds())\n\n  const label = currentVideo.get('title')\n  const params = []\n  if (autoplay) params.push('autoplay=1')\n  if (startTime) params.push(`start=${startTime}#${vimeoStartTime}`) // should be pushed as last param\n  const src = `${currentVideo.get('url')}${currentVideo.get('code')}${\n    (rel ? rel + '&amp;' : '?') + params.join('&amp;')\n  }`\n  const iframe = `<iframe width=\"${VIDEO_WIDTH}\" height=\"${\n    VIDEO_WIDTH / VIDEO_RATIO\n  }\" src=\"${src}\" frameborder=\"0\"  allow=\"${\n    autoplay ? 'autoplay; ' : ''\n  }fullscreen\" allowfullscreen=\"true\" allowscriptaccess=\"always\"/>`\n\n  return show ? (\n    <LightBox onClose={onCloseClick}>\n      <div\n        className=\"rfd-ui-video-popup-frame\"\n        style={{\n          width: `${VIDEO_WIDTH}px`,\n          height: `${VIDEO_WIDTH / VIDEO_RATIO + (label || 1 < videos.size ? LABEL_HEIGHT : 0)}px`,\n          margin: `-${\n            VIDEO_WIDTH / (2 * VIDEO_RATIO) + FRAME_PADDING + (label || 1 < videos.size ? LABEL_HEIGHT / 2 : 0)\n          }px 0 0 -${VIDEO_WIDTH / 2 + FRAME_PADDING}px`\n        }}\n      >\n        <div className=\"rfd-ui-video-popup-close-button\" onMouseDown={onCloseClick}>\n          <i className=\"icon-aytmfd-delete\" />\n        </div>\n        <div className=\"rfd-ui-video-popup-video\" dangerouslySetInnerHTML={{ __html: iframe }} />\n        {(label || videos.size > 1) && (\n          <div className=\"rfd-ui-video-popup-footer\" style={{ height: `${LABEL_HEIGHT}px` }}>\n            {label && (\n              <div\n                className=\"rfd-ui-video-popup-video-label\"\n                dangerouslySetInnerHTML={{ __html: preprocessText(escapeText(label)) }}\n              />\n            )}\n            {videos.size > 1 && (\n              <div className=\"rfd-ui-video-popup-video-controls\">\n                <i\n                  className={classNames('icon-aytmfd-prev', {\n                    disabled: 0 == currentVideoIndex\n                  })}\n                  onMouseDown={onPrevClick}\n                />\n                <i\n                  className={classNames('icon-aytmfd-next', {\n                    disabled: currentVideoIndex == videos.size - 1\n                  })}\n                  onMouseDown={onNextClick}\n                />\n              </div>\n            )}\n          </div>\n        )}\n      </div>\n    </LightBox>\n  ) : null\n}\n"],"names":["THEME","DateRange","background","fontSize","width","Calendar","color","padding","Day","transition","DayInRange","DaySelected","DayHover","Weekday","MonthAndYear","MonthArrowPrev","borderRightColor","MonthArrowNext","borderLeftColor","MonthButton","refreshDates","index","dates","fromJS","text","from","moment","to","startOf","subtract","endOf","get","DateRangePicker","_DateRangePicker","_PureDataComponent","props","_this","_classCallCheck","_callSuper","buttons","List","picker","rangeSet","style","link","listener","event","contains","target","hidePicker","state","shown","detachedValue","placeholder","_inherits","key","value","_get","_getPrototypeOf","prototype","call","this","el","querySelectorAll","left","offsetLeft","scrollLeft","getBoundingClientRect","top","offsetTop","scrollTop","marginTop","height","document","addEventListener","setState","applyOnHide","onChange","Map","removeEventListener","range","startDate","endDate","hideOnChange","detached","format","button","applyMap","onApply","stopEvent","optionIndex","dataset","toUpperCase","nextProps","mounted","empty","clearState","_this2","_this$state","_this$props","_this$props$className","className","React","ref","onClick","map","o","oi","setRange","dangerouslySetInnerHTML","__html","theme","linkedCalendars","_this3","div","showPicker","children","renderPicker","_this4","Label","icon","withArrow","detachedWidth","renderDetached","renderAttached","PureDataComponent","propTypes","PropTypes","_applyDecoratedDescriptor","_class","autobind","Object","getOwnPropertyDescriptor","formatCharacters","validate","c","test","transform","parseInt","DateTimePicker","_DateTimePicker","bind","date","isValid","utcOffset","timeZone","disabled","refHoursInput","refInput","onTimeChange","replace","t","length","currentDate","meridiem","hours","Math","min","split","minutes","newDate","set","hour","minute","change","year","month","minDate","isSame","maxDate","TextField","saveRef","maskPattern","maskPlaceholderChar","maskFormatCharacters","maskSub","onBlur","onTimeBlur","onMeridiemClick","onCalendarChange","classNames","TutorialVideo","_TutorialVideo","popup","_event$preventDefault","_event$stopPropagatio","_event$stopImmediateP","preventDefault","stopPropagation","stopImmediatePropagation","_unused","videos","videoStartTime","videoId","openPopup","VideoPopup","show","onClose","closePopup","isRequired","ClickTarget","_props$clicked","clicked","propsClicked","_props$resetOnClickOu","resetOnClickOutside","onFocus","onOpenChange","restProps","_objectWithoutProperties","_excluded","rootElement","useRef","oldClickedState","_useState2","_slicedToArray","useState","setClicked","mountedRef","useMountedRef","useEffect","current","onFocusRef","onBlurRef","updateClicked","useCallback","newState","updateClickedRef","clickOutside","_extends","DropdownMenuPropsEqual","prevProps","items","header","openedPanelID","DropdownMenu","_ref","arguments","undefined","footer","itemsSource","_ref$className","defaultPanel","containerExpander","openedPanelIndex","setOpenedPanelIndex","_useMultiRef2","useMultiRef","refRootNode","refLastItems","refCurrentItems","refContainerExpander","refLastOpenedPanelIndex","lastOpenedItem","has","lastOpenedItemID","currentOpenedItemIndex","findIndex","item","currentOpenedItem","openedPanelItem","openedPanel","useMemo","panel","openedItemIndex","expand","headerContent","footerContent","role","toArray","iconSize","textSource","iconStyle","lineHeight","onSelectItem","onSelect","href","getIn","rel","title","tabIndex","onKeyDown","DropdownMenuButton","_ref2","_ref2$rollDown","rollDown","onOpen","openMenuRef","defaultOpenedPanelID","_useState4","setOpenedPanelID","opened","setOpened","close","openPanelID","RollDown","duration","transitionState","Pagination","page","total","_ref$prefix","prefix","_ref$separator","separator","onPageChange","onPrev","onNext","counterElementRef","manualInputElementRef","manualInput","setManualInput","manualInputWidth","setManualInputWidth","enableManualInput","counterElementWidth","onManualInputBlur","manualInputValue","max","onManualInputKeyPress","prevDisabled","nextDisabled","type","autoFocus","defaultValue","onKeyPress","ENTER_TRANSITION","EXIT_TRANSITION","_ref$duration","savedStyles","fullHeight","transitionStarted","transitionTimeout","nodeRef","expanded","unexpand","stopTransition","node","transitionType","overflowY","startTransition","clearTimeout","clientHeight","setTimeout","Transition","in","timeout","mountOnEnter","unmountOnExit","appear","onEnter","onEntering","onEntered","onExit","onExiting","onExited","FRAME_PADDING","LABEL_HEIGHT","VIDEO_WIDTH","VIDEO_RATIO","currentVideoId","setCurrentVideoId","startTime","setStartTime","setVideo","onCloseClick","currentVideoIndex","v","some","id","currentVideo","autoplay","vimeoStartTime","seconds","label","params","push","src","join","iframe","LightBox","size","margin","onMouseDown","preprocessText","escapeText","nativeEvent","prevVideoIndex","prevVideoId","nextVideoIndex","nextVideoId"],"sourceRoot":""}