"use strict";

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($helpers, JSON, Number, Object, String, dateLimitedError, dateRange, requestAnimationFrame) {
    var h = require('panel').h;
    var __vjadeSafeCode = function __vjadeSafeCode(code) {
      return code || String(code);
    };
    return {
      value: h("div", {
        "class": {
          'date-range-picker-container': true
        }
      }, function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat($helpers.showUpsell() ? function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": {
              'upsell-header': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("svg-icon", {
              "attrs": {
                icon: 'lighting-bolt'
              }
            }));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'upsell-text': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("a", {
                "attrs": {
                  href: '/pricing',
                  target: '_blank'
                },
                "class": {
                  'upgrade-link': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat("Upgrade your plan to query beyond " + $helpers.maxHistoryDaysText() + "");;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this) : undefined);
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'builder-pane-dropdown-container': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("mp-builder-dropdown", {
            "attrs": {
              options: JSON.stringify(dateRange.getDateRangeTypeOptions().map(function (type) {
                return $helpers.DATE_RANGE_TYPE_DISPLAY_NAMES[type];
              })),
              'selected-option': $helpers.DATE_RANGE_TYPE_DISPLAY_NAMES[dateRange.type]
            },
            "on": {
              change: $helpers.changedDateRangeType
            }
          }));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'date-range-picker': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat([$helpers.DateRangeType.RelativeAfter, $helpers.DateRangeType.RelativeBefore].includes(dateRange.type) ? function () {
            var __jade_nodes = [];
            var window = dateRange.window;

            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'relative-range-picker': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("input", {
                "attrs": {
                  type: "number",
                  value: !Number.isInteger(window.value) ? "" : window.value
                },
                "on": {
                  mouseenter: $helpers.mouseenterRangeInput,
                  mouseleave: $helpers.mouseleaveRangeInput,
                  blur: $helpers.blurredRangeInput,
                  focus: $helpers.focusedRangeInput,
                  change: function change(ev) {
                    return ev.stopPropagation();
                  },
                  input: $helpers.changedRelativeRangeValue
                },
                "hook": {
                  insert: function insert(vnode) {
                    return requestAnimationFrame(function () {
                      return vnode.elm.select();
                    });
                  }
                },
                "key": dateRange.type,
                "class": Object.assign({}, {
                  'error': dateLimitedError || !Number.isInteger(window.value) || window.value < 1
                }, {
                  'relative-range-value': true
                })
              }));
              __jade_nodes = __jade_nodes.concat(h("mp-builder-dropdown", {
                "attrs": {
                  options: JSON.stringify(dateRange.getTimeUnitOptions().map(function (unit) {
                    return $helpers.TIME_UNIT_DISPLAY_NAMES[unit];
                  })),
                  'selected-option': $helpers.TIME_UNIT_DISPLAY_NAMES[window.unit]
                },
                "on": {
                  change: $helpers.changedRelativeRangeUnit
                }
              }));
              __jade_nodes = __jade_nodes.concat(dateLimitedError && $helpers.isRangeInputActive() ? function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("mp-tooltip", {
                  "attrs": {
                    type: "error",
                    'always-show': true,
                    'hide-arrow': true
                  }
                }, [__vjadeSafeCode($helpers.dateLimitedTooltipText())]));;
                return __jade_nodes;
              }.call(this) : undefined);;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this) : function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("mp-calendar-input", {
              "attrs": $helpers.filterAttributes({
                from: dateRange.from || "",
                'max-date': dateRange.getCalendarMaxDate(),
                'max-history-days': $helpers.maxHistoryDays(),
                'is-range': dateRange.type === $helpers.DateRangeType.Between,
                'min-days-apart': 1,
                'show-upsell': $helpers.showUpsell(),
                to: dateRange.to || ""
              }),
              "on": {
                change: $helpers.changedDates,
                draw: $helpers.propagateEvent
              },
              "key": dateRange.type,
              "hook": {
                insert: $helpers.handleInsertCalendarInput
              }
            }));;
            return __jade_nodes;
          }.call(this));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this).filter(Boolean))
    };
  }.call(this, "$helpers" in locals ? locals.$helpers : typeof $helpers !== "undefined" ? $helpers : undefined, "JSON" in locals ? locals.JSON : typeof JSON !== "undefined" ? JSON : undefined, "Number" in locals ? locals.Number : typeof Number !== "undefined" ? Number : undefined, "Object" in locals ? locals.Object : typeof Object !== "undefined" ? Object : undefined, "String" in locals ? locals.String : typeof String !== "undefined" ? String : undefined, "dateLimitedError" in locals ? locals.dateLimitedError : typeof dateLimitedError !== "undefined" ? dateLimitedError : undefined, "dateRange" in locals ? locals.dateRange : typeof dateRange !== "undefined" ? dateRange : undefined, "requestAnimationFrame" in locals ? locals.requestAnimationFrame : typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;