diff --git a/NAMESPACE b/NAMESPACE index abf6b9c4..946b9655 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -86,6 +86,7 @@ export(dccStore) export(dccTab) export(dccTabs) export(dccTextarea) +export(dccTooltip) export(dccUpload) @@ -116,7 +117,6 @@ export(htmlCite) export(htmlCode) export(htmlCol) export(htmlColgroup) -export(htmlCommand) export(htmlContent) export(htmlData) export(htmlDatalist) @@ -128,7 +128,6 @@ export(htmlDialog) export(htmlDiv) export(htmlDl) export(htmlDt) -export(htmlElement) export(htmlEm) export(htmlEmbed) export(htmlFieldset) @@ -152,23 +151,19 @@ export(htmlI) export(htmlIframe) export(htmlImg) export(htmlIns) -export(htmlIsindex) export(htmlKbd) export(htmlKeygen) export(htmlLabel) export(htmlLegend) export(htmlLi) export(htmlLink) -export(htmlListing) export(htmlMain) export(htmlMapEl) export(htmlMark) export(htmlMarquee) export(htmlMeta) export(htmlMeter) -export(htmlMulticol) export(htmlNav) -export(htmlNextid) export(htmlNobr) export(htmlNoscript) export(htmlObjectEl) diff --git a/R/callbacks-advanced.R b/R/callbacks-advanced.R index 35238286..999c59ee 100644 --- a/R/callbacks-advanced.R +++ b/R/callbacks-advanced.R @@ -31,7 +31,7 @@ add_callback <- function(app, outputs, params, callback) { num_inputs <- length(callback_params) - num_states for (i in seq_len(num_states)) { idx <- num_inputs + i - callback_params <- append(callback_params, callback_params[[idx]], state_idx[i] - 1) + callback_params <- append(callback_params, list(callback_params[[idx]]), state_idx[i] - 1) callback_params <- callback_params[-(idx + 1)] } } @@ -97,11 +97,16 @@ flatten <- function(x) { # g = input("g", "value") # ) # str(params_to_keys(as.list(LETTERS[1:7]), test)) +# str(params_to_keys(c(as.list(LETTERS[1:6]), list(NULL)), test)) params_to_keys <- function(params, keys) { params_to_key_helper <- function(keys) { for (item_idx in seq_along(keys)) { if (inherits(keys[[item_idx]], "dash_dependency")) { - keys[[item_idx]] <- params[[1]] + if (is.null(params[[1]])) { + keys[item_idx] <- list(NULL) + } else { + keys[[item_idx]] <- params[[1]] + } params <<- params[-1] } else { keys[[item_idx]] <- params_to_key_helper(keys[[item_idx]]) diff --git a/R/dccChecklist.R b/R/dccChecklist.R index d26d9d20..4711bee6 100644 --- a/R/dccChecklist.R +++ b/R/dccChecklist.R @@ -1,8 +1,8 @@ # AUTO GENERATED FILE - DO NOT EDIT -dccChecklist <- function(id=NULL, className=NULL, inputClassName=NULL, inputStyle=NULL, labelClassName=NULL, labelStyle=NULL, loading_state=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { +dccChecklist <- function(id=NULL, className=NULL, inline=NULL, inputClassName=NULL, inputStyle=NULL, labelClassName=NULL, labelStyle=NULL, loading_state=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { - props <- list(id=id, className=className, inputClassName=inputClassName, inputStyle=inputStyle, labelClassName=labelClassName, labelStyle=labelStyle, loading_state=loading_state, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) + props <- list(id=id, className=className, inline=inline, inputClassName=inputClassName, inputStyle=inputStyle, labelClassName=labelClassName, labelStyle=labelStyle, loading_state=loading_state, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) if (length(props) > 0) { props <- props[!vapply(props, is.null, logical(1))] } @@ -10,7 +10,7 @@ dccChecklist <- function(id=NULL, className=NULL, inputClassName=NULL, inputStyl props = props, type = 'Checklist', namespace = 'dash_core_components', - propNames = c('id', 'className', 'inputClassName', 'inputStyle', 'labelClassName', 'labelStyle', 'loading_state', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), + propNames = c('id', 'className', 'inline', 'inputClassName', 'inputStyle', 'labelClassName', 'labelStyle', 'loading_state', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), package = 'dashCoreComponents' ) diff --git a/R/dccRadioItems.R b/R/dccRadioItems.R index 7c28fa65..8aa3b3d0 100644 --- a/R/dccRadioItems.R +++ b/R/dccRadioItems.R @@ -1,8 +1,8 @@ # AUTO GENERATED FILE - DO NOT EDIT -dccRadioItems <- function(id=NULL, className=NULL, inputClassName=NULL, inputStyle=NULL, labelClassName=NULL, labelStyle=NULL, loading_state=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { +dccRadioItems <- function(id=NULL, className=NULL, inline=NULL, inputClassName=NULL, inputStyle=NULL, labelClassName=NULL, labelStyle=NULL, loading_state=NULL, options=NULL, persisted_props=NULL, persistence=NULL, persistence_type=NULL, style=NULL, value=NULL) { - props <- list(id=id, className=className, inputClassName=inputClassName, inputStyle=inputStyle, labelClassName=labelClassName, labelStyle=labelStyle, loading_state=loading_state, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) + props <- list(id=id, className=className, inline=inline, inputClassName=inputClassName, inputStyle=inputStyle, labelClassName=labelClassName, labelStyle=labelStyle, loading_state=loading_state, options=options, persisted_props=persisted_props, persistence=persistence, persistence_type=persistence_type, style=style, value=value) if (length(props) > 0) { props <- props[!vapply(props, is.null, logical(1))] } @@ -10,7 +10,7 @@ dccRadioItems <- function(id=NULL, className=NULL, inputClassName=NULL, inputSty props = props, type = 'RadioItems', namespace = 'dash_core_components', - propNames = c('id', 'className', 'inputClassName', 'inputStyle', 'labelClassName', 'labelStyle', 'loading_state', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), + propNames = c('id', 'className', 'inline', 'inputClassName', 'inputStyle', 'labelClassName', 'labelStyle', 'loading_state', 'options', 'persisted_props', 'persistence', 'persistence_type', 'style', 'value'), package = 'dashCoreComponents' ) diff --git a/R/dccTooltip.R b/R/dccTooltip.R new file mode 100644 index 00000000..e456f1ac --- /dev/null +++ b/R/dccTooltip.R @@ -0,0 +1,18 @@ +# AUTO GENERATED FILE - DO NOT EDIT + +dccTooltip <- function(children=NULL, id=NULL, background_color=NULL, bbox=NULL, border_color=NULL, className=NULL, direction=NULL, loading_state=NULL, loading_text=NULL, show=NULL, style=NULL, targetable=NULL, zindex=NULL) { + + props <- list(children=children, id=id, background_color=background_color, bbox=bbox, border_color=border_color, className=className, direction=direction, loading_state=loading_state, loading_text=loading_text, show=show, style=style, targetable=targetable, zindex=zindex) + if (length(props) > 0) { + props <- props[!vapply(props, is.null, logical(1))] + } + component <- list( + props = props, + type = 'Tooltip', + namespace = 'dash_core_components', + propNames = c('children', 'id', 'background_color', 'bbox', 'border_color', 'className', 'direction', 'loading_state', 'loading_text', 'show', 'style', 'targetable', 'zindex'), + package = 'dashCoreComponents' + ) + + structure(component, class = c('dash_component', 'list')) +} diff --git a/R/htmlDialog.R b/R/htmlDialog.R index ad54740c..b1849f86 100644 --- a/R/htmlDialog.R +++ b/R/htmlDialog.R @@ -1,10 +1,10 @@ # AUTO GENERATED FILE - DO NOT EDIT -htmlDialog <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, contentEditable=NULL, contextMenu=NULL, dir=NULL, draggable=NULL, hidden=NULL, key=NULL, lang=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, role=NULL, spellCheck=NULL, style=NULL, tabIndex=NULL, title=NULL, ...) { +htmlDialog <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, contentEditable=NULL, contextMenu=NULL, dir=NULL, draggable=NULL, hidden=NULL, key=NULL, lang=NULL, loading_state=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, open=NULL, role=NULL, spellCheck=NULL, style=NULL, tabIndex=NULL, title=NULL, ...) { wildcard_names = names(dash_assert_valid_wildcards(attrib = list('aria', 'data'), ...)) - props <- list(children=children, id=id, accessKey=accessKey, className=className, contentEditable=contentEditable, contextMenu=contextMenu, dir=dir, draggable=draggable, hidden=hidden, key=key, lang=lang, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, role=role, spellCheck=spellCheck, style=style, tabIndex=tabIndex, title=title, ...) + props <- list(children=children, id=id, accessKey=accessKey, className=className, contentEditable=contentEditable, contextMenu=contextMenu, dir=dir, draggable=draggable, hidden=hidden, key=key, lang=lang, loading_state=loading_state, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, open=open, role=role, spellCheck=spellCheck, style=style, tabIndex=tabIndex, title=title, ...) if (length(props) > 0) { props <- props[!vapply(props, is.null, logical(1))] } @@ -12,7 +12,7 @@ htmlDialog <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, c props = props, type = 'Dialog', namespace = 'dash_html_components', - propNames = c('children', 'id', 'accessKey', 'className', 'contentEditable', 'contextMenu', 'dir', 'draggable', 'hidden', 'key', 'lang', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'role', 'spellCheck', 'style', 'tabIndex', 'title', wildcard_names), + propNames = c('children', 'id', 'accessKey', 'className', 'contentEditable', 'contextMenu', 'dir', 'draggable', 'hidden', 'key', 'lang', 'loading_state', 'n_clicks', 'n_clicks_timestamp', 'open', 'role', 'spellCheck', 'style', 'tabIndex', 'title', wildcard_names), package = 'dashHtmlComponents' ) diff --git a/R/htmlLink.R b/R/htmlLink.R index 2ff44d37..1315802d 100644 --- a/R/htmlLink.R +++ b/R/htmlLink.R @@ -1,10 +1,10 @@ # AUTO GENERATED FILE - DO NOT EDIT -htmlLink <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, contentEditable=NULL, contextMenu=NULL, crossOrigin=NULL, dir=NULL, draggable=NULL, hidden=NULL, href=NULL, hrefLang=NULL, integrity=NULL, key=NULL, lang=NULL, loading_state=NULL, media=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, referrerPolicy=NULL, rel=NULL, role=NULL, sizes=NULL, spellCheck=NULL, style=NULL, tabIndex=NULL, title=NULL, ...) { +htmlLink <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, contentEditable=NULL, contextMenu=NULL, crossOrigin=NULL, dir=NULL, draggable=NULL, hidden=NULL, href=NULL, hrefLang=NULL, integrity=NULL, key=NULL, lang=NULL, loading_state=NULL, media=NULL, n_clicks=NULL, n_clicks_timestamp=NULL, referrerPolicy=NULL, rel=NULL, role=NULL, sizes=NULL, spellCheck=NULL, style=NULL, tabIndex=NULL, title=NULL, type=NULL, ...) { wildcard_names = names(dash_assert_valid_wildcards(attrib = list('aria', 'data'), ...)) - props <- list(children=children, id=id, accessKey=accessKey, className=className, contentEditable=contentEditable, contextMenu=contextMenu, crossOrigin=crossOrigin, dir=dir, draggable=draggable, hidden=hidden, href=href, hrefLang=hrefLang, integrity=integrity, key=key, lang=lang, loading_state=loading_state, media=media, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, referrerPolicy=referrerPolicy, rel=rel, role=role, sizes=sizes, spellCheck=spellCheck, style=style, tabIndex=tabIndex, title=title, ...) + props <- list(children=children, id=id, accessKey=accessKey, className=className, contentEditable=contentEditable, contextMenu=contextMenu, crossOrigin=crossOrigin, dir=dir, draggable=draggable, hidden=hidden, href=href, hrefLang=hrefLang, integrity=integrity, key=key, lang=lang, loading_state=loading_state, media=media, n_clicks=n_clicks, n_clicks_timestamp=n_clicks_timestamp, referrerPolicy=referrerPolicy, rel=rel, role=role, sizes=sizes, spellCheck=spellCheck, style=style, tabIndex=tabIndex, title=title, type=type, ...) if (length(props) > 0) { props <- props[!vapply(props, is.null, logical(1))] } @@ -12,7 +12,7 @@ htmlLink <- function(children=NULL, id=NULL, accessKey=NULL, className=NULL, con props = props, type = 'Link', namespace = 'dash_html_components', - propNames = c('children', 'id', 'accessKey', 'className', 'contentEditable', 'contextMenu', 'crossOrigin', 'dir', 'draggable', 'hidden', 'href', 'hrefLang', 'integrity', 'key', 'lang', 'loading_state', 'media', 'n_clicks', 'n_clicks_timestamp', 'referrerPolicy', 'rel', 'role', 'sizes', 'spellCheck', 'style', 'tabIndex', 'title', wildcard_names), + propNames = c('children', 'id', 'accessKey', 'className', 'contentEditable', 'contextMenu', 'crossOrigin', 'dir', 'draggable', 'hidden', 'href', 'hrefLang', 'integrity', 'key', 'lang', 'loading_state', 'media', 'n_clicks', 'n_clicks_timestamp', 'referrerPolicy', 'rel', 'role', 'sizes', 'spellCheck', 'style', 'tabIndex', 'title', 'type', wildcard_names), package = 'dashHtmlComponents' ) diff --git a/R/internal.R b/R/internal.R index 2987412c..0764307a 100644 --- a/R/internal.R +++ b/R/internal.R @@ -113,129 +113,129 @@ .dashCoreComponents_js_metadata <- function() { deps_metadata <- list(`dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-datepicker.js', +script = 'dcc/async-datepicker.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-dropdown.js', +script = 'dcc/async-dropdown.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-graph.js', +script = 'dcc/async-graph.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'core-async-highlight.js', +script = 'dcc/async-highlight.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-markdown.js', +script = 'dcc/async-markdown.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-slider.js', +script = 'dcc/async-slider.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-upload.js', +script = 'dcc/async-upload.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-datepicker.js.map', +script = 'dcc/async-datepicker.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-dropdown.js.map', +script = 'dcc/async-dropdown.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-graph.js.map', +script = 'dcc/async-graph.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'core-async-highlight.js.map', +script = 'dcc/async-highlight.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-markdown.js.map', +script = 'dcc/async-markdown.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-slider.js.map', +script = 'dcc/async-slider.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-upload.js.map', +script = 'dcc/async-upload.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_core_components.min.js', +script = 'dcc/dash_core_components.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_core_components.min.js.map', +script = 'dcc/dash_core_components.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), -`dash_core_components-shared` = structure(list(name = "dash_core_components-shared", -version = "1.16.0", src = list(href = NULL, +`dash_core_components` = structure(list(name = "dash_core_components", +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_core_components-shared.js', +script = 'dcc/dash_core_components-shared.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE), class = "html_dependency"), -`dash_core_components-shared` = structure(list(name = "dash_core_components-shared", -version = "1.16.0", src = list(href = NULL, +`dash_core_components` = structure(list(name = "dash_core_components", +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_core_components-shared.js.map', +script = 'dcc/dash_core_components-shared.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'plotly.min.js', +script = 'dcc/plotly.min.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = 'eager'), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-plotlyjs.js', +script = 'dcc/async-plotlyjs.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = 'lazy'), class = "html_dependency"), `dash_core_components` = structure(list(name = "dash_core_components", -version = "1.16.0", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-plotlyjs.js.map', +script = 'dcc/async-plotlyjs.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency")) return(deps_metadata) @@ -244,15 +244,15 @@ return(deps_metadata) .dashHtmlComponents_js_metadata <- function() { deps_metadata <- list(`dash_html_components` = structure(list(name = "dash_html_components", -version = "1.1.3", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_html_components.min.js', +script = 'html/dash_html_components.min.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE), class = "html_dependency"), `dash_html_components` = structure(list(name = "dash_html_components", -version = "1.1.3", src = list(href = NULL, +version = "2.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'dash_html_components.min.js.map', +script = 'html/dash_html_components.min.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency")) return(deps_metadata) @@ -278,51 +278,51 @@ dash_assert_valid_wildcards <- function (attrib = list("data", "aria"), ...) .dashTable_js_metadata <- function() { deps_metadata <- list(`dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-export.js', +script = 'dash_table/async-export.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-table.js', +script = 'dash_table/async-table.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'table-async-highlight.js', +script = 'dash_table/async-highlight.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, async = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-export.js.map', +script = 'dash_table/async-export.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'async-table.js.map', +script = 'dash_table/async-table.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'table-async-highlight.js.map', +script = 'dash_table/async-highlight.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'bundle.js', +script = 'dash_table/bundle.js', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE), class = "html_dependency"), `dash_table` = structure(list(name = "dash_table", -version = "4.11.3", src = list(href = NULL, +version = "5.0.0", src = list(href = NULL, file = "deps"), meta = NULL, -script = 'bundle.js.map', +script = 'dash_table/bundle.js.map', stylesheet = NULL, head = NULL, attachment = NULL, package = "dash", all_files = FALSE, dynamic = TRUE), class = "html_dependency")) return(deps_metadata) diff --git a/gulp-assets/NAMESPACE.template b/gulp-assets/NAMESPACE.template index 8ad974eb..7ea123ed 100644 --- a/gulp-assets/NAMESPACE.template +++ b/gulp-assets/NAMESPACE.template @@ -1,15 +1,42 @@ # Generated by roxygen2: do not edit by hand +S3method(print,Dash) S3method(print,dash_component) +export("%>%") export(ALL) export(ALLSMALLER) export(Dash) export(MATCH) +export(a) +export(add_callback) +export(add_meta) +export(add_script) +export(add_stylesheet) +export(br) +export(button) +export(callback_context) export(clientsideFunction) export(dashNoUpdate) +export(dash_app) +export(dash_tag) +export(div) +export(h1) +export(h2) +export(h3) +export(h4) +export(html) +export(img) export(input) +export(install_snippet) export(output) +export(p) +export(prevent_update) +export(run_app) +export(set_layout) +export(simple_table) +export(span) export(state) +export(strong) importFrom(R6,R6Class) importFrom(assertthat,assert_that) importFrom(base64enc,base64encode) @@ -25,6 +52,7 @@ importFrom(htmltools,htmlDependencies) importFrom(htmltools,htmlDependency) importFrom(htmltools,renderDependencies) importFrom(jsonlite,toJSON) +importFrom(magrittr,"%>%") importFrom(reqres,default_parsers) importFrom(routr,Route) importFrom(routr,RouteStack) diff --git a/gulpfile.js b/gulpfile.js index 8d7ba546..aea8197d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -15,26 +15,26 @@ const retrieveAssets = async () => { 'dash-html-components', 'dash-table', ]; + + shell.cd(assetsPath); + shell.exec('git clone --depth=1 https://github.com/plotly/dash'); + shell.cd(path.resolve(assetsPath, 'dash')); + shell.exec('npm i && npm run build'); + shell.exec( + 'pip install -r requires-dev.txt && pip install black && pip install -e .' + ); + shell.mv( + path.resolve(assetsPath, 'dash', 'components', '*'), + path.resolve(assetsPath) + ); + shell.cd(assetsPath); + for (const element of packages) { - shell.cd(assetsPath); - shell.exec(`git clone --depth=1 https://github.com/plotly/${element}`); shell.cd(path.resolve(assetsPath, element)); - try { - shell.exec('npm i && npm run build'); - } catch (err) { - print(`Encountered the following error: ${err.message} \n - Make sure you have dash-generate-components in your Python environment.`); - } + shell.exec('npm run build'); } }; -// Task to clean build artifacts from gulp-assets -const cleanAssets = async () => { - const assetsPath = path.resolve(__dirname, 'gulp-assets'); - shell.cd(assetsPath); - shell.exec('rm -rfv dash-core-components dash-html-components dash-table'); -}; - // Update the inst directories for each of the component packages. function copyCoreInstDirectory() { if ( @@ -43,12 +43,10 @@ function copyCoreInstDirectory() { ) ) { return src([ - 'gulp-assets/dash-core-components/inst/**/*', - '!gulp-assets/dash-core-components/inst/deps/async-highlight.js', - '!gulp-assets/dash-core-components/inst/deps/async-highlight.js.map', + 'gulp-assets/dash-core-components/inst/deps/**/*' ]) .pipe(print()) - .pipe(dest('inst/', {overwrite: true})); + .pipe(dest('inst/deps/dcc', {overwrite: true})); } return log('Unable to find dash-core-components inst directory.'); } @@ -59,9 +57,9 @@ function copyHtmlInstDirectory() { path.resolve(__dirname, 'gulp-assets/dash-html-components/inst') ) ) { - return src('gulp-assets/dash-html-components/inst/**/*') + return src('gulp-assets/dash-html-components/inst/deps/**/*') .pipe(print()) - .pipe(dest('inst/', {overwrite: true})); + .pipe(dest('inst/deps/html', {overwrite: true})); } return log('Unable to find dash-html-components inst directory.'); } @@ -69,11 +67,11 @@ function copyHtmlInstDirectory() { function copyTableInstDirectory() { if (fs.existsSync(path.resolve(__dirname, 'gulp-assets/dash-table/inst'))) { return src([ - 'gulp-assets/dash-table/inst/**/*', + 'gulp-assets/dash-table/inst/deps/**/*', '!gulp-assets/dash-table/inst/deps/index.html', ]) .pipe(print()) - .pipe(dest('inst/', {overwrite: true})); + .pipe(dest('inst/deps/dash_table', {overwrite: true})); } return log('Unable to find dash-table `inst` directory.'); } @@ -258,9 +256,23 @@ function replacePackageDependency() { .pipe(replace(/package = "dashCoreComponents"/g, 'package = "dash"')) .pipe(replace(/package = "dashHtmlComponents"/g, 'package = "dash"')) .pipe(replace(/package = "dashTable"/g, 'package = "dash"')) + .pipe(replace(/name = "dcc\//g, 'name = "')) + .pipe(replace(/`dash_core_components.+name\s=\s.+",$/gm, '`dash_core_components` = structure(list(name = "dash_core_components",')) + .pipe(replace(/`dcc\/dash_core_components.+name\s=\s.+",$/gm, '`dash_core_components` = structure(list(name = "dash_core_components",')) + .pipe(replace(/`html\/dash_html_components.+name\s=\s.+",$/gm, '`dash_html_components` = structure(list(name = "dash_html_components",')) + .pipe(replace(/`dash_table.+name\s=\s.+",$/gm, '`dash_table` = structure(list(name = "dash_table",')) .pipe(dest('R/')); } +// Task to clean build artifacts from gulp-assets +const cleanAssets = async () => { + const assetsPath = path.resolve(__dirname, 'gulp-assets'); + shell.cd(assetsPath); + shell.exec( + 'rm -rfv dash-core-components dash-html-components dash-table dash' + ); +}; + exports.unify = series( parallel( copyCoreInstDirectory, @@ -283,4 +295,6 @@ exports.update = series( exports.clone = series(retrieveAssets); +exports.test = series(replacePackageDependency) + exports.clean = series(cleanAssets); diff --git a/inst/deps/async-datepicker.js b/inst/deps/async-datepicker.js deleted file mode 100644 index 2dda630a..00000000 --- a/inst/deps/async-datepicker.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonpdash_core_components=window.webpackJsonpdash_core_components||[]).push([[1],Array(201).concat([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MODIFIER_KEY_NAMES=t.DEFAULT_VERTICAL_SPACING=t.FANG_HEIGHT_PX=t.FANG_WIDTH_PX=t.WEEKDAYS=t.BLOCKED_MODIFIER=t.DAY_SIZE=t.OPEN_UP=t.OPEN_DOWN=t.ANCHOR_RIGHT=t.ANCHOR_LEFT=t.INFO_POSITION_AFTER=t.INFO_POSITION_BEFORE=t.INFO_POSITION_BOTTOM=t.INFO_POSITION_TOP=t.ICON_AFTER_POSITION=t.ICON_BEFORE_POSITION=t.VERTICAL_SCROLLABLE=t.VERTICAL_ORIENTATION=t.HORIZONTAL_ORIENTATION=t.END_DATE=t.START_DATE=t.ISO_MONTH_FORMAT=t.ISO_FORMAT=t.DISPLAY_FORMAT=void 0;t.DISPLAY_FORMAT="L";t.ISO_FORMAT="YYYY-MM-DD";t.ISO_MONTH_FORMAT="YYYY-MM";t.START_DATE="startDate";t.END_DATE="endDate";t.HORIZONTAL_ORIENTATION="horizontal";t.VERTICAL_ORIENTATION="vertical";t.VERTICAL_SCROLLABLE="verticalScrollable";t.ICON_BEFORE_POSITION="before";t.ICON_AFTER_POSITION="after";t.INFO_POSITION_TOP="top";t.INFO_POSITION_BOTTOM="bottom";t.INFO_POSITION_BEFORE="before";t.INFO_POSITION_AFTER="after";t.ANCHOR_LEFT="left";t.ANCHOR_RIGHT="right";t.OPEN_DOWN="down";t.OPEN_UP="up";t.DAY_SIZE=39;t.BLOCKED_MODIFIER="blocked";t.WEEKDAYS=[0,1,2,3,4,5,6];t.FANG_WIDTH_PX=20;t.FANG_HEIGHT_PX=10;t.DEFAULT_VERTICAL_SPACING=22;var o=new Set(["Shift","Control","Alt","Meta"]);t.MODIFIER_KEY_NAMES=o},,function(e,t,n){e.exports=n(608)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CalendarDayPhrases=t.DayPickerNavigationPhrases=t.DayPickerKeyboardShortcutsPhrases=t.DayPickerPhrases=t.SingleDatePickerInputPhrases=t.SingleDatePickerPhrases=t.DateRangePickerInputPhrases=t.DateRangePickerPhrases=t.default=void 0;var o="Interact with the calendar and add the check-in date for your trip.",r="Move backward to switch to the previous month.",a="Move forward to switch to the next month.",i="page up and page down keys",l="Home and end keys",u="Escape key",s="Select the date in focus.",c="Move backward (left) and forward (right) by one day.",d="Move backward (up) and forward (down) by one week.",f="Return to the date input field.",h="Press the down arrow key to interact with the calendar and\n select a date. Press the question mark key to get the keyboard shortcuts for changing dates.",p=function(e){var t=e.date;return"Choose ".concat(t," as your check-in date. It’s available.")},y=function(e){var t=e.date;return"Choose ".concat(t," as your check-out date. It’s available.")},b=function(e){return e.date},v=function(e){var t=e.date;return"Not available. ".concat(t)},g=function(e){var t=e.date;return"Selected. ".concat(t)},m=function(e){var t=e.date;return"Selected as start date. ".concat(t)},_=function(e){var t=e.date;return"Selected as end date. ".concat(t)},D={calendarLabel:"Calendar",closeDatePicker:"Close",focusStartDate:o,clearDate:"Clear Date",clearDates:"Clear Dates",jumpToPrevMonth:r,jumpToNextMonth:a,keyboardShortcuts:"Keyboard Shortcuts",showKeyboardShortcutsPanel:"Open the keyboard shortcuts panel.",hideKeyboardShortcutsPanel:"Close the shortcuts panel.",openThisPanel:"Open this panel.",enterKey:"Enter key",leftArrowRightArrow:"Right and left arrow keys",upArrowDownArrow:"up and down arrow keys",pageUpPageDown:i,homeEnd:l,escape:u,questionMark:"Question mark",selectFocusedDate:s,moveFocusByOneDay:c,moveFocusByOneWeek:d,moveFocusByOneMonth:"Switch months.",moveFocustoStartAndEndOfWeek:"Go to the first or last day of a week.",returnFocusToInput:f,keyboardNavigationInstructions:h,chooseAvailableStartDate:p,chooseAvailableEndDate:y,dateIsUnavailable:v,dateIsSelected:g,dateIsSelectedAsStartDate:m,dateIsSelectedAsEndDate:_};t.default=D;var k={calendarLabel:"Calendar",closeDatePicker:"Close",clearDates:"Clear Dates",focusStartDate:o,jumpToPrevMonth:r,jumpToNextMonth:a,keyboardShortcuts:"Keyboard Shortcuts",showKeyboardShortcutsPanel:"Open the keyboard shortcuts panel.",hideKeyboardShortcutsPanel:"Close the shortcuts panel.",openThisPanel:"Open this panel.",enterKey:"Enter key",leftArrowRightArrow:"Right and left arrow keys",upArrowDownArrow:"up and down arrow keys",pageUpPageDown:i,homeEnd:l,escape:u,questionMark:"Question mark",selectFocusedDate:s,moveFocusByOneDay:c,moveFocusByOneWeek:d,moveFocusByOneMonth:"Switch months.",moveFocustoStartAndEndOfWeek:"Go to the first or last day of a week.",returnFocusToInput:f,keyboardNavigationInstructions:h,chooseAvailableStartDate:p,chooseAvailableEndDate:y,dateIsUnavailable:v,dateIsSelected:g,dateIsSelectedAsStartDate:m,dateIsSelectedAsEndDate:_};t.DateRangePickerPhrases=k;var O={focusStartDate:o,clearDates:"Clear Dates",keyboardNavigationInstructions:h};t.DateRangePickerInputPhrases=O;var P={calendarLabel:"Calendar",closeDatePicker:"Close",clearDate:"Clear Date",jumpToPrevMonth:r,jumpToNextMonth:a,keyboardShortcuts:"Keyboard Shortcuts",showKeyboardShortcutsPanel:"Open the keyboard shortcuts panel.",hideKeyboardShortcutsPanel:"Close the shortcuts panel.",openThisPanel:"Open this panel.",enterKey:"Enter key",leftArrowRightArrow:"Right and left arrow keys",upArrowDownArrow:"up and down arrow keys",pageUpPageDown:i,homeEnd:l,escape:u,questionMark:"Question mark",selectFocusedDate:s,moveFocusByOneDay:c,moveFocusByOneWeek:d,moveFocusByOneMonth:"Switch months.",moveFocustoStartAndEndOfWeek:"Go to the first or last day of a week.",returnFocusToInput:f,keyboardNavigationInstructions:h,chooseAvailableDate:b,dateIsUnavailable:v,dateIsSelected:g};t.SingleDatePickerPhrases=P;var S={clearDate:"Clear Date",keyboardNavigationInstructions:h};t.SingleDatePickerInputPhrases=S;var w={calendarLabel:"Calendar",jumpToPrevMonth:r,jumpToNextMonth:a,keyboardShortcuts:"Keyboard Shortcuts",showKeyboardShortcutsPanel:"Open the keyboard shortcuts panel.",hideKeyboardShortcutsPanel:"Close the shortcuts panel.",openThisPanel:"Open this panel.",enterKey:"Enter key",leftArrowRightArrow:"Right and left arrow keys",upArrowDownArrow:"up and down arrow keys",pageUpPageDown:i,homeEnd:l,escape:u,questionMark:"Question mark",selectFocusedDate:s,moveFocusByOneDay:c,moveFocusByOneWeek:d,moveFocusByOneMonth:"Switch months.",moveFocustoStartAndEndOfWeek:"Go to the first or last day of a week.",returnFocusToInput:f,chooseAvailableStartDate:p,chooseAvailableEndDate:y,chooseAvailableDate:b,dateIsUnavailable:v,dateIsSelected:g,dateIsSelectedAsStartDate:m,dateIsSelectedAsEndDate:_};t.DayPickerPhrases=w;var C={keyboardShortcuts:"Keyboard Shortcuts",showKeyboardShortcutsPanel:"Open the keyboard shortcuts panel.",hideKeyboardShortcutsPanel:"Close the shortcuts panel.",openThisPanel:"Open this panel.",enterKey:"Enter key",leftArrowRightArrow:"Right and left arrow keys",upArrowDownArrow:"up and down arrow keys",pageUpPageDown:i,homeEnd:l,escape:u,questionMark:"Question mark",selectFocusedDate:s,moveFocusByOneDay:c,moveFocusByOneWeek:d,moveFocusByOneMonth:"Switch months.",moveFocustoStartAndEndOfWeek:"Go to the first or last day of a week.",returnFocusToInput:f};t.DayPickerKeyboardShortcutsPhrases=C;var T={jumpToPrevMonth:r,jumpToNextMonth:a};t.DayPickerNavigationPhrases=T;var M={chooseAvailableDate:b,dateIsUnavailable:v,dateIsSelected:g,dateIsSelectedAsStartDate:m,dateIsSelectedAsEndDate:_};t.CalendarDayPhrases=M},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return Object.keys(e).reduce((function(e,t){return function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},n=t.stylesPropName,i=void 0===n?"styles":n,c=t.themePropName,f=void 0===c?"theme":c,p=t.cssPropName,g=void 0===p?"css":p,m=t.flushBefore,_=void 0!==m&&m,D=t.pureComponent,k=void 0!==D&&D,O=void 0,P=void 0,S=void 0,w=void 0,C=function(e){if(e){if(!a.default.PureComponent)throw new ReferenceError("withStyles() pureComponent option requires React 15.3.0 or later");return a.default.PureComponent}return a.default.Component}(k);function T(e){return e===s.DIRECTIONS.LTR?d.default.resolveLTR:d.default.resolveRTL}function M(t,n){var o=function(e){return e===s.DIRECTIONS.LTR?S:w}(t),r=t===s.DIRECTIONS.LTR?O:P,a=d.default.get();return r&&o===a?r:(t===s.DIRECTIONS.RTL?(P=e?d.default.createRTL(e):y,w=a,r=P):(O=e?d.default.createLTR(e):y,S=a,r=O),r)}function I(e,t){return{resolveMethod:T(e),styleDef:M(e)}}return function(e){var t=e.displayName||e.name||"Component",n=function(t){function n(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t)),r=o.context[s.CHANNEL]?o.context[s.CHANNEL].getState():v;return o.state=I(r),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),r(n,[{key:"componentDidMount",value:function(){var e=this;this.context[s.CHANNEL]&&(this.channelUnsubscribe=this.context[s.CHANNEL].subscribe((function(t){e.setState(I(t))})))}},{key:"componentWillUnmount",value:function(){this.channelUnsubscribe&&this.channelUnsubscribe()}},{key:"render",value:function(){var t;_&&d.default.flush();var n=this.state,r=n.resolveMethod,l=n.styleDef;return a.default.createElement(e,o({},this.props,(h(t={},f,d.default.get()),h(t,i,l()),h(t,g,r),t)))}}]),n}(C);return n.WrappedComponent=e,n.displayName="withStyles("+String(t)+")",n.contextTypes=b,e.propTypes&&(n.propTypes=(0,u.default)({},e.propTypes),delete n.propTypes[i],delete n.propTypes[f],delete n.propTypes[g]),e.defaultProps&&(n.defaultProps=(0,u.default)({},e.defaultProps)),(0,l.default)(n,e)}};var a=f(n(1)),i=f(n(0)),l=f(n(609)),u=f(n(610)),s=n(611),c=f(n(612)),d=f(n(346));function f(e){return e&&e.__esModule?e:{default:e}}function h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}t.css=d.default.resolveLTR,t.withStylesPropTypes={styles:i.default.object.isRequired,theme:i.default.object.isRequired,css:i.default.func.isRequired};var p={},y=function(){return p};var b=h({},s.CHANNEL,c.default),v=s.DIRECTIONS.LTR},,,,,,function(e,t,n){var o=n(2),r=n(606),a=n(607);e.exports={momentObj:a.createMomentChecker("object",(function(e){return"object"==typeof e}),(function(e){return r.isValidMoment(e)}),"Moment"),momentString:a.createMomentChecker("string",(function(e){return"string"==typeof e}),(function(e){return r.isValidMoment(o(e))}),"Moment"),momentDurationObj:a.createMomentChecker("object",(function(e){return"object"==typeof e}),(function(e){return o.isDuration(e)}),"Duration")}},,,,,,,,,,,function(e,t,n){"use strict";var o=n(592);e.exports=Function.prototype.bind||o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("number"==typeof e)return"".concat(e,"px ").concat(o);if("string"==typeof e)return"".concat(e," ").concat(o);throw new TypeError("noflip expects a string or a number")};var o="/* @noflip */"},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf(a.WEEKDAYS);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.OPEN_DOWN,a.OPEN_UP]);t.default=i},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!r.default.isMoment(e)||!r.default.isMoment(t))&&(e.date()===t.date()&&e.month()===t.month()&&e.year()===t.year())};var o,r=(o=n(2))&&o.__esModule?o:{default:o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=t?[t,a.DISPLAY_FORMAT,a.ISO_FORMAT]:[a.DISPLAY_FORMAT,a.ISO_FORMAT],o=(0,r.default)(e,n,!0);return o.isValid()?o.hour(12):null};var o,r=(o=n(2))&&o.__esModule?o:{default:o},a=n(201)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.HORIZONTAL_ORIENTATION,a.VERTICAL_ORIENTATION,a.VERTICAL_SCROLLABLE]);t.default=i},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!("undefined"==typeof window||!("ontouchstart"in window||window.DocumentTouch&&"undefined"!=typeof document&&document instanceof window.DocumentTouch))||!("undefined"==typeof navigator||!navigator.maxTouchPoints&&!navigator.msMaxTouchPoints)},e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.ICON_BEFORE_POSITION,a.ICON_AFTER_POSITION]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!o.default.isMoment(e)||!o.default.isMoment(t))&&!(0,r.default)(e,t)};var o=a(n(2)),r=a(n(249));function a(e){return e&&e.__esModule?e:{default:e}}},,,,function(e,t,n){"use strict";var o=n(589),r=n(591),a="function"==typeof Symbol&&"symbol"==typeof Symbol(),i=Object.prototype.toString,l=Object.defineProperty&&function(){var e={};try{for(var t in Object.defineProperty(e,"x",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch(e){return!1}}(),u=function(e,t,n,o){var r;t in e&&("function"!=typeof(r=o)||"[object Function]"!==i.call(r)||!o())||(l?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},s=function(e,t){var n=arguments.length>2?arguments[2]:{},i=o(t);a&&(i=i.concat(Object.getOwnPropertySymbols(t))),r(i,(function(o){u(e,o,t[o],n[o])}))};s.supportsDescriptors=!!l,e.exports=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOfType([r.default.bool,r.default.oneOf([a.START_DATE,a.END_DATE])]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.INFO_POSITION_TOP,a.INFO_POSITION_BOTTOM,a.INFO_POSITION_BEFORE,a.INFO_POSITION_AFTER]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!r.default.isMoment(e)||!r.default.isMoment(t))return!1;var n=e.year(),o=e.month(),a=t.year(),i=t.month(),l=n===a,u=o===i;return l&&u?e.date()2?n-2:0),l=2;l1&&"boolean"!=typeof t)throw new TypeError('"allowMissing" argument must be a boolean');var n="$ "+e;if(!(n in u))throw new SyntaxError("intrinsic "+e+" does not exist!");if(void 0===u[n]&&!t)throw new TypeError("intrinsic "+e+" exists, but is not available. Please file an issue!");return u[n]}},function(e,t,n){"use strict";function o(e,t,n){var o="number"==typeof t,r="number"==typeof n,a="number"==typeof e;return o&&r?t+n:o&&a?t+e:o?t:r&&a?n+e:r?n:a?2*e:0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=e.font.input,r=n.lineHeight,a=n.lineHeight_small,i=e.spacing,l=i.inputPadding,u=i.displayTextPaddingVertical,s=i.displayTextPaddingTop,c=i.displayTextPaddingBottom,d=i.displayTextPaddingVertical_small,f=i.displayTextPaddingTop_small,h=i.displayTextPaddingBottom_small,p=t?a:r,y=t?o(d,f,h):o(u,s,c);return parseInt(p,10)+2*l+y}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=o.default.isMoment(e)?e:(0,r.default)(e,t);return n?n.format(a.DISPLAY_FORMAT):null};var o=i(n(2)),r=i(n(238)),a=n(201);function i(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){if(!o.default.isMoment(e))return!1;var l=t.clone().startOf("month");i&&(l=l.startOf("week"));if((0,r.default)(e,l))return!1;var u=t.clone().add(n-1,"months").endOf("month");i&&(u=u.endOf("week"));return!(0,a.default)(e,u)};var o=i(n(2)),r=i(n(249)),a=i(n(264));function i(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PureDayPicker=t.defaultProps=void 0;var o=D(n(207)),r=D(n(1)),a=(D(n(0)),n(203),n(208)),i=D(n(2)),l=D(n(381)),u=D(n(240)),s=D(n(295)),c=n(204),d=(D(n(205)),D(n(226))),f=D(n(352)),h=D(n(655)),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};o.get||o.set?Object.defineProperty(t,n,o):t[n]=e[n]}return t.default=e,t}(n(658)),y=D(n(660)),b=D(n(353)),v=D(n(351)),g=D(n(661)),m=D(n(301)),_=(D(n(259)),D(n(239)),D(n(229)),D(n(248)),n(201));function D(e){return e&&e.__esModule?e:{default:e}}function k(e){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(){return(O=Object.assign||function(e){for(var t=1;t0&&(f=o.IsArray(d)),f){u=e(t,d,o.ToLength(o.Get(d,"length")),u,l-1)}else{if(u>=r)throw new TypeError("index too large");o.CreateDataPropertyOrThrow(t,o.ToString(u),d),u+=1}}s+=1}return u};e.exports=function(){var e=o.ToObject(this),t=o.ToLength(o.Get(e,"length")),n=1;arguments.length>0&&void 0!==arguments[0]&&(n=o.ToInteger(arguments[0]));var r=o.ArraySpeciesCreate(e,0);return a(r,e,t,0,n),r}},function(e,t,n){"use strict";var o=n(594),r=n(293),a=r(r({},o),{SameValueNonNumber:function(e,t){if("number"==typeof e||typeof e!=typeof t)throw new TypeError("SameValueNonNumber requires two non-number values of the same type.");return this.SameValue(e,t)}});e.exports=a},function(e,t){e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},function(e,t,n){"use strict";var o=Date.prototype.getDay,r=Object.prototype.toString,a="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;e.exports=function(e){return"object"==typeof e&&null!==e&&(a?function(e){try{return o.call(e),!0}catch(e){return!1}}(e):"[object Date]"===r.call(e))}},function(e,t,n){"use strict";var o=Object.prototype.toString;if("function"==typeof Symbol&&"symbol"==typeof Symbol()){var r=Symbol.prototype.toString,a=/^Symbol\(.*\)$/;e.exports=function(e){if("symbol"==typeof e)return!0;if("[object Symbol]"!==o.call(e))return!1;try{return function(e){return"symbol"==typeof e.valueOf()&&a.test(r.call(e))}(e)}catch(e){return!1}}}else e.exports=function(e){return!1}},function(e,t){e.exports=Number.isNaN||function(e){return e!=e}},function(e,t){var n=Number.isNaN||function(e){return e!=e};e.exports=Number.isFinite||function(e){return"number"==typeof e&&!n(e)&&e!==1/0&&e!==-1/0}},function(e,t){e.exports=function(e){return e>=0?1:-1}},function(e,t){e.exports=function(e,t){var n=e%t;return Math.floor(n>=0?n:n+t)}},function(e,t,n){"use strict";var o=n(258),r=RegExp.prototype.exec,a=Object.getOwnPropertyDescriptor,i=Object.prototype.toString,l="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;e.exports=function(e){if(!e||"object"!=typeof e)return!1;if(!l)return"[object RegExp]"===i.call(e);var t=a(e,"lastIndex");return!(!t||!o(t,"value"))&&function(e){try{var t=e.lastIndex;return e.lastIndex=0,r.call(e),!0}catch(e){return!1}finally{e.lastIndex=t}}(e)}},function(e,t,n){"use strict";var o=n(335);e.exports=function(){return Array.prototype.flat||o}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});var o=void 0,r=void 0;function a(e,t){var n=t(e(r));return function(){return n}}function i(e){return a(e,o.createLTR||o.create)}function l(){for(var e=arguments.length,t=Array(e),n=0;n2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!e)return 0;var r="width"===t?"Left":"Top",a="width"===t?"Right":"Bottom",i=!n||o?window.getComputedStyle(e):null,l=e.offsetWidth,u=e.offsetHeight,s="width"===t?l:u;n||(s-=parseFloat(i["padding".concat(r)])+parseFloat(i["padding".concat(a)])+parseFloat(i["border".concat(r,"Width")])+parseFloat(i["border".concat(a,"Width")]));o&&(s+=parseFloat(i["margin".concat(r)])+parseFloat(i["margin".concat(a)]));return s}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=g(n(207)),r=g(n(1)),a=(g(n(0)),g(n(214)),n(203),n(208)),i=g(n(2)),l=n(261),u=n(204),s=(g(n(205)),g(n(226))),c=g(n(350)),d=g(n(617)),f=g(n(618)),h=g(n(353)),p=g(n(262)),y=g(n(619)),b=g(n(620)),v=(g(n(259)),g(n(239)),g(n(229)),n(201));function g(e){return e&&e.__esModule?e:{default:e}}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(){return(_=Object.assign||function(e){for(var t=1;t=o&&f1&&void 0!==arguments[1]?arguments[1]:0;return 7*e+2*t+1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return!(!r.default.isMoment(e)||!r.default.isMoment(t))&&(e.month()===t.month()&&e.year()===t.year())};var o,r=(o=n(2))&&o.__esModule?o:{default:o}},function(e,t,n){"use strict";var o=n(356),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,i=Array.prototype.concat,l=Object.defineProperty,u=l&&function(){var e={};try{for(var t in l(e,"x",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch(e){return!1}}(),s=function(e,t,n,o){var r;t in e&&("function"!=typeof(r=o)||"[object Function]"!==a.call(r)||!o())||(u?l(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},c=function(e,t){var n=arguments.length>2?arguments[2]:{},a=o(t);r&&(a=i.call(a,Object.getOwnPropertySymbols(t)));for(var l=0;l=0&&"[object Function]"===o.call(e.callee)),n}},function(e,t,n){"use strict";var o=n(625),r=n(263),a=n(225).call(Function.call,Object.prototype.propertyIsEnumerable);e.exports=function(e){var t=o.RequireObjectCoercible(e),n=[];for(var i in t)r(t,i)&&a(t,i)&&n.push(t[i]);return n}},function(e,t){e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},function(e,t,n){"use strict";var o=n(297),r=o("%TypeError%"),a=o("%SyntaxError%"),i=n(263),l={"Property Descriptor":function(e,t){if("Object"!==e.Type(t))return!1;var n={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var o in t)if(i(t,o)&&!n[o])return!1;var a=i(t,"[[Value]]"),l=i(t,"[[Get]]")||i(t,"[[Set]]");if(a&&l)throw new r("Property Descriptors may not be both accessor and data descriptors");return!0}};e.exports=function(e,t,n,o){var i=l[t];if("function"!=typeof i)throw new a("unknown record type: "+t);if(!i(e,o))throw new r(n+" must be a "+t);console.log(i(e,o),o)}},function(e,t){e.exports=Number.isNaN||function(e){return e!=e}},function(e,t){var n=Number.isNaN||function(e){return e!=e};e.exports=Number.isFinite||function(e){return"number"==typeof e&&!n(e)&&e!==1/0&&e!==-1/0}},function(e,t,n){var o=n(225).call(Function.call,Object.prototype.hasOwnProperty),r=Object.assign;e.exports=function(e,t){if(r)return r(e,t);for(var n in t)o(t,n)&&(e[n]=t[n]);return e}},function(e,t){e.exports=function(e){return e>=0?1:-1}},function(e,t){e.exports=function(e,t){var n=e%t;return Math.floor(n>=0?n:n+t)}},function(e,t,n){"use strict";var o=n(358);e.exports=function(){return"function"==typeof Object.values?Object.values:o}},function(e,t,n){"use strict";var o=n(638),r="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,i=Array.prototype.concat,l=Object.defineProperty,u=l&&function(){var e={};try{for(var t in l(e,"x",{enumerable:!1,value:e}),e)return!1;return e.x===e}catch(e){return!1}}(),s=function(e,t,n,o){var r;t in e&&("function"!=typeof(r=o)||"[object Function]"!==a.call(r)||!o())||(u?l(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},c=function(e,t){var n=arguments.length>2?arguments[2]:{},a=o(t);r&&(a=i.call(a,Object.getOwnPropertySymbols(t)));for(var l=0;l=0&&"[object Function]"===o.call(e.callee)),n}},function(e,t,n){"use strict";e.exports=function(e){if(arguments.length<1)throw new TypeError("1 argument is required");if("object"!=typeof e)throw new TypeError("Argument 1 (”other“) to Node.contains must be an instance of Node");var t=e;do{if(this===t)return!0;t&&(t=t.parentNode)}while(t);return!1}},function(e,t,n){"use strict";var o=n(369);e.exports=function(){if("undefined"!=typeof document){if(document.contains)return document.contains;if(document.body&&document.body.contains)return document.body.contains}return o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=b(n(0)),r=b(n(214)),a=n(203),i=n(204),l=b(n(205)),u=b(n(372)),s=b(n(241)),c=b(n(373)),d=b(n(247)),f=b(n(374)),h=b(n(230)),p=b(n(229)),y=b(n(248));function b(e){return e&&e.__esModule?e:{default:e}}var v={startDate:r.default.momentObj,endDate:r.default.momentObj,onDatesChange:o.default.func.isRequired,focusedInput:u.default,onFocusChange:o.default.func.isRequired,onClose:o.default.func,startDateId:o.default.string.isRequired,startDatePlaceholderText:o.default.string,startDateOffset:o.default.func,endDateOffset:o.default.func,endDateId:o.default.string.isRequired,endDatePlaceholderText:o.default.string,disabled:d.default,required:o.default.bool,readOnly:o.default.bool,screenReaderInputMessage:o.default.string,showClearDates:o.default.bool,showDefaultInputIcon:o.default.bool,inputIconPosition:s.default,customInputIcon:o.default.node,customArrowIcon:o.default.node,customCloseIcon:o.default.node,noBorder:o.default.bool,block:o.default.bool,small:o.default.bool,regular:o.default.bool,keepFocusOnInput:o.default.bool,renderMonthText:(0,a.mutuallyExclusiveProps)(o.default.func,"renderMonthText","renderMonthElement"),renderMonthElement:(0,a.mutuallyExclusiveProps)(o.default.func,"renderMonthText","renderMonthElement"),orientation:c.default,anchorDirection:f.default,openDirection:h.default,horizontalMargin:o.default.number,withPortal:o.default.bool,withFullScreenPortal:o.default.bool,appendToBody:o.default.bool,disableScroll:o.default.bool,daySize:a.nonNegativeInteger,isRTL:o.default.bool,firstDayOfWeek:p.default,initialVisibleMonth:o.default.func,numberOfMonths:o.default.number,keepOpenOnDateSelect:o.default.bool,reopenPickerOnClearDates:o.default.bool,renderCalendarInfo:o.default.func,calendarInfoPosition:y.default,hideKeyboardShortcutsPanel:o.default.bool,verticalHeight:a.nonNegativeInteger,transitionDuration:a.nonNegativeInteger,verticalSpacing:a.nonNegativeInteger,horizontalMonthPadding:a.nonNegativeInteger,navPrev:o.default.node,navNext:o.default.node,onPrevMonthClick:o.default.func,onNextMonthClick:o.default.func,renderCalendarDay:o.default.func,renderDayContents:o.default.func,minimumNights:o.default.number,enableOutsideDays:o.default.bool,isDayBlocked:o.default.func,isOutsideRange:o.default.func,isDayHighlighted:o.default.func,displayFormat:o.default.oneOfType([o.default.string,o.default.func]),monthFormat:o.default.string,weekDayFormat:o.default.string,phrases:o.default.shape((0,l.default)(i.DateRangePickerPhrases)),dayAriaLabelFormat:o.default.string};t.default=v},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.START_DATE,a.END_DATE]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.HORIZONTAL_ORIENTATION,a.VERTICAL_ORIENTATION]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,r=(o=n(0))&&o.__esModule?o:{default:o},a=n(201);var i=r.default.oneOf([a.ANCHOR_LEFT,a.ANCHOR_RIGHT]);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r){var a="undefined"!=typeof window?window.innerWidth:0,i=e===o.ANCHOR_LEFT?a-n:n,l=r||0;return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n;return e}({},e,Math.min(t+i-l,0))};var o=n(201)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var r=n.getBoundingClientRect(),a=r.left,i=r.top;e===o.OPEN_UP&&(i=-(window.innerHeight-r.bottom));t===o.ANCHOR_RIGHT&&(a=-(window.innerWidth-r.right));return{transform:"translate3d(".concat(Math.round(a),"px, ").concat(Math.round(i),"px, 0)")}};var o=n(201)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getScrollParent=r,t.getScrollAncestorsOverflowY=a,t.default=function(e){var t=a(e),n=function(e){return t.forEach((function(t,n){n.style.setProperty("overflow-y",e?"hidden":t)}))};return n(!0),function(){return n(!1)}};var o=function(){return document.scrollingElement||document.documentElement};function r(e){var t=e.parentElement;if(null==t)return o();var n=window.getComputedStyle(t).overflowY;return"visible"!==n&&"hidden"!==n&&t.scrollHeight>t.clientHeight?t:r(t)}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map,n=o(),i=r(e);return t.set(i,i.style.overflowY),i===n?t:a(i,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=h(n(207)),r=h(n(1)),a=(h(n(0)),h(n(2))),i=(h(n(214)),n(203),h(n(230)),n(204)),l=(h(n(205)),h(n(379))),u=(h(n(241)),h(n(247)),h(n(238))),s=h(n(300)),c=h(n(242)),d=h(n(249)),f=n(201);function h(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t){for(var n=0;n0&&(K||L||u!==k)){var Y=g||this.today;z=this.deleteModifierFromRange(z,Y,Y.clone().add(k,"days"),"blocked-minimum-nights"),z=this.deleteModifierFromRange(z,Y,Y.clone().add(k,"days"),"blocked")}if((K||x)&&(0,i.default)(j).forEach((function(e){Object.keys(e).forEach((function(e){var n=(0,a.default)(e),o=!1;(K||A)&&(s(n)?(z=t.addModifier(z,n,"blocked-out-of-range"),o=!0):z=t.deleteModifier(z,n,"blocked-out-of-range")),(K||N)&&(c(n)?(z=t.addModifier(z,n,"blocked-calendar"),o=!0):z=t.deleteModifier(z,n,"blocked-calendar")),z=o?t.addModifier(z,n,"blocked"):t.deleteModifier(z,n,"blocked"),(K||F)&&(z=f(n)?t.addModifier(z,n,"highlighted-calendar"):t.deleteModifier(z,n,"highlighted-calendar"))}))})),!this.isTouchDevice&&K&&E&&!this.isBlocked(E)){var q=l(E);q>0&&r===m.END_DATE&&(z=this.deleteModifierFromRange(z,E.clone().add(1,"days"),E.clone().add(q,"days"),"hovered-start-blocked-minimum-nights"),z=this.deleteModifier(z,E.clone().add(q,"days"),"hovered-start-first-possible-end")),q>0&&r===m.START_DATE&&(z=this.addModifierToRange(z,E.clone().add(1,"days"),E.clone().add(q,"days"),"hovered-start-blocked-minimum-nights"),z=this.addModifier(z,E.clone().add(q,"days"),"hovered-start-first-possible-end"))}u>0&&n&&r===m.END_DATE&&(z=this.addModifierToRange(z,n,n.clone().add(u,"days"),"blocked-minimum-nights"),z=this.addModifierToRange(z,n,n.clone().add(u,"days"),"blocked"));var X=(0,a.default)();if((0,d.default)(this.today,X)||(z=this.deleteModifier(z,this.today,"today"),z=this.addModifier(z,X,"today"),this.today=X),Object.keys(z).length>0&&this.setState({visibleDays:P({},j,z)}),K||h!==C){var Z=R(h,r);this.setState({phrases:P({},h,{chooseAvailableDate:Z})})}}},{key:"onDayClick",value:function(e,t){var n=this.props,o=n.keepOpenOnDateSelect,r=n.minimumNights,a=n.onBlur,i=n.focusedInput,l=n.onFocusChange,u=n.onClose,c=n.onDatesChange,d=n.startDateOffset,p=n.endDateOffset,y=n.disabled;if(t&&t.preventDefault(),!this.isBlocked(e)){var v=this.props,g=v.startDate,_=v.endDate;if(d||p){if(g=(0,b.default)(d,e),_=(0,b.default)(p,e),this.isBlocked(g)||this.isBlocked(_))return;c({startDate:g,endDate:_}),o||(l(null),u({startDate:g,endDate:_}))}else if(i===m.START_DATE){var D=_&&_.clone().subtract(r,"days"),k=(0,h.default)(D,e)||(0,f.default)(g,_),O=y===m.END_DATE;O&&k||(g=e,k&&(_=null)),c({startDate:g,endDate:_}),O&&!k?(l(null),u({startDate:g,endDate:_})):O||l(m.END_DATE)}else if(i===m.END_DATE){var P=g&&g.clone().add(r,"days");g?(0,s.default)(e,P)?(c({startDate:g,endDate:_=e}),o||(l(null),u({startDate:g,endDate:_}))):y!==m.START_DATE?c({startDate:g=e,endDate:_=null}):c({startDate:g,endDate:_}):(c({startDate:g,endDate:_=e}),l(m.START_DATE))}else c({startDate:g,endDate:_});a()}}},{key:"onDayMouseEnter",value:function(e){if(!this.isTouchDevice){var t=this.props,n=t.startDate,o=t.endDate,r=t.focusedInput,a=t.getMinNightsForHoverDate,i=t.minimumNights,l=t.startDateOffset,u=t.endDateOffset,s=this.state,c=s.hoverDate,p=s.visibleDays,y=s.dateOffset,v=null;if(r){var g=l||u,_={};if(g){var D=(0,b.default)(l,e),k=(0,b.default)(u,e,(function(e){return e.add(1,"day")}));v={start:D,end:k},y&&y.start&&y.end&&(_=this.deleteModifierFromRange(_,y.start,y.end,"hovered-offset")),_=this.addModifierToRange(_,D,k,"hovered-offset")}if(!g){if(_=this.deleteModifier(_,c,"hovered"),_=this.addModifier(_,e,"hovered"),n&&!o&&r===m.END_DATE){if((0,f.default)(c,n)){var O=c.clone().add(1,"day");_=this.deleteModifierFromRange(_,n,O,"hovered-span")}if(!this.isBlocked(e)&&(0,f.default)(e,n)){var S=e.clone().add(1,"day");_=this.addModifierToRange(_,n,S,"hovered-span")}}if(!n&&o&&r===m.START_DATE&&((0,h.default)(c,o)&&(_=this.deleteModifierFromRange(_,c,o,"hovered-span")),!this.isBlocked(e)&&(0,h.default)(e,o)&&(_=this.addModifierToRange(_,e,o,"hovered-span"))),n){var w=n.clone().add(1,"day"),C=n.clone().add(i+1,"days");if(_=this.deleteModifierFromRange(_,w,C,"after-hovered-start"),(0,d.default)(e,n)){var T=n.clone().add(1,"day"),M=n.clone().add(i+1,"days");_=this.addModifierToRange(_,T,M,"after-hovered-start")}}if(c&&!this.isBlocked(c)){var I=a(c);I>0&&r===m.START_DATE&&(_=this.deleteModifierFromRange(_,c.clone().add(1,"days"),c.clone().add(I,"days"),"hovered-start-blocked-minimum-nights"),_=this.deleteModifier(_,c.clone().add(I,"days"),"hovered-start-first-possible-end"))}if(!this.isBlocked(e)){var E=a(e);E>0&&r===m.START_DATE&&(_=this.addModifierToRange(_,e.clone().add(1,"days"),e.clone().add(E,"days"),"hovered-start-blocked-minimum-nights"),_=this.addModifier(_,e.clone().add(E,"days"),"hovered-start-first-possible-end"))}}this.setState({hoverDate:e,dateOffset:v,visibleDays:P({},p,_)})}}}},{key:"onDayMouseLeave",value:function(e){var t=this.props,n=t.startDate,o=t.endDate,r=t.focusedInput,a=t.getMinNightsForHoverDate,i=t.minimumNights,l=this.state,u=l.hoverDate,s=l.visibleDays,c=l.dateOffset;if(!this.isTouchDevice&&u){var h={};if(h=this.deleteModifier(h,u,"hovered"),c&&(h=this.deleteModifierFromRange(h,c.start,c.end,"hovered-offset")),n&&!o&&(0,f.default)(u,n)){var p=u.clone().add(1,"day");h=this.deleteModifierFromRange(h,n,p,"hovered-span")}if(!n&&o&&(0,f.default)(o,u)&&(h=this.deleteModifierFromRange(h,u,o,"hovered-span")),n&&(0,d.default)(e,n)){var y=n.clone().add(1,"day"),b=n.clone().add(i+1,"days");h=this.deleteModifierFromRange(h,y,b,"after-hovered-start")}if(!this.isBlocked(u)){var v=a(u);v>0&&r===m.START_DATE&&(h=this.deleteModifierFromRange(h,u.clone().add(1,"days"),u.clone().add(v,"days"),"hovered-start-blocked-minimum-nights"),h=this.deleteModifier(h,u.clone().add(v,"days"),"hovered-start-first-possible-end"))}this.setState({hoverDate:null,visibleDays:P({},s,h)})}}},{key:"onPrevMonthClick",value:function(){var e=this.props,t=e.enableOutsideDays,n=e.maxDate,o=e.minDate,r=e.numberOfMonths,a=e.onPrevMonthClick,i=this.state,l=i.currentMonth,u=i.visibleDays,s={};Object.keys(u).sort().slice(0,r+1).forEach((function(e){s[e]=u[e]}));var c=l.clone().subtract(2,"months"),d=(0,p.default)(c,1,t,!0),f=l.clone().subtract(1,"month");this.setState({currentMonth:f,disablePrev:this.shouldDisableMonthNavigation(o,f),disableNext:this.shouldDisableMonthNavigation(n,f),visibleDays:P({},s,this.getModifiers(d))},(function(){a(f.clone())}))}},{key:"onNextMonthClick",value:function(){var e=this.props,t=e.enableOutsideDays,n=e.maxDate,o=e.minDate,r=e.numberOfMonths,a=e.onNextMonthClick,i=this.state,l=i.currentMonth,u=i.visibleDays,s={};Object.keys(u).sort().slice(1).forEach((function(e){s[e]=u[e]}));var c=l.clone().add(r+1,"month"),d=(0,p.default)(c,1,t,!0),f=l.clone().add(1,"month");this.setState({currentMonth:f,disablePrev:this.shouldDisableMonthNavigation(o,f),disableNext:this.shouldDisableMonthNavigation(n,f),visibleDays:P({},s,this.getModifiers(d))},(function(){a(f.clone())}))}},{key:"onMonthChange",value:function(e){var t=this.props,n=t.numberOfMonths,o=t.enableOutsideDays,r=t.orientation===m.VERTICAL_SCROLLABLE,a=(0,p.default)(e,n,o,r);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(a)})}},{key:"onYearChange",value:function(e){var t=this.props,n=t.numberOfMonths,o=t.enableOutsideDays,r=t.orientation===m.VERTICAL_SCROLLABLE,a=(0,p.default)(e,n,o,r);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(a)})}},{key:"onMultiplyScrollableMonths",value:function(){var e=this.props,t=e.numberOfMonths,n=e.enableOutsideDays,o=this.state,r=o.currentMonth,a=o.visibleDays,i=Object.keys(a).length,l=r.clone().add(i,"month"),u=(0,p.default)(l,t,n,!0);this.setState({visibleDays:P({},a,this.getModifiers(u))})}},{key:"getFirstFocusableDay",value:function(e){var t=this,n=this.props,o=n.startDate,r=n.endDate,a=n.focusedInput,i=n.minimumNights,l=n.numberOfMonths,u=e.clone().startOf("month");if(a===m.START_DATE&&o?u=o.clone():a===m.END_DATE&&!r&&o?u=o.clone().add(i,"days"):a===m.END_DATE&&r&&(u=r.clone()),this.isBlocked(u)){for(var s=[],c=e.clone().add(l-1,"months").endOf("month"),d=u.clone();!(0,f.default)(d,c);)d=d.clone().add(1,"day"),s.push(d);var h=s.filter((function(e){return!t.isBlocked(e)}));h.length>0&&(u=O(h,1)[0])}return u}},{key:"getModifiers",value:function(e){var t=this,n={};return Object.keys(e).forEach((function(o){n[o]={},e[o].forEach((function(e){n[o][(0,v.default)(e)]=t.getModifiersForDay(e)}))})),n}},{key:"getModifiersForDay",value:function(e){var t=this;return new Set(Object.keys(this.modifiers).filter((function(n){return t.modifiers[n](e)})))}},{key:"getStateForNewMonth",value:function(e){var t=this,n=e.initialVisibleMonth,o=e.numberOfMonths,r=e.enableOutsideDays,a=e.orientation,i=e.startDate,l=(n||(i?function(){return i}:function(){return t.today}))(),u=a===m.VERTICAL_SCROLLABLE;return{currentMonth:l,visibleDays:this.getModifiers((0,p.default)(l,o,r,u))}}},{key:"shouldDisableMonthNavigation",value:function(e,t){if(!e)return!1;var n=this.props,o=n.numberOfMonths,r=n.enableOutsideDays;return(0,y.default)(e,t,o,r)}},{key:"addModifier",value:function(e,t,n){var o=this.props,r=o.numberOfMonths,a=o.enableOutsideDays,i=o.orientation,l=this.state,u=l.currentMonth,s=l.visibleDays,c=u,d=r;if(i===m.VERTICAL_SCROLLABLE?d=Object.keys(s).length:(c=c.clone().subtract(1,"month"),d+=2),!t||!(0,y.default)(t,c,d,a))return e;var f=(0,v.default)(t),h=P({},e);if(a)h=Object.keys(s).filter((function(e){return Object.keys(s[e]).indexOf(f)>-1})).reduce((function(t,o){var r=e[o]||s[o],a=new Set(r[f]);return a.add(n),P({},t,S({},o,P({},r,S({},f,a))))}),h);else{var p=(0,g.default)(t),b=e[p]||s[p],_=new Set(b[f]);_.add(n),h=P({},h,S({},p,P({},b,S({},f,_))))}return h}},{key:"addModifierToRange",value:function(e,t,n,o){for(var r=e,a=t.clone();(0,h.default)(a,n);)r=this.addModifier(r,a,o),a=a.clone().add(1,"day");return r}},{key:"deleteModifier",value:function(e,t,n){var o=this.props,r=o.numberOfMonths,a=o.enableOutsideDays,i=o.orientation,l=this.state,u=l.currentMonth,s=l.visibleDays,c=u,d=r;if(i===m.VERTICAL_SCROLLABLE?d=Object.keys(s).length:(c=c.clone().subtract(1,"month"),d+=2),!t||!(0,y.default)(t,c,d,a))return e;var f=(0,v.default)(t),h=P({},e);if(a)h=Object.keys(s).filter((function(e){return Object.keys(s[e]).indexOf(f)>-1})).reduce((function(t,o){var r=e[o]||s[o],a=new Set(r[f]);return a.delete(n),P({},t,S({},o,P({},r,S({},f,a))))}),h);else{var p=(0,g.default)(t),b=e[p]||s[p],_=new Set(b[f]);_.delete(n),h=P({},h,S({},p,P({},b,S({},f,_))))}return h}},{key:"deleteModifierFromRange",value:function(e,t,n,o){for(var r=e,a=t.clone();(0,h.default)(a,n);)r=this.deleteModifier(r,a,o),a=a.clone().add(1,"day");return r}},{key:"doesNotMeetMinimumNights",value:function(e){var t=this.props,n=t.startDate,o=t.isOutsideRange,r=t.focusedInput,i=t.minimumNights;if(r!==m.END_DATE)return!1;if(n){var l=e.diff(n.clone().startOf("day").hour(12),"days");return l=0}return o((0,a.default)(e).subtract(i,"days"))}},{key:"doesNotMeetMinNightsForHoveredStartDate",value:function(e,t){var n=this.props,o=n.focusedInput,r=n.getMinNightsForHoverDate;if(o!==m.END_DATE)return!1;if(t&&!this.isBlocked(t)){var a=r(t),i=e.diff(t.clone().startOf("day").hour(12),"days");return i=0}return!1}},{key:"isDayAfterHoveredStartDate",value:function(e){var t=this.props,n=t.startDate,o=t.endDate,r=t.minimumNights,a=(this.state||{}).hoverDate;return!!n&&!o&&!this.isBlocked(e)&&(0,c.default)(a,e)&&r>0&&(0,d.default)(a,n)}},{key:"isEndDate",value:function(e){var t=this.props.endDate;return(0,d.default)(e,t)}},{key:"isHovered",value:function(e){var t=(this.state||{}).hoverDate;return!!this.props.focusedInput&&(0,d.default)(e,t)}},{key:"isInHoveredSpan",value:function(e){var t=this.props,n=t.startDate,o=t.endDate,r=(this.state||{}).hoverDate,a=!!n&&!o&&(e.isBetween(n,r)||(0,d.default)(r,e)),i=!!o&&!n&&(e.isBetween(r,o)||(0,d.default)(r,e)),l=r&&!this.isBlocked(r);return(a||i)&&l}},{key:"isInSelectedSpan",value:function(e){var t=this.props,n=t.startDate,o=t.endDate;return e.isBetween(n,o)}},{key:"isLastInRange",value:function(e){var t=this.props.endDate;return this.isInSelectedSpan(e)&&(0,c.default)(e,t)}},{key:"isStartDate",value:function(e){var t=this.props.startDate;return(0,d.default)(e,t)}},{key:"isBlocked",value:function(e){var t=this.props,n=t.isDayBlocked,o=t.isOutsideRange;return n(e)||o(e)||this.doesNotMeetMinimumNights(e)}},{key:"isToday",value:function(e){return(0,d.default)(e,this.today)}},{key:"isFirstDayOfWeek",value:function(e){var t=this.props.firstDayOfWeek;return e.day()===(t||a.default.localeData().firstDayOfWeek())}},{key:"isLastDayOfWeek",value:function(e){var t=this.props.firstDayOfWeek;return e.day()===((t||a.default.localeData().firstDayOfWeek())+6)%7}},{key:"isFirstPossibleEndDateForHoveredStartDate",value:function(e,t){var n=this.props,o=n.focusedInput,r=n.getMinNightsForHoverDate;if(o!==m.END_DATE||!t||this.isBlocked(t))return!1;var a=r(t),i=t.clone().add(a,"days");return(0,d.default)(e,i)}},{key:"render",value:function(){var e=this.props,t=e.numberOfMonths,n=e.orientation,o=e.monthFormat,a=e.renderMonthText,i=e.navPrev,l=e.navNext,u=e.noNavButtons,s=e.onOutsideClick,c=e.withPortal,d=e.enableOutsideDays,f=e.firstDayOfWeek,h=e.renderKeyboardShortcutsButton,p=e.hideKeyboardShortcutsPanel,y=e.daySize,b=e.focusedInput,v=e.renderCalendarDay,g=e.renderDayContents,m=e.renderCalendarInfo,D=e.renderMonthElement,k=e.calendarInfoPosition,O=e.onBlur,P=e.onShiftTab,S=e.onTab,w=e.isFocused,C=e.showKeyboardShortcuts,T=e.isRTL,M=e.weekDayFormat,I=e.dayAriaLabelFormat,E=e.verticalHeight,R=e.noBorder,j=e.transitionDuration,A=e.verticalBorderSpacing,N=e.horizontalMonthPadding,F=this.state,x=F.currentMonth,L=F.phrases,B=F.visibleDays,K=F.disablePrev,H=F.disableNext;return r.default.createElement(_.default,{orientation:n,enableOutsideDays:d,modifiers:B,numberOfMonths:t,onDayClick:this.onDayClick,onDayMouseEnter:this.onDayMouseEnter,onDayMouseLeave:this.onDayMouseLeave,onPrevMonthClick:this.onPrevMonthClick,onNextMonthClick:this.onNextMonthClick,onMonthChange:this.onMonthChange,onTab:S,onShiftTab:P,onYearChange:this.onYearChange,onMultiplyScrollableMonths:this.onMultiplyScrollableMonths,monthFormat:o,renderMonthText:a,withPortal:c,hidden:!b,initialVisibleMonth:function(){return x},daySize:y,onOutsideClick:s,disablePrev:K,disableNext:H,navPrev:i,navNext:l,noNavButtons:u,renderCalendarDay:v,renderDayContents:g,renderCalendarInfo:m,renderMonthElement:D,renderKeyboardShortcutsButton:h,calendarInfoPosition:k,firstDayOfWeek:f,hideKeyboardShortcutsPanel:p,isFocused:w,getFirstFocusableDay:this.getFirstFocusableDay,onBlur:O,showKeyboardShortcuts:C,phrases:L,isRTL:T,weekDayFormat:M,dayAriaLabelFormat:I,verticalHeight:E,verticalBorderSpacing:A,noBorder:R,transitionDuration:j,horizontalMonthPadding:N})}}]),t}(r.default.PureComponent||r.default.Component);t.default=j,j.propTypes={},j.defaultProps=E},function(e,t,n){"use strict";var o=n(246),r=n(389),a=n(390),i=n(653),l=a();o(l,{getPolyfill:a,implementation:r,shim:i}),e.exports=l},function(e,t,n){"use strict";var o=n(652),r=n(258),a=n(225).call(Function.call,Object.prototype.propertyIsEnumerable);e.exports=function(e){var t=o.RequireObjectCoercible(e),n=[];for(var i in t)r(t,i)&&a(t,i)&&n.push(t[i]);return n}},function(e,t,n){"use strict";var o=n(389);e.exports=function(){return"function"==typeof Object.values?Object.values:o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!o.default.isMoment(e)||!o.default.isMoment(t))return!1;var n=(0,o.default)(e).add(1,"day");return(0,r.default)(n,t)};var o=a(n(2)),r=a(n(237));function a(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,a){if(!o.default.isMoment(e))return{};for(var i={},l=a?e.clone():e.clone().subtract(1,"month"),u=0;u<(a?t:t+2);u+=1){var s=[],c=l.clone(),d=c.clone().startOf("month").hour(12),f=c.clone().endOf("month").hour(12),h=d.clone();if(n)for(var p=0;p0&&this.setState({visibleDays:_({},O,E)})}},{key:"componentWillUpdate",value:function(){this.today=(0,a.default)()}},{key:"onDayClick",value:function(e,t){if(t&&t.preventDefault(),!this.isBlocked(e)){var n=this.props,o=n.onDateChange,r=n.keepOpenOnDateSelect,a=n.onFocusChange,i=n.onClose;o(e),r||(a({focused:!1}),i({date:e}))}}},{key:"onDayMouseEnter",value:function(e){if(!this.isTouchDevice){var t=this.state,n=t.hoverDate,o=t.visibleDays,r=this.deleteModifier({},n,"hovered");r=this.addModifier(r,e,"hovered"),this.setState({hoverDate:e,visibleDays:_({},o,r)})}}},{key:"onDayMouseLeave",value:function(){var e=this.state,t=e.hoverDate,n=e.visibleDays;if(!this.isTouchDevice&&t){var o=this.deleteModifier({},t,"hovered");this.setState({hoverDate:null,visibleDays:_({},n,o)})}}},{key:"onPrevMonthClick",value:function(){var e=this.props,t=e.onPrevMonthClick,n=e.numberOfMonths,o=e.enableOutsideDays,r=this.state,a=r.currentMonth,i=r.visibleDays,l={};Object.keys(i).sort().slice(0,n+1).forEach((function(e){l[e]=i[e]}));var u=a.clone().subtract(1,"month"),s=(0,d.default)(u,1,o);this.setState({currentMonth:u,visibleDays:_({},l,this.getModifiers(s))},(function(){t(u.clone())}))}},{key:"onNextMonthClick",value:function(){var e=this.props,t=e.onNextMonthClick,n=e.numberOfMonths,o=e.enableOutsideDays,r=this.state,a=r.currentMonth,i=r.visibleDays,l={};Object.keys(i).sort().slice(1).forEach((function(e){l[e]=i[e]}));var u=a.clone().add(n,"month"),s=(0,d.default)(u,1,o),c=a.clone().add(1,"month");this.setState({currentMonth:c,visibleDays:_({},l,this.getModifiers(s))},(function(){t(c.clone())}))}},{key:"onMonthChange",value:function(e){var t=this.props,n=t.numberOfMonths,o=t.enableOutsideDays,r=t.orientation===y.VERTICAL_SCROLLABLE,a=(0,d.default)(e,n,o,r);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(a)})}},{key:"onYearChange",value:function(e){var t=this.props,n=t.numberOfMonths,o=t.enableOutsideDays,r=t.orientation===y.VERTICAL_SCROLLABLE,a=(0,d.default)(e,n,o,r);this.setState({currentMonth:e.clone(),visibleDays:this.getModifiers(a)})}},{key:"getFirstFocusableDay",value:function(e){var t=this,n=this.props,o=n.date,r=n.numberOfMonths,a=e.clone().startOf("month");if(o&&(a=o.clone()),this.isBlocked(a)){for(var i=[],l=e.clone().add(r-1,"months").endOf("month"),u=a.clone();!(0,c.default)(u,l);)u=u.clone().add(1,"day"),i.push(u);var s=i.filter((function(e){return!t.isBlocked(e)&&(0,c.default)(e,a)}));if(s.length>0){var d=m(s,1);a=d[0]}}return a}},{key:"getModifiers",value:function(e){var t=this,n={};return Object.keys(e).forEach((function(o){n[o]={},e[o].forEach((function(e){n[o][(0,h.default)(e)]=t.getModifiersForDay(e)}))})),n}},{key:"getModifiersForDay",value:function(e){var t=this;return new Set(Object.keys(this.modifiers).filter((function(n){return t.modifiers[n](e)})))}},{key:"getStateForNewMonth",value:function(e){var t=this,n=e.initialVisibleMonth,o=e.date,r=e.numberOfMonths,a=e.enableOutsideDays,i=(n||(o?function(){return o}:function(){return t.today}))();return{currentMonth:i,visibleDays:this.getModifiers((0,d.default)(i,r,a))}}},{key:"addModifier",value:function(e,t,n){var o=this.props,r=o.numberOfMonths,a=o.enableOutsideDays,i=o.orientation,l=this.state,u=l.currentMonth,s=l.visibleDays,c=u,d=r;if(i===y.VERTICAL_SCROLLABLE?d=Object.keys(s).length:(c=c.clone().subtract(1,"month"),d+=2),!t||!(0,f.default)(t,c,d,a))return e;var b=(0,h.default)(t),v=_({},e);if(a)v=Object.keys(s).filter((function(e){return Object.keys(s[e]).indexOf(b)>-1})).reduce((function(t,o){var r=e[o]||s[o],a=new Set(r[b]);return a.add(n),_({},t,D({},o,_({},r,D({},b,a))))}),v);else{var g=(0,p.default)(t),m=e[g]||s[g],k=new Set(m[b]);k.add(n),v=_({},v,D({},g,_({},m,D({},b,k))))}return v}},{key:"deleteModifier",value:function(e,t,n){var o=this.props,r=o.numberOfMonths,a=o.enableOutsideDays,i=o.orientation,l=this.state,u=l.currentMonth,s=l.visibleDays,c=u,d=r;if(i===y.VERTICAL_SCROLLABLE?d=Object.keys(s).length:(c=c.clone().subtract(1,"month"),d+=2),!t||!(0,f.default)(t,c,d,a))return e;var b=(0,h.default)(t),v=_({},e);if(a)v=Object.keys(s).filter((function(e){return Object.keys(s[e]).indexOf(b)>-1})).reduce((function(t,o){var r=e[o]||s[o],a=new Set(r[b]);return a.delete(n),_({},t,D({},o,_({},r,D({},b,a))))}),v);else{var g=(0,p.default)(t),m=e[g]||s[g],k=new Set(m[b]);k.delete(n),v=_({},v,D({},g,_({},m,D({},b,k))))}return v}},{key:"isBlocked",value:function(e){var t=this.props,n=t.isDayBlocked,o=t.isOutsideRange;return n(e)||o(e)}},{key:"isHovered",value:function(e){var t=(this.state||{}).hoverDate;return(0,s.default)(e,t)}},{key:"isSelected",value:function(e){var t=this.props.date;return(0,s.default)(e,t)}},{key:"isToday",value:function(e){return(0,s.default)(e,this.today)}},{key:"isFirstDayOfWeek",value:function(e){var t=this.props.firstDayOfWeek;return e.day()===(t||a.default.localeData().firstDayOfWeek())}},{key:"isLastDayOfWeek",value:function(e){var t=this.props.firstDayOfWeek;return e.day()===((t||a.default.localeData().firstDayOfWeek())+6)%7}},{key:"render",value:function(){var e=this.props,t=e.numberOfMonths,n=e.orientation,o=e.monthFormat,a=e.renderMonthText,i=e.navPrev,l=e.navNext,u=e.onOutsideClick,s=e.onShiftTab,c=e.onTab,d=e.withPortal,f=e.focused,h=e.enableOutsideDays,p=e.hideKeyboardShortcutsPanel,y=e.daySize,v=e.firstDayOfWeek,g=e.renderCalendarDay,m=e.renderDayContents,_=e.renderCalendarInfo,D=e.renderMonthElement,k=e.calendarInfoPosition,O=e.isFocused,P=e.isRTL,S=e.phrases,w=e.dayAriaLabelFormat,C=e.onBlur,T=e.showKeyboardShortcuts,M=e.weekDayFormat,I=e.verticalHeight,E=e.noBorder,R=e.transitionDuration,j=e.verticalBorderSpacing,A=e.horizontalMonthPadding,N=this.state,F=N.currentMonth,x=N.visibleDays;return r.default.createElement(b.default,{orientation:n,enableOutsideDays:h,modifiers:x,numberOfMonths:t,onDayClick:this.onDayClick,onDayMouseEnter:this.onDayMouseEnter,onDayMouseLeave:this.onDayMouseLeave,onPrevMonthClick:this.onPrevMonthClick,onNextMonthClick:this.onNextMonthClick,onMonthChange:this.onMonthChange,onYearChange:this.onYearChange,monthFormat:o,withPortal:d,hidden:!f,hideKeyboardShortcutsPanel:p,initialVisibleMonth:function(){return F},firstDayOfWeek:v,onOutsideClick:u,navPrev:i,navNext:l,renderMonthText:a,renderCalendarDay:g,renderDayContents:m,renderCalendarInfo:_,renderMonthElement:D,calendarInfoPosition:k,isFocused:O,getFirstFocusableDay:this.getFirstFocusableDay,onBlur:C,onTab:c,onShiftTab:s,phrases:S,daySize:y,isRTL:P,showKeyboardShortcuts:T,weekDayFormat:M,dayAriaLabelFormat:w,verticalHeight:I,noBorder:E,transitionDuration:R,verticalBorderSpacing:j,horizontalMonthPadding:A})}}]),t}(r.default.PureComponent||r.default.Component);t.default=T,T.propTypes={},T.defaultProps=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=p(n(0)),r=p(n(214)),a=n(203),i=n(204),l=p(n(205)),u=p(n(241)),s=p(n(373)),c=p(n(374)),d=p(n(230)),f=p(n(229)),h=p(n(248));function p(e){return e&&e.__esModule?e:{default:e}}var y={date:r.default.momentObj,onDateChange:o.default.func.isRequired,focused:o.default.bool,onFocusChange:o.default.func.isRequired,id:o.default.string.isRequired,placeholder:o.default.string,disabled:o.default.bool,required:o.default.bool,readOnly:o.default.bool,screenReaderInputMessage:o.default.string,showClearDate:o.default.bool,customCloseIcon:o.default.node,showDefaultInputIcon:o.default.bool,inputIconPosition:u.default,customInputIcon:o.default.node,noBorder:o.default.bool,block:o.default.bool,small:o.default.bool,regular:o.default.bool,verticalSpacing:a.nonNegativeInteger,keepFocusOnInput:o.default.bool,renderMonthText:(0,a.mutuallyExclusiveProps)(o.default.func,"renderMonthText","renderMonthElement"),renderMonthElement:(0,a.mutuallyExclusiveProps)(o.default.func,"renderMonthText","renderMonthElement"),orientation:s.default,anchorDirection:c.default,openDirection:d.default,horizontalMargin:o.default.number,withPortal:o.default.bool,withFullScreenPortal:o.default.bool,appendToBody:o.default.bool,disableScroll:o.default.bool,initialVisibleMonth:o.default.func,firstDayOfWeek:f.default,numberOfMonths:o.default.number,keepOpenOnDateSelect:o.default.bool,reopenPickerOnClearDate:o.default.bool,renderCalendarInfo:o.default.func,calendarInfoPosition:h.default,hideKeyboardShortcutsPanel:o.default.bool,daySize:a.nonNegativeInteger,isRTL:o.default.bool,verticalHeight:a.nonNegativeInteger,transitionDuration:a.nonNegativeInteger,horizontalMonthPadding:a.nonNegativeInteger,navPrev:o.default.node,navNext:o.default.node,onPrevMonthClick:o.default.func,onNextMonthClick:o.default.func,onClose:o.default.func,renderCalendarDay:o.default.func,renderDayContents:o.default.func,enableOutsideDays:o.default.bool,isDayBlocked:o.default.func,isOutsideRange:o.default.func,isDayHighlighted:o.default.func,displayFormat:o.default.oneOfType([o.default.string,o.default.func]),monthFormat:o.default.string,weekDayFormat:o.default.string,phrases:o.default.shape((0,l.default)(i.SingleDatePickerPhrases)),dayAriaLabelFormat:o.default.string};t.default=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=d(n(1)),r=(d(n(0)),n(203),n(208)),a=n(204),i=(d(n(205)),d(n(226))),l=d(n(380)),u=(d(n(241)),d(n(250))),s=d(n(386)),c=(d(n(230)),n(201));function d(e){return e&&e.__esModule?e:{default:e}}function f(){return(f=Object.assign||function(e){for(var t=1;t0&&!o.call(e,0))for(var y=0;y0)for(var b=0;b=0&&"[object Function]"===o.call(e.callee)),n}},function(e,t){var n=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=function(e,t,r){if("[object Function]"!==o.call(t))throw new TypeError("iterator must be a function");var a=e.length;if(a===+a)for(var i=0;i= 0");var n=this.ToLength(t);if(!this.SameValueZero(t,n))throw new RangeError("index must be >= 0 and < 2 ** 53 - 1");return n}});delete a.EnumerableOwnNames,e.exports=a},function(e,t,n){"use strict";var o=n(258),r=n(595),a=Object.prototype.toString,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,l=n(340),u=n(341),s=Number.MAX_SAFE_INTEGER||Math.pow(2,53)-1,c=n(293),d=n(342),f=n(343),h=n(596),p=parseInt,y=n(225),b=y.call(Function.call,Array.prototype.slice),v=y.call(Function.call,String.prototype.slice),g=y.call(Function.call,RegExp.prototype.test,/^0b[01]+$/i),m=y.call(Function.call,RegExp.prototype.test,/^0o[0-7]+$/i),_=y.call(Function.call,RegExp.prototype.exec),D=["…","​","￾"].join(""),k=new RegExp("["+D+"]","g"),O=y.call(Function.call,RegExp.prototype.test,k),P=y.call(Function.call,RegExp.prototype.test,/^[-+]0x[0-9a-f]+$/i),S=["\t\n\v\f\r   ᠎    ","          \u2028","\u2029\ufeff"].join(""),w=new RegExp("(^["+S+"]+)|(["+S+"]+$)","g"),C=y.call(Function.call,String.prototype.replace),T=n(597),M=n(344),I=c(c({},T),{Call:function(e,t){var n=arguments.length>2?arguments[2]:[];if(!this.IsCallable(e))throw new TypeError(e+" is not a function");return e.apply(t,n)},ToPrimitive:r,ToNumber:function(e){var t=h(e)?e:r(e,Number);if("symbol"==typeof t)throw new TypeError("Cannot convert a Symbol value to a number");if("string"==typeof t){if(g(t))return this.ToNumber(p(v(t,2),2));if(m(t))return this.ToNumber(p(v(t,2),8));if(O(t)||P(t))return NaN;var n=function(e){return C(e,w,"")}(t);if(n!==t)return this.ToNumber(n)}return Number(t)},ToInt16:function(e){var t=this.ToUint16(e);return t>=32768?t-65536:t},ToInt8:function(e){var t=this.ToUint8(e);return t>=128?t-256:t},ToUint8:function(e){var t=this.ToNumber(e);if(l(t)||0===t||!u(t))return 0;var n=d(t)*Math.floor(Math.abs(t));return f(n,256)},ToUint8Clamp:function(e){var t=this.ToNumber(e);if(l(t)||t<=0)return 0;if(t>=255)return 255;var n=Math.floor(e);return n+.5s?s:t},CanonicalNumericIndexString:function(e){if("[object String]"!==a.call(e))throw new TypeError("must be a string");if("-0"===e)return-0;var t=this.ToNumber(e);return this.SameValue(this.ToString(t),e)?t:void 0},RequireObjectCoercible:T.CheckObjectCoercible,IsArray:Array.isArray||function(e){return"[object Array]"===a.call(e)},IsConstructor:function(e){return"function"==typeof e&&!!e.prototype},IsExtensible:function(e){return!Object.preventExtensions||!h(e)&&Object.isExtensible(e)},IsInteger:function(e){if("number"!=typeof e||l(e)||!u(e))return!1;var t=Math.abs(e);return Math.floor(t)===t},IsPropertyKey:function(e){return"string"==typeof e||"symbol"==typeof e},IsRegExp:function(e){if(!e||"object"!=typeof e)return!1;if(i){var t=e[Symbol.match];if(void 0!==t)return T.ToBoolean(t)}return M(e)},SameValueZero:function(e,t){return e===t||l(e)&&l(t)},GetV:function(e,t){if(!this.IsPropertyKey(t))throw new TypeError("Assertion failed: IsPropertyKey(P) is not true");return this.ToObject(e)[t]},GetMethod:function(e,t){if(!this.IsPropertyKey(t))throw new TypeError("Assertion failed: IsPropertyKey(P) is not true");var n=this.GetV(e,t);if(null!=n){if(!this.IsCallable(n))throw new TypeError(t+"is not a function");return n}},Get:function(e,t){if("Object"!==this.Type(e))throw new TypeError("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new TypeError("Assertion failed: IsPropertyKey(P) is not true");return e[t]},Type:function(e){return"symbol"==typeof e?"Symbol":T.Type(e)},SpeciesConstructor:function(e,t){if("Object"!==this.Type(e))throw new TypeError("Assertion failed: Type(O) is not Object");var n=e.constructor;if(void 0===n)return t;if("Object"!==this.Type(n))throw new TypeError("O.constructor is not an Object");var o=i&&Symbol.species?n[Symbol.species]:void 0;if(null==o)return t;if(this.IsConstructor(o))return o;throw new TypeError("no constructor found")},CompletePropertyDescriptor:function(e){if(!this.IsPropertyDescriptor(e))throw new TypeError("Desc must be a Property Descriptor");return this.IsGenericDescriptor(e)||this.IsDataDescriptor(e)?(o(e,"[[Value]]")||(e["[[Value]]"]=void 0),o(e,"[[Writable]]")||(e["[[Writable]]"]=!1)):(o(e,"[[Get]]")||(e["[[Get]]"]=void 0),o(e,"[[Set]]")||(e["[[Set]]"]=void 0)),o(e,"[[Enumerable]]")||(e["[[Enumerable]]"]=!1),o(e,"[[Configurable]]")||(e["[[Configurable]]"]=!1),e},Set:function(e,t,n,o){if("Object"!==this.Type(e))throw new TypeError("O must be an Object");if(!this.IsPropertyKey(t))throw new TypeError("P must be a Property Key");if("Boolean"!==this.Type(o))throw new TypeError("Throw must be a Boolean");if(o)return e[t]=n,!0;try{e[t]=n}catch(e){return!1}},HasOwnProperty:function(e,t){if("Object"!==this.Type(e))throw new TypeError("O must be an Object");if(!this.IsPropertyKey(t))throw new TypeError("P must be a Property Key");return o(e,t)},HasProperty:function(e,t){if("Object"!==this.Type(e))throw new TypeError("O must be an Object");if(!this.IsPropertyKey(t))throw new TypeError("P must be a Property Key");return t in e},IsConcatSpreadable:function(e){if("Object"!==this.Type(e))return!1;if(i&&"symbol"==typeof Symbol.isConcatSpreadable){var t=this.Get(e,Symbol.isConcatSpreadable);if(void 0!==t)return this.ToBoolean(t)}return this.IsArray(e)},Invoke:function(e,t){if(!this.IsPropertyKey(t))throw new TypeError("P must be a Property Key");var n=b(arguments,2),o=this.GetV(e,t);return this.Call(o,e,n)},CreateIterResultObject:function(e,t){if("Boolean"!==this.Type(t))throw new TypeError("Assertion failed: Type(done) is not Boolean");return{value:e,done:t}},RegExpExec:function(e,t){if("Object"!==this.Type(e))throw new TypeError("R must be an Object");if("String"!==this.Type(t))throw new TypeError("S must be a String");var n=this.Get(e,"exec");if(this.IsCallable(n)){var o=this.Call(n,e,[t]);if(null===o||"Object"===this.Type(o))return o;throw new TypeError('"exec" method must return `null` or an Object')}return _(e,t)},ArraySpeciesCreate:function(e,t){if(!this.IsInteger(t)||t<0)throw new TypeError("Assertion failed: length must be an integer >= 0");var n,o=0===t?0:t;if(this.IsArray(e)&&(n=this.Get(e,"constructor"),"Object"===this.Type(n)&&i&&Symbol.species&&null===(n=this.Get(n,Symbol.species))&&(n=void 0)),void 0===n)return Array(o);if(!this.IsConstructor(n))throw new TypeError("C must be a constructor");return new n(o)},CreateDataProperty:function(e,t,n){if("Object"!==this.Type(e))throw new TypeError("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new TypeError("Assertion failed: IsPropertyKey(P) is not true");var o=Object.getOwnPropertyDescriptor(e,t),r=o||"function"!=typeof Object.isExtensible||Object.isExtensible(e);if(o&&(!o.writable||!o.configurable)||!r)return!1;var a={configurable:!0,enumerable:!0,value:n,writable:!0};return Object.defineProperty(e,t,a),!0},CreateDataPropertyOrThrow:function(e,t,n){if("Object"!==this.Type(e))throw new TypeError("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new TypeError("Assertion failed: IsPropertyKey(P) is not true");var o=this.CreateDataProperty(e,t,n);if(!o)throw new TypeError("unable to create data property");return o},AdvanceStringIndex:function(e,t,n){if("String"!==this.Type(e))throw new TypeError("Assertion failed: Type(S) is not String");if(!this.IsInteger(t))throw new TypeError("Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)");if(t<0||t>s)throw new RangeError("Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)");if("Boolean"!==this.Type(n))throw new TypeError("Assertion failed: Type(unicode) is not Boolean");if(!n)return t+1;if(t+1>=e.length)return t+1;var o=e.charCodeAt(t);if(o<55296||o>56319)return t+1;var r=e.charCodeAt(t+1);return r<56320||r>57343?t+1:t+2}});delete I.CheckObjectCoercible,e.exports=I},function(e,t,n){"use strict";var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,r=n(337),a=n(292),i=n(338),l=n(339),u=function(e,t){if(null==e)throw new TypeError("Cannot call method on "+e);if("string"!=typeof t||"number"!==t&&"string"!==t)throw new TypeError('hint must be "string" or "number"');var n,o,i,l="string"===t?["toString","valueOf"]:["valueOf","toString"];for(i=0;i1&&(t===String?a="string":t===Number&&(a="number")),o&&(Symbol.toPrimitive?n=s(e,Symbol.toPrimitive):l(e)&&(n=Symbol.prototype.valueOf)),void 0!==n){var c=n.call(e,a);if(r(c))return c;throw new TypeError("unable to convert exotic object to primitive")}return"default"===a&&(i(e)||l(e))&&(a="string"),u(e,"default"===a?"number":a)}},function(e,t){e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},function(e,t,n){"use strict";var o=n(340),r=n(341),a=n(342),i=n(343),l=n(292),u=n(598),s=n(258),c={ToPrimitive:u,ToBoolean:function(e){return!!e},ToNumber:function(e){return Number(e)},ToInteger:function(e){var t=this.ToNumber(e);return o(t)?0:0!==t&&r(t)?a(t)*Math.floor(Math.abs(t)):t},ToInt32:function(e){return this.ToNumber(e)>>0},ToUint32:function(e){return this.ToNumber(e)>>>0},ToUint16:function(e){var t=this.ToNumber(e);if(o(t)||0===t||!r(t))return 0;var n=a(t)*Math.floor(Math.abs(t));return i(n,65536)},ToString:function(e){return String(e)},ToObject:function(e){return this.CheckObjectCoercible(e),Object(e)},CheckObjectCoercible:function(e,t){if(null==e)throw new TypeError(t||"Cannot call method on "+e);return e},IsCallable:l,SameValue:function(e,t){return e===t?0!==e||1/e==1/t:o(e)&&o(t)},Type:function(e){return null===e?"Null":void 0===e?"Undefined":"function"==typeof e||"object"==typeof e?"Object":"number"==typeof e?"Number":"boolean"==typeof e?"Boolean":"string"==typeof e?"String":void 0},IsPropertyDescriptor:function(e){if("Object"!==this.Type(e))return!1;var t={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var n in e)if(s(e,n)&&!t[n])return!1;var o=s(e,"[[Value]]"),r=s(e,"[[Get]]")||s(e,"[[Set]]");if(o&&r)throw new TypeError("Property Descriptors may not be both accessor and data descriptors");return!0},IsAccessorDescriptor:function(e){if(void 0===e)return!1;if(!this.IsPropertyDescriptor(e))throw new TypeError("Desc must be a Property Descriptor");return!(!s(e,"[[Get]]")&&!s(e,"[[Set]]"))},IsDataDescriptor:function(e){if(void 0===e)return!1;if(!this.IsPropertyDescriptor(e))throw new TypeError("Desc must be a Property Descriptor");return!(!s(e,"[[Value]]")&&!s(e,"[[Writable]]"))},IsGenericDescriptor:function(e){if(void 0===e)return!1;if(!this.IsPropertyDescriptor(e))throw new TypeError("Desc must be a Property Descriptor");return!this.IsAccessorDescriptor(e)&&!this.IsDataDescriptor(e)},FromPropertyDescriptor:function(e){if(void 0===e)return e;if(!this.IsPropertyDescriptor(e))throw new TypeError("Desc must be a Property Descriptor");if(this.IsDataDescriptor(e))return{value:e["[[Value]]"],writable:!!e["[[Writable]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};if(this.IsAccessorDescriptor(e))return{get:e["[[Get]]"],set:e["[[Set]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};throw new TypeError("FromPropertyDescriptor must be called with a fully populated Property Descriptor")},ToPropertyDescriptor:function(e){if("Object"!==this.Type(e))throw new TypeError("ToPropertyDescriptor requires an object");var t={};if(s(e,"enumerable")&&(t["[[Enumerable]]"]=this.ToBoolean(e.enumerable)),s(e,"configurable")&&(t["[[Configurable]]"]=this.ToBoolean(e.configurable)),s(e,"value")&&(t["[[Value]]"]=e.value),s(e,"writable")&&(t["[[Writable]]"]=this.ToBoolean(e.writable)),s(e,"get")){var n=e.get;if(void 0!==n&&!this.IsCallable(n))throw new TypeError("getter must be a function");t["[[Get]]"]=n}if(s(e,"set")){var o=e.set;if(void 0!==o&&!this.IsCallable(o))throw new TypeError("setter must be a function");t["[[Set]]"]=o}if((s(t,"[[Get]]")||s(t,"[[Set]]"))&&(s(t,"[[Value]]")||s(t,"[[Writable]]")))throw new TypeError("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return t}};e.exports=c},function(e,t,n){"use strict";var o=Object.prototype.toString,r=n(337),a=n(292),i=function(e,t){var n=t||("[object Date]"===o.call(e)?String:Number);if(n===String||n===Number){var i,l,u=n===String?["toString","valueOf"]:["valueOf","toString"];for(l=0;l0?String(e)+"__":"")+String(t)}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=[],n=!1,o={},r=0;r>",baseInvalidMessage:"Invalid "};function o(e){if("function"!=typeof e)throw new Error(n.invalidPropValidator);var t=e.bind(null,!1,null);return t.isRequired=e.bind(null,!0,null),t.withPredicate=function(t){if("function"!=typeof t)throw new Error(n.invalidPredicate);var o=e.bind(null,!1,t);return o.isRequired=e.bind(null,!0,t),o},t}function r(e,t,o){return new Error("The prop `"+e+"` "+n.requiredCore+" in `"+t+"`, but its value is `"+o+"`.")}var a=-1;e.exports={constructPropValidatorVariations:o,createMomentChecker:function(e,t,i,l){return o((function(o,u,s,c,d,f,h){var p=s[c],y=typeof p,b=function(e,t,n,o){var i=void 0===o,l=null===o;if(e){if(i)return r(n,t,"undefined");if(l)return r(n,t,"null")}return i||l?null:a}(o,d=d||n.anonymousMessage,h=h||c,p);if(b!==a)return b;if(t&&!t(p))return new Error(n.invalidTypeCore+": `"+c+"` of type `"+y+"` supplied to `"+d+"`, expected `"+e+"`.");if(!i(p))return new Error(n.baseInvalidMessage+f+" `"+c+"` of type `"+y+"` supplied to `"+d+"`, expected `"+l+"`.");if(u&&!u(p)){var v=u.name||n.anonymousMessage;return new Error(n.baseInvalidMessage+f+" `"+c+"` of type `"+y+"` supplied to `"+d+"`. "+n.predicateFailureCore+" `"+v+"`.")}return null}))},messages:n}},function(e,t,n){"use strict";function o(){return null}function r(){return o}o.isRequired=o,e.exports={and:r,between:r,booleanSome:r,childrenHavePropXorChildren:r,childrenOf:r,childrenOfType:r,childrenSequenceOf:r,componentWithName:r,disallowedIf:r,elementType:r,empty:r,explicitNull:r,forbidExtraProps:Object,integer:r,keysOf:r,mutuallyExclusiveProps:r,mutuallyExclusiveTrueProps:r,nChildren:r,nonNegativeInteger:o,nonNegativeNumber:r,numericString:r,object:r,or:r,range:r,ref:r,requiredBy:r,restrictedProp:r,sequenceOf:r,shape:r,stringStartsWith:r,uniqueArray:r,uniqueArrayOf:r,valuesOf:r,withShape:r}},function(e,t,n){"use strict";var o={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a=Object.defineProperty,i=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,u=Object.getOwnPropertyDescriptor,s=Object.getPrototypeOf,c=s&&s(Object);e.exports=function e(t,n,d){if("string"!=typeof n){if(c){var f=s(n);f&&f!==c&&e(t,f,d)}var h=i(n);l&&(h=h.concat(l(n)));for(var p=0;p2&&void 0!==arguments[2]?arguments[2]:r.default.localeData().firstDayOfWeek();if(!r.default.isMoment(e)||!e.isValid())throw new TypeError("`month` must be a valid moment object");if(-1===a.WEEKDAYS.indexOf(n))throw new TypeError("`firstDayOfWeek` must be an integer between 0 and 6");for(var o=e.clone().startOf("month").hour(12),i=e.clone().endOf("month").hour(12),l=(o.day()+7-n)%7,u=(n+6-i.day())%7,s=o.clone().subtract(l,"day"),c=i.clone().add(u,"day").diff(s,"days")+1,d=s.clone(),f=[],h=0;h=l&&h0&&!r.call(e,0))for(var y=0;y0)for(var b=0;b2?arguments[2]:[];if(!this.IsCallable(e))throw new l(e+" is not a function");return e.apply(t,n)},ToPrimitive:r,ToNumber:function(e){var t=O(e)?e:r(e,f);if("symbol"==typeof t)throw new l("Cannot convert a Symbol value to a number");if("string"==typeof t){if(T(t))return this.ToNumber(P(C(t,2),2));if(M(t))return this.ToNumber(P(C(t,2),8));if(R(t)||j(t))return NaN;var n=function(e){return Y(e,U,"")}(t);if(n!==t)return this.ToNumber(n)}return f(t)},ToInt16:function(e){var t=this.ToUint16(e);return t>=32768?t-65536:t},ToInt8:function(e){var t=this.ToUint8(e);return t>=128?t-256:t},ToUint8:function(e){var t=this.ToNumber(e);if(v(t)||0===t||!g(t))return 0;var n=D(t)*K(H(t));return k(n,256)},ToUint8Clamp:function(e){var t=this.ToNumber(e);if(v(t)||t<=0)return 0;if(t>=255)return 255;var n=K(e);return n+.5m?m:t},CanonicalNumericIndexString:function(e){if("[object String]"!==N(e))throw new l("must be a string");if("-0"===e)return-0;var t=this.ToNumber(e);return this.SameValue(this.ToString(t),e)?t:void 0},RequireObjectCoercible:q.CheckObjectCoercible,IsArray:s.isArray||function(e){return"[object Array]"===N(e)},IsConstructor:function(e){return"function"==typeof e&&!!e.prototype},IsExtensible:Object.preventExtensions?function(e){return!O(e)&&$(e)}:function(e){return!0},IsInteger:function(e){if("number"!=typeof e||v(e)||!g(e))return!1;var t=H(e);return K(t)===t},IsPropertyKey:function(e){return"string"==typeof e||"symbol"==typeof e},IsRegExp:function(e){if(!e||"object"!=typeof e)return!1;if(y){var t=e[h.match];if(void 0!==t)return q.ToBoolean(t)}return X(e)},SameValueZero:function(e,t){return e===t||v(e)&&v(t)},GetV:function(e,t){if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");return this.ToObject(e)[t]},GetMethod:function(e,t){if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");var n=this.GetV(e,t);if(null!=n){if(!this.IsCallable(n))throw new l(t+"is not a function");return n}},Get:function(e,t){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");return e[t]},Type:function(e){return"symbol"==typeof e?"Symbol":q.Type(e)},SpeciesConstructor:function(e,t){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");var n=e.constructor;if(void 0===n)return t;if("Object"!==this.Type(n))throw new l("O.constructor is not an Object");var o=y&&h.species?n[h.species]:void 0;if(null==o)return t;if(this.IsConstructor(o))return o;throw new l("no constructor found")},CompletePropertyDescriptor:function(e){return b(this,"Property Descriptor","Desc",e),this.IsGenericDescriptor(e)||this.IsDataDescriptor(e)?(o(e,"[[Value]]")||(e["[[Value]]"]=void 0),o(e,"[[Writable]]")||(e["[[Writable]]"]=!1)):(o(e,"[[Get]]")||(e["[[Get]]"]=void 0),o(e,"[[Set]]")||(e["[[Set]]"]=void 0)),o(e,"[[Enumerable]]")||(e["[[Enumerable]]"]=!1),o(e,"[[Configurable]]")||(e["[[Configurable]]"]=!1),e},Set:function(e,t,n,o){if("Object"!==this.Type(e))throw new l("O must be an Object");if(!this.IsPropertyKey(t))throw new l("P must be a Property Key");if("Boolean"!==this.Type(o))throw new l("Throw must be a Boolean");if(o)return e[t]=n,!0;try{e[t]=n}catch(e){return!1}},HasOwnProperty:function(e,t){if("Object"!==this.Type(e))throw new l("O must be an Object");if(!this.IsPropertyKey(t))throw new l("P must be a Property Key");return o(e,t)},HasProperty:function(e,t){if("Object"!==this.Type(e))throw new l("O must be an Object");if(!this.IsPropertyKey(t))throw new l("P must be a Property Key");return t in e},IsConcatSpreadable:function(e){if("Object"!==this.Type(e))return!1;if(y&&"symbol"==typeof h.isConcatSpreadable){var t=this.Get(e,Symbol.isConcatSpreadable);if(void 0!==t)return this.ToBoolean(t)}return this.IsArray(e)},Invoke:function(e,t){if(!this.IsPropertyKey(t))throw new l("P must be a Property Key");var n=w(arguments,2),o=this.GetV(e,t);return this.Call(o,e,n)},GetIterator:function(e,t){if(!y)throw new SyntaxError("ES.GetIterator depends on native iterator support.");var n=t;arguments.length<2&&(n=this.GetMethod(e,h.iterator));var o=this.Call(n,e);if("Object"!==this.Type(o))throw new l("iterator must return an object");return o},IteratorNext:function(e,t){var n=this.Invoke(e,"next",arguments.length<2?[]:[t]);if("Object"!==this.Type(n))throw new l("iterator next must return an object");return n},IteratorComplete:function(e){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(iterResult) is not Object");return this.ToBoolean(this.Get(e,"done"))},IteratorValue:function(e){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(iterResult) is not Object");return this.Get(e,"value")},IteratorStep:function(e){var t=this.IteratorNext(e);return!0!==this.IteratorComplete(t)&&t},IteratorClose:function(e,t){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(iterator) is not Object");if(!this.IsCallable(t))throw new l("Assertion failed: completion is not a thunk for a Completion Record");var n,o=t,r=this.GetMethod(e,"return");if(void 0===r)return o();try{var a=this.Call(r,e,[])}catch(e){throw n=o(),o=null,e}if(n=o(),o=null,"Object"!==this.Type(a))throw new l("iterator .return must return an object");return n},CreateIterResultObject:function(e,t){if("Boolean"!==this.Type(t))throw new l("Assertion failed: Type(done) is not Boolean");return{value:e,done:t}},RegExpExec:function(e,t){if("Object"!==this.Type(e))throw new l("R must be an Object");if("String"!==this.Type(t))throw new l("S must be a String");var n=this.Get(e,"exec");if(this.IsCallable(n)){var o=this.Call(n,e,[t]);if(null===o||"Object"===this.Type(o))return o;throw new l('"exec" method must return `null` or an Object')}return I(e,t)},ArraySpeciesCreate:function(e,t){if(!this.IsInteger(t)||t<0)throw new l("Assertion failed: length must be an integer >= 0");var n,o=0===t?0:t;if(this.IsArray(e)&&(n=this.Get(e,"constructor"),"Object"===this.Type(n)&&y&&h.species&&null===(n=this.Get(n,h.species))&&(n=void 0)),void 0===n)return s(o);if(!this.IsConstructor(n))throw new l("C must be a constructor");return new n(o)},CreateDataProperty:function(e,t,n){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");var o=z(e,t),r=o||"function"!=typeof $||$(e);return!(!(!o||o.writable&&o.configurable)||!r)&&(V(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),!0)},CreateDataPropertyOrThrow:function(e,t,n){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");var o=this.CreateDataProperty(e,t,n);if(!o)throw new l("unable to create data property");return o},ObjectCreate:function(e,t){if(null!==e&&"Object"!==this.Type(e))throw new l("Assertion failed: proto must be null or an object");var n=arguments.length<2?[]:t;if(n.length>0)throw new u("es-abstract does not yet support internal slots");if(null===e&&!W)throw new u("native Object.create support is required to create null objects");return W(e)},AdvanceStringIndex:function(e,t,n){if("String"!==this.Type(e))throw new l("S must be a String");if(!this.IsInteger(t)||t<0||t>m)throw new l("Assertion failed: length must be an integer >= 0 and <= 2**53");if("Boolean"!==this.Type(n))throw new l("Assertion failed: unicode must be a Boolean");if(!n)return t+1;if(t+1>=e.length)return t+1;var o=A(e,t);if(o<55296||o>56319)return t+1;var r=A(e,t+1);return r<56320||r>57343?t+1:t+2},CreateMethodProperty:function(e,t,n){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");return!!V(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0})},DefinePropertyOrThrow:function(e,t,n){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");return!!V(e,t,n)},DeletePropertyOrThrow:function(e,t){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");if(!this.IsPropertyKey(t))throw new l("Assertion failed: IsPropertyKey(P) is not true");var n=delete e[t];if(!n)throw new TypeError("Attempt to delete property failed.");return n},EnumerableOwnNames:function(e){if("Object"!==this.Type(e))throw new l("Assertion failed: Type(O) is not Object");return a(e)},thisNumberValue:function(e){return"Number"===this.Type(e)?e:F(e)},thisBooleanValue:function(e){return"Boolean"===this.Type(e)?e:x(e)},thisStringValue:function(e){return"String"===this.Type(e)?e:L(e)},thisTimeValue:function(e){return B(e)}});delete Z.CheckObjectCoercible,e.exports=Z},function(e,t,n){"use strict";e.exports=n(629)},function(e,t,n){"use strict";var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,r=n(359),a=n(296),i=n(338),l=n(630),u=function(e,t){if(null==e)throw new TypeError("Cannot call method on "+e);if("string"!=typeof t||"number"!==t&&"string"!==t)throw new TypeError('hint must be "string" or "number"');var n,o,i,l="string"===t?["toString","valueOf"]:["valueOf","toString"];for(i=0;i1&&(arguments[1]===String?n="string":arguments[1]===Number&&(n="number")),o&&(Symbol.toPrimitive?t=s(e,Symbol.toPrimitive):l(e)&&(t=Symbol.prototype.valueOf)),void 0!==t){var a=t.call(e,n);if(r(a))return a;throw new TypeError("unable to convert exotic object to primitive")}return"default"===n&&(i(e)||l(e))&&(n="string"),u(e,"default"===n?"number":n)}},function(e,t,n){"use strict";var o=Object.prototype.toString;if(n(631)()){var r=Symbol.prototype.toString,a=/^Symbol\(.*\)$/;e.exports=function(e){if("symbol"==typeof e)return!0;if("[object Symbol]"!==o.call(e))return!1;try{return function(e){return"symbol"==typeof e.valueOf()&&a.test(r.call(e))}(e)}catch(e){return!1}}}else e.exports=function(e){return!1}},function(e,t,n){"use strict";(function(t){var o=t.Symbol,r=n(632);e.exports=function(){return"function"==typeof o&&("function"==typeof Symbol&&("symbol"==typeof o("foo")&&("symbol"==typeof Symbol("bar")&&r())))}}).call(this,n(17))},function(e,t,n){"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var o=Object.getOwnPropertySymbols(e);if(1!==o.length||o[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var r=Object.getOwnPropertyDescriptor(e,t);if(42!==r.value||!0!==r.enumerable)return!1}return!0}},function(e,t){e.exports=function(e){return null===e||"function"!=typeof e&&"object"!=typeof e}},function(e,t,n){"use strict";var o=n(297),r=o("%Object%"),a=o("%TypeError%"),i=o("%String%"),l=n(360),u=n(361),s=n(362),c=n(364),d=n(365),f=n(296),h=n(635),p=n(263),y={ToPrimitive:h,ToBoolean:function(e){return!!e},ToNumber:function(e){return+e},ToInteger:function(e){var t=this.ToNumber(e);return u(t)?0:0!==t&&s(t)?c(t)*Math.floor(Math.abs(t)):t},ToInt32:function(e){return this.ToNumber(e)>>0},ToUint32:function(e){return this.ToNumber(e)>>>0},ToUint16:function(e){var t=this.ToNumber(e);if(u(t)||0===t||!s(t))return 0;var n=c(t)*Math.floor(Math.abs(t));return d(n,65536)},ToString:function(e){return i(e)},ToObject:function(e){return this.CheckObjectCoercible(e),r(e)},CheckObjectCoercible:function(e,t){if(null==e)throw new a(t||"Cannot call method on "+e);return e},IsCallable:f,SameValue:function(e,t){return e===t?0!==e||1/e==1/t:u(e)&&u(t)},Type:function(e){return null===e?"Null":void 0===e?"Undefined":"function"==typeof e||"object"==typeof e?"Object":"number"==typeof e?"Number":"boolean"==typeof e?"Boolean":"string"==typeof e?"String":void 0},IsPropertyDescriptor:function(e){if("Object"!==this.Type(e))return!1;var t={"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0};for(var n in e)if(p(e,n)&&!t[n])return!1;var o=p(e,"[[Value]]"),r=p(e,"[[Get]]")||p(e,"[[Set]]");if(o&&r)throw new a("Property Descriptors may not be both accessor and data descriptors");return!0},IsAccessorDescriptor:function(e){return void 0!==e&&(l(this,"Property Descriptor","Desc",e),!(!p(e,"[[Get]]")&&!p(e,"[[Set]]")))},IsDataDescriptor:function(e){return void 0!==e&&(l(this,"Property Descriptor","Desc",e),!(!p(e,"[[Value]]")&&!p(e,"[[Writable]]")))},IsGenericDescriptor:function(e){return void 0!==e&&(l(this,"Property Descriptor","Desc",e),!this.IsAccessorDescriptor(e)&&!this.IsDataDescriptor(e))},FromPropertyDescriptor:function(e){if(void 0===e)return e;if(l(this,"Property Descriptor","Desc",e),this.IsDataDescriptor(e))return{value:e["[[Value]]"],writable:!!e["[[Writable]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};if(this.IsAccessorDescriptor(e))return{get:e["[[Get]]"],set:e["[[Set]]"],enumerable:!!e["[[Enumerable]]"],configurable:!!e["[[Configurable]]"]};throw new a("FromPropertyDescriptor must be called with a fully populated Property Descriptor")},ToPropertyDescriptor:function(e){if("Object"!==this.Type(e))throw new a("ToPropertyDescriptor requires an object");var t={};if(p(e,"enumerable")&&(t["[[Enumerable]]"]=this.ToBoolean(e.enumerable)),p(e,"configurable")&&(t["[[Configurable]]"]=this.ToBoolean(e.configurable)),p(e,"value")&&(t["[[Value]]"]=e.value),p(e,"writable")&&(t["[[Writable]]"]=this.ToBoolean(e.writable)),p(e,"get")){var n=e.get;if(void 0!==n&&!this.IsCallable(n))throw new TypeError("getter must be a function");t["[[Get]]"]=n}if(p(e,"set")){var o=e.set;if(void 0!==o&&!this.IsCallable(o))throw new a("setter must be a function");t["[[Set]]"]=o}if((p(t,"[[Get]]")||p(t,"[[Set]]"))&&(p(t,"[[Value]]")||p(t,"[[Writable]]")))throw new a("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return t}};e.exports=y},function(e,t,n){"use strict";var o=Object.prototype.toString,r=n(359),a=n(296),i=function(e){var t;if((t=arguments.length>1?arguments[1]:"[object Date]"===o.call(e)?String:Number)===String||t===Number){var n,i,l=t===String?["toString","valueOf"]:["valueOf","toString"];for(i=0;i1?i(e,arguments[1]):i(e)}},function(e,t,n){"use strict";var o=n(366),r=n(355);e.exports=function(){var e=o();return r(Object,{values:e},{values:function(){return Object.values!==e}}),e}},function(e,t,n){"use strict";var o=n(367),r=n(369),a=n(370),i=a(),l=function(e,t){return i.apply(e,[t])};o(l,{getPolyfill:a,implementation:r,shim:n(640)}),e.exports=l},function(e,t,n){"use strict";var o=Array.prototype.slice,r=n(368),a=Object.keys,i=a?function(e){return a(e)}:n(639),l=Object.keys;i.shim=function(){Object.keys?function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2)||(Object.keys=function(e){return r(e)?l(o.call(e)):l(e)}):Object.keys=i;return Object.keys||i},e.exports=i},function(e,t,n){"use strict";var o;if(!Object.keys){var r=Object.prototype.hasOwnProperty,a=Object.prototype.toString,i=n(368),l=Object.prototype.propertyIsEnumerable,u=!l.call({toString:null},"toString"),s=l.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=function(e){var t=e.constructor;return t&&t.prototype===e},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!f["$"+e]&&r.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{d(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();o=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===a.call(e),o=i(e),l=t&&"[object String]"===a.call(e),f=[];if(!t&&!n&&!o)throw new TypeError("Object.keys called on a non-object");var p=s&&n;if(l&&e.length>0&&!r.call(e,0))for(var y=0;y0)for(var b=0;b=t||n<0||v&&e-y>=d}function D(){var e=r();if(_(e))return k(e);h=setTimeout(D,function(e){var n=t-(e-p);return v?u(n,d-(e-y)):n}(e))}function k(e){return h=void 0,g&&s?m(e):(s=c=void 0,f)}function O(){var e=r(),n=_(e);if(s=arguments,c=this,p=e,n){if(void 0===h)return function(e){return y=e,h=setTimeout(D,t),b?m(e):f}(p);if(v)return clearTimeout(h),h=setTimeout(D,t),m(p)}return void 0===h&&(h=setTimeout(D,t)),f}return t=a(t)||0,o(n)&&(b=!!n.leading,d=(v="maxWait"in n)?l(a(n.maxWait)||0,t):d,g="trailing"in n?!!n.trailing:g),O.cancel=function(){void 0!==h&&clearTimeout(h),y=0,s=p=c=h=void 0},O.flush=function(){return void 0===h?f:k(r())},O}},function(e,t,n){var o=n(382);e.exports=function(){return o.Date.now()}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(17))},function(e,t,n){var o=n(645),r=n(299),a=n(647),i=NaN,l=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(a(e))return i;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=o(e);var n=u.test(e);return n||s.test(e)?c(e.slice(2),n?2:8):l.test(e)?i:+e}},function(e,t,n){var o=n(646),r=/^\s+/;e.exports=function(e){return e?e.slice(0,o(e)+1).replace(r,""):e}},function(e,t){var n=/\s/;e.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},function(e,t,n){var o=n(648),r=n(651),a="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||r(e)&&o(e)==a}},function(e,t,n){var o=n(383),r=n(649),a=n(650),i="[object Null]",l="[object Undefined]",u=o?o.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?l:i:u&&u in Object(e)?r(e):a(e)}},function(e,t,n){var o=n(383),r=Object.prototype,a=r.hasOwnProperty,i=r.toString,l=o?o.toStringTag:void 0;e.exports=function(e){var t=a.call(e,l),n=e[l];try{e[l]=void 0;var o=!0}catch(e){}var r=i.call(e);return o&&(t?e[l]=n:delete e[l]),r}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){"use strict";e.exports=n(336)},function(e,t,n){"use strict";var o=n(390),r=n(246);e.exports=function(){var e=o();return r(Object,{values:e},{values:function(){return Object.values!==e}}),e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o;return e?n(e(t.clone())):t};var o=function(e){return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=f(n(1)),r=(f(n(0)),n(203),n(208)),a=n(204),i=(f(n(205)),f(n(226))),l=f(n(385)),u=f(n(384)),s=f(n(656)),c=f(n(657)),d=(f(n(239)),n(201));function f(e){return e&&e.__esModule?e:{default:e}}function h(){return(h=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:r.default.localeData().firstDayOfWeek(),n=function(e,t){return(e.day()-t+7)%7}(e.clone().startOf("month"),t);return Math.ceil((n+e.daysInMonth())/7)};var o,r=(o=n(2))&&o.__esModule?o:{default:o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return"undefined"!=typeof document&&document.activeElement}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PureSingleDatePicker=void 0;var o=k(n(207)),r=k(n(1)),a=k(n(2)),i=n(208),l=n(398),u=(n(203),n(261)),s=k(n(240)),c=k(n(295)),d=(k(n(394)),n(204)),f=k(n(375)),h=k(n(376)),p=k(n(298)),y=k(n(242)),b=k(n(377)),v=k(n(226)),g=k(n(663)),m=k(n(393)),_=k(n(250)),D=n(201);function k(e){return e&&e.__esModule?e:{default:e}}function O(e){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function P(){return(P=Object.assign||function(e){for(var t=1;tt?e:t+1}e.exports=e.exports.default=function(e){return(e||"")+""+n+o().toString(36)},e.exports.process=function(e){return(e||"")+n+o().toString(36)},e.exports.time=function(e){return(e||"")+o().toString(36)}}).call(this,n(24))},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return b}));n(334);var o=n(348),r=n(2),a=n.n(r),i=n(1),l=n.n(i),u=n(31),s=n(396);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1],n={};(t||e.start_date!==this.props.start_date)&&(n.start_date=e.start_date),(t||e.end_date!==this.props.end_date)&&(n.end_date=e.end_date),Object.keys(n).length&&this.setState(n)}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){this.propsToState(e)}},{key:"UNSAFE_componentWillMount",value:function(){this.propsToState(this.props,!0)}},{key:"onDatesChange",value:function(e){var t=e.startDate,n=e.endDate,o=this.props,r=o.setProps,a=o.updatemode,i=o.clearable,l=Object(s.a)(this.state,["start_date","end_date"]);t&&!t.isSame(l.start_date)&&("singledate"===a?r({start_date:t.format("YYYY-MM-DD")}):this.setState({start_date:t.format("YYYY-MM-DD")})),n&&!n.isSame(l.end_date)&&("singledate"===a?r({end_date:n.format("YYYY-MM-DD")}):"bothdates"===a&&r({start_date:this.state.start_date,end_date:n.format("YYYY-MM-DD")})),!i||t||n||l.start_date===t&&l.end_date===n||r({start_date:null,end_date:null})}},{key:"isOutsideRange",value:function(e){var t=Object(s.a)(this.props,["max_date_allowed","min_date_allowed","disabled_days"]),n=t.max_date_allowed,o=t.min_date_allowed,r=t.disabled_days;return o&&e.isBefore(o)||n&&e.isAfter(n)||r&&r.some((function(t){return e.isSame(t,"day")}))}},{key:"render",value:function(){var e=this,t=this.state.focusedInput,n=this.props,r=n.calendar_orientation,i=n.clearable,l=n.day_size,u=n.disabled,c=n.display_format,f=n.end_date_placeholder_text,h=n.first_day_of_week,p=n.is_RTL,y=n.minimum_nights,b=n.month_format,v=n.number_of_months_shown,g=n.reopen_calendar_on_clear,m=n.show_outside_days,_=n.start_date_placeholder_text,D=n.stay_open_on_select,k=n.with_full_screen_portal,O=n.with_portal,P=n.loading_state,S=n.id,w=n.style,C=n.className,T=n.start_date_id,M=n.end_date_id,I=Object(s.a)(this.props,["initial_visible_month"]).initial_visible_month,E=Object(s.a)(this.state,["start_date","end_date"]),R=E.start_date,j=E.end_date,A="vertical"!==r,N=function(e){for(var t=1;t 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$stylesPropName = _ref.stylesPropName,\n stylesPropName = _ref$stylesPropName === undefined ? 'styles' : _ref$stylesPropName,\n _ref$themePropName = _ref.themePropName,\n themePropName = _ref$themePropName === undefined ? 'theme' : _ref$themePropName,\n _ref$cssPropName = _ref.cssPropName,\n cssPropName = _ref$cssPropName === undefined ? 'css' : _ref$cssPropName,\n _ref$flushBefore = _ref.flushBefore,\n flushBefore = _ref$flushBefore === undefined ? false : _ref$flushBefore,\n _ref$pureComponent = _ref.pureComponent,\n pureComponent = _ref$pureComponent === undefined ? false : _ref$pureComponent;\n\n var styleDefLTR = void 0;\n var styleDefRTL = void 0;\n var currentThemeLTR = void 0;\n var currentThemeRTL = void 0;\n var BaseClass = baseClass(pureComponent);\n\n function getResolveMethod(direction) {\n return direction === _constants.DIRECTIONS.LTR ? _ThemedStyleSheet2['default'].resolveLTR : _ThemedStyleSheet2['default'].resolveRTL;\n }\n\n function getCurrentTheme(direction) {\n return direction === _constants.DIRECTIONS.LTR ? currentThemeLTR : currentThemeRTL;\n }\n\n function getStyleDef(direction, wrappedComponentName) {\n var currentTheme = getCurrentTheme(direction);\n var styleDef = direction === _constants.DIRECTIONS.LTR ? styleDefLTR : styleDefRTL;\n\n var registeredTheme = _ThemedStyleSheet2['default'].get();\n\n // Return the existing styles if they've already been defined\n // and if the theme used to create them corresponds to the theme\n // registered with ThemedStyleSheet\n if (styleDef && currentTheme === registeredTheme) {\n return styleDef;\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.createStyles.start');\n }\n\n var isRTL = direction === _constants.DIRECTIONS.RTL;\n\n if (isRTL) {\n styleDefRTL = styleFn ? _ThemedStyleSheet2['default'].createRTL(styleFn) : EMPTY_STYLES_FN;\n\n currentThemeRTL = registeredTheme;\n styleDef = styleDefRTL;\n } else {\n styleDefLTR = styleFn ? _ThemedStyleSheet2['default'].createLTR(styleFn) : EMPTY_STYLES_FN;\n\n currentThemeLTR = registeredTheme;\n styleDef = styleDefLTR;\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.createStyles.end');\n\n performance.measure('\\uD83D\\uDC69\\u200D\\uD83C\\uDFA8 withStyles(' + String(wrappedComponentName) + ') [create styles]', 'react-with-styles.createStyles.start', 'react-with-styles.createStyles.end');\n }\n\n return styleDef;\n }\n\n function getState(direction, wrappedComponentName) {\n return {\n resolveMethod: getResolveMethod(direction),\n styleDef: getStyleDef(direction, wrappedComponentName)\n };\n }\n\n return function () {\n function withStylesHOC(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n // NOTE: Use a class here so components are ref-able if need be:\n // eslint-disable-next-line react/prefer-stateless-function\n\n var WithStyles = function (_BaseClass) {\n _inherits(WithStyles, _BaseClass);\n\n function WithStyles(props, context) {\n _classCallCheck(this, WithStyles);\n\n var _this = _possibleConstructorReturn(this, (WithStyles.__proto__ || Object.getPrototypeOf(WithStyles)).call(this, props, context));\n\n var direction = _this.context[_constants.CHANNEL] ? _this.context[_constants.CHANNEL].getState() : defaultDirection;\n\n _this.state = getState(direction, wrappedComponentName);\n return _this;\n }\n\n _createClass(WithStyles, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n var _this2 = this;\n\n if (this.context[_constants.CHANNEL]) {\n // subscribe to future direction changes\n this.channelUnsubscribe = this.context[_constants.CHANNEL].subscribe(function (direction) {\n _this2.setState(getState(direction, wrappedComponentName));\n });\n }\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.channelUnsubscribe) {\n this.channelUnsubscribe();\n }\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _ref2;\n\n // As some components will depend on previous styles in\n // the component tree, we provide the option of flushing the\n // buffered styles (i.e. to a style tag) **before** the rendering\n // cycle begins.\n //\n // The interfaces provide the optional \"flush\" method which\n // is run in turn by ThemedStyleSheet.flush.\n if (flushBefore) {\n _ThemedStyleSheet2['default'].flush();\n }\n\n var _state = this.state,\n resolveMethod = _state.resolveMethod,\n styleDef = _state.styleDef;\n\n\n return _react2['default'].createElement(WrappedComponent, _extends({}, this.props, (_ref2 = {}, _defineProperty(_ref2, themePropName, _ThemedStyleSheet2['default'].get()), _defineProperty(_ref2, stylesPropName, styleDef()), _defineProperty(_ref2, cssPropName, resolveMethod), _ref2)));\n }\n\n return render;\n }()\n }]);\n\n return WithStyles;\n }(BaseClass);\n\n WithStyles.WrappedComponent = WrappedComponent;\n WithStyles.displayName = 'withStyles(' + String(wrappedComponentName) + ')';\n WithStyles.contextTypes = contextTypes;\n if (WrappedComponent.propTypes) {\n WithStyles.propTypes = (0, _deepmerge2['default'])({}, WrappedComponent.propTypes);\n delete WithStyles.propTypes[stylesPropName];\n delete WithStyles.propTypes[themePropName];\n delete WithStyles.propTypes[cssPropName];\n }\n if (WrappedComponent.defaultProps) {\n WithStyles.defaultProps = (0, _deepmerge2['default'])({}, WrappedComponent.defaultProps);\n }\n\n return (0, _hoistNonReactStatics2['default'])(WithStyles, WrappedComponent);\n }\n\n return withStylesHOC;\n }();\n}","var moment = require('moment');\nvar momentValidationWrapper = require('./moment-validation-wrapper');\nvar core = require('./core');\n\nmodule.exports = {\n\n momentObj : core.createMomentChecker(\n 'object',\n function(obj) {\n return typeof obj === 'object';\n },\n function isValid(value) {\n return momentValidationWrapper.isValidMoment(value);\n },\n 'Moment'\n ),\n\n momentString : core.createMomentChecker(\n 'string',\n function(str) {\n return typeof str === 'string';\n },\n function isValid(value) {\n return momentValidationWrapper.isValidMoment(moment(value));\n },\n 'Moment'\n ),\n\n momentDurationObj : core.createMomentChecker(\n 'object',\n function(obj) {\n return typeof obj === 'object';\n },\n function isValid(value) {\n return moment.isDuration(value);\n },\n 'Duration'\n ),\n\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = noflip;\nvar NOFLIP = '/* @noflip */'; // Appends a noflip comment to a style rule in order to prevent it from being automatically\n// flipped in RTL contexts. This should be used only in situations where the style must remain\n// unflipped regardless of direction context. See: https://github.com/kentcdodds/rtl-css-js#usage\n\nfunction noflip(value) {\n if (typeof value === 'number') return \"\".concat(value, \"px \").concat(NOFLIP);\n if (typeof value === 'string') return \"\".concat(value, \" \").concat(NOFLIP);\n throw new TypeError('noflip expects a string or a number');\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf(_constants.WEEKDAYS);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.OPEN_DOWN, _constants.OPEN_UP]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isSameDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isSameDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false; // Compare least significant, most likely to change units first\n // Moment's isSame clones moment inputs and is a tad slow\n\n return a.date() === b.date() && a.month() === b.month() && a.year() === b.year();\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = toMomentObject;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toMomentObject(dateString, customFormat) {\n var dateFormats = customFormat ? [customFormat, _constants.DISPLAY_FORMAT, _constants.ISO_FORMAT] : [_constants.DISPLAY_FORMAT, _constants.ISO_FORMAT];\n var date = (0, _moment[\"default\"])(dateString, dateFormats, true);\n return date.isValid() ? date.hour(12) : null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION, _constants.VERTICAL_SCROLLABLE]);\n\nexports[\"default\"] = _default;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isTouchDevice;\nfunction isTouchDevice() {\n return !!(typeof window !== 'undefined' && ('ontouchstart' in window || window.DocumentTouch && typeof document !== 'undefined' && document instanceof window.DocumentTouch)) || !!(typeof navigator !== 'undefined' && (navigator.maxTouchPoints || navigator.msMaxTouchPoints));\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.ICON_BEFORE_POSITION, _constants.ICON_AFTER_POSITION]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isInclusivelyAfterDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isBeforeDay = _interopRequireDefault(require(\"./isBeforeDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isInclusivelyAfterDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n return !(0, _isBeforeDay[\"default\"])(a, b);\n}","'use strict';\n\nvar keys = require('object-keys');\nvar foreach = require('foreach');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nvar toStr = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\tObject.defineProperty(obj, 'x', { enumerable: false, value: obj });\n /* eslint-disable no-unused-vars, no-restricted-syntax */\n for (var _ in obj) { return false; }\n /* eslint-enable no-unused-vars, no-restricted-syntax */\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\tObject.defineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = props.concat(Object.getOwnPropertySymbols(map));\n\t}\n\tforeach(props, function (name) {\n\t\tdefineProperty(object, name, map[name], predicates[name]);\n\t});\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].bool, _propTypes[\"default\"].oneOf([_constants.START_DATE, _constants.END_DATE])]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.INFO_POSITION_TOP, _constants.INFO_POSITION_BOTTOM, _constants.INFO_POSITION_BEFORE, _constants.INFO_POSITION_AFTER]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isBeforeDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isBeforeDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n var aYear = a.year();\n var aMonth = a.month();\n var bYear = b.year();\n var bMonth = b.month();\n var isSameYear = aYear === bYear;\n var isSameMonth = aMonth === bMonth;\n if (isSameYear && isSameMonth) return a.date() < b.date();\n if (isSameYear) return aMonth < bMonth;\n return aYear < bYear;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar CloseButton = function () {\n function CloseButton(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z\"\n }));\n }\n\n return CloseButton;\n}();\n\nCloseButton.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 12 12\"\n};\nvar _default = CloseButton;\nexports[\"default\"] = _default;","var bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar _default = (0, _airbnbPropTypes.and)([_propTypes[\"default\"].instanceOf(Set), function () {\n function modifiers(props, propName) {\n for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n rest[_key - 2] = arguments[_key];\n }\n\n var propValue = props[propName];\n var firstError;\n\n _toConsumableArray(propValue).some(function (v, i) {\n var _PropTypes$string;\n\n var fakePropName = \"\".concat(propName, \": index \").concat(i);\n firstError = (_PropTypes$string = _propTypes[\"default\"].string).isRequired.apply(_PropTypes$string, [_defineProperty({}, fakePropName, v), fakePropName].concat(rest));\n return firstError != null;\n });\n\n return firstError == null ? null : firstError;\n }\n\n return modifiers;\n}()], 'Modifiers (Set of Strings)');\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = toISODateString;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"./toMomentObject\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toISODateString(date, currentFormat) {\n var dateObj = _moment[\"default\"].isMoment(date) ? date : (0, _toMomentObject[\"default\"])(date, currentFormat);\n if (!dateObj) return null;\n return dateObj.format(_constants.ISO_FORMAT);\n}","var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// Adapted from Modernizr\n// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37\nfunction testPassiveEventListeners() {\n if (!CAN_USE_DOM) {\n return false;\n }\n\n if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {\n return false;\n }\n\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function () {\n function get() {\n supportsPassiveOption = true;\n }\n\n return get;\n }()\n });\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // do nothing\n }\n\n return supportsPassiveOption;\n}\n\nvar memoized = void 0;\n\nfunction canUsePassiveEventListeners() {\n if (memoized === undefined) {\n memoized = testPassiveEventListeners();\n }\n return memoized;\n}\n\nfunction normalizeEventOptions(eventOptions) {\n if (!eventOptions) {\n return undefined;\n }\n\n if (!canUsePassiveEventListeners()) {\n // If the browser does not support the passive option, then it is expecting\n // a boolean for the options argument to specify whether it should use\n // capture or not. In more modern browsers, this is passed via the `capture`\n // option, so let's just hoist that value up.\n return !!eventOptions.capture;\n }\n\n return eventOptions;\n}\n\n/* eslint-disable no-bitwise */\n\n/**\n * Generate a unique key for any set of event options\n */\nfunction eventOptionsKey(normalizedEventOptions) {\n if (!normalizedEventOptions) {\n return 0;\n }\n\n // If the browser does not support passive event listeners, the normalized\n // event options will be a boolean.\n if (normalizedEventOptions === true) {\n return 100;\n }\n\n // At this point, the browser supports passive event listeners, so we expect\n // the event options to be an object with possible properties of capture,\n // passive, and once.\n //\n // We want to consistently return the same value, regardless of the order of\n // these properties, so let's use binary maths to assign each property to a\n // bit, and then add those together (with an offset to account for the\n // booleans at the beginning of this function).\n var capture = normalizedEventOptions.capture << 0;\n var passive = normalizedEventOptions.passive << 1;\n var once = normalizedEventOptions.once << 2;\n return capture + passive + once;\n}\n\nfunction ensureCanMutateNextEventHandlers(eventHandlers) {\n if (eventHandlers.handlers === eventHandlers.nextHandlers) {\n // eslint-disable-next-line no-param-reassign\n eventHandlers.nextHandlers = eventHandlers.handlers.slice();\n }\n}\n\nfunction TargetEventHandlers(target) {\n this.target = target;\n this.events = {};\n}\n\nTargetEventHandlers.prototype.getEventHandlers = function () {\n function getEventHandlers(eventName, options) {\n var key = String(eventName) + ' ' + String(eventOptionsKey(options));\n\n if (!this.events[key]) {\n this.events[key] = {\n handlers: [],\n handleEvent: undefined\n };\n this.events[key].nextHandlers = this.events[key].handlers;\n }\n\n return this.events[key];\n }\n\n return getEventHandlers;\n}();\n\nTargetEventHandlers.prototype.handleEvent = function () {\n function handleEvent(eventName, options, event) {\n var eventHandlers = this.getEventHandlers(eventName, options);\n eventHandlers.handlers = eventHandlers.nextHandlers;\n eventHandlers.handlers.forEach(function (handler) {\n if (handler) {\n // We need to check for presence here because a handler function may\n // cause later handlers to get removed. This can happen if you for\n // instance have a waypoint that unmounts another waypoint as part of an\n // onEnter/onLeave handler.\n handler(event);\n }\n });\n }\n\n return handleEvent;\n}();\n\nTargetEventHandlers.prototype.add = function () {\n function add(eventName, listener, options) {\n var _this = this;\n\n // options has already been normalized at this point.\n var eventHandlers = this.getEventHandlers(eventName, options);\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n\n if (eventHandlers.nextHandlers.length === 0) {\n eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);\n\n this.target.addEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.nextHandlers.push(listener);\n\n var isSubscribed = true;\n var unsubscribe = function () {\n function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n var index = eventHandlers.nextHandlers.indexOf(listener);\n eventHandlers.nextHandlers.splice(index, 1);\n\n if (eventHandlers.nextHandlers.length === 0) {\n // All event handlers have been removed, so we want to remove the event\n // listener from the target node.\n\n if (_this.target) {\n // There can be a race condition where the target may no longer exist\n // when this function is called, e.g. when a React component is\n // unmounting. Guarding against this prevents the following error:\n //\n // Cannot read property 'removeEventListener' of undefined\n _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.handleEvent = undefined;\n }\n }\n\n return unsubscribe;\n }();\n return unsubscribe;\n }\n\n return add;\n}();\n\nvar EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';\n\n// eslint-disable-next-line import/prefer-default-export\nfunction addEventListener(target, eventName, listener, options) {\n if (!target[EVENT_HANDLERS_KEY]) {\n // eslint-disable-next-line no-param-reassign\n target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);\n }\n var normalizedEventOptions = normalizeEventOptions(options);\n return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);\n}\n\nexport { addEventListener };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = toISOMonthString;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"./toMomentObject\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toISOMonthString(date, currentFormat) {\n var dateObj = _moment[\"default\"].isMoment(date) ? date : (0, _toMomentObject[\"default\"])(date, currentFormat);\n if (!dateObj) return null;\n return dateObj.format(_constants.ISO_MONTH_FORMAT);\n}","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isAfterDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isBeforeDay = _interopRequireDefault(require(\"./isBeforeDay\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"./isSameDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isAfterDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n return !(0, _isBeforeDay[\"default\"])(a, b) && !(0, _isSameDay[\"default\"])(a, b);\n}","'use strict';\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class /;\nvar isES6ClassFn = function isES6ClassFn(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\tvar singleStripped = fnStr.replace(/\\/\\/.*\\n/g, '');\n\t\tvar multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, '');\n\t\tvar spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' ');\n\t\treturn constructorRegex.test(spaceStripped);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionObject(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n","var has = Object.prototype.hasOwnProperty;\nmodule.exports = function assign(target, source) {\n\tif (Object.assign) {\n\t\treturn Object.assign(target, source);\n\t}\n\tfor (var key in source) {\n\t\tif (has.call(source, key)) {\n\t\t\ttarget[key] = source[key];\n\t\t}\n\t}\n\treturn target;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PureCalendarDay = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _getCalendarDaySettings = _interopRequireDefault(require(\"../utils/getCalendarDaySettings\"));\n\nvar _ModifiersShape = _interopRequireDefault(require(\"../shapes/ModifiersShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n day: _reactMomentProptypes[\"default\"].momentObj,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isOutsideDay: _propTypes[\"default\"].bool,\n modifiers: _ModifiersShape[\"default\"],\n isFocused: _propTypes[\"default\"].bool,\n tabIndex: _propTypes[\"default\"].oneOf([0, -1]),\n onDayClick: _propTypes[\"default\"].func,\n onDayMouseEnter: _propTypes[\"default\"].func,\n onDayMouseLeave: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n ariaLabelFormat: _propTypes[\"default\"].string,\n // internationalization\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.CalendarDayPhrases))\n})) : {};\nvar defaultProps = {\n day: (0, _moment[\"default\"])(),\n daySize: _constants.DAY_SIZE,\n isOutsideDay: false,\n modifiers: new Set(),\n isFocused: false,\n tabIndex: -1,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n renderDayContents: null,\n ariaLabelFormat: 'dddd, LL',\n // internationalization\n phrases: _defaultPhrases.CalendarDayPhrases\n};\n\nvar CalendarDay =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(CalendarDay, _ref);\n\n _createClass(CalendarDay, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function CalendarDay() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CalendarDay);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CalendarDay)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.setButtonRef = _this.setButtonRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(CalendarDay, [{\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n isFocused = _this$props.isFocused,\n tabIndex = _this$props.tabIndex;\n\n if (tabIndex === 0) {\n if (isFocused || tabIndex !== prevProps.tabIndex) {\n this.buttonRef.focus();\n }\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"onDayClick\",\n value: function () {\n function onDayClick(day, e) {\n var onDayClick = this.props.onDayClick;\n onDayClick(day, e);\n }\n\n return onDayClick;\n }()\n }, {\n key: \"onDayMouseEnter\",\n value: function () {\n function onDayMouseEnter(day, e) {\n var onDayMouseEnter = this.props.onDayMouseEnter;\n onDayMouseEnter(day, e);\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: \"onDayMouseLeave\",\n value: function () {\n function onDayMouseLeave(day, e) {\n var onDayMouseLeave = this.props.onDayMouseLeave;\n onDayMouseLeave(day, e);\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: \"onKeyDown\",\n value: function () {\n function onKeyDown(day, e) {\n var onDayClick = this.props.onDayClick;\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n onDayClick(day, e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: \"setButtonRef\",\n value: function () {\n function setButtonRef(ref) {\n this.buttonRef = ref;\n }\n\n return setButtonRef;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n day = _this$props2.day,\n ariaLabelFormat = _this$props2.ariaLabelFormat,\n daySize = _this$props2.daySize,\n isOutsideDay = _this$props2.isOutsideDay,\n modifiers = _this$props2.modifiers,\n renderDayContents = _this$props2.renderDayContents,\n tabIndex = _this$props2.tabIndex,\n styles = _this$props2.styles,\n phrases = _this$props2.phrases;\n if (!day) return _react[\"default\"].createElement(\"td\", null);\n\n var _getCalendarDaySettin = (0, _getCalendarDaySettings[\"default\"])(day, ariaLabelFormat, daySize, modifiers, phrases),\n daySizeStyles = _getCalendarDaySettin.daySizeStyles,\n useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,\n selected = _getCalendarDaySettin.selected,\n hoveredSpan = _getCalendarDaySettin.hoveredSpan,\n isOutsideRange = _getCalendarDaySettin.isOutsideRange,\n ariaLabel = _getCalendarDaySettin.ariaLabel;\n\n return _react[\"default\"].createElement(\"td\", _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('hovered-start-first-possible-end') && styles.CalendarDay__hovered_start_first_possible_end, modifiers.has('hovered-start-blocked-minimum-nights') && styles.CalendarDay__hovered_start_blocked_min_nights, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && !modifiers.has('selected-span') && styles.CalendarDay__selected, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), {\n role: \"button\" // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role\n ,\n ref: this.setButtonRef,\n \"aria-disabled\": modifiers.has('blocked'),\n \"aria-label\": ariaLabel,\n onMouseEnter: function () {\n function onMouseEnter(e) {\n _this2.onDayMouseEnter(day, e);\n }\n\n return onMouseEnter;\n }(),\n onMouseLeave: function () {\n function onMouseLeave(e) {\n _this2.onDayMouseLeave(day, e);\n }\n\n return onMouseLeave;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }(),\n onClick: function () {\n function onClick(e) {\n _this2.onDayClick(day, e);\n }\n\n return onClick;\n }(),\n onKeyDown: function () {\n function onKeyDown(e) {\n _this2.onKeyDown(day, e);\n }\n\n return onKeyDown;\n }(),\n tabIndex: tabIndex\n }), renderDayContents ? renderDayContents(day, modifiers) : day.format('D'));\n }\n\n return render;\n }()\n }]);\n\n return CalendarDay;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports.PureCalendarDay = CalendarDay;\nCalendarDay.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCalendarDay.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n font = _ref2$reactDates.font;\n return {\n CalendarDay: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n fontSize: font.size,\n textAlign: 'center',\n ':active': {\n outline: 0\n }\n },\n CalendarDay__defaultCursor: {\n cursor: 'default'\n },\n CalendarDay__default: {\n border: \"1px solid \".concat(color.core.borderLight),\n color: color.text,\n background: color.background,\n ':hover': {\n background: color.core.borderLight,\n border: \"1px solid \".concat(color.core.borderLight),\n color: 'inherit'\n }\n },\n CalendarDay__hovered_offset: {\n background: color.core.borderBright,\n border: \"1px double \".concat(color.core.borderLight),\n color: 'inherit'\n },\n CalendarDay__outside: {\n border: 0,\n background: color.outside.backgroundColor,\n color: color.outside.color,\n ':hover': {\n border: 0\n }\n },\n CalendarDay__blocked_minimum_nights: {\n background: color.minimumNights.backgroundColor,\n border: \"1px solid \".concat(color.minimumNights.borderColor),\n color: color.minimumNights.color,\n ':hover': {\n background: color.minimumNights.backgroundColor_hover,\n color: color.minimumNights.color_active\n },\n ':active': {\n background: color.minimumNights.backgroundColor_active,\n color: color.minimumNights.color_active\n }\n },\n CalendarDay__highlighted_calendar: {\n background: color.highlighted.backgroundColor,\n color: color.highlighted.color,\n ':hover': {\n background: color.highlighted.backgroundColor_hover,\n color: color.highlighted.color_active\n },\n ':active': {\n background: color.highlighted.backgroundColor_active,\n color: color.highlighted.color_active\n }\n },\n CalendarDay__selected_span: {\n background: color.selectedSpan.backgroundColor,\n border: \"1px double \".concat(color.selectedSpan.borderColor),\n color: color.selectedSpan.color,\n ':hover': {\n background: color.selectedSpan.backgroundColor_hover,\n border: \"1px double \".concat(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n },\n ':active': {\n background: color.selectedSpan.backgroundColor_active,\n border: \"1px double \".concat(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n }\n },\n CalendarDay__selected: {\n background: color.selected.backgroundColor,\n border: \"1px double \".concat(color.selected.borderColor),\n color: color.selected.color,\n ':hover': {\n background: color.selected.backgroundColor_hover,\n border: \"1px double \".concat(color.selected.borderColor),\n color: color.selected.color_active\n },\n ':active': {\n background: color.selected.backgroundColor_active,\n border: \"1px double \".concat(color.selected.borderColor),\n color: color.selected.color_active\n }\n },\n CalendarDay__hovered_span: {\n background: color.hoveredSpan.backgroundColor,\n border: \"1px double \".concat(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color,\n ':hover': {\n background: color.hoveredSpan.backgroundColor_hover,\n border: \"1px double \".concat(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n },\n ':active': {\n background: color.hoveredSpan.backgroundColor_active,\n border: \"1px double \".concat(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n }\n },\n CalendarDay__blocked_calendar: {\n background: color.blocked_calendar.backgroundColor,\n border: \"1px solid \".concat(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color,\n ':hover': {\n background: color.blocked_calendar.backgroundColor_hover,\n border: \"1px solid \".concat(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n },\n ':active': {\n background: color.blocked_calendar.backgroundColor_active,\n border: \"1px solid \".concat(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n }\n },\n CalendarDay__blocked_out_of_range: {\n background: color.blocked_out_of_range.backgroundColor,\n border: \"1px solid \".concat(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color,\n ':hover': {\n background: color.blocked_out_of_range.backgroundColor_hover,\n border: \"1px solid \".concat(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n },\n ':active': {\n background: color.blocked_out_of_range.backgroundColor_active,\n border: \"1px solid \".concat(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n }\n },\n CalendarDay__hovered_start_first_possible_end: {\n background: color.core.borderLighter,\n border: \"1px double \".concat(color.core.borderLighter)\n },\n CalendarDay__hovered_start_blocked_min_nights: {\n background: color.core.borderLighter,\n border: \"1px double \".concat(color.core.borderLight)\n },\n CalendarDay__selected_start: {},\n CalendarDay__selected_end: {},\n CalendarDay__today: {},\n CalendarDay__firstDayOfWeek: {},\n CalendarDay__lastDayOfWeek: {}\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(CalendarDay);\n\nexports[\"default\"] = _default;","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./build/OutsideClickHandler');\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (typeof value === 'function' && !value.prototype) { return true; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n","'use strict';\n\n/* globals\n\tSet,\n\tMap,\n\tWeakSet,\n\tWeakMap,\n\n\tPromise,\n\n\tSymbol,\n\tProxy,\n\n\tAtomics,\n\tSharedArrayBuffer,\n\n\tArrayBuffer,\n\tDataView,\n\tUint8Array,\n\tFloat32Array,\n\tFloat64Array,\n\tInt8Array,\n\tInt16Array,\n\tInt32Array,\n\tUint8ClampedArray,\n\tUint16Array,\n\tUint32Array,\n*/\n\nvar undefined; // eslint-disable-line no-shadow-restricted-names\n\nvar ThrowTypeError = Object.getOwnPropertyDescriptor\n\t? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())\n\t: function () { throw new TypeError(); };\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar generator; // = function * () {};\nvar generatorFunction = generator ? getProto(generator) : undefined;\nvar asyncFn; // async function() {};\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\nvar asyncGen; // async function * () {};\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'$ %Array%': Array,\n\t'$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\n\t'$ %ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'$ %ArrayPrototype%': Array.prototype,\n\t'$ %ArrayProto_entries%': Array.prototype.entries,\n\t'$ %ArrayProto_forEach%': Array.prototype.forEach,\n\t'$ %ArrayProto_keys%': Array.prototype.keys,\n\t'$ %ArrayProto_values%': Array.prototype.values,\n\t'$ %AsyncFromSyncIteratorPrototype%': undefined,\n\t'$ %AsyncFunction%': asyncFunction,\n\t'$ %AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\n\t'$ %AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\n\t'$ %AsyncGeneratorFunction%': asyncGenFunction,\n\t'$ %AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\n\t'$ %AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\n\t'$ %Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'$ %Boolean%': Boolean,\n\t'$ %BooleanPrototype%': Boolean.prototype,\n\t'$ %DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\n\t'$ %Date%': Date,\n\t'$ %DatePrototype%': Date.prototype,\n\t'$ %decodeURI%': decodeURI,\n\t'$ %decodeURIComponent%': decodeURIComponent,\n\t'$ %encodeURI%': encodeURI,\n\t'$ %encodeURIComponent%': encodeURIComponent,\n\t'$ %Error%': Error,\n\t'$ %ErrorPrototype%': Error.prototype,\n\t'$ %eval%': eval, // eslint-disable-line no-eval\n\t'$ %EvalError%': EvalError,\n\t'$ %EvalErrorPrototype%': EvalError.prototype,\n\t'$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\n\t'$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\n\t'$ %Function%': Function,\n\t'$ %FunctionPrototype%': Function.prototype,\n\t'$ %Generator%': generator ? getProto(generator()) : undefined,\n\t'$ %GeneratorFunction%': generatorFunction,\n\t'$ %GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\n\t'$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\n\t'$ %isFinite%': isFinite,\n\t'$ %isNaN%': isNaN,\n\t'$ %IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'$ %JSON%': JSON,\n\t'$ %JSONParse%': JSON.parse,\n\t'$ %Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'$ %MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\n\t'$ %Math%': Math,\n\t'$ %Number%': Number,\n\t'$ %NumberPrototype%': Number.prototype,\n\t'$ %Object%': Object,\n\t'$ %ObjectPrototype%': Object.prototype,\n\t'$ %ObjProto_toString%': Object.prototype.toString,\n\t'$ %ObjProto_valueOf%': Object.prototype.valueOf,\n\t'$ %parseFloat%': parseFloat,\n\t'$ %parseInt%': parseInt,\n\t'$ %Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\n\t'$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\n\t'$ %Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\n\t'$ %Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\n\t'$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\n\t'$ %Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'$ %RangeError%': RangeError,\n\t'$ %RangeErrorPrototype%': RangeError.prototype,\n\t'$ %ReferenceError%': ReferenceError,\n\t'$ %ReferenceErrorPrototype%': ReferenceError.prototype,\n\t'$ %Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'$ %RegExp%': RegExp,\n\t'$ %RegExpPrototype%': RegExp.prototype,\n\t'$ %Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'$ %SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\n\t'$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\n\t'$ %String%': String,\n\t'$ %StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'$ %StringPrototype%': String.prototype,\n\t'$ %Symbol%': hasSymbols ? Symbol : undefined,\n\t'$ %SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\n\t'$ %SyntaxError%': SyntaxError,\n\t'$ %SyntaxErrorPrototype%': SyntaxError.prototype,\n\t'$ %ThrowTypeError%': ThrowTypeError,\n\t'$ %TypedArray%': TypedArray,\n\t'$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\n\t'$ %TypeError%': TypeError,\n\t'$ %TypeErrorPrototype%': TypeError.prototype,\n\t'$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\n\t'$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\n\t'$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\n\t'$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\n\t'$ %URIError%': URIError,\n\t'$ %URIErrorPrototype%': URIError.prototype,\n\t'$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\n\t'$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\t'$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar key = '$ ' + name;\n\tif (!(key in INTRINSICS)) {\n\t\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\n\t}\n\n\t// istanbul ignore if // hopefully this is impossible to test :-)\n\tif (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {\n\t\tthrow new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t}\n\treturn INTRINSICS[key];\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getInputHeight;\n\n/* eslint-disable camelcase */\nfunction getPadding(vertical, top, bottom) {\n var isTopDefined = typeof top === 'number';\n var isBottomDefined = typeof bottom === 'number';\n var isVerticalDefined = typeof vertical === 'number';\n\n if (isTopDefined && isBottomDefined) {\n return top + bottom;\n }\n\n if (isTopDefined && isVerticalDefined) {\n return top + vertical;\n }\n\n if (isTopDefined) {\n return top;\n }\n\n if (isBottomDefined && isVerticalDefined) {\n return bottom + vertical;\n }\n\n if (isBottomDefined) {\n return bottom;\n }\n\n if (isVerticalDefined) {\n return 2 * vertical;\n }\n\n return 0;\n}\n\nfunction getInputHeight(_ref, small) {\n var _ref$font$input = _ref.font.input,\n lineHeight = _ref$font$input.lineHeight,\n lineHeight_small = _ref$font$input.lineHeight_small,\n _ref$spacing = _ref.spacing,\n inputPadding = _ref$spacing.inputPadding,\n displayTextPaddingVertical = _ref$spacing.displayTextPaddingVertical,\n displayTextPaddingTop = _ref$spacing.displayTextPaddingTop,\n displayTextPaddingBottom = _ref$spacing.displayTextPaddingBottom,\n displayTextPaddingVertical_small = _ref$spacing.displayTextPaddingVertical_small,\n displayTextPaddingTop_small = _ref$spacing.displayTextPaddingTop_small,\n displayTextPaddingBottom_small = _ref$spacing.displayTextPaddingBottom_small;\n var calcLineHeight = small ? lineHeight_small : lineHeight;\n var padding = small ? getPadding(displayTextPaddingVertical_small, displayTextPaddingTop_small, displayTextPaddingBottom_small) : getPadding(displayTextPaddingVertical, displayTextPaddingTop, displayTextPaddingBottom);\n return parseInt(calcLineHeight, 10) + 2 * inputPadding + padding;\n}","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = toLocalizedDateString;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"./toMomentObject\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toLocalizedDateString(date, currentFormat) {\n var dateObj = _moment[\"default\"].isMoment(date) ? date : (0, _toMomentObject[\"default\"])(date, currentFormat);\n if (!dateObj) return null;\n return dateObj.format(_constants.DISPLAY_FORMAT);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isDayVisible;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isBeforeDay = _interopRequireDefault(require(\"./isBeforeDay\"));\n\nvar _isAfterDay = _interopRequireDefault(require(\"./isAfterDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isDayVisible(day, month, numberOfMonths, enableOutsideDays) {\n if (!_moment[\"default\"].isMoment(day)) return false;\n var firstDayOfFirstMonth = month.clone().startOf('month');\n if (enableOutsideDays) firstDayOfFirstMonth = firstDayOfFirstMonth.startOf('week');\n if ((0, _isBeforeDay[\"default\"])(day, firstDayOfFirstMonth)) return false;\n var lastDayOfLastMonth = month.clone().add(numberOfMonths - 1, 'months').endOf('month');\n if (enableOutsideDays) lastDayOfLastMonth = lastDayOfLastMonth.endOf('week');\n return !(0, _isAfterDay[\"default\"])(day, lastDayOfLastMonth);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PureDayPicker = exports.defaultProps = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _throttle = _interopRequireDefault(require(\"lodash/throttle\"));\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _reactOutsideClickHandler = _interopRequireDefault(require(\"react-outside-click-handler\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _CalendarMonthGrid = _interopRequireDefault(require(\"./CalendarMonthGrid\"));\n\nvar _DayPickerNavigation = _interopRequireDefault(require(\"./DayPickerNavigation\"));\n\nvar _DayPickerKeyboardShortcuts = _interopRequireWildcard(require(\"./DayPickerKeyboardShortcuts\"));\n\nvar _getNumberOfCalendarMonthWeeks = _interopRequireDefault(require(\"../utils/getNumberOfCalendarMonthWeeks\"));\n\nvar _getCalendarMonthWidth = _interopRequireDefault(require(\"../utils/getCalendarMonthWidth\"));\n\nvar _calculateDimension = _interopRequireDefault(require(\"../utils/calculateDimension\"));\n\nvar _getActiveElement = _interopRequireDefault(require(\"../utils/getActiveElement\"));\n\nvar _isDayVisible = _interopRequireDefault(require(\"../utils/isDayVisible\"));\n\nvar _ModifiersShape = _interopRequireDefault(require(\"../shapes/ModifiersShape\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"../shapes/DayOfWeekShape\"));\n\nvar _CalendarInfoPositionShape = _interopRequireDefault(require(\"../shapes/CalendarInfoPositionShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar MONTH_PADDING = 23;\nvar PREV_TRANSITION = 'prev';\nvar NEXT_TRANSITION = 'next';\nvar MONTH_SELECTION_TRANSITION = 'month_selection';\nvar YEAR_SELECTION_TRANSITION = 'year_selection';\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n // calendar presentation props\n enableOutsideDays: _propTypes[\"default\"].bool,\n numberOfMonths: _propTypes[\"default\"].number,\n orientation: _ScrollableOrientationShape[\"default\"],\n withPortal: _propTypes[\"default\"].bool,\n onOutsideClick: _propTypes[\"default\"].func,\n hidden: _propTypes[\"default\"].bool,\n initialVisibleMonth: _propTypes[\"default\"].func,\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n renderCalendarInfo: _propTypes[\"default\"].func,\n calendarInfoPosition: _CalendarInfoPositionShape[\"default\"],\n hideKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes[\"default\"].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes[\"default\"].bool,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n renderKeyboardShortcutsButton: _propTypes[\"default\"].func,\n // navigation props\n disablePrev: _propTypes[\"default\"].bool,\n disableNext: _propTypes[\"default\"].bool,\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n noNavButtons: _propTypes[\"default\"].bool,\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n onMonthChange: _propTypes[\"default\"].func,\n onYearChange: _propTypes[\"default\"].func,\n onMultiplyScrollableMonths: _propTypes[\"default\"].func,\n // VERTICAL_SCROLLABLE daypickers only\n // month props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n // day props\n modifiers: _propTypes[\"default\"].objectOf(_propTypes[\"default\"].objectOf(_ModifiersShape[\"default\"])),\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n onDayClick: _propTypes[\"default\"].func,\n onDayMouseEnter: _propTypes[\"default\"].func,\n onDayMouseLeave: _propTypes[\"default\"].func,\n // accessibility props\n isFocused: _propTypes[\"default\"].bool,\n getFirstFocusableDay: _propTypes[\"default\"].func,\n onBlur: _propTypes[\"default\"].func,\n showKeyboardShortcuts: _propTypes[\"default\"].bool,\n onTab: _propTypes[\"default\"].func,\n onShiftTab: _propTypes[\"default\"].func,\n // internationalization\n monthFormat: _propTypes[\"default\"].string,\n weekDayFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string\n})) : {};\nvar defaultProps = {\n // calendar presentation props\n enableOutsideDays: false,\n numberOfMonths: 2,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n hidden: false,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return (0, _moment[\"default\"])();\n }\n\n return initialVisibleMonth;\n }(),\n firstDayOfWeek: null,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n verticalHeight: null,\n noBorder: false,\n transitionDuration: undefined,\n verticalBorderSpacing: undefined,\n horizontalMonthPadding: 13,\n renderKeyboardShortcutsButton: undefined,\n // navigation props\n disablePrev: false,\n disableNext: false,\n navPrev: null,\n navNext: null,\n noNavButtons: false,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onMonthChange: function () {\n function onMonthChange() {}\n\n return onMonthChange;\n }(),\n onYearChange: function () {\n function onYearChange() {}\n\n return onYearChange;\n }(),\n onMultiplyScrollableMonths: function () {\n function onMultiplyScrollableMonths() {}\n\n return onMultiplyScrollableMonths;\n }(),\n // month props\n renderMonthText: null,\n renderMonthElement: null,\n // day props\n modifiers: {},\n renderCalendarDay: undefined,\n renderDayContents: null,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n // accessibility props\n isFocused: false,\n getFirstFocusableDay: null,\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n showKeyboardShortcuts: false,\n onTab: function () {\n function onTab() {}\n\n return onTab;\n }(),\n onShiftTab: function () {\n function onShiftTab() {}\n\n return onShiftTab;\n }(),\n // internationalization\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined\n};\nexports.defaultProps = defaultProps;\n\nvar DayPicker =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DayPicker, _ref);\n\n _createClass(DayPicker, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DayPicker(props) {\n var _this;\n\n _classCallCheck(this, DayPicker);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DayPicker).call(this, props));\n var currentMonth = props.hidden ? (0, _moment[\"default\"])() : props.initialVisibleMonth();\n var focusedDate = currentMonth.clone().startOf('month');\n\n if (props.getFirstFocusableDay) {\n focusedDate = props.getFirstFocusableDay(currentMonth);\n }\n\n var horizontalMonthPadding = props.horizontalMonthPadding;\n var translationValue = props.isRTL && _this.isHorizontal() ? -(0, _getCalendarMonthWidth[\"default\"])(props.daySize, horizontalMonthPadding) : 0;\n _this.hasSetInitialVisibleMonth = !props.hidden;\n _this.state = {\n currentMonth: currentMonth,\n monthTransition: null,\n translationValue: translationValue,\n scrollableMonthMultiple: 1,\n calendarMonthWidth: (0, _getCalendarMonthWidth[\"default\"])(props.daySize, horizontalMonthPadding),\n focusedDate: !props.hidden || props.isFocused ? focusedDate : null,\n nextFocusedDate: null,\n showKeyboardShortcuts: props.showKeyboardShortcuts,\n onKeyboardShortcutsPanelClose: function () {\n function onKeyboardShortcutsPanelClose() {}\n\n return onKeyboardShortcutsPanelClose;\n }(),\n isTouchDevice: (0, _isTouchDevice[\"default\"])(),\n withMouseInteractions: true,\n calendarInfoWidth: 0,\n monthTitleHeight: null,\n hasSetHeight: false\n };\n\n _this.setCalendarMonthWeeks(currentMonth);\n\n _this.calendarMonthGridHeight = 0;\n _this.setCalendarInfoWidthTimeout = null;\n _this.setCalendarMonthGridHeightTimeout = null;\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.throttledKeyDown = (0, _throttle[\"default\"])(_this.onFinalKeyDown, 200, {\n trailing: false\n });\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onPrevMonthTransition = _this.onPrevMonthTransition.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onNextMonthTransition = _this.onNextMonthTransition.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onMonthChange = _this.onMonthChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onYearChange = _this.onYearChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.multiplyScrollableMonths = _this.multiplyScrollableMonths.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.updateStateAfterMonthTransition = _this.updateStateAfterMonthTransition.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.openKeyboardShortcutsPanel = _this.openKeyboardShortcutsPanel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.closeKeyboardShortcutsPanel = _this.closeKeyboardShortcutsPanel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setCalendarInfoRef = _this.setCalendarInfoRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setContainerRef = _this.setContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setTransitionContainerRef = _this.setTransitionContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DayPicker, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n var currentMonth = this.state.currentMonth;\n\n if (this.calendarInfo) {\n this.setState({\n isTouchDevice: (0, _isTouchDevice[\"default\"])(),\n calendarInfoWidth: (0, _calculateDimension[\"default\"])(this.calendarInfo, 'width', true, true)\n });\n } else {\n this.setState({\n isTouchDevice: (0, _isTouchDevice[\"default\"])()\n });\n }\n\n this.setCalendarMonthWeeks(currentMonth);\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var hidden = nextProps.hidden,\n isFocused = nextProps.isFocused,\n showKeyboardShortcuts = nextProps.showKeyboardShortcuts,\n onBlur = nextProps.onBlur,\n renderMonthText = nextProps.renderMonthText,\n horizontalMonthPadding = nextProps.horizontalMonthPadding;\n var currentMonth = this.state.currentMonth;\n\n if (!hidden) {\n if (!this.hasSetInitialVisibleMonth) {\n this.hasSetInitialVisibleMonth = true;\n this.setState({\n currentMonth: nextProps.initialVisibleMonth()\n });\n }\n }\n\n var _this$props = this.props,\n daySize = _this$props.daySize,\n prevIsFocused = _this$props.isFocused,\n prevRenderMonthText = _this$props.renderMonthText;\n\n if (nextProps.daySize !== daySize) {\n this.setState({\n calendarMonthWidth: (0, _getCalendarMonthWidth[\"default\"])(nextProps.daySize, horizontalMonthPadding)\n });\n }\n\n if (isFocused !== prevIsFocused) {\n if (isFocused) {\n var focusedDate = this.getFocusedDay(currentMonth);\n var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;\n\n if (nextProps.showKeyboardShortcuts) {\n // the ? shortcut came from the input and we should return input there once it is close\n onKeyboardShortcutsPanelClose = onBlur;\n }\n\n this.setState({\n showKeyboardShortcuts: showKeyboardShortcuts,\n onKeyboardShortcutsPanelClose: onKeyboardShortcutsPanelClose,\n focusedDate: focusedDate,\n withMouseInteractions: false\n });\n } else {\n this.setState({\n focusedDate: null\n });\n }\n }\n\n if (renderMonthText !== prevRenderMonthText) {\n this.setState({\n monthTitleHeight: null\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentWillUpdate\",\n value: function () {\n function componentWillUpdate() {\n var _this2 = this;\n\n var transitionDuration = this.props.transitionDuration; // Calculating the dimensions trigger a DOM repaint which\n // breaks the CSS transition.\n // The setTimeout will wait until the transition ends.\n\n if (this.calendarInfo) {\n this.setCalendarInfoWidthTimeout = setTimeout(function () {\n var calendarInfoWidth = _this2.state.calendarInfoWidth;\n var calendarInfoPanelWidth = (0, _calculateDimension[\"default\"])(_this2.calendarInfo, 'width', true, true);\n\n if (calendarInfoWidth !== calendarInfoPanelWidth) {\n _this2.setState({\n calendarInfoWidth: calendarInfoPanelWidth\n });\n }\n }, transitionDuration);\n }\n }\n\n return componentWillUpdate;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var _this$props2 = this.props,\n orientation = _this$props2.orientation,\n daySize = _this$props2.daySize,\n isFocused = _this$props2.isFocused,\n numberOfMonths = _this$props2.numberOfMonths;\n var _this$state = this.state,\n focusedDate = _this$state.focusedDate,\n monthTitleHeight = _this$state.monthTitleHeight;\n\n if (this.isHorizontal() && (orientation !== prevProps.orientation || daySize !== prevProps.daySize)) {\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);\n var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n if (!prevProps.isFocused && isFocused && !focusedDate) {\n this.container.focus();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n function componentWillUnmount() {\n clearTimeout(this.setCalendarInfoWidthTimeout);\n clearTimeout(this.setCalendarMonthGridHeightTimeout);\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: \"onKeyDown\",\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n\n if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {\n this.throttledKeyDown(e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: \"onFinalKeyDown\",\n value: function () {\n function onFinalKeyDown(e) {\n this.setState({\n withMouseInteractions: false\n });\n var _this$props3 = this.props,\n onBlur = _this$props3.onBlur,\n onTab = _this$props3.onTab,\n onShiftTab = _this$props3.onShiftTab,\n isRTL = _this$props3.isRTL;\n var _this$state2 = this.state,\n focusedDate = _this$state2.focusedDate,\n showKeyboardShortcuts = _this$state2.showKeyboardShortcuts;\n if (!focusedDate) return;\n var newFocusedDate = focusedDate.clone();\n var didTransitionMonth = false; // focus might be anywhere when the keyboard shortcuts panel is opened so we want to\n // return it to wherever it was before when the panel was opened\n\n var activeElement = (0, _getActiveElement[\"default\"])();\n\n var onKeyboardShortcutsPanelClose = function () {\n function onKeyboardShortcutsPanelClose() {\n if (activeElement) activeElement.focus();\n }\n\n return onKeyboardShortcutsPanelClose;\n }();\n\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n newFocusedDate.subtract(1, 'week');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n\n case 'ArrowLeft':\n e.preventDefault();\n\n if (isRTL) {\n newFocusedDate.add(1, 'day');\n } else {\n newFocusedDate.subtract(1, 'day');\n }\n\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n\n case 'Home':\n e.preventDefault();\n newFocusedDate.startOf('week');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n\n case 'PageUp':\n e.preventDefault();\n newFocusedDate.subtract(1, 'month');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n\n case 'ArrowDown':\n e.preventDefault();\n newFocusedDate.add(1, 'week');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n\n case 'ArrowRight':\n e.preventDefault();\n\n if (isRTL) {\n newFocusedDate.subtract(1, 'day');\n } else {\n newFocusedDate.add(1, 'day');\n }\n\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n\n case 'End':\n e.preventDefault();\n newFocusedDate.endOf('week');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n\n case 'PageDown':\n e.preventDefault();\n newFocusedDate.add(1, 'month');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n\n case '?':\n this.openKeyboardShortcutsPanel(onKeyboardShortcutsPanelClose);\n break;\n\n case 'Escape':\n if (showKeyboardShortcuts) {\n this.closeKeyboardShortcutsPanel();\n } else {\n onBlur(e);\n }\n\n break;\n\n case 'Tab':\n if (e.shiftKey) {\n onShiftTab();\n } else {\n onTab(e);\n }\n\n break;\n\n default:\n break;\n } // If there was a month transition, do not update the focused date until the transition has\n // completed. Otherwise, attempting to focus on a DOM node may interrupt the CSS animation. If\n // didTransitionMonth is true, the focusedDate gets updated in #updateStateAfterMonthTransition\n\n\n if (!didTransitionMonth) {\n this.setState({\n focusedDate: newFocusedDate\n });\n }\n }\n\n return onFinalKeyDown;\n }()\n }, {\n key: \"onPrevMonthClick\",\n value: function () {\n function onPrevMonthClick(e) {\n if (e) e.preventDefault();\n this.onPrevMonthTransition();\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: \"onPrevMonthTransition\",\n value: function () {\n function onPrevMonthTransition(nextFocusedDate) {\n var _this$props4 = this.props,\n daySize = _this$props4.daySize,\n isRTL = _this$props4.isRTL,\n numberOfMonths = _this$props4.numberOfMonths;\n var _this$state3 = this.state,\n calendarMonthWidth = _this$state3.calendarMonthWidth,\n monthTitleHeight = _this$state3.monthTitleHeight;\n var translationValue;\n\n if (this.isVertical()) {\n var calendarMonthWeeksHeight = this.calendarMonthWeeks[0] * (daySize - 1);\n translationValue = monthTitleHeight + calendarMonthWeeksHeight + 1;\n } else if (this.isHorizontal()) {\n translationValue = calendarMonthWidth;\n\n if (isRTL) {\n translationValue = -2 * calendarMonthWidth;\n }\n\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(0, numberOfMonths);\n\n var _calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n\n var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n this.setState({\n monthTransition: PREV_TRANSITION,\n translationValue: translationValue,\n focusedDate: null,\n nextFocusedDate: nextFocusedDate\n });\n }\n\n return onPrevMonthTransition;\n }()\n }, {\n key: \"onMonthChange\",\n value: function () {\n function onMonthChange(currentMonth) {\n this.setCalendarMonthWeeks(currentMonth);\n this.calculateAndSetDayPickerHeight(); // Translation value is a hack to force an invisible transition that\n // properly rerenders the CalendarMonthGrid\n\n this.setState({\n monthTransition: MONTH_SELECTION_TRANSITION,\n translationValue: 0.00001,\n focusedDate: null,\n nextFocusedDate: currentMonth,\n currentMonth: currentMonth\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: \"onYearChange\",\n value: function () {\n function onYearChange(currentMonth) {\n this.setCalendarMonthWeeks(currentMonth);\n this.calculateAndSetDayPickerHeight(); // Translation value is a hack to force an invisible transition that\n // properly rerenders the CalendarMonthGrid\n\n this.setState({\n monthTransition: YEAR_SELECTION_TRANSITION,\n translationValue: 0.0001,\n focusedDate: null,\n nextFocusedDate: currentMonth,\n currentMonth: currentMonth\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: \"onNextMonthClick\",\n value: function () {\n function onNextMonthClick(e) {\n if (e) e.preventDefault();\n this.onNextMonthTransition();\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: \"onNextMonthTransition\",\n value: function () {\n function onNextMonthTransition(nextFocusedDate) {\n var _this$props5 = this.props,\n isRTL = _this$props5.isRTL,\n numberOfMonths = _this$props5.numberOfMonths,\n daySize = _this$props5.daySize;\n var _this$state4 = this.state,\n calendarMonthWidth = _this$state4.calendarMonthWidth,\n monthTitleHeight = _this$state4.monthTitleHeight;\n var translationValue;\n\n if (this.isVertical()) {\n var firstVisibleMonthWeeks = this.calendarMonthWeeks[1];\n var calendarMonthWeeksHeight = firstVisibleMonthWeeks * (daySize - 1);\n translationValue = -(monthTitleHeight + calendarMonthWeeksHeight + 1);\n }\n\n if (this.isHorizontal()) {\n translationValue = -calendarMonthWidth;\n\n if (isRTL) {\n translationValue = 0;\n }\n\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(2, numberOfMonths + 2);\n\n var _calendarMonthWeeksHeight2 = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n\n var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight2 + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n this.setState({\n monthTransition: NEXT_TRANSITION,\n translationValue: translationValue,\n focusedDate: null,\n nextFocusedDate: nextFocusedDate\n });\n }\n\n return onNextMonthTransition;\n }()\n }, {\n key: \"getFirstDayOfWeek\",\n value: function () {\n function getFirstDayOfWeek() {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n if (firstDayOfWeek == null) {\n return _moment[\"default\"].localeData().firstDayOfWeek();\n }\n\n return firstDayOfWeek;\n }\n\n return getFirstDayOfWeek;\n }()\n }, {\n key: \"getFirstVisibleIndex\",\n value: function () {\n function getFirstVisibleIndex() {\n var orientation = this.props.orientation;\n var monthTransition = this.state.monthTransition;\n if (orientation === _constants.VERTICAL_SCROLLABLE) return 0;\n var firstVisibleMonthIndex = 1;\n\n if (monthTransition === PREV_TRANSITION) {\n firstVisibleMonthIndex -= 1;\n } else if (monthTransition === NEXT_TRANSITION) {\n firstVisibleMonthIndex += 1;\n }\n\n return firstVisibleMonthIndex;\n }\n\n return getFirstVisibleIndex;\n }()\n }, {\n key: \"getFocusedDay\",\n value: function () {\n function getFocusedDay(newMonth) {\n var _this$props6 = this.props,\n getFirstFocusableDay = _this$props6.getFirstFocusableDay,\n numberOfMonths = _this$props6.numberOfMonths;\n var focusedDate;\n\n if (getFirstFocusableDay) {\n focusedDate = getFirstFocusableDay(newMonth);\n }\n\n if (newMonth && (!focusedDate || !(0, _isDayVisible[\"default\"])(focusedDate, newMonth, numberOfMonths))) {\n focusedDate = newMonth.clone().startOf('month');\n }\n\n return focusedDate;\n }\n\n return getFocusedDay;\n }()\n }, {\n key: \"setMonthTitleHeight\",\n value: function () {\n function setMonthTitleHeight(monthTitleHeight) {\n var _this3 = this;\n\n this.setState({\n monthTitleHeight: monthTitleHeight\n }, function () {\n _this3.calculateAndSetDayPickerHeight();\n });\n }\n\n return setMonthTitleHeight;\n }()\n }, {\n key: \"setCalendarMonthWeeks\",\n value: function () {\n function setCalendarMonthWeeks(currentMonth) {\n var numberOfMonths = this.props.numberOfMonths;\n this.calendarMonthWeeks = [];\n var month = currentMonth.clone().subtract(1, 'months');\n var firstDayOfWeek = this.getFirstDayOfWeek();\n\n for (var i = 0; i < numberOfMonths + 2; i += 1) {\n var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks[\"default\"])(month, firstDayOfWeek);\n this.calendarMonthWeeks.push(numberOfWeeks);\n month = month.add(1, 'months');\n }\n }\n\n return setCalendarMonthWeeks;\n }()\n }, {\n key: \"setContainerRef\",\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: \"setCalendarInfoRef\",\n value: function () {\n function setCalendarInfoRef(ref) {\n this.calendarInfo = ref;\n }\n\n return setCalendarInfoRef;\n }()\n }, {\n key: \"setTransitionContainerRef\",\n value: function () {\n function setTransitionContainerRef(ref) {\n this.transitionContainer = ref;\n }\n\n return setTransitionContainerRef;\n }()\n }, {\n key: \"maybeTransitionNextMonth\",\n value: function () {\n function maybeTransitionNextMonth(newFocusedDate) {\n var numberOfMonths = this.props.numberOfMonths;\n var _this$state5 = this.state,\n currentMonth = _this$state5.currentMonth,\n focusedDate = _this$state5.focusedDate;\n var newFocusedDateMonth = newFocusedDate.month();\n var focusedDateMonth = focusedDate.month();\n var isNewFocusedDateVisible = (0, _isDayVisible[\"default\"])(newFocusedDate, currentMonth, numberOfMonths);\n\n if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {\n this.onNextMonthTransition(newFocusedDate);\n return true;\n }\n\n return false;\n }\n\n return maybeTransitionNextMonth;\n }()\n }, {\n key: \"maybeTransitionPrevMonth\",\n value: function () {\n function maybeTransitionPrevMonth(newFocusedDate) {\n var numberOfMonths = this.props.numberOfMonths;\n var _this$state6 = this.state,\n currentMonth = _this$state6.currentMonth,\n focusedDate = _this$state6.focusedDate;\n var newFocusedDateMonth = newFocusedDate.month();\n var focusedDateMonth = focusedDate.month();\n var isNewFocusedDateVisible = (0, _isDayVisible[\"default\"])(newFocusedDate, currentMonth, numberOfMonths);\n\n if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {\n this.onPrevMonthTransition(newFocusedDate);\n return true;\n }\n\n return false;\n }\n\n return maybeTransitionPrevMonth;\n }()\n }, {\n key: \"multiplyScrollableMonths\",\n value: function () {\n function multiplyScrollableMonths(e) {\n var onMultiplyScrollableMonths = this.props.onMultiplyScrollableMonths;\n if (e) e.preventDefault();\n if (onMultiplyScrollableMonths) onMultiplyScrollableMonths(e);\n this.setState(function (_ref2) {\n var scrollableMonthMultiple = _ref2.scrollableMonthMultiple;\n return {\n scrollableMonthMultiple: scrollableMonthMultiple + 1\n };\n });\n }\n\n return multiplyScrollableMonths;\n }()\n }, {\n key: \"isHorizontal\",\n value: function () {\n function isHorizontal() {\n var orientation = this.props.orientation;\n return orientation === _constants.HORIZONTAL_ORIENTATION;\n }\n\n return isHorizontal;\n }()\n }, {\n key: \"isVertical\",\n value: function () {\n function isVertical() {\n var orientation = this.props.orientation;\n return orientation === _constants.VERTICAL_ORIENTATION || orientation === _constants.VERTICAL_SCROLLABLE;\n }\n\n return isVertical;\n }()\n }, {\n key: \"updateStateAfterMonthTransition\",\n value: function () {\n function updateStateAfterMonthTransition() {\n var _this4 = this;\n\n var _this$props7 = this.props,\n onPrevMonthClick = _this$props7.onPrevMonthClick,\n onNextMonthClick = _this$props7.onNextMonthClick,\n numberOfMonths = _this$props7.numberOfMonths,\n onMonthChange = _this$props7.onMonthChange,\n onYearChange = _this$props7.onYearChange,\n isRTL = _this$props7.isRTL;\n var _this$state7 = this.state,\n currentMonth = _this$state7.currentMonth,\n monthTransition = _this$state7.monthTransition,\n focusedDate = _this$state7.focusedDate,\n nextFocusedDate = _this$state7.nextFocusedDate,\n withMouseInteractions = _this$state7.withMouseInteractions,\n calendarMonthWidth = _this$state7.calendarMonthWidth;\n if (!monthTransition) return;\n var newMonth = currentMonth.clone();\n var firstDayOfWeek = this.getFirstDayOfWeek();\n\n if (monthTransition === PREV_TRANSITION) {\n newMonth.subtract(1, 'month');\n if (onPrevMonthClick) onPrevMonthClick(newMonth);\n var newInvisibleMonth = newMonth.clone().subtract(1, 'month');\n var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks[\"default\"])(newInvisibleMonth, firstDayOfWeek);\n this.calendarMonthWeeks = [numberOfWeeks].concat(_toConsumableArray(this.calendarMonthWeeks.slice(0, -1)));\n } else if (monthTransition === NEXT_TRANSITION) {\n newMonth.add(1, 'month');\n if (onNextMonthClick) onNextMonthClick(newMonth);\n\n var _newInvisibleMonth = newMonth.clone().add(numberOfMonths, 'month');\n\n var _numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks[\"default\"])(_newInvisibleMonth, firstDayOfWeek);\n\n this.calendarMonthWeeks = _toConsumableArray(this.calendarMonthWeeks.slice(1)).concat([_numberOfWeeks]);\n } else if (monthTransition === MONTH_SELECTION_TRANSITION) {\n if (onMonthChange) onMonthChange(newMonth);\n } else if (monthTransition === YEAR_SELECTION_TRANSITION) {\n if (onYearChange) onYearChange(newMonth);\n }\n\n var newFocusedDate = null;\n\n if (nextFocusedDate) {\n newFocusedDate = nextFocusedDate;\n } else if (!focusedDate && !withMouseInteractions) {\n newFocusedDate = this.getFocusedDay(newMonth);\n }\n\n this.setState({\n currentMonth: newMonth,\n monthTransition: null,\n translationValue: isRTL && this.isHorizontal() ? -calendarMonthWidth : 0,\n nextFocusedDate: null,\n focusedDate: newFocusedDate\n }, function () {\n // we don't want to focus on the relevant calendar day after a month transition\n // if the user is navigating around using a mouse\n if (withMouseInteractions) {\n var activeElement = (0, _getActiveElement[\"default\"])();\n\n if (activeElement && activeElement !== document.body && _this4.container.contains(activeElement) && activeElement.blur) {\n activeElement.blur();\n }\n }\n });\n }\n\n return updateStateAfterMonthTransition;\n }()\n }, {\n key: \"adjustDayPickerHeight\",\n value: function () {\n function adjustDayPickerHeight(newMonthHeight) {\n var _this5 = this;\n\n var monthHeight = newMonthHeight + MONTH_PADDING;\n\n if (monthHeight !== this.calendarMonthGridHeight) {\n this.transitionContainer.style.height = \"\".concat(monthHeight, \"px\");\n\n if (!this.calendarMonthGridHeight) {\n this.setCalendarMonthGridHeightTimeout = setTimeout(function () {\n _this5.setState({\n hasSetHeight: true\n });\n }, 0);\n }\n\n this.calendarMonthGridHeight = monthHeight;\n }\n }\n\n return adjustDayPickerHeight;\n }()\n }, {\n key: \"calculateAndSetDayPickerHeight\",\n value: function () {\n function calculateAndSetDayPickerHeight() {\n var _this$props8 = this.props,\n daySize = _this$props8.daySize,\n numberOfMonths = _this$props8.numberOfMonths;\n var monthTitleHeight = this.state.monthTitleHeight;\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);\n var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;\n\n if (this.isHorizontal()) {\n this.adjustDayPickerHeight(newMonthHeight);\n }\n }\n\n return calculateAndSetDayPickerHeight;\n }()\n }, {\n key: \"openKeyboardShortcutsPanel\",\n value: function () {\n function openKeyboardShortcutsPanel(onCloseCallBack) {\n this.setState({\n showKeyboardShortcuts: true,\n onKeyboardShortcutsPanelClose: onCloseCallBack\n });\n }\n\n return openKeyboardShortcutsPanel;\n }()\n }, {\n key: \"closeKeyboardShortcutsPanel\",\n value: function () {\n function closeKeyboardShortcutsPanel() {\n var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;\n\n if (onKeyboardShortcutsPanelClose) {\n onKeyboardShortcutsPanelClose();\n }\n\n this.setState({\n onKeyboardShortcutsPanelClose: null,\n showKeyboardShortcuts: false\n });\n }\n\n return closeKeyboardShortcutsPanel;\n }()\n }, {\n key: \"renderNavigation\",\n value: function () {\n function renderNavigation() {\n var _this$props9 = this.props,\n disablePrev = _this$props9.disablePrev,\n disableNext = _this$props9.disableNext,\n navPrev = _this$props9.navPrev,\n navNext = _this$props9.navNext,\n noNavButtons = _this$props9.noNavButtons,\n orientation = _this$props9.orientation,\n phrases = _this$props9.phrases,\n isRTL = _this$props9.isRTL;\n\n if (noNavButtons) {\n return null;\n }\n\n var onNextMonthClick = orientation === _constants.VERTICAL_SCROLLABLE ? this.multiplyScrollableMonths : this.onNextMonthClick;\n return _react[\"default\"].createElement(_DayPickerNavigation[\"default\"], {\n disablePrev: disablePrev,\n disableNext: disableNext,\n onPrevMonthClick: this.onPrevMonthClick,\n onNextMonthClick: onNextMonthClick,\n navPrev: navPrev,\n navNext: navNext,\n orientation: orientation,\n phrases: phrases,\n isRTL: isRTL\n });\n }\n\n return renderNavigation;\n }()\n }, {\n key: \"renderWeekHeader\",\n value: function () {\n function renderWeekHeader(index) {\n var _this$props10 = this.props,\n daySize = _this$props10.daySize,\n horizontalMonthPadding = _this$props10.horizontalMonthPadding,\n orientation = _this$props10.orientation,\n weekDayFormat = _this$props10.weekDayFormat,\n styles = _this$props10.styles;\n var calendarMonthWidth = this.state.calendarMonthWidth;\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var horizontalStyle = {\n left: index * calendarMonthWidth\n };\n var verticalStyle = {\n marginLeft: -calendarMonthWidth / 2\n };\n var weekHeaderStyle = {}; // no styles applied to the vertical-scrollable orientation\n\n if (this.isHorizontal()) {\n weekHeaderStyle = horizontalStyle;\n } else if (this.isVertical() && !verticalScrollable) {\n weekHeaderStyle = verticalStyle;\n }\n\n var firstDayOfWeek = this.getFirstDayOfWeek();\n var header = [];\n\n for (var i = 0; i < 7; i += 1) {\n header.push(_react[\"default\"].createElement(\"li\", _extends({\n key: i\n }, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_li, {\n width: daySize\n })), _react[\"default\"].createElement(\"small\", null, (0, _moment[\"default\"])().day((i + firstDayOfWeek) % 7).format(weekDayFormat))));\n }\n\n return _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader, this.isVertical() && styles.DayPicker_weekHeader__vertical, verticalScrollable && styles.DayPicker_weekHeader__verticalScrollable, weekHeaderStyle, {\n padding: \"0 \".concat(horizontalMonthPadding, \"px\")\n }), {\n key: \"week-\".concat(index)\n }), _react[\"default\"].createElement(\"ul\", (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_ul), header));\n }\n\n return renderWeekHeader;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this6 = this;\n\n var _this$state8 = this.state,\n calendarMonthWidth = _this$state8.calendarMonthWidth,\n currentMonth = _this$state8.currentMonth,\n monthTransition = _this$state8.monthTransition,\n translationValue = _this$state8.translationValue,\n scrollableMonthMultiple = _this$state8.scrollableMonthMultiple,\n focusedDate = _this$state8.focusedDate,\n showKeyboardShortcuts = _this$state8.showKeyboardShortcuts,\n isTouch = _this$state8.isTouchDevice,\n hasSetHeight = _this$state8.hasSetHeight,\n calendarInfoWidth = _this$state8.calendarInfoWidth,\n monthTitleHeight = _this$state8.monthTitleHeight;\n var _this$props11 = this.props,\n enableOutsideDays = _this$props11.enableOutsideDays,\n numberOfMonths = _this$props11.numberOfMonths,\n orientation = _this$props11.orientation,\n modifiers = _this$props11.modifiers,\n withPortal = _this$props11.withPortal,\n onDayClick = _this$props11.onDayClick,\n onDayMouseEnter = _this$props11.onDayMouseEnter,\n onDayMouseLeave = _this$props11.onDayMouseLeave,\n firstDayOfWeek = _this$props11.firstDayOfWeek,\n renderMonthText = _this$props11.renderMonthText,\n renderCalendarDay = _this$props11.renderCalendarDay,\n renderDayContents = _this$props11.renderDayContents,\n renderCalendarInfo = _this$props11.renderCalendarInfo,\n renderMonthElement = _this$props11.renderMonthElement,\n renderKeyboardShortcutsButton = _this$props11.renderKeyboardShortcutsButton,\n calendarInfoPosition = _this$props11.calendarInfoPosition,\n hideKeyboardShortcutsPanel = _this$props11.hideKeyboardShortcutsPanel,\n onOutsideClick = _this$props11.onOutsideClick,\n monthFormat = _this$props11.monthFormat,\n daySize = _this$props11.daySize,\n isFocused = _this$props11.isFocused,\n isRTL = _this$props11.isRTL,\n styles = _this$props11.styles,\n theme = _this$props11.theme,\n phrases = _this$props11.phrases,\n verticalHeight = _this$props11.verticalHeight,\n dayAriaLabelFormat = _this$props11.dayAriaLabelFormat,\n noBorder = _this$props11.noBorder,\n transitionDuration = _this$props11.transitionDuration,\n verticalBorderSpacing = _this$props11.verticalBorderSpacing,\n horizontalMonthPadding = _this$props11.horizontalMonthPadding;\n var dayPickerHorizontalPadding = theme.reactDates.spacing.dayPickerHorizontalPadding;\n var isHorizontal = this.isHorizontal();\n var numOfWeekHeaders = this.isVertical() ? 1 : numberOfMonths;\n var weekHeaders = [];\n\n for (var i = 0; i < numOfWeekHeaders; i += 1) {\n weekHeaders.push(this.renderWeekHeader(i));\n }\n\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var height;\n\n if (isHorizontal) {\n height = this.calendarMonthGridHeight;\n } else if (this.isVertical() && !verticalScrollable && !withPortal) {\n // If the user doesn't set a desired height,\n // we default back to this kind of made-up value that generally looks good\n height = verticalHeight || 1.75 * calendarMonthWidth;\n }\n\n var isCalendarMonthGridAnimating = monthTransition !== null;\n var shouldFocusDate = !isCalendarMonthGridAnimating && isFocused;\n var keyboardShortcutButtonLocation = _DayPickerKeyboardShortcuts.BOTTOM_RIGHT;\n\n if (this.isVertical()) {\n keyboardShortcutButtonLocation = withPortal ? _DayPickerKeyboardShortcuts.TOP_LEFT : _DayPickerKeyboardShortcuts.TOP_RIGHT;\n }\n\n var shouldAnimateHeight = isHorizontal && hasSetHeight;\n var calendarInfoPositionTop = calendarInfoPosition === _constants.INFO_POSITION_TOP;\n var calendarInfoPositionBottom = calendarInfoPosition === _constants.INFO_POSITION_BOTTOM;\n var calendarInfoPositionBefore = calendarInfoPosition === _constants.INFO_POSITION_BEFORE;\n var calendarInfoPositionAfter = calendarInfoPosition === _constants.INFO_POSITION_AFTER;\n var calendarInfoIsInline = calendarInfoPositionBefore || calendarInfoPositionAfter;\n\n var calendarInfo = renderCalendarInfo && _react[\"default\"].createElement(\"div\", _extends({\n ref: this.setCalendarInfoRef\n }, (0, _reactWithStyles.css)(calendarInfoIsInline && styles.DayPicker_calendarInfo__horizontal)), renderCalendarInfo());\n\n var calendarInfoPanelWidth = renderCalendarInfo && calendarInfoIsInline ? calendarInfoWidth : 0;\n var firstVisibleMonthIndex = this.getFirstVisibleIndex();\n var wrapperHorizontalWidth = calendarMonthWidth * numberOfMonths + 2 * dayPickerHorizontalPadding; // Adding `1px` because of whitespace between 2 inline-block\n\n var fullHorizontalWidth = wrapperHorizontalWidth + calendarInfoPanelWidth + 1;\n var transitionContainerStyle = {\n width: isHorizontal && wrapperHorizontalWidth,\n height: height\n };\n var dayPickerWrapperStyle = {\n width: isHorizontal && wrapperHorizontalWidth\n };\n var dayPickerStyle = {\n width: isHorizontal && fullHorizontalWidth,\n // These values are to center the datepicker (approximately) on the page\n marginLeft: isHorizontal && withPortal ? -fullHorizontalWidth / 2 : null,\n marginTop: isHorizontal && withPortal ? -calendarMonthWidth / 2 : null\n };\n return _react[\"default\"].createElement(\"div\", _extends({\n role: \"application\",\n \"aria-label\": phrases.calendarLabel\n }, (0, _reactWithStyles.css)(styles.DayPicker, isHorizontal && styles.DayPicker__horizontal, verticalScrollable && styles.DayPicker__verticalScrollable, isHorizontal && withPortal && styles.DayPicker_portal__horizontal, this.isVertical() && withPortal && styles.DayPicker_portal__vertical, dayPickerStyle, !monthTitleHeight && styles.DayPicker__hidden, !noBorder && styles.DayPicker__withBorder)), _react[\"default\"].createElement(_reactOutsideClickHandler[\"default\"], {\n onOutsideClick: onOutsideClick\n }, (calendarInfoPositionTop || calendarInfoPositionBefore) && calendarInfo, _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(dayPickerWrapperStyle, calendarInfoIsInline && isHorizontal && styles.DayPicker_wrapper__horizontal), _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeaders, isHorizontal && styles.DayPicker_weekHeaders__horizontal), {\n \"aria-hidden\": \"true\",\n role: \"presentation\"\n }), weekHeaders), _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_focusRegion), {\n ref: this.setContainerRef,\n onClick: function () {\n function onClick(e) {\n e.stopPropagation();\n }\n\n return onClick;\n }(),\n onKeyDown: this.onKeyDown,\n onMouseUp: function () {\n function onMouseUp() {\n _this6.setState({\n withMouseInteractions: true\n });\n }\n\n return onMouseUp;\n }(),\n role: \"region\",\n tabIndex: -1\n }), !verticalScrollable && this.renderNavigation(), _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_transitionContainer, shouldAnimateHeight && styles.DayPicker_transitionContainer__horizontal, this.isVertical() && styles.DayPicker_transitionContainer__vertical, verticalScrollable && styles.DayPicker_transitionContainer__verticalScrollable, transitionContainerStyle), {\n ref: this.setTransitionContainerRef\n }), _react[\"default\"].createElement(_CalendarMonthGrid[\"default\"], {\n setMonthTitleHeight: !monthTitleHeight ? this.setMonthTitleHeight : undefined,\n translationValue: translationValue,\n enableOutsideDays: enableOutsideDays,\n firstVisibleMonthIndex: firstVisibleMonthIndex,\n initialMonth: currentMonth,\n isAnimating: isCalendarMonthGridAnimating,\n modifiers: modifiers,\n orientation: orientation,\n numberOfMonths: numberOfMonths * scrollableMonthMultiple,\n onDayClick: onDayClick,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onMonthChange: this.onMonthChange,\n onYearChange: this.onYearChange,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderMonthElement: renderMonthElement,\n onMonthTransitionEnd: this.updateStateAfterMonthTransition,\n monthFormat: monthFormat,\n daySize: daySize,\n firstDayOfWeek: firstDayOfWeek,\n isFocused: shouldFocusDate,\n focusedDate: focusedDate,\n phrases: phrases,\n isRTL: isRTL,\n dayAriaLabelFormat: dayAriaLabelFormat,\n transitionDuration: transitionDuration,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n }), verticalScrollable && this.renderNavigation()), !isTouch && !hideKeyboardShortcutsPanel && _react[\"default\"].createElement(_DayPickerKeyboardShortcuts[\"default\"], {\n block: this.isVertical() && !withPortal,\n buttonLocation: keyboardShortcutButtonLocation,\n showKeyboardShortcutsPanel: showKeyboardShortcuts,\n openKeyboardShortcutsPanel: this.openKeyboardShortcutsPanel,\n closeKeyboardShortcutsPanel: this.closeKeyboardShortcutsPanel,\n phrases: phrases,\n renderKeyboardShortcutsButton: renderKeyboardShortcutsButton\n }))), (calendarInfoPositionBottom || calendarInfoPositionAfter) && calendarInfo));\n }\n\n return render;\n }()\n }]);\n\n return DayPicker;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports.PureDayPicker = DayPicker;\nDayPicker.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDayPicker.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref3) {\n var _ref3$reactDates = _ref3.reactDates,\n color = _ref3$reactDates.color,\n font = _ref3$reactDates.font,\n noScrollBarOnVerticalScrollable = _ref3$reactDates.noScrollBarOnVerticalScrollable,\n spacing = _ref3$reactDates.spacing,\n zIndex = _ref3$reactDates.zIndex;\n return {\n DayPicker: {\n background: color.background,\n position: 'relative',\n textAlign: (0, _noflip[\"default\"])('left')\n },\n DayPicker__horizontal: {\n background: color.background\n },\n DayPicker__verticalScrollable: {\n height: '100%'\n },\n DayPicker__hidden: {\n visibility: 'hidden'\n },\n DayPicker__withBorder: {\n boxShadow: (0, _noflip[\"default\"])('0 2px 6px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.07)'),\n borderRadius: 3\n },\n DayPicker_portal__horizontal: {\n boxShadow: 'none',\n position: 'absolute',\n left: (0, _noflip[\"default\"])('50%'),\n top: '50%'\n },\n DayPicker_portal__vertical: {\n position: 'initial'\n },\n DayPicker_focusRegion: {\n outline: 'none'\n },\n DayPicker_calendarInfo__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n DayPicker_wrapper__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n DayPicker_weekHeaders: {\n position: 'relative'\n },\n DayPicker_weekHeaders__horizontal: {\n marginLeft: (0, _noflip[\"default\"])(spacing.dayPickerHorizontalPadding)\n },\n DayPicker_weekHeader: {\n color: color.placeholderText,\n position: 'absolute',\n top: 62,\n zIndex: zIndex + 2,\n textAlign: (0, _noflip[\"default\"])('left')\n },\n DayPicker_weekHeader__vertical: {\n left: (0, _noflip[\"default\"])('50%')\n },\n DayPicker_weekHeader__verticalScrollable: {\n top: 0,\n display: 'table-row',\n borderBottom: \"1px solid \".concat(color.core.border),\n background: color.background,\n marginLeft: (0, _noflip[\"default\"])(0),\n left: (0, _noflip[\"default\"])(0),\n width: '100%',\n textAlign: 'center'\n },\n DayPicker_weekHeader_ul: {\n listStyle: 'none',\n margin: '1px 0',\n paddingLeft: (0, _noflip[\"default\"])(0),\n paddingRight: (0, _noflip[\"default\"])(0),\n fontSize: font.size\n },\n DayPicker_weekHeader_li: {\n display: 'inline-block',\n textAlign: 'center'\n },\n DayPicker_transitionContainer: {\n position: 'relative',\n overflow: 'hidden',\n borderRadius: 3\n },\n DayPicker_transitionContainer__horizontal: {\n transition: 'height 0.2s ease-in-out'\n },\n DayPicker_transitionContainer__vertical: {\n width: '100%'\n },\n DayPicker_transitionContainer__verticalScrollable: _objectSpread({\n paddingTop: 20,\n height: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: (0, _noflip[\"default\"])(0),\n left: (0, _noflip[\"default\"])(0),\n overflowY: 'scroll'\n }, noScrollBarOnVerticalScrollable && {\n '-webkitOverflowScrolling': 'touch',\n '::-webkit-scrollbar': {\n '-webkit-appearance': 'none',\n display: 'none'\n }\n })\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DayPicker);\n\nexports[\"default\"] = _default;","// eslint-disable-next-line import/no-unresolved\nrequire('./lib/initialize');\n","'use strict';\n\nvar ES = require('es-abstract/es2017');\n\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || (Math.pow(2, 53) - 1);\n\n// eslint-disable-next-line max-params, max-statements\nvar FlattenIntoArray = function FlattenIntoArray(target, source, sourceLen, start, depth) {\n\tvar targetIndex = start;\n\tvar sourceIndex = 0;\n\n\t/*\n\tvar mapperFunction;\n\tif (arguments.length > 5) {\n\t\tmapperFunction = arguments[5];\n\t}\n\t*/\n\n\twhile (sourceIndex < sourceLen) {\n\t\tvar P = ES.ToString(sourceIndex);\n\t\tvar exists = ES.HasProperty(source, P);\n\t\tif (exists) {\n\t\t\tvar element = ES.Get(source, P);\n\t\t\t/*\n\t\t\tif (typeof mapperFunction !== 'undefined') {\n\t\t\t\tif (arguments.length <= 6) {\n\t\t\t\t\tthrow new TypeError('Assertion failed: thisArg is required when mapperFunction is provided');\n\t\t\t\t}\n\t\t\t\telement = ES.Call(mapperFunction, arguments[6], [element, sourceIndex, source]);\n\t\t\t}\n\t\t\t*/\n\t\t\tvar shouldFlatten = false;\n\t\t\tif (depth > 0) {\n\t\t\t\tshouldFlatten = ES.IsArray(element);\n\t\t\t}\n\t\t\tif (shouldFlatten) {\n\t\t\t\tvar elementLen = ES.ToLength(ES.Get(element, 'length'));\n\t\t\t\ttargetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1);\n\t\t\t} else {\n\t\t\t\tif (targetIndex >= MAX_SAFE_INTEGER) {\n\t\t\t\t\tthrow new TypeError('index too large');\n\t\t\t\t}\n\t\t\t\tES.CreateDataPropertyOrThrow(target, ES.ToString(targetIndex), element);\n\t\t\t\ttargetIndex += 1;\n\t\t\t}\n\t\t}\n\t\tsourceIndex += 1;\n\t}\n\n\treturn targetIndex;\n};\n\nmodule.exports = function flat() {\n\tvar O = ES.ToObject(this);\n\tvar sourceLen = ES.ToLength(ES.Get(O, 'length'));\n\n\tvar depthNum = 1;\n\tif (arguments.length > 0 && typeof arguments[0] !== 'undefined') {\n\t\tdepthNum = ES.ToInteger(arguments[0]);\n\t}\n\n\tvar A = ES.ArraySpeciesCreate(O, 0);\n\tFlattenIntoArray(A, O, sourceLen, 0, depthNum);\n\treturn A;\n};\n","'use strict';\n\nvar ES2015 = require('./es2015');\nvar assign = require('./helpers/assign');\n\nvar ES2016 = assign(assign({}, ES2015), {\n\t// https://github.com/tc39/ecma262/pull/60\n\tSameValueNonNumber: function SameValueNonNumber(x, y) {\n\t\tif (typeof x === 'number' || typeof x !== typeof y) {\n\t\t\tthrow new TypeError('SameValueNonNumber requires two non-number values of the same type.');\n\t\t}\n\t\treturn this.SameValue(x, y);\n\t}\n});\n\nmodule.exports = ES2016;\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateObject(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) { return false; }\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') { return false; }\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') { return true; }\n\t\tif (toStr.call(value) !== '[object Symbol]') { return false; }\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false;\n\t};\n}\n","module.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","var $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n","module.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n","module.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};\n","'use strict';\n\nvar has = require('has');\nvar regexExec = RegExp.prototype.exec;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar tryRegexExecCall = function tryRegexExec(value) {\n\ttry {\n\t\tvar lastIndex = value.lastIndex;\n\t\tvalue.lastIndex = 0;\n\n\t\tregexExec.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\tvalue.lastIndex = lastIndex;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar regexClass = '[object RegExp]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isRegex(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\treturn toStr.call(value) === regexClass;\n\t}\n\n\tvar descriptor = gOPD(value, 'lastIndex');\n\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\tif (!hasLastIndexDataProperty) {\n\t\treturn false;\n\t}\n\n\treturn tryRegexExecCall(value);\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn Array.prototype.flat || implementation;\n};\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar styleInterface = void 0;\nvar styleTheme = void 0;\n\nfunction registerTheme(theme) {\n styleTheme = theme;\n}\n\nfunction registerInterface(interfaceToRegister) {\n styleInterface = interfaceToRegister;\n}\n\nfunction create(makeFromTheme, createWithDirection) {\n var styles = createWithDirection(makeFromTheme(styleTheme));\n return function () {\n return styles;\n };\n}\n\nfunction createLTR(makeFromTheme) {\n return create(makeFromTheme, styleInterface.createLTR || styleInterface.create);\n}\n\nfunction createRTL(makeFromTheme) {\n return create(makeFromTheme, styleInterface.createRTL || styleInterface.create);\n}\n\nfunction get() {\n return styleTheme;\n}\n\nfunction resolve() {\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.resolve.start');\n }\n\n for (var _len = arguments.length, styles = Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var result = styleInterface.resolve(styles);\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.resolve.end');\n\n performance.measure('\\uD83D\\uDC69\\u200D\\uD83C\\uDFA8 [resolve]', 'react-with-styles.resolve.start', 'react-with-styles.resolve.end');\n }\n\n return result;\n}\n\nfunction resolveLTR() {\n for (var _len2 = arguments.length, styles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n styles[_key2] = arguments[_key2];\n }\n\n if (styleInterface.resolveLTR) {\n return styleInterface.resolveLTR(styles);\n }\n\n return resolve(styles);\n}\n\nfunction resolveRTL() {\n for (var _len3 = arguments.length, styles = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n styles[_key3] = arguments[_key3];\n }\n\n if (styleInterface.resolveRTL) {\n return styleInterface.resolveRTL(styles);\n }\n\n return resolve(styles);\n}\n\nfunction flush() {\n if (styleInterface.flush) {\n styleInterface.flush();\n }\n}\n\nexports['default'] = {\n registerTheme: registerTheme,\n registerInterface: registerInterface,\n create: createLTR,\n createLTR: createLTR,\n createRTL: createRTL,\n get: get,\n resolve: resolveLTR,\n resolveLTR: resolveLTR,\n resolveRTL: resolveRTL,\n flush: flush\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar core = {\n white: '#fff',\n gray: '#484848',\n grayLight: '#82888a',\n grayLighter: '#cacccd',\n grayLightest: '#f2f2f2',\n borderMedium: '#c4c4c4',\n border: '#dbdbdb',\n borderLight: '#e4e7e7',\n borderLighter: '#eceeee',\n borderBright: '#f4f5f5',\n primary: '#00a699',\n primaryShade_1: '#33dacd',\n primaryShade_2: '#66e2da',\n primaryShade_3: '#80e8e0',\n primaryShade_4: '#b2f1ec',\n primary_dark: '#008489',\n secondary: '#007a87',\n yellow: '#ffe8bc',\n yellow_dark: '#ffce71'\n};\nvar _default = {\n reactDates: {\n zIndex: 0,\n border: {\n input: {\n border: 0,\n borderTop: 0,\n borderRight: 0,\n borderBottom: '2px solid transparent',\n borderLeft: 0,\n outlineFocused: 0,\n borderFocused: 0,\n borderTopFocused: 0,\n borderLeftFocused: 0,\n borderBottomFocused: \"2px solid \".concat(core.primary_dark),\n borderRightFocused: 0,\n borderRadius: 0\n },\n pickerInput: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 2\n }\n },\n color: {\n core: core,\n disabled: core.grayLightest,\n background: core.white,\n backgroundDark: '#f2f2f2',\n backgroundFocused: core.white,\n border: 'rgb(219, 219, 219)',\n text: core.gray,\n textDisabled: core.border,\n textFocused: '#007a87',\n placeholderText: '#757575',\n outside: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n color: core.gray,\n color_active: core.gray,\n color_hover: core.gray\n },\n highlighted: {\n backgroundColor: core.yellow,\n backgroundColor_active: core.yellow_dark,\n backgroundColor_hover: core.yellow_dark,\n color: core.gray,\n color_active: core.gray,\n color_hover: core.gray\n },\n minimumNights: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n borderColor: core.borderLighter,\n color: core.grayLighter,\n color_active: core.grayLighter,\n color_hover: core.grayLighter\n },\n hoveredSpan: {\n backgroundColor: core.primaryShade_4,\n backgroundColor_active: core.primaryShade_3,\n backgroundColor_hover: core.primaryShade_4,\n borderColor: core.primaryShade_3,\n borderColor_active: core.primaryShade_3,\n borderColor_hover: core.primaryShade_3,\n color: core.secondary,\n color_active: core.secondary,\n color_hover: core.secondary\n },\n selectedSpan: {\n backgroundColor: core.primaryShade_2,\n backgroundColor_active: core.primaryShade_1,\n backgroundColor_hover: core.primaryShade_1,\n borderColor: core.primaryShade_1,\n borderColor_active: core.primary,\n borderColor_hover: core.primary,\n color: core.white,\n color_active: core.white,\n color_hover: core.white\n },\n selected: {\n backgroundColor: core.primary,\n backgroundColor_active: core.primary,\n backgroundColor_hover: core.primary,\n borderColor: core.primary,\n borderColor_active: core.primary,\n borderColor_hover: core.primary,\n color: core.white,\n color_active: core.white,\n color_hover: core.white\n },\n blocked_calendar: {\n backgroundColor: core.grayLighter,\n backgroundColor_active: core.grayLighter,\n backgroundColor_hover: core.grayLighter,\n borderColor: core.grayLighter,\n borderColor_active: core.grayLighter,\n borderColor_hover: core.grayLighter,\n color: core.grayLight,\n color_active: core.grayLight,\n color_hover: core.grayLight\n },\n blocked_out_of_range: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n borderColor: core.borderLight,\n borderColor_active: core.borderLight,\n borderColor_hover: core.borderLight,\n color: core.grayLighter,\n color_active: core.grayLighter,\n color_hover: core.grayLighter\n }\n },\n spacing: {\n dayPickerHorizontalPadding: 9,\n captionPaddingTop: 22,\n captionPaddingBottom: 37,\n inputPadding: 0,\n displayTextPaddingVertical: undefined,\n displayTextPaddingTop: 11,\n displayTextPaddingBottom: 9,\n displayTextPaddingHorizontal: undefined,\n displayTextPaddingLeft: 11,\n displayTextPaddingRight: 11,\n displayTextPaddingVertical_small: undefined,\n displayTextPaddingTop_small: 7,\n displayTextPaddingBottom_small: 5,\n displayTextPaddingHorizontal_small: undefined,\n displayTextPaddingLeft_small: 7,\n displayTextPaddingRight_small: 7\n },\n sizing: {\n inputWidth: 130,\n inputWidth_small: 97,\n arrowWidth: 24\n },\n noScrollBarOnVerticalScrollable: false,\n font: {\n size: 14,\n captionSize: 18,\n input: {\n size: 19,\n lineHeight: '24px',\n size_small: 15,\n lineHeight_small: '18px',\n letterSpacing_small: '0.2px',\n styleDisabled: 'italic'\n }\n }\n }\n};\nexports[\"default\"] = _default;","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./lib');\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getCalendarDaySettings;\n\nvar _getPhrase = _interopRequireDefault(require(\"./getPhrase\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isSelected(modifiers) {\n return modifiers.has('selected') || modifiers.has('selected-span') || modifiers.has('selected-start') || modifiers.has('selected-end');\n}\n\nfunction shouldUseDefaultCursor(modifiers) {\n return modifiers.has('blocked-minimum-nights') || modifiers.has('blocked-calendar') || modifiers.has('blocked-out-of-range');\n}\n\nfunction isHoveredSpan(modifiers) {\n if (isSelected(modifiers)) return false;\n return modifiers.has('hovered-span') || modifiers.has('after-hovered-start');\n}\n\nfunction getAriaLabel(phrases, modifiers, day, ariaLabelFormat) {\n var chooseAvailableDate = phrases.chooseAvailableDate,\n dateIsUnavailable = phrases.dateIsUnavailable,\n dateIsSelected = phrases.dateIsSelected,\n dateIsSelectedAsStartDate = phrases.dateIsSelectedAsStartDate,\n dateIsSelectedAsEndDate = phrases.dateIsSelectedAsEndDate;\n var formattedDate = {\n date: day.format(ariaLabelFormat)\n };\n\n if (modifiers.has('selected-start') && dateIsSelectedAsStartDate) {\n return (0, _getPhrase[\"default\"])(dateIsSelectedAsStartDate, formattedDate);\n }\n\n if (modifiers.has('selected-end') && dateIsSelectedAsEndDate) {\n return (0, _getPhrase[\"default\"])(dateIsSelectedAsEndDate, formattedDate);\n }\n\n if (isSelected(modifiers) && dateIsSelected) {\n return (0, _getPhrase[\"default\"])(dateIsSelected, formattedDate);\n }\n\n if (modifiers.has(_constants.BLOCKED_MODIFIER)) {\n return (0, _getPhrase[\"default\"])(dateIsUnavailable, formattedDate);\n }\n\n return (0, _getPhrase[\"default\"])(chooseAvailableDate, formattedDate);\n}\n\nfunction getCalendarDaySettings(day, ariaLabelFormat, daySize, modifiers, phrases) {\n return {\n ariaLabel: getAriaLabel(phrases, modifiers, day, ariaLabelFormat),\n hoveredSpan: isHoveredSpan(modifiers),\n isOutsideRange: modifiers.has('blocked-out-of-range'),\n selected: isSelected(modifiers),\n useDefaultCursor: shouldUseDefaultCursor(modifiers),\n daySizeStyles: {\n width: daySize,\n height: daySize - 1\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _CalendarWeek = _interopRequireDefault(require(\"./CalendarWeek\"));\n\nvar _CalendarDay = _interopRequireDefault(require(\"./CalendarDay\"));\n\nvar _calculateDimension = _interopRequireDefault(require(\"../utils/calculateDimension\"));\n\nvar _getCalendarMonthWeeks = _interopRequireDefault(require(\"../utils/getCalendarMonthWeeks\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"../utils/isSameDay\"));\n\nvar _toISODateString = _interopRequireDefault(require(\"../utils/toISODateString\"));\n\nvar _ModifiersShape = _interopRequireDefault(require(\"../shapes/ModifiersShape\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"../shapes/DayOfWeekShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n month: _reactMomentProptypes[\"default\"].momentObj,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n isVisible: _propTypes[\"default\"].bool,\n enableOutsideDays: _propTypes[\"default\"].bool,\n modifiers: _propTypes[\"default\"].objectOf(_ModifiersShape[\"default\"]),\n orientation: _ScrollableOrientationShape[\"default\"],\n daySize: _airbnbPropTypes.nonNegativeInteger,\n onDayClick: _propTypes[\"default\"].func,\n onDayMouseEnter: _propTypes[\"default\"].func,\n onDayMouseLeave: _propTypes[\"default\"].func,\n onMonthSelect: _propTypes[\"default\"].func,\n onYearSelect: _propTypes[\"default\"].func,\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n setMonthTitleHeight: _propTypes[\"default\"].func,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n focusedDate: _reactMomentProptypes[\"default\"].momentObj,\n // indicates focusable day\n isFocused: _propTypes[\"default\"].bool,\n // indicates whether or not to move focus to focusable day\n // i18n\n monthFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.CalendarDayPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string\n})) : {};\nvar defaultProps = {\n month: (0, _moment[\"default\"])(),\n horizontalMonthPadding: 13,\n isVisible: true,\n enableOutsideDays: false,\n modifiers: {},\n orientation: _constants.HORIZONTAL_ORIENTATION,\n daySize: _constants.DAY_SIZE,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n onMonthSelect: function () {\n function onMonthSelect() {}\n\n return onMonthSelect;\n }(),\n onYearSelect: function () {\n function onYearSelect() {}\n\n return onYearSelect;\n }(),\n renderMonthText: null,\n renderCalendarDay: function () {\n function renderCalendarDay(props) {\n return _react[\"default\"].createElement(_CalendarDay[\"default\"], props);\n }\n\n return renderCalendarDay;\n }(),\n renderDayContents: null,\n renderMonthElement: null,\n firstDayOfWeek: null,\n setMonthTitleHeight: null,\n focusedDate: null,\n isFocused: false,\n // i18n\n monthFormat: 'MMMM YYYY',\n // english locale\n phrases: _defaultPhrases.CalendarDayPhrases,\n dayAriaLabelFormat: undefined,\n verticalBorderSpacing: undefined\n};\n\nvar CalendarMonth =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(CalendarMonth, _ref);\n\n _createClass(CalendarMonth, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function CalendarMonth(props) {\n var _this;\n\n _classCallCheck(this, CalendarMonth);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(CalendarMonth).call(this, props));\n _this.state = {\n weeks: (0, _getCalendarMonthWeeks[\"default\"])(props.month, props.enableOutsideDays, props.firstDayOfWeek == null ? _moment[\"default\"].localeData().firstDayOfWeek() : props.firstDayOfWeek)\n };\n _this.setCaptionRef = _this.setCaptionRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(CalendarMonth, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.setMonthTitleHeightTimeout = setTimeout(this.setMonthTitleHeight, 0);\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var month = nextProps.month,\n enableOutsideDays = nextProps.enableOutsideDays,\n firstDayOfWeek = nextProps.firstDayOfWeek;\n var _this$props = this.props,\n prevMonth = _this$props.month,\n prevEnableOutsideDays = _this$props.enableOutsideDays,\n prevFirstDayOfWeek = _this$props.firstDayOfWeek;\n\n if (!month.isSame(prevMonth) || enableOutsideDays !== prevEnableOutsideDays || firstDayOfWeek !== prevFirstDayOfWeek) {\n this.setState({\n weeks: (0, _getCalendarMonthWeeks[\"default\"])(month, enableOutsideDays, firstDayOfWeek == null ? _moment[\"default\"].localeData().firstDayOfWeek() : firstDayOfWeek)\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n function componentWillUnmount() {\n if (this.setMonthTitleHeightTimeout) {\n clearTimeout(this.setMonthTitleHeightTimeout);\n }\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: \"setMonthTitleHeight\",\n value: function () {\n function setMonthTitleHeight() {\n var setMonthTitleHeight = this.props.setMonthTitleHeight;\n\n if (setMonthTitleHeight) {\n var captionHeight = (0, _calculateDimension[\"default\"])(this.captionRef, 'height', true, true);\n setMonthTitleHeight(captionHeight);\n }\n }\n\n return setMonthTitleHeight;\n }()\n }, {\n key: \"setCaptionRef\",\n value: function () {\n function setCaptionRef(ref) {\n this.captionRef = ref;\n }\n\n return setCaptionRef;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props2 = this.props,\n dayAriaLabelFormat = _this$props2.dayAriaLabelFormat,\n daySize = _this$props2.daySize,\n focusedDate = _this$props2.focusedDate,\n horizontalMonthPadding = _this$props2.horizontalMonthPadding,\n isFocused = _this$props2.isFocused,\n isVisible = _this$props2.isVisible,\n modifiers = _this$props2.modifiers,\n month = _this$props2.month,\n monthFormat = _this$props2.monthFormat,\n onDayClick = _this$props2.onDayClick,\n onDayMouseEnter = _this$props2.onDayMouseEnter,\n onDayMouseLeave = _this$props2.onDayMouseLeave,\n onMonthSelect = _this$props2.onMonthSelect,\n onYearSelect = _this$props2.onYearSelect,\n orientation = _this$props2.orientation,\n phrases = _this$props2.phrases,\n renderCalendarDay = _this$props2.renderCalendarDay,\n renderDayContents = _this$props2.renderDayContents,\n renderMonthElement = _this$props2.renderMonthElement,\n renderMonthText = _this$props2.renderMonthText,\n styles = _this$props2.styles,\n verticalBorderSpacing = _this$props2.verticalBorderSpacing;\n var weeks = this.state.weeks;\n var monthTitle = renderMonthText ? renderMonthText(month) : month.format(monthFormat);\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n return _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonth, {\n padding: \"0 \".concat(horizontalMonthPadding, \"px\")\n }), {\n \"data-visible\": isVisible\n }), _react[\"default\"].createElement(\"div\", _extends({\n ref: this.setCaptionRef\n }, (0, _reactWithStyles.css)(styles.CalendarMonth_caption, verticalScrollable && styles.CalendarMonth_caption__verticalScrollable)), renderMonthElement ? renderMonthElement({\n month: month,\n onMonthSelect: onMonthSelect,\n onYearSelect: onYearSelect\n }) : _react[\"default\"].createElement(\"strong\", null, monthTitle)), _react[\"default\"].createElement(\"table\", _extends({}, (0, _reactWithStyles.css)(!verticalBorderSpacing && styles.CalendarMonth_table, verticalBorderSpacing && styles.CalendarMonth_verticalSpacing, verticalBorderSpacing && {\n borderSpacing: \"0px \".concat(verticalBorderSpacing, \"px\")\n }), {\n role: \"presentation\"\n }), _react[\"default\"].createElement(\"tbody\", null, weeks.map(function (week, i) {\n return _react[\"default\"].createElement(_CalendarWeek[\"default\"], {\n key: i\n }, week.map(function (day, dayOfWeek) {\n return renderCalendarDay({\n key: dayOfWeek,\n day: day,\n daySize: daySize,\n isOutsideDay: !day || day.month() !== month.month(),\n tabIndex: isVisible && (0, _isSameDay[\"default\"])(day, focusedDate) ? 0 : -1,\n isFocused: isFocused,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onDayClick: onDayClick,\n renderDayContents: renderDayContents,\n phrases: phrases,\n modifiers: modifiers[(0, _toISODateString[\"default\"])(day)],\n ariaLabelFormat: dayAriaLabelFormat\n });\n }));\n }))));\n }\n\n return render;\n }()\n }]);\n\n return CalendarMonth;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nCalendarMonth.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCalendarMonth.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n font = _ref2$reactDates.font,\n spacing = _ref2$reactDates.spacing;\n return {\n CalendarMonth: {\n background: color.background,\n textAlign: 'center',\n verticalAlign: 'top',\n userSelect: 'none'\n },\n CalendarMonth_table: {\n borderCollapse: 'collapse',\n borderSpacing: 0\n },\n CalendarMonth_verticalSpacing: {\n borderCollapse: 'separate'\n },\n CalendarMonth_caption: {\n color: color.text,\n fontSize: font.captionSize,\n textAlign: 'center',\n paddingTop: spacing.captionPaddingTop,\n paddingBottom: spacing.captionPaddingBottom,\n captionSide: 'initial'\n },\n CalendarMonth_caption__verticalScrollable: {\n paddingTop: 12,\n paddingBottom: 7\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(CalendarMonth);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = calculateDimension;\n\nfunction calculateDimension(el, axis) {\n var borderBox = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var withMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!el) {\n return 0;\n }\n\n var axisStart = axis === 'width' ? 'Left' : 'Top';\n var axisEnd = axis === 'width' ? 'Right' : 'Bottom'; // Only read styles if we need to\n\n var style = !borderBox || withMargin ? window.getComputedStyle(el) : null; // Offset includes border and padding\n\n var offsetWidth = el.offsetWidth,\n offsetHeight = el.offsetHeight;\n var size = axis === 'width' ? offsetWidth : offsetHeight; // Get the inner size\n\n if (!borderBox) {\n size -= parseFloat(style[\"padding\".concat(axisStart)]) + parseFloat(style[\"padding\".concat(axisEnd)]) + parseFloat(style[\"border\".concat(axisStart, \"Width\")]) + parseFloat(style[\"border\".concat(axisEnd, \"Width\")]);\n } // Apply margin\n\n\n if (withMargin) {\n size += parseFloat(style[\"margin\".concat(axisStart)]) + parseFloat(style[\"margin\".concat(axisEnd)]);\n }\n\n return size;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _consolidatedEvents = require(\"consolidated-events\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _CalendarMonth = _interopRequireDefault(require(\"./CalendarMonth\"));\n\nvar _isTransitionEndSupported = _interopRequireDefault(require(\"../utils/isTransitionEndSupported\"));\n\nvar _getTransformStyles = _interopRequireDefault(require(\"../utils/getTransformStyles\"));\n\nvar _getCalendarMonthWidth = _interopRequireDefault(require(\"../utils/getCalendarMonthWidth\"));\n\nvar _toISOMonthString = _interopRequireDefault(require(\"../utils/toISOMonthString\"));\n\nvar _isPrevMonth = _interopRequireDefault(require(\"../utils/isPrevMonth\"));\n\nvar _isNextMonth = _interopRequireDefault(require(\"../utils/isNextMonth\"));\n\nvar _ModifiersShape = _interopRequireDefault(require(\"../shapes/ModifiersShape\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"../shapes/DayOfWeekShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n enableOutsideDays: _propTypes[\"default\"].bool,\n firstVisibleMonthIndex: _propTypes[\"default\"].number,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n initialMonth: _reactMomentProptypes[\"default\"].momentObj,\n isAnimating: _propTypes[\"default\"].bool,\n numberOfMonths: _propTypes[\"default\"].number,\n modifiers: _propTypes[\"default\"].objectOf(_propTypes[\"default\"].objectOf(_ModifiersShape[\"default\"])),\n orientation: _ScrollableOrientationShape[\"default\"],\n onDayClick: _propTypes[\"default\"].func,\n onDayMouseEnter: _propTypes[\"default\"].func,\n onDayMouseLeave: _propTypes[\"default\"].func,\n onMonthTransitionEnd: _propTypes[\"default\"].func,\n onMonthChange: _propTypes[\"default\"].func,\n onYearChange: _propTypes[\"default\"].func,\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n translationValue: _propTypes[\"default\"].number,\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n daySize: _airbnbPropTypes.nonNegativeInteger,\n focusedDate: _reactMomentProptypes[\"default\"].momentObj,\n // indicates focusable day\n isFocused: _propTypes[\"default\"].bool,\n // indicates whether or not to move focus to focusable day\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n setMonthTitleHeight: _propTypes[\"default\"].func,\n isRTL: _propTypes[\"default\"].bool,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n // i18n\n monthFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.CalendarDayPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string\n})) : {};\nvar defaultProps = {\n enableOutsideDays: false,\n firstVisibleMonthIndex: 0,\n horizontalMonthPadding: 13,\n initialMonth: (0, _moment[\"default\"])(),\n isAnimating: false,\n numberOfMonths: 1,\n modifiers: {},\n orientation: _constants.HORIZONTAL_ORIENTATION,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n onMonthChange: function () {\n function onMonthChange() {}\n\n return onMonthChange;\n }(),\n onYearChange: function () {\n function onYearChange() {}\n\n return onYearChange;\n }(),\n onMonthTransitionEnd: function () {\n function onMonthTransitionEnd() {}\n\n return onMonthTransitionEnd;\n }(),\n renderMonthText: null,\n renderCalendarDay: undefined,\n renderDayContents: null,\n translationValue: null,\n renderMonthElement: null,\n daySize: _constants.DAY_SIZE,\n focusedDate: null,\n isFocused: false,\n firstDayOfWeek: null,\n setMonthTitleHeight: null,\n isRTL: false,\n transitionDuration: 200,\n verticalBorderSpacing: undefined,\n // i18n\n monthFormat: 'MMMM YYYY',\n // english locale\n phrases: _defaultPhrases.CalendarDayPhrases,\n dayAriaLabelFormat: undefined\n};\n\nfunction getMonths(initialMonth, numberOfMonths, withoutTransitionMonths) {\n var month = initialMonth.clone();\n if (!withoutTransitionMonths) month = month.subtract(1, 'month');\n var months = [];\n\n for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {\n months.push(month);\n month = month.clone().add(1, 'month');\n }\n\n return months;\n}\n\nvar CalendarMonthGrid =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(CalendarMonthGrid, _ref);\n\n _createClass(CalendarMonthGrid, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function CalendarMonthGrid(props) {\n var _this;\n\n _classCallCheck(this, CalendarMonthGrid);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(CalendarMonthGrid).call(this, props));\n var withoutTransitionMonths = props.orientation === _constants.VERTICAL_SCROLLABLE;\n _this.state = {\n months: getMonths(props.initialMonth, props.numberOfMonths, withoutTransitionMonths)\n };\n _this.isTransitionEndSupported = (0, _isTransitionEndSupported[\"default\"])();\n _this.onTransitionEnd = _this.onTransitionEnd.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setContainerRef = _this.setContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.locale = _moment[\"default\"].locale();\n _this.onMonthSelect = _this.onMonthSelect.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onYearSelect = _this.onYearSelect.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(CalendarMonthGrid, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.removeEventListener = (0, _consolidatedEvents.addEventListener)(this.container, 'transitionend', this.onTransitionEnd);\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var initialMonth = nextProps.initialMonth,\n numberOfMonths = nextProps.numberOfMonths,\n orientation = nextProps.orientation;\n var months = this.state.months;\n var _this$props = this.props,\n prevInitialMonth = _this$props.initialMonth,\n prevNumberOfMonths = _this$props.numberOfMonths;\n var hasMonthChanged = !prevInitialMonth.isSame(initialMonth, 'month');\n var hasNumberOfMonthsChanged = prevNumberOfMonths !== numberOfMonths;\n var newMonths = months;\n\n if (hasMonthChanged && !hasNumberOfMonthsChanged) {\n if ((0, _isNextMonth[\"default\"])(prevInitialMonth, initialMonth)) {\n newMonths = months.slice(1);\n newMonths.push(months[months.length - 1].clone().add(1, 'month'));\n } else if ((0, _isPrevMonth[\"default\"])(prevInitialMonth, initialMonth)) {\n newMonths = months.slice(0, months.length - 1);\n newMonths.unshift(months[0].clone().subtract(1, 'month'));\n } else {\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n newMonths = getMonths(initialMonth, numberOfMonths, withoutTransitionMonths);\n }\n }\n\n if (hasNumberOfMonthsChanged) {\n var _withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n\n newMonths = getMonths(initialMonth, numberOfMonths, _withoutTransitionMonths);\n }\n\n var momentLocale = _moment[\"default\"].locale();\n\n if (this.locale !== momentLocale) {\n this.locale = momentLocale;\n newMonths = newMonths.map(function (m) {\n return m.locale(_this2.locale);\n });\n }\n\n this.setState({\n months: newMonths\n });\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate() {\n var _this$props2 = this.props,\n isAnimating = _this$props2.isAnimating,\n transitionDuration = _this$props2.transitionDuration,\n onMonthTransitionEnd = _this$props2.onMonthTransitionEnd; // For IE9, immediately call onMonthTransitionEnd instead of\n // waiting for the animation to complete. Similarly, if transitionDuration\n // is set to 0, also immediately invoke the onMonthTransitionEnd callback\n\n if ((!this.isTransitionEndSupported || !transitionDuration) && isAnimating) {\n onMonthTransitionEnd();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n function componentWillUnmount() {\n if (this.removeEventListener) this.removeEventListener();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: \"onTransitionEnd\",\n value: function () {\n function onTransitionEnd() {\n var onMonthTransitionEnd = this.props.onMonthTransitionEnd;\n onMonthTransitionEnd();\n }\n\n return onTransitionEnd;\n }()\n }, {\n key: \"onMonthSelect\",\n value: function () {\n function onMonthSelect(currentMonth, newMonthVal) {\n var newMonth = currentMonth.clone();\n var _this$props3 = this.props,\n onMonthChange = _this$props3.onMonthChange,\n orientation = _this$props3.orientation;\n var months = this.state.months;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var initialMonthSubtraction = months.indexOf(currentMonth);\n\n if (!withoutTransitionMonths) {\n initialMonthSubtraction -= 1;\n }\n\n newMonth.set('month', newMonthVal).subtract(initialMonthSubtraction, 'months');\n onMonthChange(newMonth);\n }\n\n return onMonthSelect;\n }()\n }, {\n key: \"onYearSelect\",\n value: function () {\n function onYearSelect(currentMonth, newYearVal) {\n var newMonth = currentMonth.clone();\n var _this$props4 = this.props,\n onYearChange = _this$props4.onYearChange,\n orientation = _this$props4.orientation;\n var months = this.state.months;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var initialMonthSubtraction = months.indexOf(currentMonth);\n\n if (!withoutTransitionMonths) {\n initialMonthSubtraction -= 1;\n }\n\n newMonth.set('year', newYearVal).subtract(initialMonthSubtraction, 'months');\n onYearChange(newMonth);\n }\n\n return onYearSelect;\n }()\n }, {\n key: \"setContainerRef\",\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this3 = this;\n\n var _this$props5 = this.props,\n enableOutsideDays = _this$props5.enableOutsideDays,\n firstVisibleMonthIndex = _this$props5.firstVisibleMonthIndex,\n horizontalMonthPadding = _this$props5.horizontalMonthPadding,\n isAnimating = _this$props5.isAnimating,\n modifiers = _this$props5.modifiers,\n numberOfMonths = _this$props5.numberOfMonths,\n monthFormat = _this$props5.monthFormat,\n orientation = _this$props5.orientation,\n translationValue = _this$props5.translationValue,\n daySize = _this$props5.daySize,\n onDayMouseEnter = _this$props5.onDayMouseEnter,\n onDayMouseLeave = _this$props5.onDayMouseLeave,\n onDayClick = _this$props5.onDayClick,\n renderMonthText = _this$props5.renderMonthText,\n renderCalendarDay = _this$props5.renderCalendarDay,\n renderDayContents = _this$props5.renderDayContents,\n renderMonthElement = _this$props5.renderMonthElement,\n onMonthTransitionEnd = _this$props5.onMonthTransitionEnd,\n firstDayOfWeek = _this$props5.firstDayOfWeek,\n focusedDate = _this$props5.focusedDate,\n isFocused = _this$props5.isFocused,\n isRTL = _this$props5.isRTL,\n styles = _this$props5.styles,\n phrases = _this$props5.phrases,\n dayAriaLabelFormat = _this$props5.dayAriaLabelFormat,\n transitionDuration = _this$props5.transitionDuration,\n verticalBorderSpacing = _this$props5.verticalBorderSpacing,\n setMonthTitleHeight = _this$props5.setMonthTitleHeight;\n var months = this.state.months;\n var isVertical = orientation === _constants.VERTICAL_ORIENTATION;\n var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;\n var calendarMonthWidth = (0, _getCalendarMonthWidth[\"default\"])(daySize, horizontalMonthPadding);\n var width = isVertical || isVerticalScrollable ? calendarMonthWidth : (numberOfMonths + 2) * calendarMonthWidth;\n var transformType = isVertical || isVerticalScrollable ? 'translateY' : 'translateX';\n var transformValue = \"\".concat(transformType, \"(\").concat(translationValue, \"px)\");\n return _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonthGrid, isHorizontal && styles.CalendarMonthGrid__horizontal, isVertical && styles.CalendarMonthGrid__vertical, isVerticalScrollable && styles.CalendarMonthGrid__vertical_scrollable, isAnimating && styles.CalendarMonthGrid__animating, isAnimating && transitionDuration && {\n transition: \"transform \".concat(transitionDuration, \"ms ease-in-out\")\n }, _objectSpread({}, (0, _getTransformStyles[\"default\"])(transformValue), {\n width: width\n })), {\n ref: this.setContainerRef,\n onTransitionEnd: onMonthTransitionEnd\n }), months.map(function (month, i) {\n var isVisible = i >= firstVisibleMonthIndex && i < firstVisibleMonthIndex + numberOfMonths;\n var hideForAnimation = i === 0 && !isVisible;\n var showForAnimation = i === 0 && isAnimating && isVisible;\n var monthString = (0, _toISOMonthString[\"default\"])(month);\n return _react[\"default\"].createElement(\"div\", _extends({\n key: monthString\n }, (0, _reactWithStyles.css)(isHorizontal && styles.CalendarMonthGrid_month__horizontal, hideForAnimation && styles.CalendarMonthGrid_month__hideForAnimation, showForAnimation && !isVertical && !isRTL && {\n position: 'absolute',\n left: -calendarMonthWidth\n }, showForAnimation && !isVertical && isRTL && {\n position: 'absolute',\n right: 0\n }, showForAnimation && isVertical && {\n position: 'absolute',\n top: -translationValue\n }, !isVisible && !isAnimating && styles.CalendarMonthGrid_month__hidden)), _react[\"default\"].createElement(_CalendarMonth[\"default\"], {\n month: month,\n isVisible: isVisible,\n enableOutsideDays: enableOutsideDays,\n modifiers: modifiers[monthString],\n monthFormat: monthFormat,\n orientation: orientation,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onDayClick: onDayClick,\n onMonthSelect: _this3.onMonthSelect,\n onYearSelect: _this3.onYearSelect,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderMonthElement: renderMonthElement,\n firstDayOfWeek: firstDayOfWeek,\n daySize: daySize,\n focusedDate: isVisible ? focusedDate : null,\n isFocused: isFocused,\n phrases: phrases,\n setMonthTitleHeight: setMonthTitleHeight,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n }));\n }));\n }\n\n return render;\n }()\n }]);\n\n return CalendarMonthGrid;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nCalendarMonthGrid.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCalendarMonthGrid.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n noScrollBarOnVerticalScrollable = _ref2$reactDates.noScrollBarOnVerticalScrollable,\n spacing = _ref2$reactDates.spacing,\n zIndex = _ref2$reactDates.zIndex;\n return {\n CalendarMonthGrid: {\n background: color.background,\n textAlign: (0, _noflip[\"default\"])('left'),\n zIndex: zIndex\n },\n CalendarMonthGrid__animating: {\n zIndex: zIndex + 1\n },\n CalendarMonthGrid__horizontal: {\n position: 'absolute',\n left: (0, _noflip[\"default\"])(spacing.dayPickerHorizontalPadding)\n },\n CalendarMonthGrid__vertical: {\n margin: '0 auto'\n },\n CalendarMonthGrid__vertical_scrollable: _objectSpread({\n margin: '0 auto',\n overflowY: 'scroll'\n }, noScrollBarOnVerticalScrollable && {\n '-webkitOverflowScrolling': 'touch',\n '::-webkit-scrollbar': {\n '-webkit-appearance': 'none',\n display: 'none'\n }\n }),\n CalendarMonthGrid_month__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top',\n minHeight: '100%'\n },\n CalendarMonthGrid_month__hideForAnimation: {\n position: 'absolute',\n zIndex: zIndex - 1,\n opacity: 0,\n pointerEvents: 'none'\n },\n CalendarMonthGrid_month__hidden: {\n visibility: 'hidden'\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(CalendarMonthGrid);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getCalendarMonthWidth;\n\nfunction getCalendarMonthWidth(daySize) {\n var calendarMonthPadding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return 7 * daySize + 2 * calendarMonthPadding + 1;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isSameMonth;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isSameMonth(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false; // Compare least significant, most likely to change units first\n // Moment's isSame clones moment inputs and is a tad slow\n\n return a.month() === b.month() && a.year() === b.year();\n}","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar ES = require('es-abstract/es7');\nvar has = require('has');\nvar bind = require('function-bind');\nvar isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\n\nmodule.exports = function values(O) {\n\tvar obj = ES.RequireObjectCoercible(O);\n\tvar vals = [];\n\tfor (var key in obj) {\n\t\tif (has(obj, key) && isEnumerable(obj, key)) {\n\t\t\tvals.push(obj[key]);\n\t\t}\n\t}\n\treturn vals;\n};\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar GetIntrinsic = require('../GetIntrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\n\nvar has = require('has');\n\nvar predicates = {\n // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type\n 'Property Descriptor': function isPropertyDescriptor(ES, Desc) {\n if (ES.Type(Desc) !== 'Object') {\n return false;\n }\n var allowed = {\n '[[Configurable]]': true,\n '[[Enumerable]]': true,\n '[[Get]]': true,\n '[[Set]]': true,\n '[[Value]]': true,\n '[[Writable]]': true\n };\n\n for (var key in Desc) { // eslint-disable-line\n if (has(Desc, key) && !allowed[key]) {\n return false;\n }\n }\n\n var isData = has(Desc, '[[Value]]');\n var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');\n if (isData && IsAccessor) {\n throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n }\n return true;\n }\n};\n\nmodule.exports = function assertRecord(ES, recordType, argumentName, value) {\n var predicate = predicates[recordType];\n if (typeof predicate !== 'function') {\n throw new $SyntaxError('unknown record type: ' + recordType);\n }\n if (!predicate(ES, value)) {\n throw new $TypeError(argumentName + ' must be a ' + recordType);\n }\n console.log(predicate(ES, value), value);\n};\n","module.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","var $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n","var bind = require('function-bind');\nvar has = bind.call(Function.call, Object.prototype.hasOwnProperty);\n\nvar $assign = Object.assign;\n\nmodule.exports = function assign(target, source) {\n\tif ($assign) {\n\t\treturn $assign(target, source);\n\t}\n\n\tfor (var key in source) {\n\t\tif (has(source, key)) {\n\t\t\ttarget[key] = source[key];\n\t\t}\n\t}\n\treturn target;\n};\n","module.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n","module.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.values === 'function' ? Object.values : implementation;\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nmodule.exports = function contains(other) {\n\tif (arguments.length < 1) {\n\t\tthrow new TypeError('1 argument is required');\n\t}\n\tif (typeof other !== 'object') {\n\t\tthrow new TypeError('Argument 1 (”other“) to Node.contains must be an instance of Node');\n\t}\n\n\tvar node = other;\n\tdo {\n\t\tif (this === node) {\n\t\t\treturn true;\n\t\t}\n\t\tif (node) {\n\t\t\tnode = node.parentNode;\n\t\t}\n\t} while (node);\n\n\treturn false;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof document !== 'undefined') {\n\t\tif (document.contains) {\n\t\t\treturn document.contains;\n\t\t}\n\t\tif (document.body && document.body.contains) {\n\t\t\treturn document.body.contains;\n\t\t}\n\t}\n\treturn implementation;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _FocusedInputShape = _interopRequireDefault(require(\"./FocusedInputShape\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"./IconPositionShape\"));\n\nvar _OrientationShape = _interopRequireDefault(require(\"./OrientationShape\"));\n\nvar _DisabledShape = _interopRequireDefault(require(\"./DisabledShape\"));\n\nvar _AnchorDirectionShape = _interopRequireDefault(require(\"./AnchorDirectionShape\"));\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"./OpenDirectionShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"./DayOfWeekShape\"));\n\nvar _CalendarInfoPositionShape = _interopRequireDefault(require(\"./CalendarInfoPositionShape\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = {\n // required props for a functional interactive DateRangePicker\n startDate: _reactMomentProptypes[\"default\"].momentObj,\n endDate: _reactMomentProptypes[\"default\"].momentObj,\n onDatesChange: _propTypes[\"default\"].func.isRequired,\n focusedInput: _FocusedInputShape[\"default\"],\n onFocusChange: _propTypes[\"default\"].func.isRequired,\n onClose: _propTypes[\"default\"].func,\n // input related props\n startDateId: _propTypes[\"default\"].string.isRequired,\n startDatePlaceholderText: _propTypes[\"default\"].string,\n startDateOffset: _propTypes[\"default\"].func,\n endDateOffset: _propTypes[\"default\"].func,\n endDateId: _propTypes[\"default\"].string.isRequired,\n endDatePlaceholderText: _propTypes[\"default\"].string,\n disabled: _DisabledShape[\"default\"],\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n screenReaderInputMessage: _propTypes[\"default\"].string,\n showClearDates: _propTypes[\"default\"].bool,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n customInputIcon: _propTypes[\"default\"].node,\n customArrowIcon: _propTypes[\"default\"].node,\n customCloseIcon: _propTypes[\"default\"].node,\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n keepFocusOnInput: _propTypes[\"default\"].bool,\n // calendar presentation and interaction related props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n orientation: _OrientationShape[\"default\"],\n anchorDirection: _AnchorDirectionShape[\"default\"],\n openDirection: _OpenDirectionShape[\"default\"],\n horizontalMargin: _propTypes[\"default\"].number,\n withPortal: _propTypes[\"default\"].bool,\n withFullScreenPortal: _propTypes[\"default\"].bool,\n appendToBody: _propTypes[\"default\"].bool,\n disableScroll: _propTypes[\"default\"].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes[\"default\"].bool,\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n initialVisibleMonth: _propTypes[\"default\"].func,\n numberOfMonths: _propTypes[\"default\"].number,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n reopenPickerOnClearDates: _propTypes[\"default\"].bool,\n renderCalendarInfo: _propTypes[\"default\"].func,\n calendarInfoPosition: _CalendarInfoPositionShape[\"default\"],\n hideKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n // navigation related props\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n // day presentation and interaction related props\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n minimumNights: _propTypes[\"default\"].number,\n enableOutsideDays: _propTypes[\"default\"].bool,\n isDayBlocked: _propTypes[\"default\"].func,\n isOutsideRange: _propTypes[\"default\"].func,\n isDayHighlighted: _propTypes[\"default\"].func,\n // internationalization props\n displayFormat: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n monthFormat: _propTypes[\"default\"].string,\n weekDayFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DateRangePickerPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string\n};\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.START_DATE, _constants.END_DATE]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _propTypes[\"default\"].oneOf([_constants.ANCHOR_LEFT, _constants.ANCHOR_RIGHT]);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getResponsiveContainerStyles;\n\nvar _constants = require(\"../constants\");\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction getResponsiveContainerStyles(anchorDirection, currentOffset, containerEdge, margin) {\n var windowWidth = typeof window !== 'undefined' ? window.innerWidth : 0;\n var calculatedOffset = anchorDirection === _constants.ANCHOR_LEFT ? windowWidth - containerEdge : containerEdge;\n var calculatedMargin = margin || 0;\n return _defineProperty({}, anchorDirection, Math.min(currentOffset + calculatedOffset - calculatedMargin, 0));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getDetachedContainerStyles;\n\nvar _constants = require(\"../constants\");\n\n/**\n * Calculate and return a CSS transform style to position a detached element\n * next to a reference element. The open and anchor direction indicate wether\n * it should be positioned above/below and/or to the left/right of the\n * reference element.\n *\n * Assuming r(0,0), r(1,1), d(0,0), d(1,1) for the bottom-left and top-right\n * corners of the reference and detached elements, respectively:\n * - openDirection = DOWN, anchorDirection = LEFT => d(0,1) == r(0,1)\n * - openDirection = UP, anchorDirection = LEFT => d(0,0) == r(0,0)\n * - openDirection = DOWN, anchorDirection = RIGHT => d(1,1) == r(1,1)\n * - openDirection = UP, anchorDirection = RIGHT => d(1,0) == r(1,0)\n *\n * By using a CSS transform, we allow to further position it using\n * top/bottom CSS properties for the anchor gutter.\n *\n * @param {string} openDirection The vertical positioning of the popup\n * @param {string} anchorDirection The horizontal position of the popup\n * @param {HTMLElement} referenceEl The reference element\n */\nfunction getDetachedContainerStyles(openDirection, anchorDirection, referenceEl) {\n var referenceRect = referenceEl.getBoundingClientRect();\n var offsetX = referenceRect.left;\n var offsetY = referenceRect.top;\n\n if (openDirection === _constants.OPEN_UP) {\n offsetY = -(window.innerHeight - referenceRect.bottom);\n }\n\n if (anchorDirection === _constants.ANCHOR_RIGHT) {\n offsetX = -(window.innerWidth - referenceRect.right);\n }\n\n return {\n transform: \"translate3d(\".concat(Math.round(offsetX), \"px, \").concat(Math.round(offsetY), \"px, 0)\")\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScrollParent = getScrollParent;\nexports.getScrollAncestorsOverflowY = getScrollAncestorsOverflowY;\nexports[\"default\"] = disableScroll;\n\nvar getScrollingRoot = function getScrollingRoot() {\n return document.scrollingElement || document.documentElement;\n};\n/**\n * Recursively finds the scroll parent of a node. The scroll parrent of a node\n * is the closest node that is scrollable. A node is scrollable if:\n * - it is allowed to scroll via CSS ('overflow-y' not visible or hidden);\n * - and its children/content are \"bigger\" than the node's box height.\n *\n * The root of the document always scrolls by default.\n *\n * @param {HTMLElement} node Any DOM element.\n * @return {HTMLElement} The scroll parent element.\n */\n\n\nfunction getScrollParent(node) {\n var parent = node.parentElement;\n if (parent == null) return getScrollingRoot();\n\n var _window$getComputedSt = window.getComputedStyle(parent),\n overflowY = _window$getComputedSt.overflowY;\n\n var canScroll = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (canScroll && parent.scrollHeight > parent.clientHeight) {\n return parent;\n }\n\n return getScrollParent(parent);\n}\n/**\n * Recursively traverses the tree upwards from the given node, capturing all\n * ancestor nodes that scroll along with their current 'overflow-y' CSS\n * property.\n *\n * @param {HTMLElement} node Any DOM element.\n * @param {Map} [acc] Accumulator map.\n * @return {Map} Map of ancestors with their 'overflow-y' value.\n */\n\n\nfunction getScrollAncestorsOverflowY(node) {\n var acc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();\n var scrollingRoot = getScrollingRoot();\n var scrollParent = getScrollParent(node);\n acc.set(scrollParent, scrollParent.style.overflowY);\n if (scrollParent === scrollingRoot) return acc;\n return getScrollAncestorsOverflowY(scrollParent, acc);\n}\n/**\n * Disabling the scroll on a node involves finding all the scrollable ancestors\n * and set their 'overflow-y' CSS property to 'hidden'. When all ancestors have\n * 'overflow-y: hidden' (up to the document element) there is no scroll\n * container, thus all the scroll outside of the node is disabled. In order to\n * enable scroll again, we store the previous value of the 'overflow-y' for\n * every ancestor in a closure and reset it back.\n *\n * @param {HTMLElement} node Any DOM element.\n */\n\n\nfunction disableScroll(node) {\n var scrollAncestorsOverflowY = getScrollAncestorsOverflowY(node);\n\n var toggle = function toggle(on) {\n return scrollAncestorsOverflowY.forEach(function (overflowY, ancestor) {\n ancestor.style.setProperty('overflow-y', on ? 'hidden' : overflowY);\n });\n };\n\n toggle(true);\n return function () {\n return toggle(false);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"../shapes/OpenDirectionShape\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _DateRangePickerInput = _interopRequireDefault(require(\"./DateRangePickerInput\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"../shapes/IconPositionShape\"));\n\nvar _DisabledShape = _interopRequireDefault(require(\"../shapes/DisabledShape\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"../utils/toMomentObject\"));\n\nvar _toLocalizedDateString = _interopRequireDefault(require(\"../utils/toLocalizedDateString\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"../utils/isInclusivelyAfterDay\"));\n\nvar _isBeforeDay = _interopRequireDefault(require(\"../utils/isBeforeDay\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)({\n children: _propTypes[\"default\"].node,\n startDate: _reactMomentProptypes[\"default\"].momentObj,\n startDateId: _propTypes[\"default\"].string,\n startDatePlaceholderText: _propTypes[\"default\"].string,\n isStartDateFocused: _propTypes[\"default\"].bool,\n endDate: _reactMomentProptypes[\"default\"].momentObj,\n endDateId: _propTypes[\"default\"].string,\n endDatePlaceholderText: _propTypes[\"default\"].string,\n isEndDateFocused: _propTypes[\"default\"].bool,\n screenReaderMessage: _propTypes[\"default\"].string,\n showClearDates: _propTypes[\"default\"].bool,\n showCaret: _propTypes[\"default\"].bool,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n disabled: _DisabledShape[\"default\"],\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n openDirection: _OpenDirectionShape[\"default\"],\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n reopenPickerOnClearDates: _propTypes[\"default\"].bool,\n withFullScreenPortal: _propTypes[\"default\"].bool,\n minimumNights: _airbnbPropTypes.nonNegativeInteger,\n isOutsideRange: _propTypes[\"default\"].func,\n displayFormat: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n onFocusChange: _propTypes[\"default\"].func,\n onClose: _propTypes[\"default\"].func,\n onDatesChange: _propTypes[\"default\"].func,\n onKeyDownArrowDown: _propTypes[\"default\"].func,\n onKeyDownQuestionMark: _propTypes[\"default\"].func,\n customInputIcon: _propTypes[\"default\"].node,\n customArrowIcon: _propTypes[\"default\"].node,\n customCloseIcon: _propTypes[\"default\"].node,\n // accessibility\n isFocused: _propTypes[\"default\"].bool,\n // i18n\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DateRangePickerInputPhrases)),\n isRTL: _propTypes[\"default\"].bool\n}) : {};\nvar defaultProps = {\n children: null,\n startDate: null,\n startDateId: _constants.START_DATE,\n startDatePlaceholderText: 'Start Date',\n isStartDateFocused: false,\n endDate: null,\n endDateId: _constants.END_DATE,\n endDatePlaceholderText: 'End Date',\n isEndDateFocused: false,\n screenReaderMessage: '',\n showClearDates: false,\n showCaret: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDates: false,\n withFullScreenPortal: false,\n minimumNights: 1,\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay[\"default\"])(day, (0, _moment[\"default\"])());\n }\n\n return isOutsideRange;\n }(),\n displayFormat: function () {\n function displayFormat() {\n return _moment[\"default\"].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n onDatesChange: function () {\n function onDatesChange() {}\n\n return onDatesChange;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n // accessibility\n isFocused: false,\n // i18n\n phrases: _defaultPhrases.DateRangePickerInputPhrases,\n isRTL: false\n};\n\nvar DateRangePickerInputController =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DateRangePickerInputController, _ref);\n\n _createClass(DateRangePickerInputController, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DateRangePickerInputController(props) {\n var _this;\n\n _classCallCheck(this, DateRangePickerInputController);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DateRangePickerInputController).call(this, props));\n _this.onClearFocus = _this.onClearFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onStartDateChange = _this.onStartDateChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onStartDateFocus = _this.onStartDateFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onEndDateChange = _this.onEndDateChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onEndDateFocus = _this.onEndDateFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.clearDates = _this.clearDates.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DateRangePickerInputController, [{\n key: \"onClearFocus\",\n value: function () {\n function onClearFocus() {\n var _this$props = this.props,\n onFocusChange = _this$props.onFocusChange,\n onClose = _this$props.onClose,\n startDate = _this$props.startDate,\n endDate = _this$props.endDate;\n onFocusChange(null);\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n }\n\n return onClearFocus;\n }()\n }, {\n key: \"onEndDateChange\",\n value: function () {\n function onEndDateChange(endDateString) {\n var _this$props2 = this.props,\n startDate = _this$props2.startDate,\n isOutsideRange = _this$props2.isOutsideRange,\n minimumNights = _this$props2.minimumNights,\n keepOpenOnDateSelect = _this$props2.keepOpenOnDateSelect,\n onDatesChange = _this$props2.onDatesChange;\n var endDate = (0, _toMomentObject[\"default\"])(endDateString, this.getDisplayFormat());\n var isEndDateValid = endDate && !isOutsideRange(endDate) && !(startDate && (0, _isBeforeDay[\"default\"])(endDate, startDate.clone().add(minimumNights, 'days')));\n\n if (isEndDateValid) {\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n if (!keepOpenOnDateSelect) this.onClearFocus();\n } else {\n onDatesChange({\n startDate: startDate,\n endDate: null\n });\n }\n }\n\n return onEndDateChange;\n }()\n }, {\n key: \"onEndDateFocus\",\n value: function () {\n function onEndDateFocus() {\n var _this$props3 = this.props,\n startDate = _this$props3.startDate,\n onFocusChange = _this$props3.onFocusChange,\n withFullScreenPortal = _this$props3.withFullScreenPortal,\n disabled = _this$props3.disabled;\n\n if (!startDate && withFullScreenPortal && (!disabled || disabled === _constants.END_DATE)) {\n // When the datepicker is full screen, we never want to focus the end date first\n // because there's no indication that that is the case once the datepicker is open and it\n // might confuse the user\n onFocusChange(_constants.START_DATE);\n } else if (!disabled || disabled === _constants.START_DATE) {\n onFocusChange(_constants.END_DATE);\n }\n }\n\n return onEndDateFocus;\n }()\n }, {\n key: \"onStartDateChange\",\n value: function () {\n function onStartDateChange(startDateString) {\n var endDate = this.props.endDate;\n var _this$props4 = this.props,\n isOutsideRange = _this$props4.isOutsideRange,\n minimumNights = _this$props4.minimumNights,\n onDatesChange = _this$props4.onDatesChange,\n onFocusChange = _this$props4.onFocusChange,\n disabled = _this$props4.disabled;\n var startDate = (0, _toMomentObject[\"default\"])(startDateString, this.getDisplayFormat());\n var isEndDateBeforeStartDate = startDate && (0, _isBeforeDay[\"default\"])(endDate, startDate.clone().add(minimumNights, 'days'));\n var isStartDateValid = startDate && !isOutsideRange(startDate) && !(disabled === _constants.END_DATE && isEndDateBeforeStartDate);\n\n if (isStartDateValid) {\n if (isEndDateBeforeStartDate) {\n endDate = null;\n }\n\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n onFocusChange(_constants.END_DATE);\n } else {\n onDatesChange({\n startDate: null,\n endDate: endDate\n });\n }\n }\n\n return onStartDateChange;\n }()\n }, {\n key: \"onStartDateFocus\",\n value: function () {\n function onStartDateFocus() {\n var _this$props5 = this.props,\n disabled = _this$props5.disabled,\n onFocusChange = _this$props5.onFocusChange;\n\n if (!disabled || disabled === _constants.END_DATE) {\n onFocusChange(_constants.START_DATE);\n }\n }\n\n return onStartDateFocus;\n }()\n }, {\n key: \"getDisplayFormat\",\n value: function () {\n function getDisplayFormat() {\n var displayFormat = this.props.displayFormat;\n return typeof displayFormat === 'string' ? displayFormat : displayFormat();\n }\n\n return getDisplayFormat;\n }()\n }, {\n key: \"getDateString\",\n value: function () {\n function getDateString(date) {\n var displayFormat = this.getDisplayFormat();\n\n if (date && displayFormat) {\n return date && date.format(displayFormat);\n }\n\n return (0, _toLocalizedDateString[\"default\"])(date);\n }\n\n return getDateString;\n }()\n }, {\n key: \"clearDates\",\n value: function () {\n function clearDates() {\n var _this$props6 = this.props,\n onDatesChange = _this$props6.onDatesChange,\n reopenPickerOnClearDates = _this$props6.reopenPickerOnClearDates,\n onFocusChange = _this$props6.onFocusChange;\n onDatesChange({\n startDate: null,\n endDate: null\n });\n\n if (reopenPickerOnClearDates) {\n onFocusChange(_constants.START_DATE);\n }\n }\n\n return clearDates;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props7 = this.props,\n children = _this$props7.children,\n startDate = _this$props7.startDate,\n startDateId = _this$props7.startDateId,\n startDatePlaceholderText = _this$props7.startDatePlaceholderText,\n isStartDateFocused = _this$props7.isStartDateFocused,\n endDate = _this$props7.endDate,\n endDateId = _this$props7.endDateId,\n endDatePlaceholderText = _this$props7.endDatePlaceholderText,\n isEndDateFocused = _this$props7.isEndDateFocused,\n screenReaderMessage = _this$props7.screenReaderMessage,\n showClearDates = _this$props7.showClearDates,\n showCaret = _this$props7.showCaret,\n showDefaultInputIcon = _this$props7.showDefaultInputIcon,\n inputIconPosition = _this$props7.inputIconPosition,\n customInputIcon = _this$props7.customInputIcon,\n customArrowIcon = _this$props7.customArrowIcon,\n customCloseIcon = _this$props7.customCloseIcon,\n disabled = _this$props7.disabled,\n required = _this$props7.required,\n readOnly = _this$props7.readOnly,\n openDirection = _this$props7.openDirection,\n isFocused = _this$props7.isFocused,\n phrases = _this$props7.phrases,\n onKeyDownArrowDown = _this$props7.onKeyDownArrowDown,\n onKeyDownQuestionMark = _this$props7.onKeyDownQuestionMark,\n isRTL = _this$props7.isRTL,\n noBorder = _this$props7.noBorder,\n block = _this$props7.block,\n small = _this$props7.small,\n regular = _this$props7.regular,\n verticalSpacing = _this$props7.verticalSpacing;\n var startDateString = this.getDateString(startDate);\n var endDateString = this.getDateString(endDate);\n return _react[\"default\"].createElement(_DateRangePickerInput[\"default\"], {\n startDate: startDateString,\n startDateId: startDateId,\n startDatePlaceholderText: startDatePlaceholderText,\n isStartDateFocused: isStartDateFocused,\n endDate: endDateString,\n endDateId: endDateId,\n endDatePlaceholderText: endDatePlaceholderText,\n isEndDateFocused: isEndDateFocused,\n isFocused: isFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n showCaret: showCaret,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customInputIcon: customInputIcon,\n customArrowIcon: customArrowIcon,\n customCloseIcon: customCloseIcon,\n phrases: phrases,\n onStartDateChange: this.onStartDateChange,\n onStartDateFocus: this.onStartDateFocus,\n onStartDateShiftTab: this.onClearFocus,\n onEndDateChange: this.onEndDateChange,\n onEndDateFocus: this.onEndDateFocus,\n showClearDates: showClearDates,\n onClearDates: this.clearDates,\n screenReaderMessage: screenReaderMessage,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n }, children);\n }\n\n return render;\n }()\n }]);\n\n return DateRangePickerInputController;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports[\"default\"] = DateRangePickerInputController;\nDateRangePickerInputController.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDateRangePickerInputController.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"../shapes/OpenDirectionShape\"));\n\nvar _DateInput = _interopRequireDefault(require(\"./DateInput\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"../shapes/IconPositionShape\"));\n\nvar _DisabledShape = _interopRequireDefault(require(\"../shapes/DisabledShape\"));\n\nvar _RightArrow = _interopRequireDefault(require(\"./RightArrow\"));\n\nvar _LeftArrow = _interopRequireDefault(require(\"./LeftArrow\"));\n\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\n\nvar _CalendarIcon = _interopRequireDefault(require(\"./CalendarIcon\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n children: _propTypes[\"default\"].node,\n startDateId: _propTypes[\"default\"].string,\n startDatePlaceholderText: _propTypes[\"default\"].string,\n screenReaderMessage: _propTypes[\"default\"].string,\n endDateId: _propTypes[\"default\"].string,\n endDatePlaceholderText: _propTypes[\"default\"].string,\n onStartDateFocus: _propTypes[\"default\"].func,\n onEndDateFocus: _propTypes[\"default\"].func,\n onStartDateChange: _propTypes[\"default\"].func,\n onEndDateChange: _propTypes[\"default\"].func,\n onStartDateShiftTab: _propTypes[\"default\"].func,\n onEndDateTab: _propTypes[\"default\"].func,\n onClearDates: _propTypes[\"default\"].func,\n onKeyDownArrowDown: _propTypes[\"default\"].func,\n onKeyDownQuestionMark: _propTypes[\"default\"].func,\n startDate: _propTypes[\"default\"].string,\n endDate: _propTypes[\"default\"].string,\n isStartDateFocused: _propTypes[\"default\"].bool,\n isEndDateFocused: _propTypes[\"default\"].bool,\n showClearDates: _propTypes[\"default\"].bool,\n disabled: _DisabledShape[\"default\"],\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n openDirection: _OpenDirectionShape[\"default\"],\n showCaret: _propTypes[\"default\"].bool,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n customInputIcon: _propTypes[\"default\"].node,\n customArrowIcon: _propTypes[\"default\"].node,\n customCloseIcon: _propTypes[\"default\"].node,\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n // accessibility\n isFocused: _propTypes[\"default\"].bool,\n // describes actual DOM focus\n // i18n\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DateRangePickerInputPhrases)),\n isRTL: _propTypes[\"default\"].bool\n})) : {};\nvar defaultProps = {\n children: null,\n startDateId: _constants.START_DATE,\n endDateId: _constants.END_DATE,\n startDatePlaceholderText: 'Start Date',\n endDatePlaceholderText: 'End Date',\n screenReaderMessage: '',\n onStartDateFocus: function () {\n function onStartDateFocus() {}\n\n return onStartDateFocus;\n }(),\n onEndDateFocus: function () {\n function onEndDateFocus() {}\n\n return onEndDateFocus;\n }(),\n onStartDateChange: function () {\n function onStartDateChange() {}\n\n return onStartDateChange;\n }(),\n onEndDateChange: function () {\n function onEndDateChange() {}\n\n return onEndDateChange;\n }(),\n onStartDateShiftTab: function () {\n function onStartDateShiftTab() {}\n\n return onStartDateShiftTab;\n }(),\n onEndDateTab: function () {\n function onEndDateTab() {}\n\n return onEndDateTab;\n }(),\n onClearDates: function () {\n function onClearDates() {}\n\n return onClearDates;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n startDate: '',\n endDate: '',\n isStartDateFocused: false,\n isEndDateFocused: false,\n showClearDates: false,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n // accessibility\n isFocused: false,\n // i18n\n phrases: _defaultPhrases.DateRangePickerInputPhrases,\n isRTL: false\n};\n\nfunction DateRangePickerInput(_ref) {\n var children = _ref.children,\n startDate = _ref.startDate,\n startDateId = _ref.startDateId,\n startDatePlaceholderText = _ref.startDatePlaceholderText,\n screenReaderMessage = _ref.screenReaderMessage,\n isStartDateFocused = _ref.isStartDateFocused,\n onStartDateChange = _ref.onStartDateChange,\n onStartDateFocus = _ref.onStartDateFocus,\n onStartDateShiftTab = _ref.onStartDateShiftTab,\n endDate = _ref.endDate,\n endDateId = _ref.endDateId,\n endDatePlaceholderText = _ref.endDatePlaceholderText,\n isEndDateFocused = _ref.isEndDateFocused,\n onEndDateChange = _ref.onEndDateChange,\n onEndDateFocus = _ref.onEndDateFocus,\n onEndDateTab = _ref.onEndDateTab,\n onKeyDownArrowDown = _ref.onKeyDownArrowDown,\n onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,\n onClearDates = _ref.onClearDates,\n showClearDates = _ref.showClearDates,\n disabled = _ref.disabled,\n required = _ref.required,\n readOnly = _ref.readOnly,\n showCaret = _ref.showCaret,\n openDirection = _ref.openDirection,\n showDefaultInputIcon = _ref.showDefaultInputIcon,\n inputIconPosition = _ref.inputIconPosition,\n customInputIcon = _ref.customInputIcon,\n customArrowIcon = _ref.customArrowIcon,\n customCloseIcon = _ref.customCloseIcon,\n isFocused = _ref.isFocused,\n phrases = _ref.phrases,\n isRTL = _ref.isRTL,\n noBorder = _ref.noBorder,\n block = _ref.block,\n verticalSpacing = _ref.verticalSpacing,\n small = _ref.small,\n regular = _ref.regular,\n styles = _ref.styles;\n\n var calendarIcon = customInputIcon || _react[\"default\"].createElement(_CalendarIcon[\"default\"], (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon_svg));\n\n var arrowIcon = customArrowIcon || _react[\"default\"].createElement(_RightArrow[\"default\"], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));\n\n if (isRTL) arrowIcon = _react[\"default\"].createElement(_LeftArrow[\"default\"], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));\n if (small) arrowIcon = '-';\n\n var closeIcon = customCloseIcon || _react[\"default\"].createElement(_CloseButton[\"default\"], (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates_svg, small && styles.DateRangePickerInput_clearDates_svg__small));\n\n var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;\n\n var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react[\"default\"].createElement(\"button\", _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon), {\n type: \"button\",\n disabled: disabled,\n \"aria-label\": phrases.focusStartDate,\n onClick: onKeyDownArrowDown\n }), calendarIcon);\n\n var startDateDisabled = disabled === _constants.START_DATE || disabled === true;\n var endDateDisabled = disabled === _constants.END_DATE || disabled === true;\n return _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.DateRangePickerInput, disabled && styles.DateRangePickerInput__disabled, isRTL && styles.DateRangePickerInput__rtl, !noBorder && styles.DateRangePickerInput__withBorder, block && styles.DateRangePickerInput__block, showClearDates && styles.DateRangePickerInput__showClearDates), inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon, _react[\"default\"].createElement(_DateInput[\"default\"], {\n id: startDateId,\n placeholder: startDatePlaceholderText,\n displayValue: startDate,\n screenReaderMessage: screenReaderText,\n focused: isStartDateFocused,\n isFocused: isFocused,\n disabled: startDateDisabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n openDirection: openDirection,\n onChange: onStartDateChange,\n onFocus: onStartDateFocus,\n onKeyDownShiftTab: onStartDateShiftTab,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular\n }), _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow), {\n \"aria-hidden\": \"true\",\n role: \"presentation\"\n }), arrowIcon), isStartDateFocused && children, _react[\"default\"].createElement(_DateInput[\"default\"], {\n id: endDateId,\n placeholder: endDatePlaceholderText,\n displayValue: endDate,\n screenReaderMessage: screenReaderText,\n focused: isEndDateFocused,\n isFocused: isFocused,\n disabled: endDateDisabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n openDirection: openDirection,\n onChange: onEndDateChange,\n onFocus: onEndDateFocus,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n onKeyDownTab: onEndDateTab,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular\n }), isEndDateFocused && children, showClearDates && _react[\"default\"].createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": phrases.clearDates\n }, (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates, small && styles.DateRangePickerInput_clearDates__small, !customCloseIcon && styles.DateRangePickerInput_clearDates_default, !(startDate || endDate) && styles.DateRangePickerInput_clearDates__hide), {\n onClick: onClearDates,\n disabled: disabled\n }), closeIcon), inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon);\n}\n\nDateRangePickerInput.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDateRangePickerInput.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n border = _ref2$reactDates.border,\n color = _ref2$reactDates.color,\n sizing = _ref2$reactDates.sizing;\n return {\n DateRangePickerInput: {\n backgroundColor: color.background,\n display: 'inline-block'\n },\n DateRangePickerInput__disabled: {\n background: color.disabled\n },\n DateRangePickerInput__withBorder: {\n borderColor: color.border,\n borderWidth: border.pickerInput.borderWidth,\n borderStyle: border.pickerInput.borderStyle,\n borderRadius: border.pickerInput.borderRadius\n },\n DateRangePickerInput__rtl: {\n direction: (0, _noflip[\"default\"])('rtl')\n },\n DateRangePickerInput__block: {\n display: 'block'\n },\n DateRangePickerInput__showClearDates: {\n paddingRight: 30 // TODO: should be noflip wrapped and handled by an isRTL prop\n\n },\n DateRangePickerInput_arrow: {\n display: 'inline-block',\n verticalAlign: 'middle',\n color: color.text\n },\n DateRangePickerInput_arrow_svg: {\n verticalAlign: 'middle',\n fill: color.text,\n height: sizing.arrowWidth,\n width: sizing.arrowWidth\n },\n DateRangePickerInput_clearDates: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n padding: 10,\n margin: '0 10px 0 5px',\n // TODO: should be noflip wrapped and handled by an isRTL prop\n position: 'absolute',\n right: 0,\n // TODO: should be noflip wrapped and handled by an isRTL prop\n top: '50%',\n transform: 'translateY(-50%)'\n },\n DateRangePickerInput_clearDates__small: {\n padding: 6\n },\n DateRangePickerInput_clearDates_default: {\n ':focus': {\n background: color.core.border,\n borderRadius: '50%'\n },\n ':hover': {\n background: color.core.border,\n borderRadius: '50%'\n }\n },\n DateRangePickerInput_clearDates__hide: {\n visibility: 'hidden'\n },\n DateRangePickerInput_clearDates_svg: {\n fill: color.core.grayLight,\n height: 12,\n width: 15,\n verticalAlign: 'middle'\n },\n DateRangePickerInput_clearDates_svg__small: {\n height: 9\n },\n DateRangePickerInput_calendarIcon: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: 10,\n margin: '0 5px 0 10px' // TODO: should be noflip wrapped and handled by an isRTL prop\n\n },\n DateRangePickerInput_calendarIcon_svg: {\n fill: color.core.grayLight,\n height: 15,\n width: 14,\n verticalAlign: 'middle'\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DateRangePickerInput);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _throttle = _interopRequireDefault(require(\"lodash/throttle\"));\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _getInputHeight = _interopRequireDefault(require(\"../utils/getInputHeight\"));\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"../shapes/OpenDirectionShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar FANG_PATH_TOP = \"M0,\".concat(_constants.FANG_HEIGHT_PX, \" \").concat(_constants.FANG_WIDTH_PX, \",\").concat(_constants.FANG_HEIGHT_PX, \" \").concat(_constants.FANG_WIDTH_PX / 2, \",0z\");\nvar FANG_STROKE_TOP = \"M0,\".concat(_constants.FANG_HEIGHT_PX, \" \").concat(_constants.FANG_WIDTH_PX / 2, \",0 \").concat(_constants.FANG_WIDTH_PX, \",\").concat(_constants.FANG_HEIGHT_PX);\nvar FANG_PATH_BOTTOM = \"M0,0 \".concat(_constants.FANG_WIDTH_PX, \",0 \").concat(_constants.FANG_WIDTH_PX / 2, \",\").concat(_constants.FANG_HEIGHT_PX, \"z\");\nvar FANG_STROKE_BOTTOM = \"M0,0 \".concat(_constants.FANG_WIDTH_PX / 2, \",\").concat(_constants.FANG_HEIGHT_PX, \" \").concat(_constants.FANG_WIDTH_PX, \",0\");\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n id: _propTypes[\"default\"].string.isRequired,\n placeholder: _propTypes[\"default\"].string,\n // also used as label\n displayValue: _propTypes[\"default\"].string,\n screenReaderMessage: _propTypes[\"default\"].string,\n focused: _propTypes[\"default\"].bool,\n disabled: _propTypes[\"default\"].bool,\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n openDirection: _OpenDirectionShape[\"default\"],\n showCaret: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n small: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n onChange: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n onKeyDownShiftTab: _propTypes[\"default\"].func,\n onKeyDownTab: _propTypes[\"default\"].func,\n onKeyDownArrowDown: _propTypes[\"default\"].func,\n onKeyDownQuestionMark: _propTypes[\"default\"].func,\n // accessibility\n isFocused: _propTypes[\"default\"].bool // describes actual DOM focus\n\n})) : {};\nvar defaultProps = {\n placeholder: 'Select Date',\n displayValue: '',\n screenReaderMessage: '',\n focused: false,\n disabled: false,\n required: false,\n readOnly: null,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n small: false,\n block: false,\n regular: false,\n onChange: function () {\n function onChange() {}\n\n return onChange;\n }(),\n onFocus: function () {\n function onFocus() {}\n\n return onFocus;\n }(),\n onKeyDownShiftTab: function () {\n function onKeyDownShiftTab() {}\n\n return onKeyDownShiftTab;\n }(),\n onKeyDownTab: function () {\n function onKeyDownTab() {}\n\n return onKeyDownTab;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n // accessibility\n isFocused: false\n};\n\nvar DateInput =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DateInput, _ref);\n\n _createClass(DateInput, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DateInput(props) {\n var _this;\n\n _classCallCheck(this, DateInput);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DateInput).call(this, props));\n _this.state = {\n dateString: '',\n isTouchDevice: false\n };\n _this.onChange = _this.onChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setInputRef = _this.setInputRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.throttledKeyDown = (0, _throttle[\"default\"])(_this.onFinalKeyDown, 300, {\n trailing: false\n });\n return _this;\n }\n\n _createClass(DateInput, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.setState({\n isTouchDevice: (0, _isTouchDevice[\"default\"])()\n });\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var dateString = this.state.dateString;\n\n if (dateString && nextProps.displayValue) {\n this.setState({\n dateString: ''\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n focused = _this$props.focused,\n isFocused = _this$props.isFocused;\n if (prevProps.focused === focused && prevProps.isFocused === isFocused) return;\n\n if (focused && isFocused) {\n this.inputRef.focus();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"onChange\",\n value: function () {\n function onChange(e) {\n var _this$props2 = this.props,\n onChange = _this$props2.onChange,\n onKeyDownQuestionMark = _this$props2.onKeyDownQuestionMark;\n var dateString = e.target.value; // In Safari, onKeyDown does not consistently fire ahead of onChange. As a result, we need to\n // special case the `?` key so that it always triggers the appropriate callback, instead of\n // modifying the input value\n\n if (dateString[dateString.length - 1] === '?') {\n onKeyDownQuestionMark(e);\n } else {\n this.setState({\n dateString: dateString\n }, function () {\n return onChange(dateString);\n });\n }\n }\n\n return onChange;\n }()\n }, {\n key: \"onKeyDown\",\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n\n if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {\n this.throttledKeyDown(e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: \"onFinalKeyDown\",\n value: function () {\n function onFinalKeyDown(e) {\n var _this$props3 = this.props,\n onKeyDownShiftTab = _this$props3.onKeyDownShiftTab,\n onKeyDownTab = _this$props3.onKeyDownTab,\n onKeyDownArrowDown = _this$props3.onKeyDownArrowDown,\n onKeyDownQuestionMark = _this$props3.onKeyDownQuestionMark;\n var key = e.key;\n\n if (key === 'Tab') {\n if (e.shiftKey) {\n onKeyDownShiftTab(e);\n } else {\n onKeyDownTab(e);\n }\n } else if (key === 'ArrowDown') {\n onKeyDownArrowDown(e);\n } else if (key === '?') {\n e.preventDefault();\n onKeyDownQuestionMark(e);\n }\n }\n\n return onFinalKeyDown;\n }()\n }, {\n key: \"setInputRef\",\n value: function () {\n function setInputRef(ref) {\n this.inputRef = ref;\n }\n\n return setInputRef;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$state = this.state,\n dateString = _this$state.dateString,\n isTouch = _this$state.isTouchDevice;\n var _this$props4 = this.props,\n id = _this$props4.id,\n placeholder = _this$props4.placeholder,\n displayValue = _this$props4.displayValue,\n screenReaderMessage = _this$props4.screenReaderMessage,\n focused = _this$props4.focused,\n showCaret = _this$props4.showCaret,\n onFocus = _this$props4.onFocus,\n disabled = _this$props4.disabled,\n required = _this$props4.required,\n readOnly = _this$props4.readOnly,\n openDirection = _this$props4.openDirection,\n verticalSpacing = _this$props4.verticalSpacing,\n small = _this$props4.small,\n regular = _this$props4.regular,\n block = _this$props4.block,\n styles = _this$props4.styles,\n reactDates = _this$props4.theme.reactDates;\n var value = dateString || displayValue || '';\n var screenReaderMessageId = \"DateInput__screen-reader-message-\".concat(id);\n var withFang = showCaret && focused;\n var inputHeight = (0, _getInputHeight[\"default\"])(reactDates, small);\n return _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.DateInput, small && styles.DateInput__small, block && styles.DateInput__block, withFang && styles.DateInput__withFang, disabled && styles.DateInput__disabled, withFang && openDirection === _constants.OPEN_DOWN && styles.DateInput__openDown, withFang && openDirection === _constants.OPEN_UP && styles.DateInput__openUp), _react[\"default\"].createElement(\"input\", _extends({}, (0, _reactWithStyles.css)(styles.DateInput_input, small && styles.DateInput_input__small, regular && styles.DateInput_input__regular, readOnly && styles.DateInput_input__readOnly, focused && styles.DateInput_input__focused, disabled && styles.DateInput_input__disabled), {\n \"aria-label\": placeholder,\n type: \"text\",\n id: id,\n name: id,\n ref: this.setInputRef,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onFocus: onFocus,\n placeholder: placeholder,\n autoComplete: \"off\",\n disabled: disabled,\n readOnly: typeof readOnly === 'boolean' ? readOnly : isTouch,\n required: required,\n \"aria-describedby\": screenReaderMessage && screenReaderMessageId\n })), withFang && _react[\"default\"].createElement(\"svg\", _extends({\n role: \"presentation\",\n focusable: \"false\"\n }, (0, _reactWithStyles.css)(styles.DateInput_fang, openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1\n }, openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1\n })), _react[\"default\"].createElement(\"path\", _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangShape), {\n d: openDirection === _constants.OPEN_DOWN ? FANG_PATH_TOP : FANG_PATH_BOTTOM\n })), _react[\"default\"].createElement(\"path\", _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangStroke), {\n d: openDirection === _constants.OPEN_DOWN ? FANG_STROKE_TOP : FANG_STROKE_BOTTOM\n }))), screenReaderMessage && _react[\"default\"].createElement(\"p\", _extends({}, (0, _reactWithStyles.css)(styles.DateInput_screenReaderMessage), {\n id: screenReaderMessageId\n }), screenReaderMessage));\n }\n\n return render;\n }()\n }]);\n\n return DateInput;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nDateInput.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDateInput.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n border = _ref2$reactDates.border,\n color = _ref2$reactDates.color,\n sizing = _ref2$reactDates.sizing,\n spacing = _ref2$reactDates.spacing,\n font = _ref2$reactDates.font,\n zIndex = _ref2$reactDates.zIndex;\n return {\n DateInput: {\n margin: 0,\n padding: spacing.inputPadding,\n background: color.background,\n position: 'relative',\n display: 'inline-block',\n width: sizing.inputWidth,\n verticalAlign: 'middle'\n },\n DateInput__small: {\n width: sizing.inputWidth_small\n },\n DateInput__block: {\n width: '100%'\n },\n DateInput__disabled: {\n background: color.disabled,\n color: color.textDisabled\n },\n DateInput_input: {\n fontWeight: 200,\n fontSize: font.input.size,\n lineHeight: font.input.lineHeight,\n color: color.text,\n backgroundColor: color.background,\n width: '100%',\n padding: \"\".concat(spacing.displayTextPaddingVertical, \"px \").concat(spacing.displayTextPaddingHorizontal, \"px\"),\n paddingTop: spacing.displayTextPaddingTop,\n paddingBottom: spacing.displayTextPaddingBottom,\n paddingLeft: (0, _noflip[\"default\"])(spacing.displayTextPaddingLeft),\n paddingRight: (0, _noflip[\"default\"])(spacing.displayTextPaddingRight),\n border: border.input.border,\n borderTop: border.input.borderTop,\n borderRight: (0, _noflip[\"default\"])(border.input.borderRight),\n borderBottom: border.input.borderBottom,\n borderLeft: (0, _noflip[\"default\"])(border.input.borderLeft),\n borderRadius: border.input.borderRadius\n },\n DateInput_input__small: {\n fontSize: font.input.size_small,\n lineHeight: font.input.lineHeight_small,\n letterSpacing: font.input.letterSpacing_small,\n padding: \"\".concat(spacing.displayTextPaddingVertical_small, \"px \").concat(spacing.displayTextPaddingHorizontal_small, \"px\"),\n paddingTop: spacing.displayTextPaddingTop_small,\n paddingBottom: spacing.displayTextPaddingBottom_small,\n paddingLeft: (0, _noflip[\"default\"])(spacing.displayTextPaddingLeft_small),\n paddingRight: (0, _noflip[\"default\"])(spacing.displayTextPaddingRight_small)\n },\n DateInput_input__regular: {\n fontWeight: 'auto'\n },\n DateInput_input__readOnly: {\n userSelect: 'none'\n },\n DateInput_input__focused: {\n outline: border.input.outlineFocused,\n background: color.backgroundFocused,\n border: border.input.borderFocused,\n borderTop: border.input.borderTopFocused,\n borderRight: (0, _noflip[\"default\"])(border.input.borderRightFocused),\n borderBottom: border.input.borderBottomFocused,\n borderLeft: (0, _noflip[\"default\"])(border.input.borderLeftFocused)\n },\n DateInput_input__disabled: {\n background: color.disabled,\n fontStyle: font.input.styleDisabled\n },\n DateInput_screenReaderMessage: {\n border: 0,\n clip: 'rect(0, 0, 0, 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: 1\n },\n DateInput_fang: {\n position: 'absolute',\n width: _constants.FANG_WIDTH_PX,\n height: _constants.FANG_HEIGHT_PX,\n left: 22,\n // TODO: should be noflip wrapped and handled by an isRTL prop\n zIndex: zIndex + 2\n },\n DateInput_fangShape: {\n fill: color.background\n },\n DateInput_fangStroke: {\n stroke: color.core.border,\n fill: 'transparent'\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DateInput);\n\nexports[\"default\"] = _default;","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar RightArrow = function () {\n function RightArrow(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n d: \"M694.4 242.4l249.1 249.1c11 11 11 21 0 32L694.4 772.7c-5 5-10 7-16 7s-11-2-16-7c-11-11-11-21 0-32l210.1-210.1H67.1c-13 0-23-10-23-23s10-23 23-23h805.4L662.4 274.5c-21-21.1 11-53.1 32-32.1z\"\n }));\n }\n\n return RightArrow;\n}();\n\nRightArrow.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 1000 1000\"\n};\nvar _default = RightArrow;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar LeftArrow = function () {\n function LeftArrow(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n d: \"M336.2 274.5l-210.1 210h805.4c13 0 23 10 23 23s-10 23-23 23H126.1l210.1 210.1c11 11 11 21 0 32-5 5-10 7-16 7s-11-2-16-7l-249.1-249c-11-11-11-21 0-32l249.1-249.1c21-21.1 53 10.9 32 32z\"\n }));\n }\n\n return LeftArrow;\n}();\n\nLeftArrow.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 1000 1000\"\n};\nvar _default = LeftArrow;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar CalendarIcon = function () {\n function CalendarIcon(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n d: \"M107.2 1392.9h241.1v-241.1H107.2v241.1zm294.7 0h267.9v-241.1H401.9v241.1zm-294.7-294.7h241.1V830.4H107.2v267.8zm294.7 0h267.9V830.4H401.9v267.8zM107.2 776.8h241.1V535.7H107.2v241.1zm616.2 616.1h267.9v-241.1H723.4v241.1zM401.9 776.8h267.9V535.7H401.9v241.1zm642.9 616.1H1286v-241.1h-241.1v241.1zm-321.4-294.7h267.9V830.4H723.4v267.8zM428.7 375V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.3-5.3 8-11.5 8-18.8zm616.1 723.2H1286V830.4h-241.1v267.8zM723.4 776.8h267.9V535.7H723.4v241.1zm321.4 0H1286V535.7h-241.1v241.1zm26.8-401.8V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.4-5.3 8-11.5 8-18.8zm321.5-53.6v1071.4c0 29-10.6 54.1-31.8 75.3-21.2 21.2-46.3 31.8-75.3 31.8H107.2c-29 0-54.1-10.6-75.3-31.8C10.6 1447 0 1421.9 0 1392.9V321.4c0-29 10.6-54.1 31.8-75.3s46.3-31.8 75.3-31.8h107.2v-80.4c0-36.8 13.1-68.4 39.3-94.6S311.4 0 348.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3 26.2 26.2 39.3 57.8 39.3 94.6v80.4h321.5v-80.4c0-36.8 13.1-68.4 39.3-94.6C922.9 13.1 954.4 0 991.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3s39.3 57.8 39.3 94.6v80.4H1286c29 0 54.1 10.6 75.3 31.8 21.2 21.2 31.8 46.3 31.8 75.3z\"\n }));\n }\n\n return CalendarIcon;\n}();\n\nCalendarIcon.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 1393.1 1500\"\n};\nvar _default = CalendarIcon;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _object = _interopRequireDefault(require(\"object.values\"));\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"../utils/isInclusivelyAfterDay\"));\n\nvar _isNextDay = _interopRequireDefault(require(\"../utils/isNextDay\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"../utils/isSameDay\"));\n\nvar _isAfterDay = _interopRequireDefault(require(\"../utils/isAfterDay\"));\n\nvar _isBeforeDay = _interopRequireDefault(require(\"../utils/isBeforeDay\"));\n\nvar _getVisibleDays = _interopRequireDefault(require(\"../utils/getVisibleDays\"));\n\nvar _isDayVisible = _interopRequireDefault(require(\"../utils/isDayVisible\"));\n\nvar _getSelectedDateOffset = _interopRequireDefault(require(\"../utils/getSelectedDateOffset\"));\n\nvar _toISODateString = _interopRequireDefault(require(\"../utils/toISODateString\"));\n\nvar _toISOMonthString = _interopRequireDefault(require(\"../utils/toISOMonthString\"));\n\nvar _DisabledShape = _interopRequireDefault(require(\"../shapes/DisabledShape\"));\n\nvar _FocusedInputShape = _interopRequireDefault(require(\"../shapes/FocusedInputShape\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"../shapes/DayOfWeekShape\"));\n\nvar _CalendarInfoPositionShape = _interopRequireDefault(require(\"../shapes/CalendarInfoPositionShape\"));\n\nvar _constants = require(\"../constants\");\n\nvar _DayPicker = _interopRequireDefault(require(\"./DayPicker\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)({\n startDate: _reactMomentProptypes[\"default\"].momentObj,\n endDate: _reactMomentProptypes[\"default\"].momentObj,\n onDatesChange: _propTypes[\"default\"].func,\n startDateOffset: _propTypes[\"default\"].func,\n endDateOffset: _propTypes[\"default\"].func,\n minDate: _reactMomentProptypes[\"default\"].momentObj,\n maxDate: _reactMomentProptypes[\"default\"].momentObj,\n focusedInput: _FocusedInputShape[\"default\"],\n onFocusChange: _propTypes[\"default\"].func,\n onClose: _propTypes[\"default\"].func,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n minimumNights: _propTypes[\"default\"].number,\n disabled: _DisabledShape[\"default\"],\n isOutsideRange: _propTypes[\"default\"].func,\n isDayBlocked: _propTypes[\"default\"].func,\n isDayHighlighted: _propTypes[\"default\"].func,\n getMinNightsForHoverDate: _propTypes[\"default\"].func,\n // DayPicker props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n enableOutsideDays: _propTypes[\"default\"].bool,\n numberOfMonths: _propTypes[\"default\"].number,\n orientation: _ScrollableOrientationShape[\"default\"],\n withPortal: _propTypes[\"default\"].bool,\n initialVisibleMonth: _propTypes[\"default\"].func,\n hideKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes[\"default\"].bool,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n noNavButtons: _propTypes[\"default\"].bool,\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n onOutsideClick: _propTypes[\"default\"].func,\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n renderCalendarInfo: _propTypes[\"default\"].func,\n renderKeyboardShortcutsButton: _propTypes[\"default\"].func,\n calendarInfoPosition: _CalendarInfoPositionShape[\"default\"],\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n // accessibility\n onBlur: _propTypes[\"default\"].func,\n isFocused: _propTypes[\"default\"].bool,\n showKeyboardShortcuts: _propTypes[\"default\"].bool,\n onTab: _propTypes[\"default\"].func,\n onShiftTab: _propTypes[\"default\"].func,\n // i18n\n monthFormat: _propTypes[\"default\"].string,\n weekDayFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string,\n isRTL: _propTypes[\"default\"].bool\n}) : {};\nvar defaultProps = {\n startDate: undefined,\n // TODO: use null\n endDate: undefined,\n // TODO: use null\n minDate: null,\n maxDate: null,\n onDatesChange: function () {\n function onDatesChange() {}\n\n return onDatesChange;\n }(),\n startDateOffset: undefined,\n endDateOffset: undefined,\n focusedInput: null,\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n keepOpenOnDateSelect: false,\n minimumNights: 1,\n disabled: false,\n isOutsideRange: function () {\n function isOutsideRange() {}\n\n return isOutsideRange;\n }(),\n isDayBlocked: function () {\n function isDayBlocked() {}\n\n return isDayBlocked;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n getMinNightsForHoverDate: function () {\n function getMinNightsForHoverDate() {}\n\n return getMinNightsForHoverDate;\n }(),\n // DayPicker props\n renderMonthText: null,\n enableOutsideDays: false,\n numberOfMonths: 1,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n hideKeyboardShortcutsPanel: false,\n initialVisibleMonth: null,\n daySize: _constants.DAY_SIZE,\n navPrev: null,\n navNext: null,\n noNavButtons: false,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderCalendarInfo: null,\n renderMonthElement: null,\n renderKeyboardShortcutsButton: undefined,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n firstDayOfWeek: null,\n verticalHeight: null,\n noBorder: false,\n transitionDuration: undefined,\n verticalBorderSpacing: undefined,\n horizontalMonthPadding: 13,\n // accessibility\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n isFocused: false,\n showKeyboardShortcuts: false,\n onTab: function () {\n function onTab() {}\n\n return onTab;\n }(),\n onShiftTab: function () {\n function onShiftTab() {}\n\n return onShiftTab;\n }(),\n // i18n\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined,\n isRTL: false\n};\n\nvar getChooseAvailableDatePhrase = function getChooseAvailableDatePhrase(phrases, focusedInput) {\n if (focusedInput === _constants.START_DATE) {\n return phrases.chooseAvailableStartDate;\n }\n\n if (focusedInput === _constants.END_DATE) {\n return phrases.chooseAvailableEndDate;\n }\n\n return phrases.chooseAvailableDate;\n};\n\nvar DayPickerRangeController =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DayPickerRangeController, _ref);\n\n _createClass(DayPickerRangeController, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DayPickerRangeController(props) {\n var _this;\n\n _classCallCheck(this, DayPickerRangeController);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DayPickerRangeController).call(this, props));\n _this.isTouchDevice = (0, _isTouchDevice[\"default\"])();\n _this.today = (0, _moment[\"default\"])();\n _this.modifiers = {\n today: function () {\n function today(day) {\n return _this.isToday(day);\n }\n\n return today;\n }(),\n blocked: function () {\n function blocked(day) {\n return _this.isBlocked(day);\n }\n\n return blocked;\n }(),\n 'blocked-calendar': function () {\n function blockedCalendar(day) {\n return props.isDayBlocked(day);\n }\n\n return blockedCalendar;\n }(),\n 'blocked-out-of-range': function () {\n function blockedOutOfRange(day) {\n return props.isOutsideRange(day);\n }\n\n return blockedOutOfRange;\n }(),\n 'highlighted-calendar': function () {\n function highlightedCalendar(day) {\n return props.isDayHighlighted(day);\n }\n\n return highlightedCalendar;\n }(),\n valid: function () {\n function valid(day) {\n return !_this.isBlocked(day);\n }\n\n return valid;\n }(),\n 'selected-start': function () {\n function selectedStart(day) {\n return _this.isStartDate(day);\n }\n\n return selectedStart;\n }(),\n 'selected-end': function () {\n function selectedEnd(day) {\n return _this.isEndDate(day);\n }\n\n return selectedEnd;\n }(),\n 'blocked-minimum-nights': function () {\n function blockedMinimumNights(day) {\n return _this.doesNotMeetMinimumNights(day);\n }\n\n return blockedMinimumNights;\n }(),\n 'selected-span': function () {\n function selectedSpan(day) {\n return _this.isInSelectedSpan(day);\n }\n\n return selectedSpan;\n }(),\n 'last-in-range': function () {\n function lastInRange(day) {\n return _this.isLastInRange(day);\n }\n\n return lastInRange;\n }(),\n hovered: function () {\n function hovered(day) {\n return _this.isHovered(day);\n }\n\n return hovered;\n }(),\n 'hovered-span': function () {\n function hoveredSpan(day) {\n return _this.isInHoveredSpan(day);\n }\n\n return hoveredSpan;\n }(),\n 'hovered-offset': function () {\n function hoveredOffset(day) {\n return _this.isInHoveredSpan(day);\n }\n\n return hoveredOffset;\n }(),\n 'after-hovered-start': function () {\n function afterHoveredStart(day) {\n return _this.isDayAfterHoveredStartDate(day);\n }\n\n return afterHoveredStart;\n }(),\n 'first-day-of-week': function () {\n function firstDayOfWeek(day) {\n return _this.isFirstDayOfWeek(day);\n }\n\n return firstDayOfWeek;\n }(),\n 'last-day-of-week': function () {\n function lastDayOfWeek(day) {\n return _this.isLastDayOfWeek(day);\n }\n\n return lastDayOfWeek;\n }(),\n 'hovered-start-first-possible-end': function () {\n function hoveredStartFirstPossibleEnd(day, hoverDate) {\n return _this.isFirstPossibleEndDateForHoveredStartDate(day, hoverDate);\n }\n\n return hoveredStartFirstPossibleEnd;\n }(),\n 'hovered-start-blocked-minimum-nights': function () {\n function hoveredStartBlockedMinimumNights(day, hoverDate) {\n return _this.doesNotMeetMinNightsForHoveredStartDate(day, hoverDate);\n }\n\n return hoveredStartBlockedMinimumNights;\n }()\n };\n\n var _this$getStateForNewM = _this.getStateForNewMonth(props),\n currentMonth = _this$getStateForNewM.currentMonth,\n visibleDays = _this$getStateForNewM.visibleDays; // initialize phrases\n // set the appropriate CalendarDay phrase based on focusedInput\n\n\n var chooseAvailableDate = getChooseAvailableDatePhrase(props.phrases, props.focusedInput);\n _this.state = {\n hoverDate: null,\n currentMonth: currentMonth,\n phrases: _objectSpread({}, props.phrases, {\n chooseAvailableDate: chooseAvailableDate\n }),\n visibleDays: visibleDays,\n disablePrev: _this.shouldDisableMonthNavigation(props.minDate, currentMonth),\n disableNext: _this.shouldDisableMonthNavigation(props.maxDate, currentMonth)\n };\n _this.onDayClick = _this.onDayClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onMonthChange = _this.onMonthChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onYearChange = _this.onYearChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onMultiplyScrollableMonths = _this.onMultiplyScrollableMonths.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DayPickerRangeController, [{\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var startDate = nextProps.startDate,\n endDate = nextProps.endDate,\n focusedInput = nextProps.focusedInput,\n getMinNightsForHoverDate = nextProps.getMinNightsForHoverDate,\n minimumNights = nextProps.minimumNights,\n isOutsideRange = nextProps.isOutsideRange,\n isDayBlocked = nextProps.isDayBlocked,\n isDayHighlighted = nextProps.isDayHighlighted,\n phrases = nextProps.phrases,\n initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n var _this$props = this.props,\n prevStartDate = _this$props.startDate,\n prevEndDate = _this$props.endDate,\n prevFocusedInput = _this$props.focusedInput,\n prevMinimumNights = _this$props.minimumNights,\n prevIsOutsideRange = _this$props.isOutsideRange,\n prevIsDayBlocked = _this$props.isDayBlocked,\n prevIsDayHighlighted = _this$props.isDayHighlighted,\n prevPhrases = _this$props.phrases,\n prevInitialVisibleMonth = _this$props.initialVisibleMonth,\n prevNumberOfMonths = _this$props.numberOfMonths,\n prevEnableOutsideDays = _this$props.enableOutsideDays;\n var hoverDate = this.state.hoverDate;\n var visibleDays = this.state.visibleDays;\n var recomputeOutsideRange = false;\n var recomputeDayBlocked = false;\n var recomputeDayHighlighted = false;\n\n if (isOutsideRange !== prevIsOutsideRange) {\n this.modifiers['blocked-out-of-range'] = function (day) {\n return isOutsideRange(day);\n };\n\n recomputeOutsideRange = true;\n }\n\n if (isDayBlocked !== prevIsDayBlocked) {\n this.modifiers['blocked-calendar'] = function (day) {\n return isDayBlocked(day);\n };\n\n recomputeDayBlocked = true;\n }\n\n if (isDayHighlighted !== prevIsDayHighlighted) {\n this.modifiers['highlighted-calendar'] = function (day) {\n return isDayHighlighted(day);\n };\n\n recomputeDayHighlighted = true;\n }\n\n var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;\n var didStartDateChange = startDate !== prevStartDate;\n var didEndDateChange = endDate !== prevEndDate;\n var didFocusChange = focusedInput !== prevFocusedInput;\n\n if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocusedInput && didFocusChange) {\n var newMonthState = this.getStateForNewMonth(nextProps);\n var currentMonth = newMonthState.currentMonth;\n visibleDays = newMonthState.visibleDays;\n this.setState({\n currentMonth: currentMonth,\n visibleDays: visibleDays\n });\n }\n\n var modifiers = {};\n\n if (didStartDateChange) {\n modifiers = this.deleteModifier(modifiers, prevStartDate, 'selected-start');\n modifiers = this.addModifier(modifiers, startDate, 'selected-start');\n\n if (prevStartDate) {\n var startSpan = prevStartDate.clone().add(1, 'day');\n var endSpan = prevStartDate.clone().add(prevMinimumNights + 1, 'days');\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, endSpan, 'after-hovered-start');\n }\n }\n\n if (didEndDateChange) {\n modifiers = this.deleteModifier(modifiers, prevEndDate, 'selected-end');\n modifiers = this.addModifier(modifiers, endDate, 'selected-end');\n }\n\n if (didStartDateChange || didEndDateChange) {\n if (prevStartDate && prevEndDate) {\n modifiers = this.deleteModifierFromRange(modifiers, prevStartDate, prevEndDate.clone().add(1, 'day'), 'selected-span');\n }\n\n if (startDate && endDate) {\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endDate.clone().add(1, 'day'), 'hovered-span');\n modifiers = this.addModifierToRange(modifiers, startDate.clone().add(1, 'day'), endDate, 'selected-span');\n }\n }\n\n if (!this.isTouchDevice && didStartDateChange && startDate && !endDate) {\n var _startSpan = startDate.clone().add(1, 'day');\n\n var _endSpan = startDate.clone().add(minimumNights + 1, 'days');\n\n modifiers = this.addModifierToRange(modifiers, _startSpan, _endSpan, 'after-hovered-start');\n }\n\n if (prevMinimumNights > 0) {\n if (didFocusChange || didStartDateChange || minimumNights !== prevMinimumNights) {\n var _startSpan2 = prevStartDate || this.today;\n\n modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked-minimum-nights');\n modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked');\n }\n }\n\n if (didFocusChange || recomputePropModifiers) {\n (0, _object[\"default\"])(visibleDays).forEach(function (days) {\n Object.keys(days).forEach(function (day) {\n var momentObj = (0, _moment[\"default\"])(day);\n var isBlocked = false;\n\n if (didFocusChange || recomputeOutsideRange) {\n if (isOutsideRange(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');\n isBlocked = true;\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');\n }\n }\n\n if (didFocusChange || recomputeDayBlocked) {\n if (isDayBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');\n isBlocked = true;\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');\n }\n }\n\n if (isBlocked) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');\n }\n\n if (didFocusChange || recomputeDayHighlighted) {\n if (isDayHighlighted(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');\n }\n }\n });\n });\n }\n\n if (!this.isTouchDevice && didFocusChange && hoverDate && !this.isBlocked(hoverDate)) {\n var minNightsForHoverDate = getMinNightsForHoverDate(hoverDate);\n\n if (minNightsForHoverDate > 0 && focusedInput === _constants.END_DATE) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate.clone().add(1, 'days'), hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-blocked-minimum-nights');\n modifiers = this.deleteModifier(modifiers, hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-first-possible-end');\n }\n\n if (minNightsForHoverDate > 0 && focusedInput === _constants.START_DATE) {\n modifiers = this.addModifierToRange(modifiers, hoverDate.clone().add(1, 'days'), hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-blocked-minimum-nights');\n modifiers = this.addModifier(modifiers, hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-first-possible-end');\n }\n }\n\n if (minimumNights > 0 && startDate && focusedInput === _constants.END_DATE) {\n modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked-minimum-nights');\n modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked');\n }\n\n var today = (0, _moment[\"default\"])();\n\n if (!(0, _isSameDay[\"default\"])(this.today, today)) {\n modifiers = this.deleteModifier(modifiers, this.today, 'today');\n modifiers = this.addModifier(modifiers, today, 'today');\n this.today = today;\n }\n\n if (Object.keys(modifiers).length > 0) {\n this.setState({\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n\n if (didFocusChange || phrases !== prevPhrases) {\n // set the appropriate CalendarDay phrase based on focusedInput\n var chooseAvailableDate = getChooseAvailableDatePhrase(phrases, focusedInput);\n this.setState({\n phrases: _objectSpread({}, phrases, {\n chooseAvailableDate: chooseAvailableDate\n })\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"onDayClick\",\n value: function () {\n function onDayClick(day, e) {\n var _this$props2 = this.props,\n keepOpenOnDateSelect = _this$props2.keepOpenOnDateSelect,\n minimumNights = _this$props2.minimumNights,\n onBlur = _this$props2.onBlur,\n focusedInput = _this$props2.focusedInput,\n onFocusChange = _this$props2.onFocusChange,\n onClose = _this$props2.onClose,\n onDatesChange = _this$props2.onDatesChange,\n startDateOffset = _this$props2.startDateOffset,\n endDateOffset = _this$props2.endDateOffset,\n disabled = _this$props2.disabled;\n if (e) e.preventDefault();\n if (this.isBlocked(day)) return;\n var _this$props3 = this.props,\n startDate = _this$props3.startDate,\n endDate = _this$props3.endDate;\n\n if (startDateOffset || endDateOffset) {\n startDate = (0, _getSelectedDateOffset[\"default\"])(startDateOffset, day);\n endDate = (0, _getSelectedDateOffset[\"default\"])(endDateOffset, day);\n\n if (this.isBlocked(startDate) || this.isBlocked(endDate)) {\n return;\n }\n\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n\n if (!keepOpenOnDateSelect) {\n onFocusChange(null);\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n }\n } else if (focusedInput === _constants.START_DATE) {\n var lastAllowedStartDate = endDate && endDate.clone().subtract(minimumNights, 'days');\n var isStartDateAfterEndDate = (0, _isBeforeDay[\"default\"])(lastAllowedStartDate, day) || (0, _isAfterDay[\"default\"])(startDate, endDate);\n var isEndDateDisabled = disabled === _constants.END_DATE;\n\n if (!isEndDateDisabled || !isStartDateAfterEndDate) {\n startDate = day;\n\n if (isStartDateAfterEndDate) {\n endDate = null;\n }\n }\n\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n\n if (isEndDateDisabled && !isStartDateAfterEndDate) {\n onFocusChange(null);\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n } else if (!isEndDateDisabled) {\n onFocusChange(_constants.END_DATE);\n }\n } else if (focusedInput === _constants.END_DATE) {\n var firstAllowedEndDate = startDate && startDate.clone().add(minimumNights, 'days');\n\n if (!startDate) {\n endDate = day;\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n onFocusChange(_constants.START_DATE);\n } else if ((0, _isInclusivelyAfterDay[\"default\"])(day, firstAllowedEndDate)) {\n endDate = day;\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n\n if (!keepOpenOnDateSelect) {\n onFocusChange(null);\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n }\n } else if (disabled !== _constants.START_DATE) {\n startDate = day;\n endDate = null;\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n } else {\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n }\n } else {\n onDatesChange({\n startDate: startDate,\n endDate: endDate\n });\n }\n\n onBlur();\n }\n\n return onDayClick;\n }()\n }, {\n key: \"onDayMouseEnter\",\n value: function () {\n function onDayMouseEnter(day) {\n /* eslint react/destructuring-assignment: 1 */\n if (this.isTouchDevice) return;\n var _this$props4 = this.props,\n startDate = _this$props4.startDate,\n endDate = _this$props4.endDate,\n focusedInput = _this$props4.focusedInput,\n getMinNightsForHoverDate = _this$props4.getMinNightsForHoverDate,\n minimumNights = _this$props4.minimumNights,\n startDateOffset = _this$props4.startDateOffset,\n endDateOffset = _this$props4.endDateOffset;\n var _this$state = this.state,\n hoverDate = _this$state.hoverDate,\n visibleDays = _this$state.visibleDays,\n dateOffset = _this$state.dateOffset;\n var nextDateOffset = null;\n\n if (focusedInput) {\n var hasOffset = startDateOffset || endDateOffset;\n var modifiers = {};\n\n if (hasOffset) {\n var start = (0, _getSelectedDateOffset[\"default\"])(startDateOffset, day);\n var end = (0, _getSelectedDateOffset[\"default\"])(endDateOffset, day, function (rangeDay) {\n return rangeDay.add(1, 'day');\n });\n nextDateOffset = {\n start: start,\n end: end\n }; // eslint-disable-next-line react/destructuring-assignment\n\n if (dateOffset && dateOffset.start && dateOffset.end) {\n modifiers = this.deleteModifierFromRange(modifiers, dateOffset.start, dateOffset.end, 'hovered-offset');\n }\n\n modifiers = this.addModifierToRange(modifiers, start, end, 'hovered-offset');\n }\n\n if (!hasOffset) {\n modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');\n modifiers = this.addModifier(modifiers, day, 'hovered');\n\n if (startDate && !endDate && focusedInput === _constants.END_DATE) {\n if ((0, _isAfterDay[\"default\"])(hoverDate, startDate)) {\n var endSpan = hoverDate.clone().add(1, 'day');\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');\n }\n\n if (!this.isBlocked(day) && (0, _isAfterDay[\"default\"])(day, startDate)) {\n var _endSpan2 = day.clone().add(1, 'day');\n\n modifiers = this.addModifierToRange(modifiers, startDate, _endSpan2, 'hovered-span');\n }\n }\n\n if (!startDate && endDate && focusedInput === _constants.START_DATE) {\n if ((0, _isBeforeDay[\"default\"])(hoverDate, endDate)) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');\n }\n\n if (!this.isBlocked(day) && (0, _isBeforeDay[\"default\"])(day, endDate)) {\n modifiers = this.addModifierToRange(modifiers, day, endDate, 'hovered-span');\n }\n }\n\n if (startDate) {\n var startSpan = startDate.clone().add(1, 'day');\n\n var _endSpan3 = startDate.clone().add(minimumNights + 1, 'days');\n\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan3, 'after-hovered-start');\n\n if ((0, _isSameDay[\"default\"])(day, startDate)) {\n var newStartSpan = startDate.clone().add(1, 'day');\n var newEndSpan = startDate.clone().add(minimumNights + 1, 'days');\n modifiers = this.addModifierToRange(modifiers, newStartSpan, newEndSpan, 'after-hovered-start');\n }\n }\n\n if (hoverDate && !this.isBlocked(hoverDate)) {\n var minNightsForPrevHoverDate = getMinNightsForHoverDate(hoverDate);\n\n if (minNightsForPrevHoverDate > 0 && focusedInput === _constants.START_DATE) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate.clone().add(1, 'days'), hoverDate.clone().add(minNightsForPrevHoverDate, 'days'), 'hovered-start-blocked-minimum-nights');\n modifiers = this.deleteModifier(modifiers, hoverDate.clone().add(minNightsForPrevHoverDate, 'days'), 'hovered-start-first-possible-end');\n }\n }\n\n if (!this.isBlocked(day)) {\n var minNightsForHoverDate = getMinNightsForHoverDate(day);\n\n if (minNightsForHoverDate > 0 && focusedInput === _constants.START_DATE) {\n modifiers = this.addModifierToRange(modifiers, day.clone().add(1, 'days'), day.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-blocked-minimum-nights');\n modifiers = this.addModifier(modifiers, day.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-first-possible-end');\n }\n }\n }\n\n this.setState({\n hoverDate: day,\n dateOffset: nextDateOffset,\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: \"onDayMouseLeave\",\n value: function () {\n function onDayMouseLeave(day) {\n var _this$props5 = this.props,\n startDate = _this$props5.startDate,\n endDate = _this$props5.endDate,\n focusedInput = _this$props5.focusedInput,\n getMinNightsForHoverDate = _this$props5.getMinNightsForHoverDate,\n minimumNights = _this$props5.minimumNights;\n var _this$state2 = this.state,\n hoverDate = _this$state2.hoverDate,\n visibleDays = _this$state2.visibleDays,\n dateOffset = _this$state2.dateOffset;\n if (this.isTouchDevice || !hoverDate) return;\n var modifiers = {};\n modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');\n\n if (dateOffset) {\n modifiers = this.deleteModifierFromRange(modifiers, dateOffset.start, dateOffset.end, 'hovered-offset');\n }\n\n if (startDate && !endDate && (0, _isAfterDay[\"default\"])(hoverDate, startDate)) {\n var endSpan = hoverDate.clone().add(1, 'day');\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');\n }\n\n if (!startDate && endDate && (0, _isAfterDay[\"default\"])(endDate, hoverDate)) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');\n }\n\n if (startDate && (0, _isSameDay[\"default\"])(day, startDate)) {\n var startSpan = startDate.clone().add(1, 'day');\n\n var _endSpan4 = startDate.clone().add(minimumNights + 1, 'days');\n\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan4, 'after-hovered-start');\n }\n\n if (!this.isBlocked(hoverDate)) {\n var minNightsForHoverDate = getMinNightsForHoverDate(hoverDate);\n\n if (minNightsForHoverDate > 0 && focusedInput === _constants.START_DATE) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate.clone().add(1, 'days'), hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-blocked-minimum-nights');\n modifiers = this.deleteModifier(modifiers, hoverDate.clone().add(minNightsForHoverDate, 'days'), 'hovered-start-first-possible-end');\n }\n }\n\n this.setState({\n hoverDate: null,\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: \"onPrevMonthClick\",\n value: function () {\n function onPrevMonthClick() {\n var _this$props6 = this.props,\n enableOutsideDays = _this$props6.enableOutsideDays,\n maxDate = _this$props6.maxDate,\n minDate = _this$props6.minDate,\n numberOfMonths = _this$props6.numberOfMonths,\n onPrevMonthClick = _this$props6.onPrevMonthClick;\n var _this$state3 = this.state,\n currentMonth = _this$state3.currentMonth,\n visibleDays = _this$state3.visibleDays;\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n var prevMonth = currentMonth.clone().subtract(2, 'months');\n var prevMonthVisibleDays = (0, _getVisibleDays[\"default\"])(prevMonth, 1, enableOutsideDays, true);\n var newCurrentMonth = currentMonth.clone().subtract(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n disablePrev: this.shouldDisableMonthNavigation(minDate, newCurrentMonth),\n disableNext: this.shouldDisableMonthNavigation(maxDate, newCurrentMonth),\n visibleDays: _objectSpread({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))\n }, function () {\n onPrevMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: \"onNextMonthClick\",\n value: function () {\n function onNextMonthClick() {\n var _this$props7 = this.props,\n enableOutsideDays = _this$props7.enableOutsideDays,\n maxDate = _this$props7.maxDate,\n minDate = _this$props7.minDate,\n numberOfMonths = _this$props7.numberOfMonths,\n onNextMonthClick = _this$props7.onNextMonthClick;\n var _this$state4 = this.state,\n currentMonth = _this$state4.currentMonth,\n visibleDays = _this$state4.visibleDays;\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n var nextMonth = currentMonth.clone().add(numberOfMonths + 1, 'month');\n var nextMonthVisibleDays = (0, _getVisibleDays[\"default\"])(nextMonth, 1, enableOutsideDays, true);\n var newCurrentMonth = currentMonth.clone().add(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n disablePrev: this.shouldDisableMonthNavigation(minDate, newCurrentMonth),\n disableNext: this.shouldDisableMonthNavigation(maxDate, newCurrentMonth),\n visibleDays: _objectSpread({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))\n }, function () {\n onNextMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: \"onMonthChange\",\n value: function () {\n function onMonthChange(newMonth) {\n var _this$props8 = this.props,\n numberOfMonths = _this$props8.numberOfMonths,\n enableOutsideDays = _this$props8.enableOutsideDays,\n orientation = _this$props8.orientation;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays[\"default\"])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: \"onYearChange\",\n value: function () {\n function onYearChange(newMonth) {\n var _this$props9 = this.props,\n numberOfMonths = _this$props9.numberOfMonths,\n enableOutsideDays = _this$props9.enableOutsideDays,\n orientation = _this$props9.orientation;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays[\"default\"])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: \"onMultiplyScrollableMonths\",\n value: function () {\n function onMultiplyScrollableMonths() {\n var _this$props10 = this.props,\n numberOfMonths = _this$props10.numberOfMonths,\n enableOutsideDays = _this$props10.enableOutsideDays;\n var _this$state5 = this.state,\n currentMonth = _this$state5.currentMonth,\n visibleDays = _this$state5.visibleDays;\n var numberOfVisibleMonths = Object.keys(visibleDays).length;\n var nextMonth = currentMonth.clone().add(numberOfVisibleMonths, 'month');\n var newVisibleDays = (0, _getVisibleDays[\"default\"])(nextMonth, numberOfMonths, enableOutsideDays, true);\n this.setState({\n visibleDays: _objectSpread({}, visibleDays, this.getModifiers(newVisibleDays))\n });\n }\n\n return onMultiplyScrollableMonths;\n }()\n }, {\n key: \"getFirstFocusableDay\",\n value: function () {\n function getFirstFocusableDay(newMonth) {\n var _this3 = this;\n\n var _this$props11 = this.props,\n startDate = _this$props11.startDate,\n endDate = _this$props11.endDate,\n focusedInput = _this$props11.focusedInput,\n minimumNights = _this$props11.minimumNights,\n numberOfMonths = _this$props11.numberOfMonths;\n var focusedDate = newMonth.clone().startOf('month');\n\n if (focusedInput === _constants.START_DATE && startDate) {\n focusedDate = startDate.clone();\n } else if (focusedInput === _constants.END_DATE && !endDate && startDate) {\n focusedDate = startDate.clone().add(minimumNights, 'days');\n } else if (focusedInput === _constants.END_DATE && endDate) {\n focusedDate = endDate.clone();\n }\n\n if (this.isBlocked(focusedDate)) {\n var days = [];\n var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');\n var currentDay = focusedDate.clone();\n\n while (!(0, _isAfterDay[\"default\"])(currentDay, lastVisibleDay)) {\n currentDay = currentDay.clone().add(1, 'day');\n days.push(currentDay);\n }\n\n var viableDays = days.filter(function (day) {\n return !_this3.isBlocked(day);\n });\n\n if (viableDays.length > 0) {\n var _viableDays = _slicedToArray(viableDays, 1);\n\n focusedDate = _viableDays[0];\n }\n }\n\n return focusedDate;\n }\n\n return getFirstFocusableDay;\n }()\n }, {\n key: \"getModifiers\",\n value: function () {\n function getModifiers(visibleDays) {\n var _this4 = this;\n\n var modifiers = {};\n Object.keys(visibleDays).forEach(function (month) {\n modifiers[month] = {};\n visibleDays[month].forEach(function (day) {\n modifiers[month][(0, _toISODateString[\"default\"])(day)] = _this4.getModifiersForDay(day);\n });\n });\n return modifiers;\n }\n\n return getModifiers;\n }()\n }, {\n key: \"getModifiersForDay\",\n value: function () {\n function getModifiersForDay(day) {\n var _this5 = this;\n\n return new Set(Object.keys(this.modifiers).filter(function (modifier) {\n return _this5.modifiers[modifier](day);\n }));\n }\n\n return getModifiersForDay;\n }()\n }, {\n key: \"getStateForNewMonth\",\n value: function () {\n function getStateForNewMonth(nextProps) {\n var _this6 = this;\n\n var initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays,\n orientation = nextProps.orientation,\n startDate = nextProps.startDate;\n var initialVisibleMonthThunk = initialVisibleMonth || (startDate ? function () {\n return startDate;\n } : function () {\n return _this6.today;\n });\n var currentMonth = initialVisibleMonthThunk();\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var visibleDays = this.getModifiers((0, _getVisibleDays[\"default\"])(currentMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths));\n return {\n currentMonth: currentMonth,\n visibleDays: visibleDays\n };\n }\n\n return getStateForNewMonth;\n }()\n }, {\n key: \"shouldDisableMonthNavigation\",\n value: function () {\n function shouldDisableMonthNavigation(date, visibleMonth) {\n if (!date) return false;\n var _this$props12 = this.props,\n numberOfMonths = _this$props12.numberOfMonths,\n enableOutsideDays = _this$props12.enableOutsideDays;\n return (0, _isDayVisible[\"default\"])(date, visibleMonth, numberOfMonths, enableOutsideDays);\n }\n\n return shouldDisableMonthNavigation;\n }()\n }, {\n key: \"addModifier\",\n value: function () {\n function addModifier(updatedDays, day, modifier) {\n var _this$props13 = this.props,\n numberOfVisibleMonths = _this$props13.numberOfMonths,\n enableOutsideDays = _this$props13.enableOutsideDays,\n orientation = _this$props13.orientation;\n var _this$state6 = this.state,\n firstVisibleMonth = _this$state6.currentMonth,\n visibleDays = _this$state6.visibleDays;\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n\n if (!day || !(0, _isDayVisible[\"default\"])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString[\"default\"])(day);\n\n var updatedDaysAfterAddition = _objectSpread({}, updatedDays);\n\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n return _objectSpread({}, days, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterAddition);\n } else {\n var monthIso = (0, _toISOMonthString[\"default\"])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n updatedDaysAfterAddition = _objectSpread({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterAddition;\n }\n\n return addModifier;\n }()\n }, {\n key: \"addModifierToRange\",\n value: function () {\n function addModifierToRange(updatedDays, start, end, modifier) {\n var days = updatedDays;\n var spanStart = start.clone();\n\n while ((0, _isBeforeDay[\"default\"])(spanStart, end)) {\n days = this.addModifier(days, spanStart, modifier);\n spanStart = spanStart.clone().add(1, 'day');\n }\n\n return days;\n }\n\n return addModifierToRange;\n }()\n }, {\n key: \"deleteModifier\",\n value: function () {\n function deleteModifier(updatedDays, day, modifier) {\n var _this$props14 = this.props,\n numberOfVisibleMonths = _this$props14.numberOfMonths,\n enableOutsideDays = _this$props14.enableOutsideDays,\n orientation = _this$props14.orientation;\n var _this$state7 = this.state,\n firstVisibleMonth = _this$state7.currentMonth,\n visibleDays = _this$state7.visibleDays;\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n\n if (!day || !(0, _isDayVisible[\"default\"])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString[\"default\"])(day);\n\n var updatedDaysAfterDeletion = _objectSpread({}, updatedDays);\n\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers[\"delete\"](modifier);\n return _objectSpread({}, days, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterDeletion);\n } else {\n var monthIso = (0, _toISOMonthString[\"default\"])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers[\"delete\"](modifier);\n updatedDaysAfterDeletion = _objectSpread({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterDeletion;\n }\n\n return deleteModifier;\n }()\n }, {\n key: \"deleteModifierFromRange\",\n value: function () {\n function deleteModifierFromRange(updatedDays, start, end, modifier) {\n var days = updatedDays;\n var spanStart = start.clone();\n\n while ((0, _isBeforeDay[\"default\"])(spanStart, end)) {\n days = this.deleteModifier(days, spanStart, modifier);\n spanStart = spanStart.clone().add(1, 'day');\n }\n\n return days;\n }\n\n return deleteModifierFromRange;\n }()\n }, {\n key: \"doesNotMeetMinimumNights\",\n value: function () {\n function doesNotMeetMinimumNights(day) {\n var _this$props15 = this.props,\n startDate = _this$props15.startDate,\n isOutsideRange = _this$props15.isOutsideRange,\n focusedInput = _this$props15.focusedInput,\n minimumNights = _this$props15.minimumNights;\n if (focusedInput !== _constants.END_DATE) return false;\n\n if (startDate) {\n var dayDiff = day.diff(startDate.clone().startOf('day').hour(12), 'days');\n return dayDiff < minimumNights && dayDiff >= 0;\n }\n\n return isOutsideRange((0, _moment[\"default\"])(day).subtract(minimumNights, 'days'));\n }\n\n return doesNotMeetMinimumNights;\n }()\n }, {\n key: \"doesNotMeetMinNightsForHoveredStartDate\",\n value: function () {\n function doesNotMeetMinNightsForHoveredStartDate(day, hoverDate) {\n var _this$props16 = this.props,\n focusedInput = _this$props16.focusedInput,\n getMinNightsForHoverDate = _this$props16.getMinNightsForHoverDate;\n if (focusedInput !== _constants.END_DATE) return false;\n\n if (hoverDate && !this.isBlocked(hoverDate)) {\n var minNights = getMinNightsForHoverDate(hoverDate);\n var dayDiff = day.diff(hoverDate.clone().startOf('day').hour(12), 'days');\n return dayDiff < minNights && dayDiff >= 0;\n }\n\n return false;\n }\n\n return doesNotMeetMinNightsForHoveredStartDate;\n }()\n }, {\n key: \"isDayAfterHoveredStartDate\",\n value: function () {\n function isDayAfterHoveredStartDate(day) {\n var _this$props17 = this.props,\n startDate = _this$props17.startDate,\n endDate = _this$props17.endDate,\n minimumNights = _this$props17.minimumNights;\n\n var _ref2 = this.state || {},\n hoverDate = _ref2.hoverDate;\n\n return !!startDate && !endDate && !this.isBlocked(day) && (0, _isNextDay[\"default\"])(hoverDate, day) && minimumNights > 0 && (0, _isSameDay[\"default\"])(hoverDate, startDate);\n }\n\n return isDayAfterHoveredStartDate;\n }()\n }, {\n key: \"isEndDate\",\n value: function () {\n function isEndDate(day) {\n var endDate = this.props.endDate;\n return (0, _isSameDay[\"default\"])(day, endDate);\n }\n\n return isEndDate;\n }()\n }, {\n key: \"isHovered\",\n value: function () {\n function isHovered(day) {\n var _ref3 = this.state || {},\n hoverDate = _ref3.hoverDate;\n\n var focusedInput = this.props.focusedInput;\n return !!focusedInput && (0, _isSameDay[\"default\"])(day, hoverDate);\n }\n\n return isHovered;\n }()\n }, {\n key: \"isInHoveredSpan\",\n value: function () {\n function isInHoveredSpan(day) {\n var _this$props18 = this.props,\n startDate = _this$props18.startDate,\n endDate = _this$props18.endDate;\n\n var _ref4 = this.state || {},\n hoverDate = _ref4.hoverDate;\n\n var isForwardRange = !!startDate && !endDate && (day.isBetween(startDate, hoverDate) || (0, _isSameDay[\"default\"])(hoverDate, day));\n var isBackwardRange = !!endDate && !startDate && (day.isBetween(hoverDate, endDate) || (0, _isSameDay[\"default\"])(hoverDate, day));\n var isValidDayHovered = hoverDate && !this.isBlocked(hoverDate);\n return (isForwardRange || isBackwardRange) && isValidDayHovered;\n }\n\n return isInHoveredSpan;\n }()\n }, {\n key: \"isInSelectedSpan\",\n value: function () {\n function isInSelectedSpan(day) {\n var _this$props19 = this.props,\n startDate = _this$props19.startDate,\n endDate = _this$props19.endDate;\n return day.isBetween(startDate, endDate);\n }\n\n return isInSelectedSpan;\n }()\n }, {\n key: \"isLastInRange\",\n value: function () {\n function isLastInRange(day) {\n var endDate = this.props.endDate;\n return this.isInSelectedSpan(day) && (0, _isNextDay[\"default\"])(day, endDate);\n }\n\n return isLastInRange;\n }()\n }, {\n key: \"isStartDate\",\n value: function () {\n function isStartDate(day) {\n var startDate = this.props.startDate;\n return (0, _isSameDay[\"default\"])(day, startDate);\n }\n\n return isStartDate;\n }()\n }, {\n key: \"isBlocked\",\n value: function () {\n function isBlocked(day) {\n var _this$props20 = this.props,\n isDayBlocked = _this$props20.isDayBlocked,\n isOutsideRange = _this$props20.isOutsideRange;\n return isDayBlocked(day) || isOutsideRange(day) || this.doesNotMeetMinimumNights(day);\n }\n\n return isBlocked;\n }()\n }, {\n key: \"isToday\",\n value: function () {\n function isToday(day) {\n return (0, _isSameDay[\"default\"])(day, this.today);\n }\n\n return isToday;\n }()\n }, {\n key: \"isFirstDayOfWeek\",\n value: function () {\n function isFirstDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n return day.day() === (firstDayOfWeek || _moment[\"default\"].localeData().firstDayOfWeek());\n }\n\n return isFirstDayOfWeek;\n }()\n }, {\n key: \"isLastDayOfWeek\",\n value: function () {\n function isLastDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n return day.day() === ((firstDayOfWeek || _moment[\"default\"].localeData().firstDayOfWeek()) + 6) % 7;\n }\n\n return isLastDayOfWeek;\n }()\n }, {\n key: \"isFirstPossibleEndDateForHoveredStartDate\",\n value: function () {\n function isFirstPossibleEndDateForHoveredStartDate(day, hoverDate) {\n var _this$props21 = this.props,\n focusedInput = _this$props21.focusedInput,\n getMinNightsForHoverDate = _this$props21.getMinNightsForHoverDate;\n if (focusedInput !== _constants.END_DATE || !hoverDate || this.isBlocked(hoverDate)) return false;\n var minNights = getMinNightsForHoverDate(hoverDate);\n var firstAvailableEndDate = hoverDate.clone().add(minNights, 'days');\n return (0, _isSameDay[\"default\"])(day, firstAvailableEndDate);\n }\n\n return isFirstPossibleEndDateForHoveredStartDate;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props22 = this.props,\n numberOfMonths = _this$props22.numberOfMonths,\n orientation = _this$props22.orientation,\n monthFormat = _this$props22.monthFormat,\n renderMonthText = _this$props22.renderMonthText,\n navPrev = _this$props22.navPrev,\n navNext = _this$props22.navNext,\n noNavButtons = _this$props22.noNavButtons,\n onOutsideClick = _this$props22.onOutsideClick,\n withPortal = _this$props22.withPortal,\n enableOutsideDays = _this$props22.enableOutsideDays,\n firstDayOfWeek = _this$props22.firstDayOfWeek,\n renderKeyboardShortcutsButton = _this$props22.renderKeyboardShortcutsButton,\n hideKeyboardShortcutsPanel = _this$props22.hideKeyboardShortcutsPanel,\n daySize = _this$props22.daySize,\n focusedInput = _this$props22.focusedInput,\n renderCalendarDay = _this$props22.renderCalendarDay,\n renderDayContents = _this$props22.renderDayContents,\n renderCalendarInfo = _this$props22.renderCalendarInfo,\n renderMonthElement = _this$props22.renderMonthElement,\n calendarInfoPosition = _this$props22.calendarInfoPosition,\n onBlur = _this$props22.onBlur,\n onShiftTab = _this$props22.onShiftTab,\n onTab = _this$props22.onTab,\n isFocused = _this$props22.isFocused,\n showKeyboardShortcuts = _this$props22.showKeyboardShortcuts,\n isRTL = _this$props22.isRTL,\n weekDayFormat = _this$props22.weekDayFormat,\n dayAriaLabelFormat = _this$props22.dayAriaLabelFormat,\n verticalHeight = _this$props22.verticalHeight,\n noBorder = _this$props22.noBorder,\n transitionDuration = _this$props22.transitionDuration,\n verticalBorderSpacing = _this$props22.verticalBorderSpacing,\n horizontalMonthPadding = _this$props22.horizontalMonthPadding;\n var _this$state8 = this.state,\n currentMonth = _this$state8.currentMonth,\n phrases = _this$state8.phrases,\n visibleDays = _this$state8.visibleDays,\n disablePrev = _this$state8.disablePrev,\n disableNext = _this$state8.disableNext;\n return _react[\"default\"].createElement(_DayPicker[\"default\"], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n modifiers: visibleDays,\n numberOfMonths: numberOfMonths,\n onDayClick: this.onDayClick,\n onDayMouseEnter: this.onDayMouseEnter,\n onDayMouseLeave: this.onDayMouseLeave,\n onPrevMonthClick: this.onPrevMonthClick,\n onNextMonthClick: this.onNextMonthClick,\n onMonthChange: this.onMonthChange,\n onTab: onTab,\n onShiftTab: onShiftTab,\n onYearChange: this.onYearChange,\n onMultiplyScrollableMonths: this.onMultiplyScrollableMonths,\n monthFormat: monthFormat,\n renderMonthText: renderMonthText,\n withPortal: withPortal,\n hidden: !focusedInput,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return currentMonth;\n }\n\n return initialVisibleMonth;\n }(),\n daySize: daySize,\n onOutsideClick: onOutsideClick,\n disablePrev: disablePrev,\n disableNext: disableNext,\n navPrev: navPrev,\n navNext: navNext,\n noNavButtons: noNavButtons,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n renderKeyboardShortcutsButton: renderKeyboardShortcutsButton,\n calendarInfoPosition: calendarInfoPosition,\n firstDayOfWeek: firstDayOfWeek,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n isFocused: isFocused,\n getFirstFocusableDay: this.getFirstFocusableDay,\n onBlur: onBlur,\n showKeyboardShortcuts: showKeyboardShortcuts,\n phrases: phrases,\n isRTL: isRTL,\n weekDayFormat: weekDayFormat,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalHeight: verticalHeight,\n verticalBorderSpacing: verticalBorderSpacing,\n noBorder: noBorder,\n transitionDuration: transitionDuration,\n horizontalMonthPadding: horizontalMonthPadding\n });\n }\n\n return render;\n }()\n }]);\n\n return DayPickerRangeController;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports[\"default\"] = DayPickerRangeController;\nDayPickerRangeController.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDayPickerRangeController.defaultProps = defaultProps;","'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar ES = require('es-abstract/es7');\nvar has = require('has');\nvar bind = require('function-bind');\nvar isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\n\nmodule.exports = function values(O) {\n\tvar obj = ES.RequireObjectCoercible(O);\n\tvar vals = [];\n\tfor (var key in obj) {\n\t\tif (has(obj, key) && isEnumerable(obj, key)) {\n\t\t\tvals.push(obj[key]);\n\t\t}\n\t}\n\treturn vals;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.values === 'function' ? Object.values : implementation;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isNextDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"./isSameDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isNextDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n var nextDay = (0, _moment[\"default\"])(a).add(1, 'day');\n return (0, _isSameDay[\"default\"])(nextDay, b);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getVisibleDays;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _toISOMonthString = _interopRequireDefault(require(\"./toISOMonthString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getVisibleDays(month, numberOfMonths, enableOutsideDays, withoutTransitionMonths) {\n if (!_moment[\"default\"].isMoment(month)) return {};\n var visibleDaysByMonth = {};\n var currentMonth = withoutTransitionMonths ? month.clone() : month.clone().subtract(1, 'month');\n\n for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {\n var visibleDays = []; // set utc offset to get correct dates in future (when timezone changes)\n\n var baseDate = currentMonth.clone();\n var firstOfMonth = baseDate.clone().startOf('month').hour(12);\n var lastOfMonth = baseDate.clone().endOf('month').hour(12);\n var currentDay = firstOfMonth.clone(); // days belonging to the previous month\n\n if (enableOutsideDays) {\n for (var j = 0; j < currentDay.weekday(); j += 1) {\n var prevDay = currentDay.clone().subtract(j + 1, 'day');\n visibleDays.unshift(prevDay);\n }\n }\n\n while (currentDay < lastOfMonth) {\n visibleDays.push(currentDay.clone());\n currentDay.add(1, 'day');\n }\n\n if (enableOutsideDays) {\n // weekday() returns the index of the day of the week according to the locale\n // this means if the week starts on Monday, weekday() will return 0 for a Monday date, not 1\n if (currentDay.weekday() !== 0) {\n // days belonging to the next month\n for (var k = currentDay.weekday(), count = 0; k < 7; k += 1, count += 1) {\n var nextDay = currentDay.clone().add(count, 'day');\n visibleDays.push(nextDay);\n }\n }\n }\n\n visibleDaysByMonth[(0, _toISOMonthString[\"default\"])(currentMonth)] = visibleDays;\n currentMonth = currentMonth.clone().add(1, 'month');\n }\n\n return visibleDaysByMonth;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _object = _interopRequireDefault(require(\"object.values\"));\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"../utils/isSameDay\"));\n\nvar _isAfterDay = _interopRequireDefault(require(\"../utils/isAfterDay\"));\n\nvar _getVisibleDays = _interopRequireDefault(require(\"../utils/getVisibleDays\"));\n\nvar _isDayVisible = _interopRequireDefault(require(\"../utils/isDayVisible\"));\n\nvar _toISODateString = _interopRequireDefault(require(\"../utils/toISODateString\"));\n\nvar _toISOMonthString = _interopRequireDefault(require(\"../utils/toISOMonthString\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"../shapes/DayOfWeekShape\"));\n\nvar _CalendarInfoPositionShape = _interopRequireDefault(require(\"../shapes/CalendarInfoPositionShape\"));\n\nvar _constants = require(\"../constants\");\n\nvar _DayPicker = _interopRequireDefault(require(\"./DayPicker\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)({\n date: _reactMomentProptypes[\"default\"].momentObj,\n onDateChange: _propTypes[\"default\"].func,\n focused: _propTypes[\"default\"].bool,\n onFocusChange: _propTypes[\"default\"].func,\n onClose: _propTypes[\"default\"].func,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n isOutsideRange: _propTypes[\"default\"].func,\n isDayBlocked: _propTypes[\"default\"].func,\n isDayHighlighted: _propTypes[\"default\"].func,\n // DayPicker props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n enableOutsideDays: _propTypes[\"default\"].bool,\n numberOfMonths: _propTypes[\"default\"].number,\n orientation: _ScrollableOrientationShape[\"default\"],\n withPortal: _propTypes[\"default\"].bool,\n initialVisibleMonth: _propTypes[\"default\"].func,\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n hideKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes[\"default\"].bool,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n onOutsideClick: _propTypes[\"default\"].func,\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n renderCalendarInfo: _propTypes[\"default\"].func,\n calendarInfoPosition: _CalendarInfoPositionShape[\"default\"],\n // accessibility\n onBlur: _propTypes[\"default\"].func,\n isFocused: _propTypes[\"default\"].bool,\n showKeyboardShortcuts: _propTypes[\"default\"].bool,\n onTab: _propTypes[\"default\"].func,\n onShiftTab: _propTypes[\"default\"].func,\n // i18n\n monthFormat: _propTypes[\"default\"].string,\n weekDayFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string,\n isRTL: _propTypes[\"default\"].bool\n}) : {};\nvar defaultProps = {\n date: undefined,\n // TODO: use null\n onDateChange: function () {\n function onDateChange() {}\n\n return onDateChange;\n }(),\n focused: false,\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n keepOpenOnDateSelect: false,\n isOutsideRange: function () {\n function isOutsideRange() {}\n\n return isOutsideRange;\n }(),\n isDayBlocked: function () {\n function isDayBlocked() {}\n\n return isDayBlocked;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n // DayPicker props\n renderMonthText: null,\n enableOutsideDays: false,\n numberOfMonths: 1,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n hideKeyboardShortcutsPanel: false,\n initialVisibleMonth: null,\n firstDayOfWeek: null,\n daySize: _constants.DAY_SIZE,\n verticalHeight: null,\n noBorder: false,\n verticalBorderSpacing: undefined,\n transitionDuration: undefined,\n horizontalMonthPadding: 13,\n navPrev: null,\n navNext: null,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderCalendarInfo: null,\n renderMonthElement: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n // accessibility\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n isFocused: false,\n showKeyboardShortcuts: false,\n onTab: function () {\n function onTab() {}\n\n return onTab;\n }(),\n onShiftTab: function () {\n function onShiftTab() {}\n\n return onShiftTab;\n }(),\n // i18n\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined,\n isRTL: false\n};\n\nvar DayPickerSingleDateController =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DayPickerSingleDateController, _ref);\n\n _createClass(DayPickerSingleDateController, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DayPickerSingleDateController(props) {\n var _this;\n\n _classCallCheck(this, DayPickerSingleDateController);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DayPickerSingleDateController).call(this, props));\n _this.isTouchDevice = false;\n _this.today = (0, _moment[\"default\"])();\n _this.modifiers = {\n today: function () {\n function today(day) {\n return _this.isToday(day);\n }\n\n return today;\n }(),\n blocked: function () {\n function blocked(day) {\n return _this.isBlocked(day);\n }\n\n return blocked;\n }(),\n 'blocked-calendar': function () {\n function blockedCalendar(day) {\n return props.isDayBlocked(day);\n }\n\n return blockedCalendar;\n }(),\n 'blocked-out-of-range': function () {\n function blockedOutOfRange(day) {\n return props.isOutsideRange(day);\n }\n\n return blockedOutOfRange;\n }(),\n 'highlighted-calendar': function () {\n function highlightedCalendar(day) {\n return props.isDayHighlighted(day);\n }\n\n return highlightedCalendar;\n }(),\n valid: function () {\n function valid(day) {\n return !_this.isBlocked(day);\n }\n\n return valid;\n }(),\n hovered: function () {\n function hovered(day) {\n return _this.isHovered(day);\n }\n\n return hovered;\n }(),\n selected: function () {\n function selected(day) {\n return _this.isSelected(day);\n }\n\n return selected;\n }(),\n 'first-day-of-week': function () {\n function firstDayOfWeek(day) {\n return _this.isFirstDayOfWeek(day);\n }\n\n return firstDayOfWeek;\n }(),\n 'last-day-of-week': function () {\n function lastDayOfWeek(day) {\n return _this.isLastDayOfWeek(day);\n }\n\n return lastDayOfWeek;\n }()\n };\n\n var _this$getStateForNewM = _this.getStateForNewMonth(props),\n currentMonth = _this$getStateForNewM.currentMonth,\n visibleDays = _this$getStateForNewM.visibleDays;\n\n _this.state = {\n hoverDate: null,\n currentMonth: currentMonth,\n visibleDays: visibleDays\n };\n _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayClick = _this.onDayClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onMonthChange = _this.onMonthChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onYearChange = _this.onYearChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DayPickerSingleDateController, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.isTouchDevice = (0, _isTouchDevice[\"default\"])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var date = nextProps.date,\n focused = nextProps.focused,\n isOutsideRange = nextProps.isOutsideRange,\n isDayBlocked = nextProps.isDayBlocked,\n isDayHighlighted = nextProps.isDayHighlighted,\n initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n var _this$props = this.props,\n prevIsOutsideRange = _this$props.isOutsideRange,\n prevIsDayBlocked = _this$props.isDayBlocked,\n prevIsDayHighlighted = _this$props.isDayHighlighted,\n prevNumberOfMonths = _this$props.numberOfMonths,\n prevEnableOutsideDays = _this$props.enableOutsideDays,\n prevInitialVisibleMonth = _this$props.initialVisibleMonth,\n prevFocused = _this$props.focused,\n prevDate = _this$props.date;\n var visibleDays = this.state.visibleDays;\n var recomputeOutsideRange = false;\n var recomputeDayBlocked = false;\n var recomputeDayHighlighted = false;\n\n if (isOutsideRange !== prevIsOutsideRange) {\n this.modifiers['blocked-out-of-range'] = function (day) {\n return isOutsideRange(day);\n };\n\n recomputeOutsideRange = true;\n }\n\n if (isDayBlocked !== prevIsDayBlocked) {\n this.modifiers['blocked-calendar'] = function (day) {\n return isDayBlocked(day);\n };\n\n recomputeDayBlocked = true;\n }\n\n if (isDayHighlighted !== prevIsDayHighlighted) {\n this.modifiers['highlighted-calendar'] = function (day) {\n return isDayHighlighted(day);\n };\n\n recomputeDayHighlighted = true;\n }\n\n var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;\n\n if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocused && focused) {\n var newMonthState = this.getStateForNewMonth(nextProps);\n var currentMonth = newMonthState.currentMonth;\n visibleDays = newMonthState.visibleDays;\n this.setState({\n currentMonth: currentMonth,\n visibleDays: visibleDays\n });\n }\n\n var didDateChange = date !== prevDate;\n var didFocusChange = focused !== prevFocused;\n var modifiers = {};\n\n if (didDateChange) {\n modifiers = this.deleteModifier(modifiers, prevDate, 'selected');\n modifiers = this.addModifier(modifiers, date, 'selected');\n }\n\n if (didFocusChange || recomputePropModifiers) {\n (0, _object[\"default\"])(visibleDays).forEach(function (days) {\n Object.keys(days).forEach(function (day) {\n var momentObj = (0, _moment[\"default\"])(day);\n\n if (_this2.isBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');\n }\n\n if (didFocusChange || recomputeOutsideRange) {\n if (isOutsideRange(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');\n }\n }\n\n if (didFocusChange || recomputeDayBlocked) {\n if (isDayBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');\n }\n }\n\n if (didFocusChange || recomputeDayHighlighted) {\n if (isDayHighlighted(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');\n }\n }\n });\n });\n }\n\n var today = (0, _moment[\"default\"])();\n\n if (!(0, _isSameDay[\"default\"])(this.today, today)) {\n modifiers = this.deleteModifier(modifiers, this.today, 'today');\n modifiers = this.addModifier(modifiers, today, 'today');\n this.today = today;\n }\n\n if (Object.keys(modifiers).length > 0) {\n this.setState({\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentWillUpdate\",\n value: function () {\n function componentWillUpdate() {\n this.today = (0, _moment[\"default\"])();\n }\n\n return componentWillUpdate;\n }()\n }, {\n key: \"onDayClick\",\n value: function () {\n function onDayClick(day, e) {\n if (e) e.preventDefault();\n if (this.isBlocked(day)) return;\n var _this$props2 = this.props,\n onDateChange = _this$props2.onDateChange,\n keepOpenOnDateSelect = _this$props2.keepOpenOnDateSelect,\n onFocusChange = _this$props2.onFocusChange,\n onClose = _this$props2.onClose;\n onDateChange(day);\n\n if (!keepOpenOnDateSelect) {\n onFocusChange({\n focused: false\n });\n onClose({\n date: day\n });\n }\n }\n\n return onDayClick;\n }()\n }, {\n key: \"onDayMouseEnter\",\n value: function () {\n function onDayMouseEnter(day) {\n if (this.isTouchDevice) return;\n var _this$state = this.state,\n hoverDate = _this$state.hoverDate,\n visibleDays = _this$state.visibleDays;\n var modifiers = this.deleteModifier({}, hoverDate, 'hovered');\n modifiers = this.addModifier(modifiers, day, 'hovered');\n this.setState({\n hoverDate: day,\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: \"onDayMouseLeave\",\n value: function () {\n function onDayMouseLeave() {\n var _this$state2 = this.state,\n hoverDate = _this$state2.hoverDate,\n visibleDays = _this$state2.visibleDays;\n if (this.isTouchDevice || !hoverDate) return;\n var modifiers = this.deleteModifier({}, hoverDate, 'hovered');\n this.setState({\n hoverDate: null,\n visibleDays: _objectSpread({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: \"onPrevMonthClick\",\n value: function () {\n function onPrevMonthClick() {\n var _this$props3 = this.props,\n onPrevMonthClick = _this$props3.onPrevMonthClick,\n numberOfMonths = _this$props3.numberOfMonths,\n enableOutsideDays = _this$props3.enableOutsideDays;\n var _this$state3 = this.state,\n currentMonth = _this$state3.currentMonth,\n visibleDays = _this$state3.visibleDays;\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n var prevMonth = currentMonth.clone().subtract(1, 'month');\n var prevMonthVisibleDays = (0, _getVisibleDays[\"default\"])(prevMonth, 1, enableOutsideDays);\n this.setState({\n currentMonth: prevMonth,\n visibleDays: _objectSpread({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))\n }, function () {\n onPrevMonthClick(prevMonth.clone());\n });\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: \"onNextMonthClick\",\n value: function () {\n function onNextMonthClick() {\n var _this$props4 = this.props,\n onNextMonthClick = _this$props4.onNextMonthClick,\n numberOfMonths = _this$props4.numberOfMonths,\n enableOutsideDays = _this$props4.enableOutsideDays;\n var _this$state4 = this.state,\n currentMonth = _this$state4.currentMonth,\n visibleDays = _this$state4.visibleDays;\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n var nextMonth = currentMonth.clone().add(numberOfMonths, 'month');\n var nextMonthVisibleDays = (0, _getVisibleDays[\"default\"])(nextMonth, 1, enableOutsideDays);\n var newCurrentMonth = currentMonth.clone().add(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n visibleDays: _objectSpread({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))\n }, function () {\n onNextMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: \"onMonthChange\",\n value: function () {\n function onMonthChange(newMonth) {\n var _this$props5 = this.props,\n numberOfMonths = _this$props5.numberOfMonths,\n enableOutsideDays = _this$props5.enableOutsideDays,\n orientation = _this$props5.orientation;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays[\"default\"])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: \"onYearChange\",\n value: function () {\n function onYearChange(newMonth) {\n var _this$props6 = this.props,\n numberOfMonths = _this$props6.numberOfMonths,\n enableOutsideDays = _this$props6.enableOutsideDays,\n orientation = _this$props6.orientation;\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays[\"default\"])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: \"getFirstFocusableDay\",\n value: function () {\n function getFirstFocusableDay(newMonth) {\n var _this3 = this;\n\n var _this$props7 = this.props,\n date = _this$props7.date,\n numberOfMonths = _this$props7.numberOfMonths;\n var focusedDate = newMonth.clone().startOf('month');\n\n if (date) {\n focusedDate = date.clone();\n }\n\n if (this.isBlocked(focusedDate)) {\n var days = [];\n var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');\n var currentDay = focusedDate.clone();\n\n while (!(0, _isAfterDay[\"default\"])(currentDay, lastVisibleDay)) {\n currentDay = currentDay.clone().add(1, 'day');\n days.push(currentDay);\n }\n\n var viableDays = days.filter(function (day) {\n return !_this3.isBlocked(day) && (0, _isAfterDay[\"default\"])(day, focusedDate);\n });\n\n if (viableDays.length > 0) {\n var _viableDays = _slicedToArray(viableDays, 1);\n\n focusedDate = _viableDays[0];\n }\n }\n\n return focusedDate;\n }\n\n return getFirstFocusableDay;\n }()\n }, {\n key: \"getModifiers\",\n value: function () {\n function getModifiers(visibleDays) {\n var _this4 = this;\n\n var modifiers = {};\n Object.keys(visibleDays).forEach(function (month) {\n modifiers[month] = {};\n visibleDays[month].forEach(function (day) {\n modifiers[month][(0, _toISODateString[\"default\"])(day)] = _this4.getModifiersForDay(day);\n });\n });\n return modifiers;\n }\n\n return getModifiers;\n }()\n }, {\n key: \"getModifiersForDay\",\n value: function () {\n function getModifiersForDay(day) {\n var _this5 = this;\n\n return new Set(Object.keys(this.modifiers).filter(function (modifier) {\n return _this5.modifiers[modifier](day);\n }));\n }\n\n return getModifiersForDay;\n }()\n }, {\n key: \"getStateForNewMonth\",\n value: function () {\n function getStateForNewMonth(nextProps) {\n var _this6 = this;\n\n var initialVisibleMonth = nextProps.initialVisibleMonth,\n date = nextProps.date,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n var initialVisibleMonthThunk = initialVisibleMonth || (date ? function () {\n return date;\n } : function () {\n return _this6.today;\n });\n var currentMonth = initialVisibleMonthThunk();\n var visibleDays = this.getModifiers((0, _getVisibleDays[\"default\"])(currentMonth, numberOfMonths, enableOutsideDays));\n return {\n currentMonth: currentMonth,\n visibleDays: visibleDays\n };\n }\n\n return getStateForNewMonth;\n }()\n }, {\n key: \"addModifier\",\n value: function () {\n function addModifier(updatedDays, day, modifier) {\n var _this$props8 = this.props,\n numberOfVisibleMonths = _this$props8.numberOfMonths,\n enableOutsideDays = _this$props8.enableOutsideDays,\n orientation = _this$props8.orientation;\n var _this$state5 = this.state,\n firstVisibleMonth = _this$state5.currentMonth,\n visibleDays = _this$state5.visibleDays;\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n\n if (!day || !(0, _isDayVisible[\"default\"])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString[\"default\"])(day);\n\n var updatedDaysAfterAddition = _objectSpread({}, updatedDays);\n\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n return _objectSpread({}, days, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterAddition);\n } else {\n var monthIso = (0, _toISOMonthString[\"default\"])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n updatedDaysAfterAddition = _objectSpread({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterAddition;\n }\n\n return addModifier;\n }()\n }, {\n key: \"deleteModifier\",\n value: function () {\n function deleteModifier(updatedDays, day, modifier) {\n var _this$props9 = this.props,\n numberOfVisibleMonths = _this$props9.numberOfMonths,\n enableOutsideDays = _this$props9.enableOutsideDays,\n orientation = _this$props9.orientation;\n var _this$state6 = this.state,\n firstVisibleMonth = _this$state6.currentMonth,\n visibleDays = _this$state6.visibleDays;\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n\n if (!day || !(0, _isDayVisible[\"default\"])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString[\"default\"])(day);\n\n var updatedDaysAfterDeletion = _objectSpread({}, updatedDays);\n\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers[\"delete\"](modifier);\n return _objectSpread({}, days, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterDeletion);\n } else {\n var monthIso = (0, _toISOMonthString[\"default\"])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers[\"delete\"](modifier);\n updatedDaysAfterDeletion = _objectSpread({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, _objectSpread({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterDeletion;\n }\n\n return deleteModifier;\n }()\n }, {\n key: \"isBlocked\",\n value: function () {\n function isBlocked(day) {\n var _this$props10 = this.props,\n isDayBlocked = _this$props10.isDayBlocked,\n isOutsideRange = _this$props10.isOutsideRange;\n return isDayBlocked(day) || isOutsideRange(day);\n }\n\n return isBlocked;\n }()\n }, {\n key: \"isHovered\",\n value: function () {\n function isHovered(day) {\n var _ref2 = this.state || {},\n hoverDate = _ref2.hoverDate;\n\n return (0, _isSameDay[\"default\"])(day, hoverDate);\n }\n\n return isHovered;\n }()\n }, {\n key: \"isSelected\",\n value: function () {\n function isSelected(day) {\n var date = this.props.date;\n return (0, _isSameDay[\"default\"])(day, date);\n }\n\n return isSelected;\n }()\n }, {\n key: \"isToday\",\n value: function () {\n function isToday(day) {\n return (0, _isSameDay[\"default\"])(day, this.today);\n }\n\n return isToday;\n }()\n }, {\n key: \"isFirstDayOfWeek\",\n value: function () {\n function isFirstDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n return day.day() === (firstDayOfWeek || _moment[\"default\"].localeData().firstDayOfWeek());\n }\n\n return isFirstDayOfWeek;\n }()\n }, {\n key: \"isLastDayOfWeek\",\n value: function () {\n function isLastDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n return day.day() === ((firstDayOfWeek || _moment[\"default\"].localeData().firstDayOfWeek()) + 6) % 7;\n }\n\n return isLastDayOfWeek;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props11 = this.props,\n numberOfMonths = _this$props11.numberOfMonths,\n orientation = _this$props11.orientation,\n monthFormat = _this$props11.monthFormat,\n renderMonthText = _this$props11.renderMonthText,\n navPrev = _this$props11.navPrev,\n navNext = _this$props11.navNext,\n onOutsideClick = _this$props11.onOutsideClick,\n onShiftTab = _this$props11.onShiftTab,\n onTab = _this$props11.onTab,\n withPortal = _this$props11.withPortal,\n focused = _this$props11.focused,\n enableOutsideDays = _this$props11.enableOutsideDays,\n hideKeyboardShortcutsPanel = _this$props11.hideKeyboardShortcutsPanel,\n daySize = _this$props11.daySize,\n firstDayOfWeek = _this$props11.firstDayOfWeek,\n renderCalendarDay = _this$props11.renderCalendarDay,\n renderDayContents = _this$props11.renderDayContents,\n renderCalendarInfo = _this$props11.renderCalendarInfo,\n renderMonthElement = _this$props11.renderMonthElement,\n calendarInfoPosition = _this$props11.calendarInfoPosition,\n isFocused = _this$props11.isFocused,\n isRTL = _this$props11.isRTL,\n phrases = _this$props11.phrases,\n dayAriaLabelFormat = _this$props11.dayAriaLabelFormat,\n onBlur = _this$props11.onBlur,\n showKeyboardShortcuts = _this$props11.showKeyboardShortcuts,\n weekDayFormat = _this$props11.weekDayFormat,\n verticalHeight = _this$props11.verticalHeight,\n noBorder = _this$props11.noBorder,\n transitionDuration = _this$props11.transitionDuration,\n verticalBorderSpacing = _this$props11.verticalBorderSpacing,\n horizontalMonthPadding = _this$props11.horizontalMonthPadding;\n var _this$state7 = this.state,\n currentMonth = _this$state7.currentMonth,\n visibleDays = _this$state7.visibleDays;\n return _react[\"default\"].createElement(_DayPicker[\"default\"], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n modifiers: visibleDays,\n numberOfMonths: numberOfMonths,\n onDayClick: this.onDayClick,\n onDayMouseEnter: this.onDayMouseEnter,\n onDayMouseLeave: this.onDayMouseLeave,\n onPrevMonthClick: this.onPrevMonthClick,\n onNextMonthClick: this.onNextMonthClick,\n onMonthChange: this.onMonthChange,\n onYearChange: this.onYearChange,\n monthFormat: monthFormat,\n withPortal: withPortal,\n hidden: !focused,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return currentMonth;\n }\n\n return initialVisibleMonth;\n }(),\n firstDayOfWeek: firstDayOfWeek,\n onOutsideClick: onOutsideClick,\n navPrev: navPrev,\n navNext: navNext,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isFocused,\n getFirstFocusableDay: this.getFirstFocusableDay,\n onBlur: onBlur,\n onTab: onTab,\n onShiftTab: onShiftTab,\n phrases: phrases,\n daySize: daySize,\n isRTL: isRTL,\n showKeyboardShortcuts: showKeyboardShortcuts,\n weekDayFormat: weekDayFormat,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalHeight: verticalHeight,\n noBorder: noBorder,\n transitionDuration: transitionDuration,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n });\n }\n\n return render;\n }()\n }]);\n\n return DayPickerSingleDateController;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports[\"default\"] = DayPickerSingleDateController;\nDayPickerSingleDateController.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDayPickerSingleDateController.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"./IconPositionShape\"));\n\nvar _OrientationShape = _interopRequireDefault(require(\"./OrientationShape\"));\n\nvar _AnchorDirectionShape = _interopRequireDefault(require(\"./AnchorDirectionShape\"));\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"./OpenDirectionShape\"));\n\nvar _DayOfWeekShape = _interopRequireDefault(require(\"./DayOfWeekShape\"));\n\nvar _CalendarInfoPositionShape = _interopRequireDefault(require(\"./CalendarInfoPositionShape\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = {\n // required props for a functional interactive SingleDatePicker\n date: _reactMomentProptypes[\"default\"].momentObj,\n onDateChange: _propTypes[\"default\"].func.isRequired,\n focused: _propTypes[\"default\"].bool,\n onFocusChange: _propTypes[\"default\"].func.isRequired,\n // input related props\n id: _propTypes[\"default\"].string.isRequired,\n placeholder: _propTypes[\"default\"].string,\n disabled: _propTypes[\"default\"].bool,\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n screenReaderInputMessage: _propTypes[\"default\"].string,\n showClearDate: _propTypes[\"default\"].bool,\n customCloseIcon: _propTypes[\"default\"].node,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n customInputIcon: _propTypes[\"default\"].node,\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n keepFocusOnInput: _propTypes[\"default\"].bool,\n // calendar presentation and interaction related props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes[\"default\"].func, 'renderMonthText', 'renderMonthElement'),\n orientation: _OrientationShape[\"default\"],\n anchorDirection: _AnchorDirectionShape[\"default\"],\n openDirection: _OpenDirectionShape[\"default\"],\n horizontalMargin: _propTypes[\"default\"].number,\n withPortal: _propTypes[\"default\"].bool,\n withFullScreenPortal: _propTypes[\"default\"].bool,\n appendToBody: _propTypes[\"default\"].bool,\n disableScroll: _propTypes[\"default\"].bool,\n initialVisibleMonth: _propTypes[\"default\"].func,\n firstDayOfWeek: _DayOfWeekShape[\"default\"],\n numberOfMonths: _propTypes[\"default\"].number,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n reopenPickerOnClearDate: _propTypes[\"default\"].bool,\n renderCalendarInfo: _propTypes[\"default\"].func,\n calendarInfoPosition: _CalendarInfoPositionShape[\"default\"],\n hideKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes[\"default\"].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n // navigation related props\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n onClose: _propTypes[\"default\"].func,\n // day presentation and interaction related props\n renderCalendarDay: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n enableOutsideDays: _propTypes[\"default\"].bool,\n isDayBlocked: _propTypes[\"default\"].func,\n isOutsideRange: _propTypes[\"default\"].func,\n isDayHighlighted: _propTypes[\"default\"].func,\n // internationalization props\n displayFormat: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n monthFormat: _propTypes[\"default\"].string,\n weekDayFormat: _propTypes[\"default\"].string,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.SingleDatePickerPhrases)),\n dayAriaLabelFormat: _propTypes[\"default\"].string\n};\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _DateInput = _interopRequireDefault(require(\"./DateInput\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"../shapes/IconPositionShape\"));\n\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\n\nvar _CalendarIcon = _interopRequireDefault(require(\"./CalendarIcon\"));\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"../shapes/OpenDirectionShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n id: _propTypes[\"default\"].string.isRequired,\n children: _propTypes[\"default\"].node,\n placeholder: _propTypes[\"default\"].string,\n // also used as label\n displayValue: _propTypes[\"default\"].string,\n screenReaderMessage: _propTypes[\"default\"].string,\n focused: _propTypes[\"default\"].bool,\n isFocused: _propTypes[\"default\"].bool,\n // describes actual DOM focus\n disabled: _propTypes[\"default\"].bool,\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n openDirection: _OpenDirectionShape[\"default\"],\n showCaret: _propTypes[\"default\"].bool,\n showClearDate: _propTypes[\"default\"].bool,\n customCloseIcon: _propTypes[\"default\"].node,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n customInputIcon: _propTypes[\"default\"].node,\n isRTL: _propTypes[\"default\"].bool,\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n onChange: _propTypes[\"default\"].func,\n onClearDate: _propTypes[\"default\"].func,\n onFocus: _propTypes[\"default\"].func,\n onKeyDownShiftTab: _propTypes[\"default\"].func,\n onKeyDownTab: _propTypes[\"default\"].func,\n onKeyDownArrowDown: _propTypes[\"default\"].func,\n onKeyDownQuestionMark: _propTypes[\"default\"].func,\n // i18n\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.SingleDatePickerInputPhrases))\n})) : {};\nvar defaultProps = {\n children: null,\n placeholder: 'Select Date',\n displayValue: '',\n screenReaderMessage: '',\n focused: false,\n isFocused: false,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n showClearDate: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customCloseIcon: null,\n customInputIcon: null,\n isRTL: false,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n onChange: function () {\n function onChange() {}\n\n return onChange;\n }(),\n onClearDate: function () {\n function onClearDate() {}\n\n return onClearDate;\n }(),\n onFocus: function () {\n function onFocus() {}\n\n return onFocus;\n }(),\n onKeyDownShiftTab: function () {\n function onKeyDownShiftTab() {}\n\n return onKeyDownShiftTab;\n }(),\n onKeyDownTab: function () {\n function onKeyDownTab() {}\n\n return onKeyDownTab;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n // i18n\n phrases: _defaultPhrases.SingleDatePickerInputPhrases\n};\n\nfunction SingleDatePickerInput(_ref) {\n var id = _ref.id,\n children = _ref.children,\n placeholder = _ref.placeholder,\n displayValue = _ref.displayValue,\n focused = _ref.focused,\n isFocused = _ref.isFocused,\n disabled = _ref.disabled,\n required = _ref.required,\n readOnly = _ref.readOnly,\n showCaret = _ref.showCaret,\n showClearDate = _ref.showClearDate,\n showDefaultInputIcon = _ref.showDefaultInputIcon,\n inputIconPosition = _ref.inputIconPosition,\n phrases = _ref.phrases,\n onClearDate = _ref.onClearDate,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onKeyDownShiftTab = _ref.onKeyDownShiftTab,\n onKeyDownTab = _ref.onKeyDownTab,\n onKeyDownArrowDown = _ref.onKeyDownArrowDown,\n onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,\n screenReaderMessage = _ref.screenReaderMessage,\n customCloseIcon = _ref.customCloseIcon,\n customInputIcon = _ref.customInputIcon,\n openDirection = _ref.openDirection,\n isRTL = _ref.isRTL,\n noBorder = _ref.noBorder,\n block = _ref.block,\n small = _ref.small,\n regular = _ref.regular,\n verticalSpacing = _ref.verticalSpacing,\n styles = _ref.styles;\n\n var calendarIcon = customInputIcon || _react[\"default\"].createElement(_CalendarIcon[\"default\"], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon_svg));\n\n var closeIcon = customCloseIcon || _react[\"default\"].createElement(_CloseButton[\"default\"], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate_svg, small && styles.SingleDatePickerInput_clearDate_svg__small));\n\n var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;\n\n var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react[\"default\"].createElement(\"button\", _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon), {\n type: \"button\",\n disabled: disabled,\n \"aria-label\": phrases.focusStartDate,\n onClick: onFocus\n }), calendarIcon);\n\n return _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.SingleDatePickerInput, disabled && styles.SingleDatePickerInput__disabled, isRTL && styles.SingleDatePickerInput__rtl, !noBorder && styles.SingleDatePickerInput__withBorder, block && styles.SingleDatePickerInput__block, showClearDate && styles.SingleDatePickerInput__showClearDate), inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon, _react[\"default\"].createElement(_DateInput[\"default\"], {\n id: id,\n placeholder: placeholder // also used as label\n ,\n displayValue: displayValue,\n screenReaderMessage: screenReaderText,\n focused: focused,\n isFocused: isFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n onChange: onChange,\n onFocus: onFocus,\n onKeyDownShiftTab: onKeyDownShiftTab,\n onKeyDownTab: onKeyDownTab,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n openDirection: openDirection,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular,\n block: block\n }), children, showClearDate && _react[\"default\"].createElement(\"button\", _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate, small && styles.SingleDatePickerInput_clearDate__small, !customCloseIcon && styles.SingleDatePickerInput_clearDate__default, !displayValue && styles.SingleDatePickerInput_clearDate__hide), {\n type: \"button\",\n \"aria-label\": phrases.clearDate,\n disabled: disabled,\n onClick: onClearDate\n }), closeIcon), inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon);\n}\n\nSingleDatePickerInput.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nSingleDatePickerInput.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n border = _ref2$reactDates.border,\n color = _ref2$reactDates.color;\n return {\n SingleDatePickerInput: {\n display: 'inline-block',\n backgroundColor: color.background\n },\n SingleDatePickerInput__withBorder: {\n borderColor: color.border,\n borderWidth: border.pickerInput.borderWidth,\n borderStyle: border.pickerInput.borderStyle,\n borderRadius: border.pickerInput.borderRadius\n },\n SingleDatePickerInput__rtl: {\n direction: (0, _noflip[\"default\"])('rtl')\n },\n SingleDatePickerInput__disabled: {\n backgroundColor: color.disabled\n },\n SingleDatePickerInput__block: {\n display: 'block'\n },\n SingleDatePickerInput__showClearDate: {\n paddingRight: 30 // TODO: should be noflip wrapped and handled by an isRTL prop\n\n },\n SingleDatePickerInput_clearDate: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n padding: 10,\n margin: '0 10px 0 5px',\n // TODO: should be noflip wrapped and handled by an isRTL prop\n position: 'absolute',\n right: 0,\n // TODO: should be noflip wrapped and handled by an isRTL prop\n top: '50%',\n transform: 'translateY(-50%)'\n },\n SingleDatePickerInput_clearDate__default: {\n ':focus': {\n background: color.core.border,\n borderRadius: '50%'\n },\n ':hover': {\n background: color.core.border,\n borderRadius: '50%'\n }\n },\n SingleDatePickerInput_clearDate__small: {\n padding: 6\n },\n SingleDatePickerInput_clearDate__hide: {\n visibility: 'hidden'\n },\n SingleDatePickerInput_clearDate_svg: {\n fill: color.core.grayLight,\n height: 12,\n width: 15,\n verticalAlign: 'middle'\n },\n SingleDatePickerInput_clearDate_svg__small: {\n height: 9\n },\n SingleDatePickerInput_calendarIcon: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: 10,\n margin: '0 5px 0 10px' // TODO: should be noflip wrapped and handled by an isRTL prop\n\n },\n SingleDatePickerInput_calendarIcon_svg: {\n fill: color.core.grayLight,\n height: 15,\n width: 14,\n verticalAlign: 'middle'\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(SingleDatePickerInput);\n\nexports[\"default\"] = _default;","import moment from 'moment';\nimport {has} from 'ramda';\n\nexport default (newProps, momentProps) => {\n const dest = {};\n\n momentProps.forEach(key => {\n const value = newProps[key];\n\n if (value === null || value === undefined) {\n dest[key] = null;\n\n if (key === 'initial_visible_month') {\n dest[key] = moment(\n newProps.start_date ||\n newProps.min_date_allowed ||\n newProps.end_date ||\n newProps.max_date_allowed ||\n undefined\n );\n }\n } else if (Array.isArray(value)) {\n dest[key] = value.map(d => moment(d));\n } else {\n dest[key] = moment(value);\n\n if (key === 'max_date_allowed' && has(key, dest)) {\n dest[key].add(1, 'days');\n }\n }\n });\n\n return dest;\n};\n","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { canUseDOM } from './utils';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!canUseDOM) {\n return null;\n }\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n return ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nexport default Portal;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This file is a fallback for a consumer who is not yet on React 16\n// as createPortal was introduced in React 16\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.renderPortal();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(props) {\n this.renderPortal();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n ReactDOM.unmountComponentAtNode(this.defaultNode || this.props.node);\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n this.portal = null;\n }\n }, {\n key: 'renderPortal',\n value: function renderPortal(props) {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n var children = this.props.children;\n // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b\n if (typeof this.props.children.type === 'function') {\n children = React.cloneElement(this.props.children);\n }\n\n this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nexport default Portal;\n\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};","import ReactDOM from 'react-dom';\n\nimport Portalv4 from './Portal';\nimport LegacyPortal from './LegacyPortal';\n\nvar Portal = void 0;\n\nif (ReactDOM.createPortal) {\n Portal = Portalv4;\n} else {\n Portal = LegacyPortal;\n}\n\nexport default Portal;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Portal from './PortalCompat';\n\nvar KEYCODES = {\n ESCAPE: 27\n};\n\nvar PortalWithState = function (_React$Component) {\n _inherits(PortalWithState, _React$Component);\n\n function PortalWithState(props) {\n _classCallCheck(this, PortalWithState);\n\n var _this = _possibleConstructorReturn(this, (PortalWithState.__proto__ || Object.getPrototypeOf(PortalWithState)).call(this, props));\n\n _this.portalNode = null;\n _this.state = { active: !!props.defaultOpen };\n _this.openPortal = _this.openPortal.bind(_this);\n _this.closePortal = _this.closePortal.bind(_this);\n _this.wrapWithPortal = _this.wrapWithPortal.bind(_this);\n _this.handleOutsideMouseClick = _this.handleOutsideMouseClick.bind(_this);\n _this.handleKeydown = _this.handleKeydown.bind(_this);\n return _this;\n }\n\n _createClass(PortalWithState, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.closeOnEsc) {\n document.addEventListener('keydown', this.handleKeydown);\n }\n if (this.props.closeOnOutsideClick) {\n document.addEventListener('click', this.handleOutsideMouseClick);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.closeOnEsc) {\n document.removeEventListener('keydown', this.handleKeydown);\n }\n if (this.props.closeOnOutsideClick) {\n document.removeEventListener('click', this.handleOutsideMouseClick);\n }\n }\n }, {\n key: 'openPortal',\n value: function openPortal(e) {\n if (this.state.active) {\n return;\n }\n if (e && e.nativeEvent) {\n e.nativeEvent.stopImmediatePropagation();\n }\n this.setState({ active: true }, this.props.onOpen);\n }\n }, {\n key: 'closePortal',\n value: function closePortal() {\n if (!this.state.active) {\n return;\n }\n this.setState({ active: false }, this.props.onClose);\n }\n }, {\n key: 'wrapWithPortal',\n value: function wrapWithPortal(children) {\n var _this2 = this;\n\n if (!this.state.active) {\n return null;\n }\n return React.createElement(\n Portal,\n {\n node: this.props.node,\n key: 'react-portal',\n ref: function ref(portalNode) {\n return _this2.portalNode = portalNode;\n }\n },\n children\n );\n }\n }, {\n key: 'handleOutsideMouseClick',\n value: function handleOutsideMouseClick(e) {\n if (!this.state.active) {\n return;\n }\n var root = this.portalNode.props.node || this.portalNode.defaultNode;\n if (!root || root.contains(e.target) || e.button && e.button !== 0) {\n return;\n }\n this.closePortal();\n }\n }, {\n key: 'handleKeydown',\n value: function handleKeydown(e) {\n if (e.keyCode === KEYCODES.ESCAPE && this.state.active) {\n this.closePortal();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children({\n openPortal: this.openPortal,\n closePortal: this.closePortal,\n portal: this.wrapWithPortal,\n isOpen: this.state.active\n });\n }\n }]);\n\n return PortalWithState;\n}(React.Component);\n\nPortalWithState.propTypes = {\n children: PropTypes.func.isRequired,\n defaultOpen: PropTypes.bool,\n node: PropTypes.any,\n closeOnEsc: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n onOpen: PropTypes.func,\n onClose: PropTypes.func\n};\n\nPortalWithState.defaultProps = {\n onOpen: function onOpen() {},\n onClose: function onClose() {}\n};\n\nexport default PortalWithState;","import Portal from './PortalCompat';\nimport PortalWithState from './PortalWithState';\n\nexport { Portal, PortalWithState };","\"use strict\";\n\nvar _registerCSSInterfaceWithDefaultTheme = _interopRequireDefault(require(\"./utils/registerCSSInterfaceWithDefaultTheme\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n(0, _registerCSSInterfaceWithDefaultTheme[\"default\"])();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = registerCSSInterfaceWithDefaultTheme;\n\nvar _reactWithStylesInterfaceCss = _interopRequireDefault(require(\"react-with-styles-interface-css\"));\n\nvar _registerInterfaceWithDefaultTheme = _interopRequireDefault(require(\"./registerInterfaceWithDefaultTheme\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction registerCSSInterfaceWithDefaultTheme() {\n (0, _registerInterfaceWithDefaultTheme[\"default\"])(_reactWithStylesInterfaceCss[\"default\"]);\n}","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./dist/index.js').default;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _arrayPrototype = require('array.prototype.flat');\n\nvar _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);\n\nvar _globalCache = require('global-cache');\n\nvar _globalCache2 = _interopRequireDefault(_globalCache);\n\nvar _constants = require('./utils/constants');\n\nvar _getClassName = require('./utils/getClassName');\n\nvar _getClassName2 = _interopRequireDefault(_getClassName);\n\nvar _separateStyles2 = require('./utils/separateStyles');\n\nvar _separateStyles3 = _interopRequireDefault(_separateStyles2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Function required as part of the react-with-styles interface. Parses the styles provided by\n * react-with-styles to produce class names based on the style name and optionally the namespace if\n * available.\n *\n * stylesObject {Object} The styles object passed to withStyles.\n *\n * Return an object mapping style names to class names.\n */\nfunction create(stylesObject) {\n var stylesToClasses = {};\n var styleNames = Object.keys(stylesObject);\n var sharedState = _globalCache2['default'].get(_constants.GLOBAL_CACHE_KEY) || {};\n var _sharedState$namespac = sharedState.namespace,\n namespace = _sharedState$namespac === undefined ? '' : _sharedState$namespac;\n\n styleNames.forEach(function (styleName) {\n var className = (0, _getClassName2['default'])(namespace, styleName);\n stylesToClasses[styleName] = className;\n });\n return stylesToClasses;\n}\n\n/**\n * Process styles to be consumed by a component.\n *\n * stylesArray {Array} Array of the following: values returned by create, plain JavaScript objects\n * representing inline styles, or arrays thereof.\n *\n * Return an object with optional className and style properties to be spread on a component.\n */\nfunction resolve(stylesArray) {\n var flattenedStyles = (0, _arrayPrototype2['default'])(stylesArray, Infinity);\n\n var _separateStyles = (0, _separateStyles3['default'])(flattenedStyles),\n classNames = _separateStyles.classNames,\n hasInlineStyles = _separateStyles.hasInlineStyles,\n inlineStyles = _separateStyles.inlineStyles;\n\n var specificClassNames = classNames.map(function (name, index) {\n return String(name) + ' ' + String(name) + '_' + String(index + 1);\n });\n var className = specificClassNames.join(' ');\n\n var result = { className: className };\n if (hasInlineStyles) result.style = inlineStyles;\n return result;\n}\n\nexports['default'] = { create: create, resolve: resolve };","'use strict';\n\nvar define = require('define-properties');\nvar bind = require('function-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar boundFlat = bind.call(Function.call, polyfill);\n\ndefine(boundFlat, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundFlat;\n","'use strict';\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar ES2016 = require('./es2016');\nvar assign = require('./helpers/assign');\n\nvar ES2017 = assign(assign({}, ES2016), {\n\tToIndex: function ToIndex(value) {\n\t\tif (typeof value === 'undefined') {\n\t\t\treturn 0;\n\t\t}\n\t\tvar integerIndex = this.ToInteger(value);\n\t\tif (integerIndex < 0) {\n\t\t\tthrow new RangeError('index must be >= 0');\n\t\t}\n\t\tvar index = this.ToLength(integerIndex);\n\t\tif (!this.SameValueZero(integerIndex, index)) {\n\t\t\tthrow new RangeError('index must be >= 0 and < 2 ** 53 - 1');\n\t\t}\n\t\treturn index;\n\t}\n});\n\ndelete ES2017.EnumerableOwnNames; // replaced with EnumerableOwnProperties\n\nmodule.exports = ES2017;\n","'use strict';\n\nvar has = require('has');\nvar toPrimitive = require('es-to-primitive/es6');\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nvar assign = require('./helpers/assign');\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\nvar isPrimitive = require('./helpers/isPrimitive');\nvar parseInteger = parseInt;\nvar bind = require('function-bind');\nvar arraySlice = bind.call(Function.call, Array.prototype.slice);\nvar strSlice = bind.call(Function.call, String.prototype.slice);\nvar isBinary = bind.call(Function.call, RegExp.prototype.test, /^0b[01]+$/i);\nvar isOctal = bind.call(Function.call, RegExp.prototype.test, /^0o[0-7]+$/i);\nvar regexExec = bind.call(Function.call, RegExp.prototype.exec);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = bind.call(Function.call, RegExp.prototype.test, nonWSregex);\nvar invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;\nvar isInvalidHexLiteral = bind.call(Function.call, RegExp.prototype.test, invalidHexLiteral);\n\n// whitespace from: http://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = [\n\t'\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n\t'\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n\t'\\u2029\\uFEFF'\n].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar replace = bind.call(Function.call, String.prototype.replace);\nvar trim = function (value) {\n\treturn replace(value, trimRegex, '');\n};\n\nvar ES5 = require('./es5');\n\nvar hasRegExpMatcher = require('is-regex');\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations\nvar ES6 = assign(assign({}, ES5), {\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args\n\tCall: function Call(F, V) {\n\t\tvar args = arguments.length > 2 ? arguments[2] : [];\n\t\tif (!this.IsCallable(F)) {\n\t\t\tthrow new TypeError(F + ' is not a function');\n\t\t}\n\t\treturn F.apply(V, args);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive\n\tToPrimitive: toPrimitive,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean\n\t// ToBoolean: ES5.ToBoolean,\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber\n\tToNumber: function ToNumber(argument) {\n\t\tvar value = isPrimitive(argument) ? argument : toPrimitive(argument, Number);\n\t\tif (typeof value === 'symbol') {\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a number');\n\t\t}\n\t\tif (typeof value === 'string') {\n\t\t\tif (isBinary(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 2));\n\t\t\t} else if (isOctal(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 8));\n\t\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\t\treturn NaN;\n\t\t\t} else {\n\t\t\t\tvar trimmed = trim(value);\n\t\t\t\tif (trimmed !== value) {\n\t\t\t\t\treturn this.ToNumber(trimmed);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Number(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger\n\t// ToInteger: ES5.ToNumber,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32\n\t// ToInt32: ES5.ToInt32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32\n\t// ToUint32: ES5.ToUint32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16\n\tToInt16: function ToInt16(argument) {\n\t\tvar int16bit = this.ToUint16(argument);\n\t\treturn int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16\n\t// ToUint16: ES5.ToUint16,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8\n\tToInt8: function ToInt8(argument) {\n\t\tvar int8bit = this.ToUint8(argument);\n\t\treturn int8bit >= 0x80 ? int8bit - 0x100 : int8bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8\n\tToUint8: function ToUint8(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x100);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp\n\tToUint8Clamp: function ToUint8Clamp(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number <= 0) { return 0; }\n\t\tif (number >= 0xFF) { return 0xFF; }\n\t\tvar f = Math.floor(argument);\n\t\tif (f + 0.5 < number) { return f + 1; }\n\t\tif (number < f + 0.5) { return f; }\n\t\tif (f % 2 !== 0) { return f + 1; }\n\t\treturn f;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring\n\tToString: function ToString(argument) {\n\t\tif (typeof argument === 'symbol') {\n\t\t\tthrow new TypeError('Cannot convert a Symbol value to a string');\n\t\t}\n\t\treturn String(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject\n\tToObject: function ToObject(value) {\n\t\tthis.RequireObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey\n\tToPropertyKey: function ToPropertyKey(argument) {\n\t\tvar key = this.ToPrimitive(argument, String);\n\t\treturn typeof key === 'symbol' ? key : this.ToString(key);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\tToLength: function ToLength(argument) {\n\t\tvar len = this.ToInteger(argument);\n\t\tif (len <= 0) { return 0; } // includes converting -0 to +0\n\t\tif (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }\n\t\treturn len;\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring\n\tCanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {\n\t\tif (toStr.call(argument) !== '[object String]') {\n\t\t\tthrow new TypeError('must be a string');\n\t\t}\n\t\tif (argument === '-0') { return -0; }\n\t\tvar n = this.ToNumber(argument);\n\t\tif (this.SameValue(this.ToString(n), argument)) { return n; }\n\t\treturn void 0;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible\n\tRequireObjectCoercible: ES5.CheckObjectCoercible,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray\n\tIsArray: Array.isArray || function IsArray(argument) {\n\t\treturn toStr.call(argument) === '[object Array]';\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable\n\t// IsCallable: ES5.IsCallable,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor\n\tIsConstructor: function IsConstructor(argument) {\n\t\treturn typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o\n\tIsExtensible: function IsExtensible(obj) {\n\t\tif (!Object.preventExtensions) { return true; }\n\t\tif (isPrimitive(obj)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn Object.isExtensible(obj);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger\n\tIsInteger: function IsInteger(argument) {\n\t\tif (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {\n\t\t\treturn false;\n\t\t}\n\t\tvar abs = Math.abs(argument);\n\t\treturn Math.floor(abs) === abs;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey\n\tIsPropertyKey: function IsPropertyKey(argument) {\n\t\treturn typeof argument === 'string' || typeof argument === 'symbol';\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp\n\tIsRegExp: function IsRegExp(argument) {\n\t\tif (!argument || typeof argument !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols) {\n\t\t\tvar isRegExp = argument[Symbol.match];\n\t\t\tif (typeof isRegExp !== 'undefined') {\n\t\t\t\treturn ES5.ToBoolean(isRegExp);\n\t\t\t}\n\t\t}\n\t\treturn hasRegExpMatcher(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue\n\t// SameValue: ES5.SameValue,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero\n\tSameValueZero: function SameValueZero(x, y) {\n\t\treturn (x === y) || ($isNaN(x) && $isNaN(y));\n\t},\n\n\t/**\n\t * 7.3.2 GetV (V, P)\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let O be ToObject(V).\n\t * 3. ReturnIfAbrupt(O).\n\t * 4. Return O.[[Get]](P, V).\n\t */\n\tGetV: function GetV(V, P) {\n\t\t// 7.3.2.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.2.2-3\n\t\tvar O = this.ToObject(V);\n\n\t\t// 7.3.2.4\n\t\treturn O[P];\n\t},\n\n\t/**\n\t * 7.3.9 - http://www.ecma-international.org/ecma-262/6.0/#sec-getmethod\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let func be GetV(O, P).\n\t * 3. ReturnIfAbrupt(func).\n\t * 4. If func is either undefined or null, return undefined.\n\t * 5. If IsCallable(func) is false, throw a TypeError exception.\n\t * 6. Return func.\n\t */\n\tGetMethod: function GetMethod(O, P) {\n\t\t// 7.3.9.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.9.2\n\t\tvar func = this.GetV(O, P);\n\n\t\t// 7.3.9.4\n\t\tif (func == null) {\n\t\t\treturn void 0;\n\t\t}\n\n\t\t// 7.3.9.5\n\t\tif (!this.IsCallable(func)) {\n\t\t\tthrow new TypeError(P + 'is not a function');\n\t\t}\n\n\t\t// 7.3.9.6\n\t\treturn func;\n\t},\n\n\t/**\n\t * 7.3.1 Get (O, P) - http://www.ecma-international.org/ecma-262/6.0/#sec-get-o-p\n\t * 1. Assert: Type(O) is Object.\n\t * 2. Assert: IsPropertyKey(P) is true.\n\t * 3. Return O.[[Get]](P, O).\n\t */\n\tGet: function Get(O, P) {\n\t\t// 7.3.1.1\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\t// 7.3.1.2\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\t// 7.3.1.3\n\t\treturn O[P];\n\t},\n\n\tType: function Type(x) {\n\t\tif (typeof x === 'symbol') {\n\t\t\treturn 'Symbol';\n\t\t}\n\t\treturn ES5.Type(x);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/6.0/#sec-speciesconstructor\n\tSpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tvar C = O.constructor;\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.Type(C) !== 'Object') {\n\t\t\tthrow new TypeError('O.constructor is not an Object');\n\t\t}\n\t\tvar S = hasSymbols && Symbol.species ? C[Symbol.species] : void 0;\n\t\tif (S == null) {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.IsConstructor(S)) {\n\t\t\treturn S;\n\t\t}\n\t\tthrow new TypeError('no constructor found');\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor\n\tCompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {\n\t\t\tif (!has(Desc, '[[Value]]')) {\n\t\t\t\tDesc['[[Value]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Writable]]')) {\n\t\t\t\tDesc['[[Writable]]'] = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!has(Desc, '[[Get]]')) {\n\t\t\t\tDesc['[[Get]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Set]]')) {\n\t\t\t\tDesc['[[Set]]'] = void 0;\n\t\t\t}\n\t\t}\n\t\tif (!has(Desc, '[[Enumerable]]')) {\n\t\t\tDesc['[[Enumerable]]'] = false;\n\t\t}\n\t\tif (!has(Desc, '[[Configurable]]')) {\n\t\t\tDesc['[[Configurable]]'] = false;\n\t\t}\n\t\treturn Desc;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw\n\tSet: function Set(O, P, V, Throw) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\tif (this.Type(Throw) !== 'Boolean') {\n\t\t\tthrow new TypeError('Throw must be a Boolean');\n\t\t}\n\t\tif (Throw) {\n\t\t\tO[P] = V;\n\t\t\treturn true;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tO[P] = V;\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-hasownproperty\n\tHasOwnProperty: function HasOwnProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\treturn has(O, P);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\tHasProperty: function HasProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\treturn P in O;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable\n\tIsConcatSpreadable: function IsConcatSpreadable(O) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols && typeof Symbol.isConcatSpreadable === 'symbol') {\n\t\t\tvar spreadable = this.Get(O, Symbol.isConcatSpreadable);\n\t\t\tif (typeof spreadable !== 'undefined') {\n\t\t\t\treturn this.ToBoolean(spreadable);\n\t\t\t}\n\t\t}\n\t\treturn this.IsArray(O);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-invoke\n\tInvoke: function Invoke(O, P) {\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('P must be a Property Key');\n\t\t}\n\t\tvar argumentsList = arraySlice(arguments, 2);\n\t\tvar func = this.GetV(O, P);\n\t\treturn this.Call(func, O, argumentsList);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject\n\tCreateIterResultObject: function CreateIterResultObject(value, done) {\n\t\tif (this.Type(done) !== 'Boolean') {\n\t\t\tthrow new TypeError('Assertion failed: Type(done) is not Boolean');\n\t\t}\n\t\treturn {\n\t\t\tvalue: value,\n\t\t\tdone: done\n\t\t};\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-regexpexec\n\tRegExpExec: function RegExpExec(R, S) {\n\t\tif (this.Type(R) !== 'Object') {\n\t\t\tthrow new TypeError('R must be an Object');\n\t\t}\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new TypeError('S must be a String');\n\t\t}\n\t\tvar exec = this.Get(R, 'exec');\n\t\tif (this.IsCallable(exec)) {\n\t\t\tvar result = this.Call(exec, R, [S]);\n\t\t\tif (result === null || this.Type(result) === 'Object') {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tthrow new TypeError('\"exec\" method must return `null` or an Object');\n\t\t}\n\t\treturn regexExec(R, S);\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate\n\tArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {\n\t\tif (!this.IsInteger(length) || length < 0) {\n\t\t\tthrow new TypeError('Assertion failed: length must be an integer >= 0');\n\t\t}\n\t\tvar len = length === 0 ? 0 : length;\n\t\tvar C;\n\t\tvar isArray = this.IsArray(originalArray);\n\t\tif (isArray) {\n\t\t\tC = this.Get(originalArray, 'constructor');\n\t\t\t// TODO: figure out how to make a cross-realm normal Array, a same-realm Array\n\t\t\t// if (this.IsConstructor(C)) {\n\t\t\t// \tif C is another realm's Array, C = undefined\n\t\t\t// \tObject.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?\n\t\t\t// }\n\t\t\tif (this.Type(C) === 'Object' && hasSymbols && Symbol.species) {\n\t\t\t\tC = this.Get(C, Symbol.species);\n\t\t\t\tif (C === null) {\n\t\t\t\t\tC = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn Array(len);\n\t\t}\n\t\tif (!this.IsConstructor(C)) {\n\t\t\tthrow new TypeError('C must be a constructor');\n\t\t}\n\t\treturn new C(len); // this.Construct(C, len);\n\t},\n\n\tCreateDataProperty: function CreateDataProperty(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar oldDesc = Object.getOwnPropertyDescriptor(O, P);\n\t\tvar extensible = oldDesc || (typeof Object.isExtensible !== 'function' || Object.isExtensible(O));\n\t\tvar immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);\n\t\tif (immutable || !extensible) {\n\t\t\treturn false;\n\t\t}\n\t\tvar newDesc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tvalue: V,\n\t\t\twritable: true\n\t\t};\n\t\tObject.defineProperty(O, P, newDesc);\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow\n\tCreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar success = this.CreateDataProperty(O, P, V);\n\t\tif (!success) {\n\t\t\tthrow new TypeError('unable to create data property');\n\t\t}\n\t\treturn success;\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-advancestringindex\n\tAdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new TypeError('Assertion failed: Type(S) is not String');\n\t\t}\n\t\tif (!this.IsInteger(index)) {\n\t\t\tthrow new TypeError('Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)');\n\t\t}\n\t\tif (index < 0 || index > MAX_SAFE_INTEGER) {\n\t\t\tthrow new RangeError('Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)');\n\t\t}\n\t\tif (this.Type(unicode) !== 'Boolean') {\n\t\t\tthrow new TypeError('Assertion failed: Type(unicode) is not Boolean');\n\t\t}\n\t\tif (!unicode) {\n\t\t\treturn index + 1;\n\t\t}\n\t\tvar length = S.length;\n\t\tif ((index + 1) >= length) {\n\t\t\treturn index + 1;\n\t\t}\n\t\tvar first = S.charCodeAt(index);\n\t\tif (first < 0xD800 || first > 0xDBFF) {\n\t\t\treturn index + 1;\n\t\t}\n\t\tvar second = S.charCodeAt(index + 1);\n\t\tif (second < 0xDC00 || second > 0xDFFF) {\n\t\t\treturn index + 1;\n\t\t}\n\t\treturn index + 2;\n\t}\n});\n\ndelete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible\n\nmodule.exports = ES6;\n","'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (PreferredType === String) {\n\t\t\thint = 'string';\n\t\t} else if (PreferredType === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\n\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\n\nvar IsCallable = require('is-callable');\nvar toPrimitive = require('es-to-primitive/es5');\n\nvar has = require('has');\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn !!value;\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn Number(value);\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) { return 0; }\n\t\tif (number === 0 || !$isFinite(number)) { return number; }\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) { // 0 === -0, but they are not identical.\n\t\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type\n\tIsPropertyDescriptor: function IsPropertyDescriptor(Desc) {\n\t\tif (this.Type(Desc) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tvar allowed = {\n\t\t\t'[[Configurable]]': true,\n\t\t\t'[[Enumerable]]': true,\n\t\t\t'[[Get]]': true,\n\t\t\t'[[Set]]': true,\n\t\t\t'[[Value]]': true,\n\t\t\t'[[Writable]]': true\n\t\t};\n\t\t// jscs:disable\n\t\tfor (var key in Desc) { // eslint-disable-line\n\t\t\tif (has(Desc, key) && !allowed[key]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t// jscs:enable\n\t\tvar isData = has(Desc, '[[Value]]');\n\t\tvar IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');\n\t\tif (isData && IsAccessor) {\n\t\t\tthrow new TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t\t}\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.1\n\tIsAccessorDescriptor: function IsAccessorDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.2\n\tIsDataDescriptor: function IsDataDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.3\n\tIsGenericDescriptor: function IsGenericDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.4\n\tFromPropertyDescriptor: function FromPropertyDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn Desc;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsDataDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tvalue: Desc['[[Value]]'],\n\t\t\t\twritable: !!Desc['[[Writable]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else if (this.IsAccessorDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tget: Desc['[[Get]]'],\n\t\t\t\tset: Desc['[[Set]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else {\n\t\t\tthrow new TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');\n\t\t}\n\t},\n\n\t// http://ecma-international.org/ecma-262/5.1/#sec-8.10.5\n\tToPropertyDescriptor: function ToPropertyDescriptor(Obj) {\n\t\tif (this.Type(Obj) !== 'Object') {\n\t\t\tthrow new TypeError('ToPropertyDescriptor requires an object');\n\t\t}\n\n\t\tvar desc = {};\n\t\tif (has(Obj, 'enumerable')) {\n\t\t\tdesc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);\n\t\t}\n\t\tif (has(Obj, 'configurable')) {\n\t\t\tdesc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);\n\t\t}\n\t\tif (has(Obj, 'value')) {\n\t\t\tdesc['[[Value]]'] = Obj.value;\n\t\t}\n\t\tif (has(Obj, 'writable')) {\n\t\t\tdesc['[[Writable]]'] = this.ToBoolean(Obj.writable);\n\t\t}\n\t\tif (has(Obj, 'get')) {\n\t\t\tvar getter = Obj.get;\n\t\t\tif (typeof getter !== 'undefined' && !this.IsCallable(getter)) {\n\t\t\t\tthrow new TypeError('getter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Get]]'] = getter;\n\t\t}\n\t\tif (has(Obj, 'set')) {\n\t\t\tvar setter = Obj.set;\n\t\t\tif (typeof setter !== 'undefined' && !this.IsCallable(setter)) {\n\t\t\t\tthrow new TypeError('setter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Set]]'] = setter;\n\t\t}\n\n\t\tif ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {\n\t\t\tthrow new TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');\n\t\t}\n\t\treturn desc;\n\t}\n};\n\nmodule.exports = ES5;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// https://es5.github.io/#x8.12\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O, hint) {\n\t\tvar actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// https://es5.github.io/#x9\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input, PreferredType);\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimFlat() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tArray.prototype,\n\t\t{ flat: polyfill },\n\t\t{ flat: function () { return Array.prototype.flat !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar isSymbol = require('is-symbol');\n\nvar globalKey = '__ global cache key __';\n/* istanbul ignore else */\n// eslint-disable-next-line no-restricted-properties\nif (typeof Symbol === 'function' && isSymbol(Symbol('foo')) && typeof Symbol['for'] === 'function') {\n\t// eslint-disable-next-line no-restricted-properties\n\tglobalKey = Symbol['for'](globalKey);\n}\n\nvar trueThunk = function () {\n\treturn true;\n};\n\nvar ensureCache = function ensureCache() {\n\tif (!global[globalKey]) {\n\t\tvar properties = {};\n\t\tproperties[globalKey] = {};\n\t\tvar predicates = {};\n\t\tpredicates[globalKey] = trueThunk;\n\t\tdefine(global, properties, predicates);\n\t}\n\treturn global[globalKey];\n};\n\nvar cache = ensureCache();\n\nvar isPrimitive = function isPrimitive(val) {\n\treturn val === null || (typeof val !== 'object' && typeof val !== 'function');\n};\n\nvar getPrimitiveKey = function getPrimitiveKey(val) {\n\tif (isSymbol(val)) {\n\t\treturn Symbol.prototype.valueOf.call(val);\n\t}\n\treturn typeof val + ' | ' + String(val);\n};\n\nvar requirePrimitiveKey = function requirePrimitiveKey(val) {\n\tif (!isPrimitive(val)) {\n\t\tthrow new TypeError('key must not be an object');\n\t}\n};\n\nvar globalCache = {\n\tclear: function clear() {\n\t\tdelete global[globalKey];\n\t\tcache = ensureCache();\n\t},\n\n\t'delete': function deleteKey(key) {\n\t\trequirePrimitiveKey(key);\n\t\tdelete cache[getPrimitiveKey(key)];\n\t\treturn !globalCache.has(key);\n\t},\n\n\tget: function get(key) {\n\t\trequirePrimitiveKey(key);\n\t\treturn cache[getPrimitiveKey(key)];\n\t},\n\n\thas: function has(key) {\n\t\trequirePrimitiveKey(key);\n\t\treturn getPrimitiveKey(key) in cache;\n\t},\n\n\tset: function set(key, value) {\n\t\trequirePrimitiveKey(key);\n\t\tvar primitiveKey = getPrimitiveKey(key);\n\t\tvar props = {};\n\t\tprops[primitiveKey] = value;\n\t\tvar predicates = {};\n\t\tpredicates[primitiveKey] = trueThunk;\n\t\tdefine(cache, props, predicates);\n\t\treturn globalCache.has(key);\n\t},\n\n\tsetIfMissingThenGet: function setIfMissingThenGet(key, valueThunk) {\n\t\tif (globalCache.has(key)) {\n\t\t\treturn globalCache.get(key);\n\t\t}\n\t\tvar item = valueThunk();\n\t\tglobalCache.set(key, item);\n\t\treturn item;\n\t}\n};\n\nmodule.exports = globalCache;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GLOBAL_CACHE_KEY = 'reactWithStylesInterfaceCSS';\nvar MAX_SPECIFICITY = 20;\n\nexports.GLOBAL_CACHE_KEY = GLOBAL_CACHE_KEY;\nexports.MAX_SPECIFICITY = MAX_SPECIFICITY;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getClassName;\n/**\n * Construct a class name.\n *\n * namespace {String} Used to construct unique class names.\n * styleName {String} Name identifying the specific style.\n *\n * Return the class name.\n */\nfunction getClassName(namespace, styleName) {\n var namespaceSegment = namespace.length > 0 ? String(namespace) + '__' : '';\n return '' + namespaceSegment + String(styleName);\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// This function takes an array of styles and separates them into styles that\n// are handled by Aphrodite and inline styles.\nfunction separateStyles(stylesArray) {\n var classNames = [];\n\n // Since determining if an Object is empty requires collecting all of its\n // keys, and we want the best performance in this code because we are in the\n // render path, we are going to do a little bookkeeping ourselves.\n var hasInlineStyles = false;\n var inlineStyles = {};\n\n // This is run on potentially every node in the tree when rendering, where\n // performance is critical. Normally we would prefer using `forEach`, but\n // old-fashioned for loops are faster so that's what we have chosen here.\n for (var i = 0; i < stylesArray.length; i++) {\n // eslint-disable-line no-plusplus\n var style = stylesArray[i];\n\n // If this style is falsy, we just want to disregard it. This allows for\n // syntax like:\n //\n // css(isFoo && styles.foo)\n if (style) {\n if (typeof style === 'string') {\n classNames.push(style);\n } else {\n Object.assign(inlineStyles, style);\n hasInlineStyles = true;\n }\n }\n }\n\n return {\n classNames: classNames,\n hasInlineStyles: hasInlineStyles,\n inlineStyles: inlineStyles\n };\n}\n\nexports['default'] = separateStyles;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = registerInterfaceWithDefaultTheme;\n\nvar _ThemedStyleSheet = _interopRequireDefault(require(\"react-with-styles/lib/ThemedStyleSheet\"));\n\nvar _DefaultTheme = _interopRequireDefault(require(\"../theme/DefaultTheme\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction registerInterfaceWithDefaultTheme(reactWithStylesInterface) {\n _ThemedStyleSheet[\"default\"].registerInterface(reactWithStylesInterface);\n\n _ThemedStyleSheet[\"default\"].registerTheme(_DefaultTheme[\"default\"]);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"CalendarDay\", {\n enumerable: true,\n get: function () {\n function get() {\n return _CalendarDay[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"CalendarMonth\", {\n enumerable: true,\n get: function () {\n function get() {\n return _CalendarMonth[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"CalendarMonthGrid\", {\n enumerable: true,\n get: function () {\n function get() {\n return _CalendarMonthGrid[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DateRangePicker\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DateRangePicker[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DateRangePickerInput\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DateRangePickerInput[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DateRangePickerInputController\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DateRangePickerInputController[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DateRangePickerShape\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DateRangePickerShape[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DayPicker\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DayPicker[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DayPickerRangeController\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DayPickerRangeController[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"DayPickerSingleDateController\", {\n enumerable: true,\n get: function () {\n function get() {\n return _DayPickerSingleDateController[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"SingleDatePicker\", {\n enumerable: true,\n get: function () {\n function get() {\n return _SingleDatePicker[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"SingleDatePickerInput\", {\n enumerable: true,\n get: function () {\n function get() {\n return _SingleDatePickerInput[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"SingleDatePickerShape\", {\n enumerable: true,\n get: function () {\n function get() {\n return _SingleDatePickerShape[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"isInclusivelyAfterDay\", {\n enumerable: true,\n get: function () {\n function get() {\n return _isInclusivelyAfterDay[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"isInclusivelyBeforeDay\", {\n enumerable: true,\n get: function () {\n function get() {\n return _isInclusivelyBeforeDay[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"isNextDay\", {\n enumerable: true,\n get: function () {\n function get() {\n return _isNextDay[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"isSameDay\", {\n enumerable: true,\n get: function () {\n function get() {\n return _isSameDay[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"toISODateString\", {\n enumerable: true,\n get: function () {\n function get() {\n return _toISODateString[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"toLocalizedDateString\", {\n enumerable: true,\n get: function () {\n function get() {\n return _toLocalizedDateString[\"default\"];\n }\n\n return get;\n }()\n});\nObject.defineProperty(exports, \"toMomentObject\", {\n enumerable: true,\n get: function () {\n function get() {\n return _toMomentObject[\"default\"];\n }\n\n return get;\n }()\n});\n\nvar _CalendarDay = _interopRequireDefault(require(\"./components/CalendarDay\"));\n\nvar _CalendarMonth = _interopRequireDefault(require(\"./components/CalendarMonth\"));\n\nvar _CalendarMonthGrid = _interopRequireDefault(require(\"./components/CalendarMonthGrid\"));\n\nvar _DateRangePicker = _interopRequireDefault(require(\"./components/DateRangePicker\"));\n\nvar _DateRangePickerInput = _interopRequireDefault(require(\"./components/DateRangePickerInput\"));\n\nvar _DateRangePickerInputController = _interopRequireDefault(require(\"./components/DateRangePickerInputController\"));\n\nvar _DateRangePickerShape = _interopRequireDefault(require(\"./shapes/DateRangePickerShape\"));\n\nvar _DayPicker = _interopRequireDefault(require(\"./components/DayPicker\"));\n\nvar _DayPickerRangeController = _interopRequireDefault(require(\"./components/DayPickerRangeController\"));\n\nvar _DayPickerSingleDateController = _interopRequireDefault(require(\"./components/DayPickerSingleDateController\"));\n\nvar _SingleDatePicker = _interopRequireDefault(require(\"./components/SingleDatePicker\"));\n\nvar _SingleDatePickerInput = _interopRequireDefault(require(\"./components/SingleDatePickerInput\"));\n\nvar _SingleDatePickerShape = _interopRequireDefault(require(\"./shapes/SingleDatePickerShape\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"./utils/isInclusivelyAfterDay\"));\n\nvar _isInclusivelyBeforeDay = _interopRequireDefault(require(\"./utils/isInclusivelyBeforeDay\"));\n\nvar _isNextDay = _interopRequireDefault(require(\"./utils/isNextDay\"));\n\nvar _isSameDay = _interopRequireDefault(require(\"./utils/isSameDay\"));\n\nvar _toISODateString = _interopRequireDefault(require(\"./utils/toISODateString\"));\n\nvar _toLocalizedDateString = _interopRequireDefault(require(\"./utils/toLocalizedDateString\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"./utils/toMomentObject\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }","var moment = require('moment');\n\nfunction isValidMoment(testMoment) {\n if (typeof moment.isMoment === 'function' && !moment.isMoment(testMoment)) {\n return false;\n }\n\n /* istanbul ignore else */\n if (typeof testMoment.isValid === 'function') {\n // moment 1.7.0+\n return testMoment.isValid();\n }\n\n /* istanbul ignore next */\n return !isNaN(testMoment);\n}\n\nmodule.exports = {\n isValidMoment : isValidMoment,\n};\n","var messages = {\n invalidPredicate: '`predicate` must be a function',\n invalidPropValidator: '`propValidator` must be a function',\n requiredCore: 'is marked as required',\n invalidTypeCore: 'Invalid input type',\n predicateFailureCore: 'Failed to succeed with predicate',\n anonymousMessage: '<>',\n baseInvalidMessage: 'Invalid ',\n};\n\nfunction constructPropValidatorVariations(propValidator) {\n if (typeof propValidator !== 'function') {\n throw new Error(messages.invalidPropValidator);\n }\n\n var requiredPropValidator = propValidator.bind(null, false, null);\n requiredPropValidator.isRequired = propValidator.bind(null, true, null);\n\n requiredPropValidator.withPredicate = function predicateApplication(predicate) {\n if (typeof predicate !== 'function') {\n throw new Error(messages.invalidPredicate);\n }\n var basePropValidator = propValidator.bind(null, false, predicate);\n basePropValidator.isRequired = propValidator.bind(null, true, predicate);\n return basePropValidator;\n };\n\n return requiredPropValidator;\n}\n\nfunction createInvalidRequiredErrorMessage(propName, componentName, value) {\n return new Error(\n 'The prop `' + propName + '` ' + messages.requiredCore +\n ' in `' + componentName + '`, but its value is `' + value + '`.'\n );\n}\n\nvar independentGuardianValue = -1;\n\nfunction preValidationRequireCheck(isRequired, componentName, propFullName, propValue) {\n var isPropValueUndefined = typeof propValue === 'undefined';\n var isPropValueNull = propValue === null;\n\n if (isRequired) {\n if (isPropValueUndefined) {\n return createInvalidRequiredErrorMessage(propFullName, componentName, 'undefined');\n } else if (isPropValueNull) {\n return createInvalidRequiredErrorMessage(propFullName, componentName, 'null');\n }\n }\n\n if (isPropValueUndefined || isPropValueNull) {\n return null;\n }\n\n return independentGuardianValue;\n}\n\nfunction createMomentChecker(type, typeValidator, validator, momentType) {\n\n function propValidator(\n isRequired, // Bound parameter to indicate with the propType is required\n predicate, // Bound parameter to allow user to add dynamic validation\n props,\n propName,\n componentName,\n location,\n propFullName\n ) {\n var propValue = props[ propName ];\n var propType = typeof propValue;\n\n componentName = componentName || messages.anonymousMessage;\n propFullName = propFullName || propName;\n\n var preValidationRequireCheckValue = preValidationRequireCheck(\n isRequired, componentName, propFullName, propValue\n );\n\n if (preValidationRequireCheckValue !== independentGuardianValue) {\n return preValidationRequireCheckValue;\n }\n\n if (typeValidator && !typeValidator(propValue)) {\n return new Error(\n messages.invalidTypeCore + ': `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`, expected `' + type + '`.'\n );\n }\n\n if (!validator(propValue)) {\n return new Error(\n messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`, expected `' + momentType + '`.'\n );\n }\n\n if (predicate && !predicate(propValue)) {\n var predicateName = predicate.name || messages.anonymousMessage;\n return new Error(\n messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`. ' + messages.predicateFailureCore + ' `' +\n predicateName + '`.'\n );\n }\n\n return null;\n\n }\n\n return constructPropValidatorVariations(propValidator);\n\n}\n\nmodule.exports = {\n constructPropValidatorVariations: constructPropValidatorVariations,\n createMomentChecker: createMomentChecker,\n messages: messages,\n};\n","\"use strict\";\n\nfunction noop() {\n return null;\n}\n\nnoop.isRequired = noop;\n\nfunction noopThunk() {\n return noop;\n}\n\nmodule.exports = {\n and: noopThunk,\n between: noopThunk,\n booleanSome: noopThunk,\n childrenHavePropXorChildren: noopThunk,\n childrenOf: noopThunk,\n childrenOfType: noopThunk,\n childrenSequenceOf: noopThunk,\n componentWithName: noopThunk,\n disallowedIf: noopThunk,\n elementType: noopThunk,\n empty: noopThunk,\n explicitNull: noopThunk,\n forbidExtraProps: Object,\n integer: noopThunk,\n keysOf: noopThunk,\n mutuallyExclusiveProps: noopThunk,\n mutuallyExclusiveTrueProps: noopThunk,\n nChildren: noopThunk,\n nonNegativeInteger: noop,\n nonNegativeNumber: noopThunk,\n numericString: noopThunk,\n object: noopThunk,\n or: noopThunk,\n range: noopThunk,\n ref: noopThunk,\n requiredBy: noopThunk,\n restrictedProp: noopThunk,\n sequenceOf: noopThunk,\n shape: noopThunk,\n stringStartsWith: noopThunk,\n uniqueArray: noopThunk,\n uniqueArrayOf: noopThunk,\n valuesOf: noopThunk,\n withShape: noopThunk\n};\n//# sourceMappingURL=index.js.map","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CHANNEL = exports.CHANNEL = '__direction__';\n\nvar DIRECTIONS = exports.DIRECTIONS = {\n LTR: 'ltr',\n RTL: 'rtl'\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].shape({\n getState: _propTypes2['default'].func,\n setState: _propTypes2['default'].func,\n subscribe: _propTypes2['default'].func\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getPhrase;\n\nfunction getPhrase(phrase, args) {\n if (typeof phrase === 'string') return phrase;\n\n if (typeof phrase === 'function') {\n return phrase(args);\n }\n\n return '';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = CalendarWeek;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _CalendarDay = _interopRequireDefault(require(\"./CalendarDay\"));\n\nvar _CustomizableCalendarDay = _interopRequireDefault(require(\"./CustomizableCalendarDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)({\n children: (0, _airbnbPropTypes.or)([(0, _airbnbPropTypes.childrenOfType)(_CalendarDay[\"default\"]), (0, _airbnbPropTypes.childrenOfType)(_CustomizableCalendarDay[\"default\"])]).isRequired\n}) : {};\n\nfunction CalendarWeek(_ref) {\n var children = _ref.children;\n return _react[\"default\"].createElement(\"tr\", null, children);\n}\n\nCalendarWeek.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PureCustomizableCalendarDay = exports.selectedStyles = exports.lastInRangeStyles = exports.selectedSpanStyles = exports.hoveredSpanStyles = exports.blockedOutOfRangeStyles = exports.blockedCalendarStyles = exports.blockedMinNightsStyles = exports.highlightedCalendarStyles = exports.outsideStyles = exports.defaultStyles = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _getCalendarDaySettings = _interopRequireDefault(require(\"../utils/getCalendarDaySettings\"));\n\nvar _constants = require(\"../constants\");\n\nvar _DefaultTheme = _interopRequireDefault(require(\"../theme/DefaultTheme\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar color = _DefaultTheme[\"default\"].reactDates.color;\n\nfunction getStyles(stylesObj, isHovered) {\n if (!stylesObj) return null;\n var hover = stylesObj.hover;\n\n if (isHovered && hover) {\n return hover;\n }\n\n return stylesObj;\n}\n\nvar DayStyleShape = process.env.NODE_ENV !== \"production\" ? _propTypes[\"default\"].shape({\n background: _propTypes[\"default\"].string,\n border: (0, _airbnbPropTypes.or)([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n color: _propTypes[\"default\"].string,\n hover: _propTypes[\"default\"].shape({\n background: _propTypes[\"default\"].string,\n border: (0, _airbnbPropTypes.or)([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n color: _propTypes[\"default\"].string\n })\n}) : {};\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n day: _reactMomentProptypes[\"default\"].momentObj,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isOutsideDay: _propTypes[\"default\"].bool,\n modifiers: _propTypes[\"default\"].instanceOf(Set),\n isFocused: _propTypes[\"default\"].bool,\n tabIndex: _propTypes[\"default\"].oneOf([0, -1]),\n onDayClick: _propTypes[\"default\"].func,\n onDayMouseEnter: _propTypes[\"default\"].func,\n onDayMouseLeave: _propTypes[\"default\"].func,\n renderDayContents: _propTypes[\"default\"].func,\n ariaLabelFormat: _propTypes[\"default\"].string,\n // style overrides\n defaultStyles: DayStyleShape,\n outsideStyles: DayStyleShape,\n todayStyles: DayStyleShape,\n firstDayOfWeekStyles: DayStyleShape,\n lastDayOfWeekStyles: DayStyleShape,\n highlightedCalendarStyles: DayStyleShape,\n blockedMinNightsStyles: DayStyleShape,\n blockedCalendarStyles: DayStyleShape,\n blockedOutOfRangeStyles: DayStyleShape,\n hoveredSpanStyles: DayStyleShape,\n selectedSpanStyles: DayStyleShape,\n lastInRangeStyles: DayStyleShape,\n selectedStyles: DayStyleShape,\n selectedStartStyles: DayStyleShape,\n selectedEndStyles: DayStyleShape,\n afterHoveredStartStyles: DayStyleShape,\n hoveredStartFirstPossibleEndStyles: DayStyleShape,\n hoveredStartBlockedMinNightsStyles: DayStyleShape,\n // internationalization\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.CalendarDayPhrases))\n})) : {};\nvar defaultStyles = {\n border: \"1px solid \".concat(color.core.borderLight),\n color: color.text,\n background: color.background,\n hover: {\n background: color.core.borderLight,\n border: \"1px solid \".concat(color.core.borderLight),\n color: 'inherit'\n }\n};\nexports.defaultStyles = defaultStyles;\nvar outsideStyles = {\n background: color.outside.backgroundColor,\n border: 0,\n color: color.outside.color\n};\nexports.outsideStyles = outsideStyles;\nvar highlightedCalendarStyles = {\n background: color.highlighted.backgroundColor,\n color: color.highlighted.color,\n hover: {\n background: color.highlighted.backgroundColor_hover,\n color: color.highlighted.color_active\n }\n};\nexports.highlightedCalendarStyles = highlightedCalendarStyles;\nvar blockedMinNightsStyles = {\n background: color.minimumNights.backgroundColor,\n border: \"1px solid \".concat(color.minimumNights.borderColor),\n color: color.minimumNights.color,\n hover: {\n background: color.minimumNights.backgroundColor_hover,\n color: color.minimumNights.color_active\n }\n};\nexports.blockedMinNightsStyles = blockedMinNightsStyles;\nvar blockedCalendarStyles = {\n background: color.blocked_calendar.backgroundColor,\n border: \"1px solid \".concat(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color,\n hover: {\n background: color.blocked_calendar.backgroundColor_hover,\n border: \"1px solid \".concat(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n }\n};\nexports.blockedCalendarStyles = blockedCalendarStyles;\nvar blockedOutOfRangeStyles = {\n background: color.blocked_out_of_range.backgroundColor,\n border: \"1px solid \".concat(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color,\n hover: {\n background: color.blocked_out_of_range.backgroundColor_hover,\n border: \"1px solid \".concat(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n }\n};\nexports.blockedOutOfRangeStyles = blockedOutOfRangeStyles;\nvar hoveredSpanStyles = {\n background: color.hoveredSpan.backgroundColor,\n border: \"1px double \".concat(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color,\n hover: {\n background: color.hoveredSpan.backgroundColor_hover,\n border: \"1px double \".concat(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n }\n};\nexports.hoveredSpanStyles = hoveredSpanStyles;\nvar selectedSpanStyles = {\n background: color.selectedSpan.backgroundColor,\n border: \"1px double \".concat(color.selectedSpan.borderColor),\n color: color.selectedSpan.color,\n hover: {\n background: color.selectedSpan.backgroundColor_hover,\n border: \"1px double \".concat(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n }\n};\nexports.selectedSpanStyles = selectedSpanStyles;\nvar lastInRangeStyles = {};\nexports.lastInRangeStyles = lastInRangeStyles;\nvar selectedStyles = {\n background: color.selected.backgroundColor,\n border: \"1px double \".concat(color.selected.borderColor),\n color: color.selected.color,\n hover: {\n background: color.selected.backgroundColor_hover,\n border: \"1px double \".concat(color.selected.borderColor),\n color: color.selected.color_active\n }\n};\nexports.selectedStyles = selectedStyles;\nvar defaultProps = {\n day: (0, _moment[\"default\"])(),\n daySize: _constants.DAY_SIZE,\n isOutsideDay: false,\n modifiers: new Set(),\n isFocused: false,\n tabIndex: -1,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n renderDayContents: null,\n ariaLabelFormat: 'dddd, LL',\n // style defaults\n defaultStyles: defaultStyles,\n outsideStyles: outsideStyles,\n todayStyles: {},\n highlightedCalendarStyles: highlightedCalendarStyles,\n blockedMinNightsStyles: blockedMinNightsStyles,\n blockedCalendarStyles: blockedCalendarStyles,\n blockedOutOfRangeStyles: blockedOutOfRangeStyles,\n hoveredSpanStyles: hoveredSpanStyles,\n selectedSpanStyles: selectedSpanStyles,\n lastInRangeStyles: lastInRangeStyles,\n selectedStyles: selectedStyles,\n selectedStartStyles: {},\n selectedEndStyles: {},\n afterHoveredStartStyles: {},\n firstDayOfWeekStyles: {},\n lastDayOfWeekStyles: {},\n hoveredStartFirstPossibleEndStyles: {},\n hoveredStartBlockedMinNightsStyles: {},\n // internationalization\n phrases: _defaultPhrases.CalendarDayPhrases\n};\n\nvar CustomizableCalendarDay =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(CustomizableCalendarDay, _ref);\n\n _createClass(CustomizableCalendarDay, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function CustomizableCalendarDay() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CustomizableCalendarDay);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CustomizableCalendarDay)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.state = {\n isHovered: false\n };\n _this.setButtonRef = _this.setButtonRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(CustomizableCalendarDay, [{\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n isFocused = _this$props.isFocused,\n tabIndex = _this$props.tabIndex;\n\n if (tabIndex === 0) {\n if (isFocused || tabIndex !== prevProps.tabIndex) {\n this.buttonRef.focus();\n }\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"onDayClick\",\n value: function () {\n function onDayClick(day, e) {\n var onDayClick = this.props.onDayClick;\n onDayClick(day, e);\n }\n\n return onDayClick;\n }()\n }, {\n key: \"onDayMouseEnter\",\n value: function () {\n function onDayMouseEnter(day, e) {\n var onDayMouseEnter = this.props.onDayMouseEnter;\n this.setState({\n isHovered: true\n });\n onDayMouseEnter(day, e);\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: \"onDayMouseLeave\",\n value: function () {\n function onDayMouseLeave(day, e) {\n var onDayMouseLeave = this.props.onDayMouseLeave;\n this.setState({\n isHovered: false\n });\n onDayMouseLeave(day, e);\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: \"onKeyDown\",\n value: function () {\n function onKeyDown(day, e) {\n var onDayClick = this.props.onDayClick;\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n onDayClick(day, e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: \"setButtonRef\",\n value: function () {\n function setButtonRef(ref) {\n this.buttonRef = ref;\n }\n\n return setButtonRef;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n day = _this$props2.day,\n ariaLabelFormat = _this$props2.ariaLabelFormat,\n daySize = _this$props2.daySize,\n isOutsideDay = _this$props2.isOutsideDay,\n modifiers = _this$props2.modifiers,\n tabIndex = _this$props2.tabIndex,\n renderDayContents = _this$props2.renderDayContents,\n styles = _this$props2.styles,\n phrases = _this$props2.phrases,\n defaultStylesWithHover = _this$props2.defaultStyles,\n outsideStylesWithHover = _this$props2.outsideStyles,\n todayStylesWithHover = _this$props2.todayStyles,\n firstDayOfWeekStylesWithHover = _this$props2.firstDayOfWeekStyles,\n lastDayOfWeekStylesWithHover = _this$props2.lastDayOfWeekStyles,\n highlightedCalendarStylesWithHover = _this$props2.highlightedCalendarStyles,\n blockedMinNightsStylesWithHover = _this$props2.blockedMinNightsStyles,\n blockedCalendarStylesWithHover = _this$props2.blockedCalendarStyles,\n blockedOutOfRangeStylesWithHover = _this$props2.blockedOutOfRangeStyles,\n hoveredSpanStylesWithHover = _this$props2.hoveredSpanStyles,\n selectedSpanStylesWithHover = _this$props2.selectedSpanStyles,\n lastInRangeStylesWithHover = _this$props2.lastInRangeStyles,\n selectedStylesWithHover = _this$props2.selectedStyles,\n selectedStartStylesWithHover = _this$props2.selectedStartStyles,\n selectedEndStylesWithHover = _this$props2.selectedEndStyles,\n afterHoveredStartStylesWithHover = _this$props2.afterHoveredStartStyles,\n hoveredStartFirstPossibleEndStylesWithHover = _this$props2.hoveredStartFirstPossibleEndStyles,\n hoveredStartBlockedMinNightsStylesWithHover = _this$props2.hoveredStartBlockedMinNightsStyles;\n var isHovered = this.state.isHovered;\n if (!day) return _react[\"default\"].createElement(\"td\", null);\n\n var _getCalendarDaySettin = (0, _getCalendarDaySettings[\"default\"])(day, ariaLabelFormat, daySize, modifiers, phrases),\n daySizeStyles = _getCalendarDaySettin.daySizeStyles,\n useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,\n selected = _getCalendarDaySettin.selected,\n hoveredSpan = _getCalendarDaySettin.hoveredSpan,\n isOutsideRange = _getCalendarDaySettin.isOutsideRange,\n ariaLabel = _getCalendarDaySettin.ariaLabel;\n\n return _react[\"default\"].createElement(\"td\", _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, daySizeStyles, getStyles(defaultStylesWithHover, isHovered), isOutsideDay && getStyles(outsideStylesWithHover, isHovered), modifiers.has('today') && getStyles(todayStylesWithHover, isHovered), modifiers.has('first-day-of-week') && getStyles(firstDayOfWeekStylesWithHover, isHovered), modifiers.has('last-day-of-week') && getStyles(lastDayOfWeekStylesWithHover, isHovered), modifiers.has('hovered-start-first-possible-end') && getStyles(hoveredStartFirstPossibleEndStylesWithHover, isHovered), modifiers.has('hovered-start-blocked-minimum-nights') && getStyles(hoveredStartBlockedMinNightsStylesWithHover, isHovered), modifiers.has('highlighted-calendar') && getStyles(highlightedCalendarStylesWithHover, isHovered), modifiers.has('blocked-minimum-nights') && getStyles(blockedMinNightsStylesWithHover, isHovered), modifiers.has('blocked-calendar') && getStyles(blockedCalendarStylesWithHover, isHovered), hoveredSpan && getStyles(hoveredSpanStylesWithHover, isHovered), modifiers.has('after-hovered-start') && getStyles(afterHoveredStartStylesWithHover, isHovered), modifiers.has('selected-span') && getStyles(selectedSpanStylesWithHover, isHovered), modifiers.has('last-in-range') && getStyles(lastInRangeStylesWithHover, isHovered), selected && getStyles(selectedStylesWithHover, isHovered), modifiers.has('selected-start') && getStyles(selectedStartStylesWithHover, isHovered), modifiers.has('selected-end') && getStyles(selectedEndStylesWithHover, isHovered), isOutsideRange && getStyles(blockedOutOfRangeStylesWithHover, isHovered)), {\n role: \"button\" // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role\n ,\n ref: this.setButtonRef,\n \"aria-disabled\": modifiers.has('blocked'),\n \"aria-label\": ariaLabel,\n onMouseEnter: function () {\n function onMouseEnter(e) {\n _this2.onDayMouseEnter(day, e);\n }\n\n return onMouseEnter;\n }(),\n onMouseLeave: function () {\n function onMouseLeave(e) {\n _this2.onDayMouseLeave(day, e);\n }\n\n return onMouseLeave;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }(),\n onClick: function () {\n function onClick(e) {\n _this2.onDayClick(day, e);\n }\n\n return onClick;\n }(),\n onKeyDown: function () {\n function onKeyDown(e) {\n _this2.onKeyDown(day, e);\n }\n\n return onKeyDown;\n }(),\n tabIndex: tabIndex\n }), renderDayContents ? renderDayContents(day, modifiers) : day.format('D'));\n }\n\n return render;\n }()\n }]);\n\n return CustomizableCalendarDay;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports.PureCustomizableCalendarDay = CustomizableCalendarDay;\nCustomizableCalendarDay.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCustomizableCalendarDay.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var font = _ref2.reactDates.font;\n return {\n CalendarDay: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n fontSize: font.size,\n textAlign: 'center',\n ':active': {\n outline: 0\n }\n },\n CalendarDay__defaultCursor: {\n cursor: 'default'\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(CustomizableCalendarDay);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getCalendarMonthWeeks;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getCalendarMonthWeeks(month, enableOutsideDays) {\n var firstDayOfWeek = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _moment[\"default\"].localeData().firstDayOfWeek();\n\n if (!_moment[\"default\"].isMoment(month) || !month.isValid()) {\n throw new TypeError('`month` must be a valid moment object');\n }\n\n if (_constants.WEEKDAYS.indexOf(firstDayOfWeek) === -1) {\n throw new TypeError('`firstDayOfWeek` must be an integer between 0 and 6');\n } // set utc offset to get correct dates in future (when timezone changes)\n\n\n var firstOfMonth = month.clone().startOf('month').hour(12);\n var lastOfMonth = month.clone().endOf('month').hour(12); // calculate the exact first and last days to fill the entire matrix\n // (considering days outside month)\n\n var prevDays = (firstOfMonth.day() + 7 - firstDayOfWeek) % 7;\n var nextDays = (firstDayOfWeek + 6 - lastOfMonth.day()) % 7;\n var firstDay = firstOfMonth.clone().subtract(prevDays, 'day');\n var lastDay = lastOfMonth.clone().add(nextDays, 'day');\n var totalDays = lastDay.diff(firstDay, 'days') + 1;\n var currentDay = firstDay.clone();\n var weeksInMonth = [];\n\n for (var i = 0; i < totalDays; i += 1) {\n if (i % 7 === 0) {\n weeksInMonth.push([]);\n }\n\n var day = null;\n\n if (i >= prevDays && i < totalDays - nextDays || enableOutsideDays) {\n day = currentDay.clone();\n }\n\n weeksInMonth[weeksInMonth.length - 1].push(day);\n currentDay.add(1, 'day');\n }\n\n return weeksInMonth;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isTransitionEndSupported;\n\nfunction isTransitionEndSupported() {\n return !!(typeof window !== 'undefined' && 'TransitionEvent' in window);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getTransformStyles;\n\nfunction getTransformStyles(transformValue) {\n return {\n transform: transformValue,\n msTransform: transformValue,\n MozTransform: transformValue,\n WebkitTransform: transformValue\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrevMonth;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isSameMonth = _interopRequireDefault(require(\"./isSameMonth\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isPrevMonth(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n return (0, _isSameMonth[\"default\"])(a.clone().subtract(1, 'month'), b);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isNextMonth;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isSameMonth = _interopRequireDefault(require(\"./isSameMonth\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isNextMonth(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n return (0, _isSameMonth[\"default\"])(a.clone().add(1, 'month'), b);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PureDateRangePicker = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _reactPortal = require(\"react-portal\");\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _consolidatedEvents = require(\"consolidated-events\");\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _reactOutsideClickHandler = _interopRequireDefault(require(\"react-outside-click-handler\"));\n\nvar _DateRangePickerShape = _interopRequireDefault(require(\"../shapes/DateRangePickerShape\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getResponsiveContainerStyles = _interopRequireDefault(require(\"../utils/getResponsiveContainerStyles\"));\n\nvar _getDetachedContainerStyles = _interopRequireDefault(require(\"../utils/getDetachedContainerStyles\"));\n\nvar _getInputHeight = _interopRequireDefault(require(\"../utils/getInputHeight\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"../utils/isInclusivelyAfterDay\"));\n\nvar _disableScroll2 = _interopRequireDefault(require(\"../utils/disableScroll\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _DateRangePickerInputController = _interopRequireDefault(require(\"./DateRangePickerInputController\"));\n\nvar _DayPickerRangeController = _interopRequireDefault(require(\"./DayPickerRangeController\"));\n\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, _DateRangePickerShape[\"default\"])) : {};\nvar defaultProps = {\n // required props for a functional interactive DateRangePicker\n startDate: null,\n endDate: null,\n focusedInput: null,\n // input related props\n startDatePlaceholderText: 'Start Date',\n endDatePlaceholderText: 'End Date',\n startDateOffset: undefined,\n endDateOffset: undefined,\n disabled: false,\n required: false,\n readOnly: false,\n screenReaderInputMessage: '',\n showClearDates: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n keepFocusOnInput: false,\n // calendar presentation and interaction related props\n renderMonthText: null,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n anchorDirection: _constants.ANCHOR_LEFT,\n openDirection: _constants.OPEN_DOWN,\n horizontalMargin: 0,\n withPortal: false,\n withFullScreenPortal: false,\n appendToBody: false,\n disableScroll: false,\n initialVisibleMonth: null,\n numberOfMonths: 2,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDates: false,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n firstDayOfWeek: null,\n verticalHeight: null,\n transitionDuration: undefined,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n horizontalMonthPadding: undefined,\n // navigation related props\n navPrev: null,\n navNext: null,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n // day presentation and interaction related props\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderMonthElement: null,\n minimumNights: 1,\n enableOutsideDays: false,\n isDayBlocked: function () {\n function isDayBlocked() {\n return false;\n }\n\n return isDayBlocked;\n }(),\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay[\"default\"])(day, (0, _moment[\"default\"])());\n }\n\n return isOutsideRange;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {\n return false;\n }\n\n return isDayHighlighted;\n }(),\n // internationalization\n displayFormat: function () {\n function displayFormat() {\n return _moment[\"default\"].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DateRangePickerPhrases,\n dayAriaLabelFormat: undefined\n};\n\nvar DateRangePicker =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DateRangePicker, _ref);\n\n _createClass(DateRangePicker, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DateRangePicker(props) {\n var _this;\n\n _classCallCheck(this, DateRangePicker);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DateRangePicker).call(this, props));\n _this.state = {\n dayPickerContainerStyles: {},\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n };\n _this.isTouchDevice = false;\n _this.onOutsideClick = _this.onOutsideClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDateRangePickerInputFocus = _this.onDateRangePickerInputFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayPickerFocusOut = _this.onDayPickerFocusOut.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.disableScroll = _this.disableScroll.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setContainerRef = _this.setContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DateRangePicker, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.removeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, {\n passive: true\n });\n this.responsivizePickerPosition();\n this.disableScroll();\n var focusedInput = this.props.focusedInput;\n\n if (focusedInput) {\n this.setState({\n isDateRangePickerInputFocused: true\n });\n }\n\n this.isTouchDevice = (0, _isTouchDevice[\"default\"])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var focusedInput = this.props.focusedInput;\n\n if (!prevProps.focusedInput && focusedInput && this.isOpened()) {\n // The date picker just changed from being closed to being open.\n this.responsivizePickerPosition();\n this.disableScroll();\n } else if (prevProps.focusedInput && !focusedInput && !this.isOpened()) {\n // The date picker just changed from being open to being closed.\n if (this.enableScroll) this.enableScroll();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n function componentWillUnmount() {\n this.removeDayPickerEventListeners();\n if (this.removeEventListener) this.removeEventListener();\n if (this.enableScroll) this.enableScroll();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: \"onOutsideClick\",\n value: function () {\n function onOutsideClick(event) {\n var _this$props = this.props,\n onFocusChange = _this$props.onFocusChange,\n onClose = _this$props.onClose,\n startDate = _this$props.startDate,\n endDate = _this$props.endDate,\n appendToBody = _this$props.appendToBody;\n if (!this.isOpened()) return;\n if (appendToBody && this.dayPickerContainer.contains(event.target)) return;\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n onFocusChange(null);\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n }\n\n return onOutsideClick;\n }()\n }, {\n key: \"onDateRangePickerInputFocus\",\n value: function () {\n function onDateRangePickerInputFocus(focusedInput) {\n var _this$props2 = this.props,\n onFocusChange = _this$props2.onFocusChange,\n readOnly = _this$props2.readOnly,\n withPortal = _this$props2.withPortal,\n withFullScreenPortal = _this$props2.withFullScreenPortal,\n keepFocusOnInput = _this$props2.keepFocusOnInput;\n\n if (focusedInput) {\n var withAnyPortal = withPortal || withFullScreenPortal;\n var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;\n\n if (moveFocusToDayPicker) {\n this.onDayPickerFocus();\n } else {\n this.onDayPickerBlur();\n }\n }\n\n onFocusChange(focusedInput);\n }\n\n return onDateRangePickerInputFocus;\n }()\n }, {\n key: \"onDayPickerFocus\",\n value: function () {\n function onDayPickerFocus() {\n var _this$props3 = this.props,\n focusedInput = _this$props3.focusedInput,\n onFocusChange = _this$props3.onFocusChange;\n if (!focusedInput) onFocusChange(_constants.START_DATE);\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerFocus;\n }()\n }, {\n key: \"onDayPickerFocusOut\",\n value: function () {\n function onDayPickerFocusOut(event) {\n // In cases where **relatedTarget** is not null, it points to the right\n // element here. However, in cases where it is null (such as clicking on a\n // specific day) or it is **document.body** (IE11), the appropriate value is **event.target**.\n //\n // We handle both situations here by using the ` || ` operator to fallback\n // to *event.target** when **relatedTarget** is not provided.\n var relatedTarget = event.relatedTarget === document.body ? event.target : event.relatedTarget || event.target;\n if (this.dayPickerContainer.contains(relatedTarget)) return;\n this.onOutsideClick(event);\n }\n\n return onDayPickerFocusOut;\n }()\n }, {\n key: \"onDayPickerBlur\",\n value: function () {\n function onDayPickerBlur() {\n this.setState({\n isDateRangePickerInputFocused: true,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerBlur;\n }()\n }, {\n key: \"setDayPickerContainerRef\",\n value: function () {\n function setDayPickerContainerRef(ref) {\n if (ref === this.dayPickerContainer) return;\n if (this.dayPickerContainer) this.removeDayPickerEventListeners();\n this.dayPickerContainer = ref;\n if (!ref) return;\n this.addDayPickerEventListeners();\n }\n\n return setDayPickerContainerRef;\n }()\n }, {\n key: \"setContainerRef\",\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: \"addDayPickerEventListeners\",\n value: function () {\n function addDayPickerEventListeners() {\n // NOTE: We are using a manual event listener here, because React doesn't\n // provide FocusOut, while blur and keydown don't provide the information\n // needed in order to know whether we have left focus or not.\n //\n // For reference, this issue is further described here:\n // - https://github.com/facebook/react/issues/6410\n this.removeDayPickerFocusOut = (0, _consolidatedEvents.addEventListener)(this.dayPickerContainer, 'focusout', this.onDayPickerFocusOut);\n }\n\n return addDayPickerEventListeners;\n }()\n }, {\n key: \"removeDayPickerEventListeners\",\n value: function () {\n function removeDayPickerEventListeners() {\n if (this.removeDayPickerFocusOut) this.removeDayPickerFocusOut();\n }\n\n return removeDayPickerEventListeners;\n }()\n }, {\n key: \"isOpened\",\n value: function () {\n function isOpened() {\n var focusedInput = this.props.focusedInput;\n return focusedInput === _constants.START_DATE || focusedInput === _constants.END_DATE;\n }\n\n return isOpened;\n }()\n }, {\n key: \"disableScroll\",\n value: function () {\n function disableScroll() {\n var _this$props4 = this.props,\n appendToBody = _this$props4.appendToBody,\n propDisableScroll = _this$props4.disableScroll;\n if (!appendToBody && !propDisableScroll) return;\n if (!this.isOpened()) return; // Disable scroll for every ancestor of this DateRangePicker up to the\n // document level. This ensures the input and the picker never move. Other\n // sibling elements or the picker itself can scroll.\n\n this.enableScroll = (0, _disableScroll2[\"default\"])(this.container);\n }\n\n return disableScroll;\n }()\n }, {\n key: \"responsivizePickerPosition\",\n value: function () {\n function responsivizePickerPosition() {\n // It's possible the portal props have been changed in response to window resizes\n // So let's ensure we reset this back to the base state each time\n this.setState({\n dayPickerContainerStyles: {}\n });\n\n if (!this.isOpened()) {\n return;\n }\n\n var _this$props5 = this.props,\n openDirection = _this$props5.openDirection,\n anchorDirection = _this$props5.anchorDirection,\n horizontalMargin = _this$props5.horizontalMargin,\n withPortal = _this$props5.withPortal,\n withFullScreenPortal = _this$props5.withFullScreenPortal,\n appendToBody = _this$props5.appendToBody;\n var dayPickerContainerStyles = this.state.dayPickerContainerStyles;\n var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;\n\n if (!withPortal && !withFullScreenPortal) {\n var containerRect = this.dayPickerContainer.getBoundingClientRect();\n var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;\n var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];\n this.setState({\n dayPickerContainerStyles: _objectSpread({}, (0, _getResponsiveContainerStyles[\"default\"])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles[\"default\"])(openDirection, anchorDirection, this.container))\n });\n }\n }\n\n return responsivizePickerPosition;\n }()\n }, {\n key: \"showKeyboardShortcutsPanel\",\n value: function () {\n function showKeyboardShortcutsPanel() {\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: true\n });\n }\n\n return showKeyboardShortcutsPanel;\n }()\n }, {\n key: \"maybeRenderDayPickerWithPortal\",\n value: function () {\n function maybeRenderDayPickerWithPortal() {\n var _this$props6 = this.props,\n withPortal = _this$props6.withPortal,\n withFullScreenPortal = _this$props6.withFullScreenPortal,\n appendToBody = _this$props6.appendToBody;\n\n if (!this.isOpened()) {\n return null;\n }\n\n if (withPortal || withFullScreenPortal || appendToBody) {\n return _react[\"default\"].createElement(_reactPortal.Portal, null, this.renderDayPicker());\n }\n\n return this.renderDayPicker();\n }\n\n return maybeRenderDayPickerWithPortal;\n }()\n }, {\n key: \"renderDayPicker\",\n value: function () {\n function renderDayPicker() {\n var _this$props7 = this.props,\n anchorDirection = _this$props7.anchorDirection,\n openDirection = _this$props7.openDirection,\n isDayBlocked = _this$props7.isDayBlocked,\n isDayHighlighted = _this$props7.isDayHighlighted,\n isOutsideRange = _this$props7.isOutsideRange,\n numberOfMonths = _this$props7.numberOfMonths,\n orientation = _this$props7.orientation,\n monthFormat = _this$props7.monthFormat,\n renderMonthText = _this$props7.renderMonthText,\n navPrev = _this$props7.navPrev,\n navNext = _this$props7.navNext,\n onPrevMonthClick = _this$props7.onPrevMonthClick,\n onNextMonthClick = _this$props7.onNextMonthClick,\n onDatesChange = _this$props7.onDatesChange,\n onFocusChange = _this$props7.onFocusChange,\n withPortal = _this$props7.withPortal,\n withFullScreenPortal = _this$props7.withFullScreenPortal,\n daySize = _this$props7.daySize,\n enableOutsideDays = _this$props7.enableOutsideDays,\n focusedInput = _this$props7.focusedInput,\n startDate = _this$props7.startDate,\n startDateOffset = _this$props7.startDateOffset,\n endDate = _this$props7.endDate,\n endDateOffset = _this$props7.endDateOffset,\n minimumNights = _this$props7.minimumNights,\n keepOpenOnDateSelect = _this$props7.keepOpenOnDateSelect,\n renderCalendarDay = _this$props7.renderCalendarDay,\n renderDayContents = _this$props7.renderDayContents,\n renderCalendarInfo = _this$props7.renderCalendarInfo,\n renderMonthElement = _this$props7.renderMonthElement,\n calendarInfoPosition = _this$props7.calendarInfoPosition,\n firstDayOfWeek = _this$props7.firstDayOfWeek,\n initialVisibleMonth = _this$props7.initialVisibleMonth,\n hideKeyboardShortcutsPanel = _this$props7.hideKeyboardShortcutsPanel,\n customCloseIcon = _this$props7.customCloseIcon,\n onClose = _this$props7.onClose,\n phrases = _this$props7.phrases,\n dayAriaLabelFormat = _this$props7.dayAriaLabelFormat,\n isRTL = _this$props7.isRTL,\n weekDayFormat = _this$props7.weekDayFormat,\n styles = _this$props7.styles,\n verticalHeight = _this$props7.verticalHeight,\n transitionDuration = _this$props7.transitionDuration,\n verticalSpacing = _this$props7.verticalSpacing,\n horizontalMonthPadding = _this$props7.horizontalMonthPadding,\n small = _this$props7.small,\n disabled = _this$props7.disabled,\n reactDates = _this$props7.theme.reactDates;\n var _this$state = this.state,\n dayPickerContainerStyles = _this$state.dayPickerContainerStyles,\n isDayPickerFocused = _this$state.isDayPickerFocused,\n showKeyboardShortcuts = _this$state.showKeyboardShortcuts;\n var onOutsideClick = !withFullScreenPortal && withPortal ? this.onOutsideClick : undefined;\n\n var initialVisibleMonthThunk = initialVisibleMonth || function () {\n return startDate || endDate || (0, _moment[\"default\"])();\n };\n\n var closeIcon = customCloseIcon || _react[\"default\"].createElement(_CloseButton[\"default\"], (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton_svg));\n\n var inputHeight = (0, _getInputHeight[\"default\"])(reactDates, small);\n var withAnyPortal = withPortal || withFullScreenPortal;\n return _react[\"default\"].createElement(\"div\", _extends({\n // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref: this.setDayPickerContainerRef\n }, (0, _reactWithStyles.css)(styles.DateRangePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.DateRangePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.DateRangePicker_picker__directionRight, orientation === _constants.HORIZONTAL_ORIENTATION && styles.DateRangePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.DateRangePicker_picker__vertical, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing\n }, !withAnyPortal && openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing\n }, withAnyPortal && styles.DateRangePicker_picker__portal, withFullScreenPortal && styles.DateRangePicker_picker__fullScreenPortal, isRTL && styles.DateRangePicker_picker__rtl, dayPickerContainerStyles), {\n onClick: onOutsideClick\n }), _react[\"default\"].createElement(_DayPickerRangeController[\"default\"], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n numberOfMonths: numberOfMonths,\n onPrevMonthClick: onPrevMonthClick,\n onNextMonthClick: onNextMonthClick,\n onDatesChange: onDatesChange,\n onFocusChange: onFocusChange,\n onClose: onClose,\n focusedInput: focusedInput,\n startDate: startDate,\n startDateOffset: startDateOffset,\n endDate: endDate,\n endDateOffset: endDateOffset,\n monthFormat: monthFormat,\n renderMonthText: renderMonthText,\n withPortal: withAnyPortal,\n daySize: daySize,\n initialVisibleMonth: initialVisibleMonthThunk,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n navPrev: navPrev,\n navNext: navNext,\n minimumNights: minimumNights,\n isOutsideRange: isOutsideRange,\n isDayHighlighted: isDayHighlighted,\n isDayBlocked: isDayBlocked,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isDayPickerFocused,\n showKeyboardShortcuts: showKeyboardShortcuts,\n onBlur: this.onDayPickerBlur,\n phrases: phrases,\n dayAriaLabelFormat: dayAriaLabelFormat,\n isRTL: isRTL,\n firstDayOfWeek: firstDayOfWeek,\n weekDayFormat: weekDayFormat,\n verticalHeight: verticalHeight,\n transitionDuration: transitionDuration,\n disabled: disabled,\n horizontalMonthPadding: horizontalMonthPadding\n }), withFullScreenPortal && _react[\"default\"].createElement(\"button\", _extends({}, (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton), {\n type: \"button\",\n onClick: this.onOutsideClick,\n \"aria-label\": phrases.closeDatePicker\n }), closeIcon));\n }\n\n return renderDayPicker;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props8 = this.props,\n startDate = _this$props8.startDate,\n startDateId = _this$props8.startDateId,\n startDatePlaceholderText = _this$props8.startDatePlaceholderText,\n endDate = _this$props8.endDate,\n endDateId = _this$props8.endDateId,\n endDatePlaceholderText = _this$props8.endDatePlaceholderText,\n focusedInput = _this$props8.focusedInput,\n screenReaderInputMessage = _this$props8.screenReaderInputMessage,\n showClearDates = _this$props8.showClearDates,\n showDefaultInputIcon = _this$props8.showDefaultInputIcon,\n inputIconPosition = _this$props8.inputIconPosition,\n customInputIcon = _this$props8.customInputIcon,\n customArrowIcon = _this$props8.customArrowIcon,\n customCloseIcon = _this$props8.customCloseIcon,\n disabled = _this$props8.disabled,\n required = _this$props8.required,\n readOnly = _this$props8.readOnly,\n openDirection = _this$props8.openDirection,\n phrases = _this$props8.phrases,\n isOutsideRange = _this$props8.isOutsideRange,\n minimumNights = _this$props8.minimumNights,\n withPortal = _this$props8.withPortal,\n withFullScreenPortal = _this$props8.withFullScreenPortal,\n displayFormat = _this$props8.displayFormat,\n reopenPickerOnClearDates = _this$props8.reopenPickerOnClearDates,\n keepOpenOnDateSelect = _this$props8.keepOpenOnDateSelect,\n onDatesChange = _this$props8.onDatesChange,\n onClose = _this$props8.onClose,\n isRTL = _this$props8.isRTL,\n noBorder = _this$props8.noBorder,\n block = _this$props8.block,\n verticalSpacing = _this$props8.verticalSpacing,\n small = _this$props8.small,\n regular = _this$props8.regular,\n styles = _this$props8.styles;\n var isDateRangePickerInputFocused = this.state.isDateRangePickerInputFocused;\n var enableOutsideClick = !withPortal && !withFullScreenPortal;\n var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;\n\n var input = _react[\"default\"].createElement(_DateRangePickerInputController[\"default\"], {\n startDate: startDate,\n startDateId: startDateId,\n startDatePlaceholderText: startDatePlaceholderText,\n isStartDateFocused: focusedInput === _constants.START_DATE,\n endDate: endDate,\n endDateId: endDateId,\n endDatePlaceholderText: endDatePlaceholderText,\n isEndDateFocused: focusedInput === _constants.END_DATE,\n displayFormat: displayFormat,\n showClearDates: showClearDates,\n showCaret: !withPortal && !withFullScreenPortal && !hideFang,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customInputIcon: customInputIcon,\n customArrowIcon: customArrowIcon,\n customCloseIcon: customCloseIcon,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n reopenPickerOnClearDates: reopenPickerOnClearDates,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n isOutsideRange: isOutsideRange,\n minimumNights: minimumNights,\n withFullScreenPortal: withFullScreenPortal,\n onDatesChange: onDatesChange,\n onFocusChange: this.onDateRangePickerInputFocus,\n onKeyDownArrowDown: this.onDayPickerFocus,\n onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,\n onClose: onClose,\n phrases: phrases,\n screenReaderMessage: screenReaderInputMessage,\n isFocused: isDateRangePickerInputFocused,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n }, this.maybeRenderDayPickerWithPortal());\n\n return _react[\"default\"].createElement(\"div\", _extends({\n ref: this.setContainerRef\n }, (0, _reactWithStyles.css)(styles.DateRangePicker, block && styles.DateRangePicker__block)), enableOutsideClick && _react[\"default\"].createElement(_reactOutsideClickHandler[\"default\"], {\n onOutsideClick: this.onOutsideClick\n }, input), enableOutsideClick || input);\n }\n\n return render;\n }()\n }]);\n\n return DateRangePicker;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports.PureDateRangePicker = DateRangePicker;\nDateRangePicker.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDateRangePicker.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n zIndex = _ref2$reactDates.zIndex;\n return {\n DateRangePicker: {\n position: 'relative',\n display: 'inline-block'\n },\n DateRangePicker__block: {\n display: 'block'\n },\n DateRangePicker_picker: {\n zIndex: zIndex + 1,\n backgroundColor: color.background,\n position: 'absolute'\n },\n DateRangePicker_picker__rtl: {\n direction: (0, _noflip[\"default\"])('rtl')\n },\n DateRangePicker_picker__directionLeft: {\n left: (0, _noflip[\"default\"])(0)\n },\n DateRangePicker_picker__directionRight: {\n right: (0, _noflip[\"default\"])(0)\n },\n DateRangePicker_picker__portal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n position: 'fixed',\n top: 0,\n left: (0, _noflip[\"default\"])(0),\n height: '100%',\n width: '100%'\n },\n DateRangePicker_picker__fullScreenPortal: {\n backgroundColor: color.background\n },\n DateRangePicker_closeButton: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n position: 'absolute',\n top: 0,\n right: (0, _noflip[\"default\"])(0),\n padding: 15,\n zIndex: zIndex + 2,\n ':hover': {\n color: \"darken(\".concat(color.core.grayLighter, \", 10%)\"),\n textDecoration: 'none'\n },\n ':focus': {\n color: \"darken(\".concat(color.core.grayLighter, \", 10%)\"),\n textDecoration: 'none'\n }\n },\n DateRangePicker_closeButton_svg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DateRangePicker);\n\nexports[\"default\"] = _default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _consolidatedEvents = require('consolidated-events');\n\nvar _object = require('object.values');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _document = require('document.contains');\n\nvar _document2 = _interopRequireDefault(_document);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DISPLAY = {\n BLOCK: 'block',\n FLEX: 'flex',\n INLINE_BLOCK: 'inline-block'\n};\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n children: _propTypes2['default'].node.isRequired,\n onOutsideClick: _propTypes2['default'].func.isRequired,\n disabled: _propTypes2['default'].bool,\n useCapture: _propTypes2['default'].bool,\n display: _propTypes2['default'].oneOf((0, _object2['default'])(DISPLAY))\n});\n\nvar defaultProps = {\n disabled: false,\n\n // `useCapture` is set to true by default so that a `stopPropagation` in the\n // children will not prevent all outside click handlers from firing - maja\n useCapture: true,\n display: DISPLAY.BLOCK\n};\n\nvar OutsideClickHandler = function (_React$Component) {\n _inherits(OutsideClickHandler, _React$Component);\n\n function OutsideClickHandler() {\n var _ref;\n\n _classCallCheck(this, OutsideClickHandler);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = OutsideClickHandler.__proto__ || Object.getPrototypeOf(OutsideClickHandler)).call.apply(_ref, [this].concat(args)));\n\n _this.onMouseDown = _this.onMouseDown.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n _this.setChildNodeRef = _this.setChildNodeRef.bind(_this);\n return _this;\n }\n\n _createClass(OutsideClickHandler, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n var _props = this.props,\n disabled = _props.disabled,\n useCapture = _props.useCapture;\n\n\n if (!disabled) this.addMouseDownEventListener(useCapture);\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(_ref2) {\n var disabled = _ref2.disabled,\n useCapture = _ref2.useCapture;\n var prevDisabled = this.props.disabled;\n\n if (prevDisabled !== disabled) {\n if (disabled) {\n this.removeEventListeners();\n } else {\n this.addMouseDownEventListener(useCapture);\n }\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n this.removeEventListeners();\n }\n\n return componentWillUnmount;\n }()\n\n // Use mousedown/mouseup to enforce that clicks remain outside the root's\n // descendant tree, even when dragged. This should also get triggered on\n // touch devices.\n\n }, {\n key: 'onMouseDown',\n value: function () {\n function onMouseDown(e) {\n var useCapture = this.props.useCapture;\n\n\n var isDescendantOfRoot = this.childNode && (0, _document2['default'])(this.childNode, e.target);\n if (!isDescendantOfRoot) {\n this.removeMouseUp = (0, _consolidatedEvents.addEventListener)(document, 'mouseup', this.onMouseUp, { capture: useCapture });\n }\n }\n\n return onMouseDown;\n }()\n\n // Use mousedown/mouseup to enforce that clicks remain outside the root's\n // descendant tree, even when dragged. This should also get triggered on\n // touch devices.\n\n }, {\n key: 'onMouseUp',\n value: function () {\n function onMouseUp(e) {\n var onOutsideClick = this.props.onOutsideClick;\n\n\n var isDescendantOfRoot = this.childNode && (0, _document2['default'])(this.childNode, e.target);\n if (this.removeMouseUp) this.removeMouseUp();\n this.removeMouseUp = null;\n\n if (!isDescendantOfRoot) {\n onOutsideClick(e);\n }\n }\n\n return onMouseUp;\n }()\n }, {\n key: 'setChildNodeRef',\n value: function () {\n function setChildNodeRef(ref) {\n this.childNode = ref;\n }\n\n return setChildNodeRef;\n }()\n }, {\n key: 'addMouseDownEventListener',\n value: function () {\n function addMouseDownEventListener(useCapture) {\n this.removeMouseDown = (0, _consolidatedEvents.addEventListener)(document, 'mousedown', this.onMouseDown, { capture: useCapture });\n }\n\n return addMouseDownEventListener;\n }()\n }, {\n key: 'removeEventListeners',\n value: function () {\n function removeEventListeners() {\n if (this.removeMouseDown) this.removeMouseDown();\n if (this.removeMouseUp) this.removeMouseUp();\n }\n\n return removeEventListeners;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props2 = this.props,\n children = _props2.children,\n display = _props2.display;\n\n\n return _react2['default'].createElement(\n 'div',\n {\n ref: this.setChildNodeRef,\n style: display !== DISPLAY.BLOCK && (0, _object2['default'])(DISPLAY).includes(display) ? { display: display } : undefined\n },\n children\n );\n }\n\n return render;\n }()\n }]);\n\n return OutsideClickHandler;\n}(_react2['default'].Component);\n\nexports['default'] = OutsideClickHandler;\n\n\nOutsideClickHandler.propTypes = propTypes;\nOutsideClickHandler.defaultProps = defaultProps;","'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nmodule.exports = require('./es2016');\n","'use strict';\n\nvar ES2015 = require('./es2015');\nvar assign = require('./helpers/assign');\n\nvar ES2016 = assign(assign({}, ES2015), {\n\t// https://github.com/tc39/ecma262/pull/60\n\tSameValueNonNumber: function SameValueNonNumber(x, y) {\n\t\tif (typeof x === 'number' || typeof x !== typeof y) {\n\t\t\tthrow new TypeError('SameValueNonNumber requires two non-number values of the same type.');\n\t\t}\n\t\treturn this.SameValue(x, y);\n\t}\n});\n\nmodule.exports = ES2016;\n","'use strict';\n\nvar has = require('has');\nvar toPrimitive = require('es-to-primitive/es6');\nvar keys = require('object-keys');\n\nvar GetIntrinsic = require('./GetIntrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $Array = GetIntrinsic('%Array%');\nvar $String = GetIntrinsic('%String%');\nvar $Object = GetIntrinsic('%Object%');\nvar $Number = GetIntrinsic('%Number%');\nvar $Symbol = GetIntrinsic('%Symbol%', true);\nvar $RegExp = GetIntrinsic('%RegExp%');\n\nvar hasSymbols = !!$Symbol;\n\nvar assertRecord = require('./helpers/assertRecord');\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\nvar MAX_SAFE_INTEGER = $Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nvar assign = require('./helpers/assign');\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\nvar isPrimitive = require('./helpers/isPrimitive');\nvar parseInteger = parseInt;\nvar bind = require('function-bind');\nvar arraySlice = bind.call(Function.call, $Array.prototype.slice);\nvar strSlice = bind.call(Function.call, $String.prototype.slice);\nvar isBinary = bind.call(Function.call, $RegExp.prototype.test, /^0b[01]+$/i);\nvar isOctal = bind.call(Function.call, $RegExp.prototype.test, /^0o[0-7]+$/i);\nvar regexExec = bind.call(Function.call, $RegExp.prototype.exec);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new $RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = bind.call(Function.call, $RegExp.prototype.test, nonWSregex);\nvar invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;\nvar isInvalidHexLiteral = bind.call(Function.call, $RegExp.prototype.test, invalidHexLiteral);\nvar $charCodeAt = bind.call(Function.call, $String.prototype.charCodeAt);\n\nvar toStr = bind.call(Function.call, Object.prototype.toString);\n\nvar $NumberValueOf = bind.call(Function.call, GetIntrinsic('%NumberPrototype%').valueOf);\nvar $BooleanValueOf = bind.call(Function.call, GetIntrinsic('%BooleanPrototype%').valueOf);\nvar $StringValueOf = bind.call(Function.call, GetIntrinsic('%StringPrototype%').valueOf);\nvar $DateValueOf = bind.call(Function.call, GetIntrinsic('%DatePrototype%').valueOf);\n\nvar $floor = Math.floor;\nvar $abs = Math.abs;\n\nvar $ObjectCreate = Object.create;\nvar $gOPD = $Object.getOwnPropertyDescriptor;\n\nvar $isExtensible = $Object.isExtensible;\n\nvar $defineProperty = $Object.defineProperty;\n\n// whitespace from: http://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = [\n\t'\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n\t'\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n\t'\\u2029\\uFEFF'\n].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar replace = bind.call(Function.call, $String.prototype.replace);\nvar trim = function (value) {\n\treturn replace(value, trimRegex, '');\n};\n\nvar ES5 = require('./es5');\n\nvar hasRegExpMatcher = require('is-regex');\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations\nvar ES6 = assign(assign({}, ES5), {\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args\n\tCall: function Call(F, V) {\n\t\tvar args = arguments.length > 2 ? arguments[2] : [];\n\t\tif (!this.IsCallable(F)) {\n\t\t\tthrow new $TypeError(F + ' is not a function');\n\t\t}\n\t\treturn F.apply(V, args);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive\n\tToPrimitive: toPrimitive,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean\n\t// ToBoolean: ES5.ToBoolean,\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-tonumber\n\tToNumber: function ToNumber(argument) {\n\t\tvar value = isPrimitive(argument) ? argument : toPrimitive(argument, $Number);\n\t\tif (typeof value === 'symbol') {\n\t\t\tthrow new $TypeError('Cannot convert a Symbol value to a number');\n\t\t}\n\t\tif (typeof value === 'string') {\n\t\t\tif (isBinary(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 2));\n\t\t\t} else if (isOctal(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 8));\n\t\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\t\treturn NaN;\n\t\t\t} else {\n\t\t\t\tvar trimmed = trim(value);\n\t\t\t\tif (trimmed !== value) {\n\t\t\t\t\treturn this.ToNumber(trimmed);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn $Number(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger\n\t// ToInteger: ES5.ToNumber,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32\n\t// ToInt32: ES5.ToInt32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32\n\t// ToUint32: ES5.ToUint32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16\n\tToInt16: function ToInt16(argument) {\n\t\tvar int16bit = this.ToUint16(argument);\n\t\treturn int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16\n\t// ToUint16: ES5.ToUint16,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8\n\tToInt8: function ToInt8(argument) {\n\t\tvar int8bit = this.ToUint8(argument);\n\t\treturn int8bit >= 0x80 ? int8bit - 0x100 : int8bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8\n\tToUint8: function ToUint8(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * $floor($abs(number));\n\t\treturn mod(posInt, 0x100);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp\n\tToUint8Clamp: function ToUint8Clamp(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number <= 0) { return 0; }\n\t\tif (number >= 0xFF) { return 0xFF; }\n\t\tvar f = $floor(argument);\n\t\tif (f + 0.5 < number) { return f + 1; }\n\t\tif (number < f + 0.5) { return f; }\n\t\tif (f % 2 !== 0) { return f + 1; }\n\t\treturn f;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring\n\tToString: function ToString(argument) {\n\t\tif (typeof argument === 'symbol') {\n\t\t\tthrow new $TypeError('Cannot convert a Symbol value to a string');\n\t\t}\n\t\treturn $String(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject\n\tToObject: function ToObject(value) {\n\t\tthis.RequireObjectCoercible(value);\n\t\treturn $Object(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey\n\tToPropertyKey: function ToPropertyKey(argument) {\n\t\tvar key = this.ToPrimitive(argument, $String);\n\t\treturn typeof key === 'symbol' ? key : this.ToString(key);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\tToLength: function ToLength(argument) {\n\t\tvar len = this.ToInteger(argument);\n\t\tif (len <= 0) { return 0; } // includes converting -0 to +0\n\t\tif (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }\n\t\treturn len;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring\n\tCanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {\n\t\tif (toStr(argument) !== '[object String]') {\n\t\t\tthrow new $TypeError('must be a string');\n\t\t}\n\t\tif (argument === '-0') { return -0; }\n\t\tvar n = this.ToNumber(argument);\n\t\tif (this.SameValue(this.ToString(n), argument)) { return n; }\n\t\treturn void 0;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible\n\tRequireObjectCoercible: ES5.CheckObjectCoercible,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray\n\tIsArray: $Array.isArray || function IsArray(argument) {\n\t\treturn toStr(argument) === '[object Array]';\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable\n\t// IsCallable: ES5.IsCallable,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor\n\tIsConstructor: function IsConstructor(argument) {\n\t\treturn typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o\n\tIsExtensible: Object.preventExtensions\n\t\t? function IsExtensible(obj) {\n\t\t\tif (isPrimitive(obj)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn $isExtensible(obj);\n\t\t}\n\t\t: function isExtensible(obj) { return true; }, // eslint-disable-line no-unused-vars\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger\n\tIsInteger: function IsInteger(argument) {\n\t\tif (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {\n\t\t\treturn false;\n\t\t}\n\t\tvar abs = $abs(argument);\n\t\treturn $floor(abs) === abs;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey\n\tIsPropertyKey: function IsPropertyKey(argument) {\n\t\treturn typeof argument === 'string' || typeof argument === 'symbol';\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-isregexp\n\tIsRegExp: function IsRegExp(argument) {\n\t\tif (!argument || typeof argument !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols) {\n\t\t\tvar isRegExp = argument[$Symbol.match];\n\t\t\tif (typeof isRegExp !== 'undefined') {\n\t\t\t\treturn ES5.ToBoolean(isRegExp);\n\t\t\t}\n\t\t}\n\t\treturn hasRegExpMatcher(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue\n\t// SameValue: ES5.SameValue,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero\n\tSameValueZero: function SameValueZero(x, y) {\n\t\treturn (x === y) || ($isNaN(x) && $isNaN(y));\n\t},\n\n\t/**\n\t * 7.3.2 GetV (V, P)\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let O be ToObject(V).\n\t * 3. ReturnIfAbrupt(O).\n\t * 4. Return O.[[Get]](P, V).\n\t */\n\tGetV: function GetV(V, P) {\n\t\t// 7.3.2.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.2.2-3\n\t\tvar O = this.ToObject(V);\n\n\t\t// 7.3.2.4\n\t\treturn O[P];\n\t},\n\n\t/**\n\t * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let func be GetV(O, P).\n\t * 3. ReturnIfAbrupt(func).\n\t * 4. If func is either undefined or null, return undefined.\n\t * 5. If IsCallable(func) is false, throw a TypeError exception.\n\t * 6. Return func.\n\t */\n\tGetMethod: function GetMethod(O, P) {\n\t\t// 7.3.9.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.9.2\n\t\tvar func = this.GetV(O, P);\n\n\t\t// 7.3.9.4\n\t\tif (func == null) {\n\t\t\treturn void 0;\n\t\t}\n\n\t\t// 7.3.9.5\n\t\tif (!this.IsCallable(func)) {\n\t\t\tthrow new $TypeError(P + 'is not a function');\n\t\t}\n\n\t\t// 7.3.9.6\n\t\treturn func;\n\t},\n\n\t/**\n\t * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p\n\t * 1. Assert: Type(O) is Object.\n\t * 2. Assert: IsPropertyKey(P) is true.\n\t * 3. Return O.[[Get]](P, O).\n\t */\n\tGet: function Get(O, P) {\n\t\t// 7.3.1.1\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\t// 7.3.1.2\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\t// 7.3.1.3\n\t\treturn O[P];\n\t},\n\n\tType: function Type(x) {\n\t\tif (typeof x === 'symbol') {\n\t\t\treturn 'Symbol';\n\t\t}\n\t\treturn ES5.Type(x);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor\n\tSpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tvar C = O.constructor;\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.Type(C) !== 'Object') {\n\t\t\tthrow new $TypeError('O.constructor is not an Object');\n\t\t}\n\t\tvar S = hasSymbols && $Symbol.species ? C[$Symbol.species] : void 0;\n\t\tif (S == null) {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.IsConstructor(S)) {\n\t\t\treturn S;\n\t\t}\n\t\tthrow new $TypeError('no constructor found');\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor\n\tCompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {\n\t\tassertRecord(this, 'Property Descriptor', 'Desc', Desc);\n\n\t\tif (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {\n\t\t\tif (!has(Desc, '[[Value]]')) {\n\t\t\t\tDesc['[[Value]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Writable]]')) {\n\t\t\t\tDesc['[[Writable]]'] = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!has(Desc, '[[Get]]')) {\n\t\t\t\tDesc['[[Get]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Set]]')) {\n\t\t\t\tDesc['[[Set]]'] = void 0;\n\t\t\t}\n\t\t}\n\t\tif (!has(Desc, '[[Enumerable]]')) {\n\t\t\tDesc['[[Enumerable]]'] = false;\n\t\t}\n\t\tif (!has(Desc, '[[Configurable]]')) {\n\t\t\tDesc['[[Configurable]]'] = false;\n\t\t}\n\t\treturn Desc;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw\n\tSet: function Set(O, P, V, Throw) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\tif (this.Type(Throw) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Throw must be a Boolean');\n\t\t}\n\t\tif (Throw) {\n\t\t\tO[P] = V;\n\t\t\treturn true;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tO[P] = V;\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty\n\tHasOwnProperty: function HasOwnProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\treturn has(O, P);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\tHasProperty: function HasProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\treturn P in O;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable\n\tIsConcatSpreadable: function IsConcatSpreadable(O) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols && typeof $Symbol.isConcatSpreadable === 'symbol') {\n\t\t\tvar spreadable = this.Get(O, Symbol.isConcatSpreadable);\n\t\t\tif (typeof spreadable !== 'undefined') {\n\t\t\t\treturn this.ToBoolean(spreadable);\n\t\t\t}\n\t\t}\n\t\treturn this.IsArray(O);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-invoke\n\tInvoke: function Invoke(O, P) {\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\tvar argumentsList = arraySlice(arguments, 2);\n\t\tvar func = this.GetV(O, P);\n\t\treturn this.Call(func, O, argumentsList);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-getiterator\n\tGetIterator: function GetIterator(obj, method) {\n\t\tif (!hasSymbols) {\n\t\t\tthrow new SyntaxError('ES.GetIterator depends on native iterator support.');\n\t\t}\n\n\t\tvar actualMethod = method;\n\t\tif (arguments.length < 2) {\n\t\t\tactualMethod = this.GetMethod(obj, $Symbol.iterator);\n\t\t}\n\t\tvar iterator = this.Call(actualMethod, obj);\n\t\tif (this.Type(iterator) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator must return an object');\n\t\t}\n\n\t\treturn iterator;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext\n\tIteratorNext: function IteratorNext(iterator, value) {\n\t\tvar result = this.Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);\n\t\tif (this.Type(result) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator next must return an object');\n\t\t}\n\t\treturn result;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete\n\tIteratorComplete: function IteratorComplete(iterResult) {\n\t\tif (this.Type(iterResult) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterResult) is not Object');\n\t\t}\n\t\treturn this.ToBoolean(this.Get(iterResult, 'done'));\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue\n\tIteratorValue: function IteratorValue(iterResult) {\n\t\tif (this.Type(iterResult) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterResult) is not Object');\n\t\t}\n\t\treturn this.Get(iterResult, 'value');\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep\n\tIteratorStep: function IteratorStep(iterator) {\n\t\tvar result = this.IteratorNext(iterator);\n\t\tvar done = this.IteratorComplete(result);\n\t\treturn done === true ? false : result;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose\n\tIteratorClose: function IteratorClose(iterator, completion) {\n\t\tif (this.Type(iterator) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterator) is not Object');\n\t\t}\n\t\tif (!this.IsCallable(completion)) {\n\t\t\tthrow new $TypeError('Assertion failed: completion is not a thunk for a Completion Record');\n\t\t}\n\t\tvar completionThunk = completion;\n\n\t\tvar iteratorReturn = this.GetMethod(iterator, 'return');\n\n\t\tif (typeof iteratorReturn === 'undefined') {\n\t\t\treturn completionThunk();\n\t\t}\n\n\t\tvar completionRecord;\n\t\ttry {\n\t\t\tvar innerResult = this.Call(iteratorReturn, iterator, []);\n\t\t} catch (e) {\n\t\t\t// if we hit here, then \"e\" is the innerResult completion that needs re-throwing\n\n\t\t\t// if the completion is of type \"throw\", this will throw.\n\t\t\tcompletionRecord = completionThunk();\n\t\t\tcompletionThunk = null; // ensure it's not called twice.\n\n\t\t\t// if not, then return the innerResult completion\n\t\t\tthrow e;\n\t\t}\n\t\tcompletionRecord = completionThunk(); // if innerResult worked, then throw if the completion does\n\t\tcompletionThunk = null; // ensure it's not called twice.\n\n\t\tif (this.Type(innerResult) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator .return must return an object');\n\t\t}\n\n\t\treturn completionRecord;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject\n\tCreateIterResultObject: function CreateIterResultObject(value, done) {\n\t\tif (this.Type(done) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(done) is not Boolean');\n\t\t}\n\t\treturn {\n\t\t\tvalue: value,\n\t\t\tdone: done\n\t\t};\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec\n\tRegExpExec: function RegExpExec(R, S) {\n\t\tif (this.Type(R) !== 'Object') {\n\t\t\tthrow new $TypeError('R must be an Object');\n\t\t}\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new $TypeError('S must be a String');\n\t\t}\n\t\tvar exec = this.Get(R, 'exec');\n\t\tif (this.IsCallable(exec)) {\n\t\t\tvar result = this.Call(exec, R, [S]);\n\t\t\tif (result === null || this.Type(result) === 'Object') {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tthrow new $TypeError('\"exec\" method must return `null` or an Object');\n\t\t}\n\t\treturn regexExec(R, S);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate\n\tArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {\n\t\tif (!this.IsInteger(length) || length < 0) {\n\t\t\tthrow new $TypeError('Assertion failed: length must be an integer >= 0');\n\t\t}\n\t\tvar len = length === 0 ? 0 : length;\n\t\tvar C;\n\t\tvar isArray = this.IsArray(originalArray);\n\t\tif (isArray) {\n\t\t\tC = this.Get(originalArray, 'constructor');\n\t\t\t// TODO: figure out how to make a cross-realm normal Array, a same-realm Array\n\t\t\t// if (this.IsConstructor(C)) {\n\t\t\t// \tif C is another realm's Array, C = undefined\n\t\t\t// \tObject.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?\n\t\t\t// }\n\t\t\tif (this.Type(C) === 'Object' && hasSymbols && $Symbol.species) {\n\t\t\t\tC = this.Get(C, $Symbol.species);\n\t\t\t\tif (C === null) {\n\t\t\t\t\tC = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn $Array(len);\n\t\t}\n\t\tif (!this.IsConstructor(C)) {\n\t\t\tthrow new $TypeError('C must be a constructor');\n\t\t}\n\t\treturn new C(len); // this.Construct(C, len);\n\t},\n\n\tCreateDataProperty: function CreateDataProperty(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar oldDesc = $gOPD(O, P);\n\t\tvar extensible = oldDesc || (typeof $isExtensible !== 'function' || $isExtensible(O));\n\t\tvar immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);\n\t\tif (immutable || !extensible) {\n\t\t\treturn false;\n\t\t}\n\t\tvar newDesc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tvalue: V,\n\t\t\twritable: true\n\t\t};\n\t\t$defineProperty(O, P, newDesc);\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow\n\tCreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar success = this.CreateDataProperty(O, P, V);\n\t\tif (!success) {\n\t\t\tthrow new $TypeError('unable to create data property');\n\t\t}\n\t\treturn success;\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate\n\tObjectCreate: function ObjectCreate(proto, internalSlotsList) {\n\t\tif (proto !== null && this.Type(proto) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: proto must be null or an object');\n\t\t}\n\t\tvar slots = arguments.length < 2 ? [] : internalSlotsList;\n\t\tif (slots.length > 0) {\n\t\t\tthrow new $SyntaxError('es-abstract does not yet support internal slots');\n\t\t}\n\n\t\tif (proto === null && !$ObjectCreate) {\n\t\t\tthrow new $SyntaxError('native Object.create support is required to create null objects');\n\t\t}\n\n\t\treturn $ObjectCreate(proto);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex\n\tAdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new $TypeError('S must be a String');\n\t\t}\n\t\tif (!this.IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {\n\t\t\tthrow new $TypeError('Assertion failed: length must be an integer >= 0 and <= 2**53');\n\t\t}\n\t\tif (this.Type(unicode) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Assertion failed: unicode must be a Boolean');\n\t\t}\n\t\tif (!unicode) {\n\t\t\treturn index + 1;\n\t\t}\n\t\tvar length = S.length;\n\t\tif ((index + 1) >= length) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar first = $charCodeAt(S, index);\n\t\tif (first < 0xD800 || first > 0xDBFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar second = $charCodeAt(S, index + 1);\n\t\tif (second < 0xDC00 || second > 0xDFFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\treturn index + 2;\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-createmethodproperty\n\tCreateMethodProperty: function CreateMethodProperty(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\tvar newDesc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: V,\n\t\t\twritable: true\n\t\t};\n\t\treturn !!$defineProperty(O, P, newDesc);\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow\n\tDefinePropertyOrThrow: function DefinePropertyOrThrow(O, P, desc) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\treturn !!$defineProperty(O, P, desc);\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow\n\tDeletePropertyOrThrow: function DeletePropertyOrThrow(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\tvar success = delete O[P];\n\t\tif (!success) {\n\t\t\tthrow new TypeError('Attempt to delete property failed.');\n\t\t}\n\t\treturn success;\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-enumerableownnames\n\tEnumerableOwnNames: function EnumerableOwnNames(O) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\n\t\treturn keys(O);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object\n\tthisNumberValue: function thisNumberValue(value) {\n\t\tif (this.Type(value) === 'Number') {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn $NumberValueOf(value);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object\n\tthisBooleanValue: function thisBooleanValue(value) {\n\t\tif (this.Type(value) === 'Boolean') {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn $BooleanValueOf(value);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object\n\tthisStringValue: function thisStringValue(value) {\n\t\tif (this.Type(value) === 'String') {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn $StringValueOf(value);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object\n\tthisTimeValue: function thisTimeValue(value) {\n\t\treturn $DateValueOf(value);\n\t}\n});\n\ndelete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible\n\nmodule.exports = ES6;\n","'use strict';\n\nmodule.exports = require('./es2015');\n","'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n\treturn void 0;\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (arguments[1] === String) {\n\t\t\thint = 'string';\n\t\t} else if (arguments[1] === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar origSymbol = global.Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 17], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar GetIntrinsic = require('./GetIntrinsic');\n\nvar $Object = GetIntrinsic('%Object%');\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $String = GetIntrinsic('%String%');\n\nvar assertRecord = require('./helpers/assertRecord');\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\n\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\n\nvar IsCallable = require('is-callable');\nvar toPrimitive = require('es-to-primitive/es5');\n\nvar has = require('has');\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn !!value;\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn +value; // eslint-disable-line no-implicit-coercion\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) { return 0; }\n\t\tif (number === 0 || !$isFinite(number)) { return number; }\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn $String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn $Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new $TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) { // 0 === -0, but they are not identical.\n\t\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type\n\tIsPropertyDescriptor: function IsPropertyDescriptor(Desc) {\n\t\tif (this.Type(Desc) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tvar allowed = {\n\t\t\t'[[Configurable]]': true,\n\t\t\t'[[Enumerable]]': true,\n\t\t\t'[[Get]]': true,\n\t\t\t'[[Set]]': true,\n\t\t\t'[[Value]]': true,\n\t\t\t'[[Writable]]': true\n\t\t};\n\n\t\tfor (var key in Desc) { // eslint-disable-line\n\t\t\tif (has(Desc, key) && !allowed[key]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tvar isData = has(Desc, '[[Value]]');\n\t\tvar IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');\n\t\tif (isData && IsAccessor) {\n\t\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t\t}\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.1\n\tIsAccessorDescriptor: function IsAccessorDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tassertRecord(this, 'Property Descriptor', 'Desc', Desc);\n\n\t\tif (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.2\n\tIsDataDescriptor: function IsDataDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tassertRecord(this, 'Property Descriptor', 'Desc', Desc);\n\n\t\tif (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.3\n\tIsGenericDescriptor: function IsGenericDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tassertRecord(this, 'Property Descriptor', 'Desc', Desc);\n\n\t\tif (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.4\n\tFromPropertyDescriptor: function FromPropertyDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn Desc;\n\t\t}\n\n\t\tassertRecord(this, 'Property Descriptor', 'Desc', Desc);\n\n\t\tif (this.IsDataDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tvalue: Desc['[[Value]]'],\n\t\t\t\twritable: !!Desc['[[Writable]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else if (this.IsAccessorDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tget: Desc['[[Get]]'],\n\t\t\t\tset: Desc['[[Set]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else {\n\t\t\tthrow new $TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5\n\tToPropertyDescriptor: function ToPropertyDescriptor(Obj) {\n\t\tif (this.Type(Obj) !== 'Object') {\n\t\t\tthrow new $TypeError('ToPropertyDescriptor requires an object');\n\t\t}\n\n\t\tvar desc = {};\n\t\tif (has(Obj, 'enumerable')) {\n\t\t\tdesc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);\n\t\t}\n\t\tif (has(Obj, 'configurable')) {\n\t\t\tdesc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);\n\t\t}\n\t\tif (has(Obj, 'value')) {\n\t\t\tdesc['[[Value]]'] = Obj.value;\n\t\t}\n\t\tif (has(Obj, 'writable')) {\n\t\t\tdesc['[[Writable]]'] = this.ToBoolean(Obj.writable);\n\t\t}\n\t\tif (has(Obj, 'get')) {\n\t\t\tvar getter = Obj.get;\n\t\t\tif (typeof getter !== 'undefined' && !this.IsCallable(getter)) {\n\t\t\t\tthrow new TypeError('getter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Get]]'] = getter;\n\t\t}\n\t\tif (has(Obj, 'set')) {\n\t\t\tvar setter = Obj.set;\n\t\t\tif (typeof setter !== 'undefined' && !this.IsCallable(setter)) {\n\t\t\t\tthrow new $TypeError('setter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Set]]'] = setter;\n\t\t}\n\n\t\tif ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {\n\t\t\tthrow new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');\n\t\t}\n\t\treturn desc;\n\t}\n};\n\nmodule.exports = ES5;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O) {\n\t\tvar actualHint;\n\t\tif (arguments.length > 1) {\n\t\t\tactualHint = arguments[1];\n\t\t} else {\n\t\t\tactualHint = toStr.call(O) === '[object Date]' ? String : Number;\n\t\t}\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// http://ecma-international.org/ecma-262/5.1/#sec-9.1\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tif (arguments.length > 1) {\n\t\treturn ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input);\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimValues() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { values: polyfill }, {\n\t\tvalues: function testValues() {\n\t\t\treturn Object.values !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar boundContains = function contains(node, other) {\n\treturn polyfill.apply(node, [other]);\n};\n\ndefine(boundContains, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundContains;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimContains() {\n\tvar polyfill = getPolyfill();\n\tif (typeof document !== 'undefined') {\n\t\tdefine(\n\t\t\tdocument,\n\t\t\t{ contains: polyfill },\n\t\t\t{ contains: function () { return document.contains !== polyfill; } }\n\t\t);\n\t\tif (typeof Element !== 'undefined') {\n\t\t\tdefine(\n\t\t\t\tElement.prototype,\n\t\t\t\t{ contains: polyfill },\n\t\t\t\t{ contains: function () { return Element.prototype.contains !== polyfill; } }\n\t\t\t);\n\t\t}\n\t}\n\treturn polyfill;\n};\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\n\nmodule.exports = require('./es2016');\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimValues() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { values: polyfill }, {\n\t\tvalues: function testValues() {\n\t\t\treturn Object.values !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getSelectedDateOffset;\n\nvar defaultModifier = function defaultModifier(day) {\n return day;\n};\n\nfunction getSelectedDateOffset(fn, day) {\n var modifier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultModifier;\n if (!fn) return day;\n return modifier(fn(day.clone()));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _LeftArrow = _interopRequireDefault(require(\"./LeftArrow\"));\n\nvar _RightArrow = _interopRequireDefault(require(\"./RightArrow\"));\n\nvar _ChevronUp = _interopRequireDefault(require(\"./ChevronUp\"));\n\nvar _ChevronDown = _interopRequireDefault(require(\"./ChevronDown\"));\n\nvar _ScrollableOrientationShape = _interopRequireDefault(require(\"../shapes/ScrollableOrientationShape\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n disablePrev: _propTypes[\"default\"].bool,\n disableNext: _propTypes[\"default\"].bool,\n navPrev: _propTypes[\"default\"].node,\n navNext: _propTypes[\"default\"].node,\n orientation: _ScrollableOrientationShape[\"default\"],\n onPrevMonthClick: _propTypes[\"default\"].func,\n onNextMonthClick: _propTypes[\"default\"].func,\n // internationalization\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DayPickerNavigationPhrases)),\n isRTL: _propTypes[\"default\"].bool\n})) : {};\nvar defaultProps = {\n disablePrev: false,\n disableNext: false,\n navPrev: null,\n navNext: null,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n // internationalization\n phrases: _defaultPhrases.DayPickerNavigationPhrases,\n isRTL: false\n};\n\nfunction DayPickerNavigation(_ref) {\n var disablePrev = _ref.disablePrev,\n disableNext = _ref.disableNext,\n navPrev = _ref.navPrev,\n navNext = _ref.navNext,\n onPrevMonthClick = _ref.onPrevMonthClick,\n onNextMonthClick = _ref.onNextMonthClick,\n orientation = _ref.orientation,\n phrases = _ref.phrases,\n isRTL = _ref.isRTL,\n styles = _ref.styles;\n var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;\n var isVertical = orientation !== _constants.HORIZONTAL_ORIENTATION;\n var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var navPrevIcon = navPrev;\n var navNextIcon = navNext;\n var isDefaultNavPrev = false;\n var isDefaultNavNext = false;\n var navPrevTabIndex = {};\n var navNextTabIndex = {};\n\n if (!navPrevIcon) {\n navPrevTabIndex = {\n tabIndex: '0'\n };\n isDefaultNavPrev = true;\n var Icon = isVertical ? _ChevronUp[\"default\"] : _LeftArrow[\"default\"];\n\n if (isRTL && !isVertical) {\n Icon = _RightArrow[\"default\"];\n }\n\n navPrevIcon = _react[\"default\"].createElement(Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical, disablePrev && styles.DayPickerNavigation_svg__disabled));\n }\n\n if (!navNextIcon) {\n navNextTabIndex = {\n tabIndex: '0'\n };\n isDefaultNavNext = true;\n\n var _Icon = isVertical ? _ChevronDown[\"default\"] : _RightArrow[\"default\"];\n\n if (isRTL && !isVertical) {\n _Icon = _LeftArrow[\"default\"];\n }\n\n navNextIcon = _react[\"default\"].createElement(_Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical, disableNext && styles.DayPickerNavigation_svg__disabled));\n }\n\n var isDefaultNav = isVerticalScrollable ? isDefaultNavNext : isDefaultNavNext || isDefaultNavPrev;\n return _react[\"default\"].createElement(\"div\", _reactWithStyles.css.apply(void 0, [styles.DayPickerNavigation, isHorizontal && styles.DayPickerNavigation__horizontal].concat(_toConsumableArray(isVertical ? [styles.DayPickerNavigation__vertical, isDefaultNav && styles.DayPickerNavigation__verticalDefault] : []), _toConsumableArray(isVerticalScrollable ? [styles.DayPickerNavigation__verticalScrollable, isDefaultNav && styles.DayPickerNavigation__verticalScrollableDefault] : []))), !isVerticalScrollable && _react[\"default\"].createElement(\"div\", _extends({\n // eslint-disable-line jsx-a11y/interactive-supports-focus\n role: \"button\"\n }, navPrevTabIndex, _reactWithStyles.css.apply(void 0, [styles.DayPickerNavigation_button, isDefaultNavPrev && styles.DayPickerNavigation_button__default, disablePrev && styles.DayPickerNavigation_button__disabled].concat(_toConsumableArray(isHorizontal ? [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavPrev ? [styles.DayPickerNavigation_button__horizontalDefault, !isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault] : [])) : []), _toConsumableArray(isVertical ? [styles.DayPickerNavigation_button__vertical].concat(_toConsumableArray(isDefaultNavPrev ? [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_prevButton__verticalDefault] : [])) : []))), {\n \"aria-disabled\": disablePrev ? true : undefined,\n \"aria-label\": phrases.jumpToPrevMonth,\n onClick: disablePrev ? undefined : onPrevMonthClick,\n onKeyUp: disablePrev ? undefined : function (e) {\n var key = e.key;\n if (key === 'Enter' || key === ' ') onPrevMonthClick(e);\n },\n onMouseUp: disablePrev ? undefined : function (e) {\n e.currentTarget.blur();\n }\n }), navPrevIcon), _react[\"default\"].createElement(\"div\", _extends({\n // eslint-disable-line jsx-a11y/interactive-supports-focus\n role: \"button\"\n }, navNextTabIndex, _reactWithStyles.css.apply(void 0, [styles.DayPickerNavigation_button, isDefaultNavNext && styles.DayPickerNavigation_button__default, disableNext && styles.DayPickerNavigation_button__disabled].concat(_toConsumableArray(isHorizontal ? [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavNext ? [styles.DayPickerNavigation_button__horizontalDefault, isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, !isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault] : [])) : []), _toConsumableArray(isVertical ? [styles.DayPickerNavigation_button__vertical, styles.DayPickerNavigation_nextButton__vertical].concat(_toConsumableArray(isDefaultNavNext ? [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_nextButton__verticalDefault, isVerticalScrollable && styles.DayPickerNavigation_nextButton__verticalScrollableDefault] : [])) : []))), {\n \"aria-disabled\": disableNext ? true : undefined,\n \"aria-label\": phrases.jumpToNextMonth,\n onClick: disableNext ? undefined : onNextMonthClick,\n onKeyUp: disableNext ? undefined : function (e) {\n var key = e.key;\n if (key === 'Enter' || key === ' ') onNextMonthClick(e);\n },\n onMouseUp: disableNext ? undefined : function (e) {\n e.currentTarget.blur();\n }\n }), navNextIcon));\n}\n\nDayPickerNavigation.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDayPickerNavigation.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n zIndex = _ref2$reactDates.zIndex;\n return {\n DayPickerNavigation: {\n position: 'relative',\n zIndex: zIndex + 2\n },\n DayPickerNavigation__horizontal: {\n height: 0\n },\n DayPickerNavigation__vertical: {},\n DayPickerNavigation__verticalScrollable: {},\n DayPickerNavigation__verticalDefault: {\n position: 'absolute',\n width: '100%',\n height: 52,\n bottom: 0,\n left: (0, _noflip[\"default\"])(0)\n },\n DayPickerNavigation__verticalScrollableDefault: {\n position: 'relative'\n },\n DayPickerNavigation_button: {\n cursor: 'pointer',\n userSelect: 'none',\n border: 0,\n padding: 0,\n margin: 0\n },\n DayPickerNavigation_button__default: {\n border: \"1px solid \".concat(color.core.borderLight),\n backgroundColor: color.background,\n color: color.placeholderText,\n ':focus': {\n border: \"1px solid \".concat(color.core.borderMedium)\n },\n ':hover': {\n border: \"1px solid \".concat(color.core.borderMedium)\n },\n ':active': {\n background: color.backgroundDark\n }\n },\n DayPickerNavigation_button__disabled: {\n cursor: 'default',\n border: \"1px solid \".concat(color.disabled),\n ':focus': {\n border: \"1px solid \".concat(color.disabled)\n },\n ':hover': {\n border: \"1px solid \".concat(color.disabled)\n },\n ':active': {\n background: 'none'\n }\n },\n DayPickerNavigation_button__horizontal: {},\n DayPickerNavigation_button__horizontalDefault: {\n position: 'absolute',\n top: 18,\n lineHeight: 0.78,\n borderRadius: 3,\n padding: '6px 9px'\n },\n DayPickerNavigation_leftButton__horizontalDefault: {\n left: (0, _noflip[\"default\"])(22)\n },\n DayPickerNavigation_rightButton__horizontalDefault: {\n right: (0, _noflip[\"default\"])(22)\n },\n DayPickerNavigation_button__vertical: {},\n DayPickerNavigation_button__verticalDefault: {\n padding: 5,\n background: color.background,\n boxShadow: (0, _noflip[\"default\"])('0 0 5px 2px rgba(0, 0, 0, 0.1)'),\n position: 'relative',\n display: 'inline-block',\n textAlign: 'center',\n height: '100%',\n width: '50%'\n },\n DayPickerNavigation_prevButton__verticalDefault: {},\n DayPickerNavigation_nextButton__verticalDefault: {\n borderLeft: (0, _noflip[\"default\"])(0)\n },\n DayPickerNavigation_nextButton__verticalScrollableDefault: {\n width: '100%'\n },\n DayPickerNavigation_svg__horizontal: {\n height: 19,\n width: 19,\n fill: color.core.grayLight,\n display: 'block'\n },\n DayPickerNavigation_svg__vertical: {\n height: 42,\n width: 42,\n fill: color.text\n },\n DayPickerNavigation_svg__disabled: {\n fill: color.disabled\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DayPickerNavigation);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar ChevronUp = function () {\n function ChevronUp(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n d: \"M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z\"\n }));\n }\n\n return ChevronUp;\n}();\n\nChevronUp.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 1000 1000\"\n};\nvar _default = ChevronUp;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar ChevronDown = function () {\n function ChevronDown(props) {\n return _react[\"default\"].createElement(\"svg\", props, _react[\"default\"].createElement(\"path\", {\n d: \"M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z\"\n }));\n }\n\n return ChevronDown;\n}();\n\nChevronDown.defaultProps = {\n focusable: \"false\",\n viewBox: \"0 0 1000 1000\"\n};\nvar _default = ChevronDown;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.BOTTOM_RIGHT = exports.TOP_RIGHT = exports.TOP_LEFT = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _KeyboardShortcutRow = _interopRequireDefault(require(\"./KeyboardShortcutRow\"));\n\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar TOP_LEFT = 'top-left';\nexports.TOP_LEFT = TOP_LEFT;\nvar TOP_RIGHT = 'top-right';\nexports.TOP_RIGHT = TOP_RIGHT;\nvar BOTTOM_RIGHT = 'bottom-right';\nexports.BOTTOM_RIGHT = BOTTOM_RIGHT;\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n block: _propTypes[\"default\"].bool,\n // TODO: rename button location to be direction-agnostic\n buttonLocation: _propTypes[\"default\"].oneOf([TOP_LEFT, TOP_RIGHT, BOTTOM_RIGHT]),\n showKeyboardShortcutsPanel: _propTypes[\"default\"].bool,\n openKeyboardShortcutsPanel: _propTypes[\"default\"].func,\n closeKeyboardShortcutsPanel: _propTypes[\"default\"].func,\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.DayPickerKeyboardShortcutsPhrases)),\n renderKeyboardShortcutsButton: _propTypes[\"default\"].func\n})) : {};\nvar defaultProps = {\n block: false,\n buttonLocation: BOTTOM_RIGHT,\n showKeyboardShortcutsPanel: false,\n openKeyboardShortcutsPanel: function () {\n function openKeyboardShortcutsPanel() {}\n\n return openKeyboardShortcutsPanel;\n }(),\n closeKeyboardShortcutsPanel: function () {\n function closeKeyboardShortcutsPanel() {}\n\n return closeKeyboardShortcutsPanel;\n }(),\n phrases: _defaultPhrases.DayPickerKeyboardShortcutsPhrases,\n renderKeyboardShortcutsButton: undefined\n};\n\nfunction getKeyboardShortcuts(phrases) {\n return [{\n unicode: '↵',\n label: phrases.enterKey,\n action: phrases.selectFocusedDate\n }, {\n unicode: '←/→',\n label: phrases.leftArrowRightArrow,\n action: phrases.moveFocusByOneDay\n }, {\n unicode: '↑/↓',\n label: phrases.upArrowDownArrow,\n action: phrases.moveFocusByOneWeek\n }, {\n unicode: 'PgUp/PgDn',\n label: phrases.pageUpPageDown,\n action: phrases.moveFocusByOneMonth\n }, {\n unicode: 'Home/End',\n label: phrases.homeEnd,\n action: phrases.moveFocustoStartAndEndOfWeek\n }, {\n unicode: 'Esc',\n label: phrases.escape,\n action: phrases.returnFocusToInput\n }, {\n unicode: '?',\n label: phrases.questionMark,\n action: phrases.openThisPanel\n }];\n}\n\nvar DayPickerKeyboardShortcuts =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(DayPickerKeyboardShortcuts, _ref);\n\n _createClass(DayPickerKeyboardShortcuts, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function DayPickerKeyboardShortcuts() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DayPickerKeyboardShortcuts);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DayPickerKeyboardShortcuts)).call.apply(_getPrototypeOf2, [this].concat(args)));\n var phrases = _this.props.phrases;\n _this.keyboardShortcuts = getKeyboardShortcuts(phrases);\n _this.onShowKeyboardShortcutsButtonClick = _this.onShowKeyboardShortcutsButtonClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setShowKeyboardShortcutsButtonRef = _this.setShowKeyboardShortcutsButtonRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setHideKeyboardShortcutsButtonRef = _this.setHideKeyboardShortcutsButtonRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleFocus = _this.handleFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(DayPickerKeyboardShortcuts, [{\n key: \"componentWillReceiveProps\",\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var phrases = this.props.phrases;\n\n if (nextProps.phrases !== phrases) {\n this.keyboardShortcuts = getKeyboardShortcuts(nextProps.phrases);\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate() {\n this.handleFocus();\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"onKeyDown\",\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n var closeKeyboardShortcutsPanel = this.props.closeKeyboardShortcutsPanel; // Because the close button is the only focusable element inside of the panel, this\n // amounts to a very basic focus trap. The user can exit the panel by \"pressing\" the\n // close button or hitting escape\n\n switch (e.key) {\n case 'Escape':\n closeKeyboardShortcutsPanel();\n break;\n // do nothing - this allows the up and down arrows continue their\n // default behavior of scrolling the content of the Keyboard Shortcuts Panel\n // which is needed when only a single month is shown for instance.\n\n case 'ArrowUp':\n case 'ArrowDown':\n break;\n // completely block the rest of the keys that have functionality outside of this panel\n\n case 'Tab':\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n case 'ArrowLeft':\n case 'ArrowRight':\n e.preventDefault();\n break;\n\n default:\n break;\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: \"onShowKeyboardShortcutsButtonClick\",\n value: function () {\n function onShowKeyboardShortcutsButtonClick() {\n var _this2 = this;\n\n var openKeyboardShortcutsPanel = this.props.openKeyboardShortcutsPanel; // we want to return focus to this button after closing the keyboard shortcuts panel\n\n openKeyboardShortcutsPanel(function () {\n _this2.showKeyboardShortcutsButton.focus();\n });\n }\n\n return onShowKeyboardShortcutsButtonClick;\n }()\n }, {\n key: \"setShowKeyboardShortcutsButtonRef\",\n value: function () {\n function setShowKeyboardShortcutsButtonRef(ref) {\n this.showKeyboardShortcutsButton = ref;\n }\n\n return setShowKeyboardShortcutsButtonRef;\n }()\n }, {\n key: \"setHideKeyboardShortcutsButtonRef\",\n value: function () {\n function setHideKeyboardShortcutsButtonRef(ref) {\n this.hideKeyboardShortcutsButton = ref;\n }\n\n return setHideKeyboardShortcutsButtonRef;\n }()\n }, {\n key: \"handleFocus\",\n value: function () {\n function handleFocus() {\n if (this.hideKeyboardShortcutsButton) {\n // automatically move focus into the dialog by moving\n // to the only interactive element, the hide button\n this.hideKeyboardShortcutsButton.focus();\n }\n }\n\n return handleFocus;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props = this.props,\n block = _this$props.block,\n buttonLocation = _this$props.buttonLocation,\n showKeyboardShortcutsPanel = _this$props.showKeyboardShortcutsPanel,\n closeKeyboardShortcutsPanel = _this$props.closeKeyboardShortcutsPanel,\n styles = _this$props.styles,\n phrases = _this$props.phrases,\n renderKeyboardShortcutsButton = _this$props.renderKeyboardShortcutsButton;\n var toggleButtonText = showKeyboardShortcutsPanel ? phrases.hideKeyboardShortcutsPanel : phrases.showKeyboardShortcutsPanel;\n var bottomRight = buttonLocation === BOTTOM_RIGHT;\n var topRight = buttonLocation === TOP_RIGHT;\n var topLeft = buttonLocation === TOP_LEFT;\n return _react[\"default\"].createElement(\"div\", null, renderKeyboardShortcutsButton && renderKeyboardShortcutsButton({\n // passing in context-specific props\n ref: this.setShowKeyboardShortcutsButtonRef,\n onClick: this.onShowKeyboardShortcutsButtonClick,\n ariaLabel: toggleButtonText\n }), renderKeyboardShortcutsButton || _react[\"default\"].createElement(\"button\", _extends({\n ref: this.setShowKeyboardShortcutsButtonRef\n }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_show, bottomRight && styles.DayPickerKeyboardShortcuts_show__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_show__topRight, topLeft && styles.DayPickerKeyboardShortcuts_show__topLeft), {\n type: \"button\",\n \"aria-label\": toggleButtonText,\n onClick: this.onShowKeyboardShortcutsButtonClick,\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }()\n }), _react[\"default\"].createElement(\"span\", (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_showSpan, bottomRight && styles.DayPickerKeyboardShortcuts_showSpan__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_showSpan__topRight, topLeft && styles.DayPickerKeyboardShortcuts_showSpan__topLeft), \"?\")), showKeyboardShortcutsPanel && _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_panel), {\n role: \"dialog\",\n \"aria-labelledby\": \"DayPickerKeyboardShortcuts_title\",\n \"aria-describedby\": \"DayPickerKeyboardShortcuts_description\"\n }), _react[\"default\"].createElement(\"div\", _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_title), {\n id: \"DayPickerKeyboardShortcuts_title\"\n }), phrases.keyboardShortcuts), _react[\"default\"].createElement(\"button\", _extends({\n ref: this.setHideKeyboardShortcutsButtonRef\n }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_close), {\n type: \"button\",\n tabIndex: \"0\",\n \"aria-label\": phrases.hideKeyboardShortcutsPanel,\n onClick: closeKeyboardShortcutsPanel,\n onKeyDown: this.onKeyDown\n }), _react[\"default\"].createElement(_CloseButton[\"default\"], (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_closeSvg))), _react[\"default\"].createElement(\"ul\", _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_list), {\n id: \"DayPickerKeyboardShortcuts_description\"\n }), this.keyboardShortcuts.map(function (_ref2) {\n var unicode = _ref2.unicode,\n label = _ref2.label,\n action = _ref2.action;\n return _react[\"default\"].createElement(_KeyboardShortcutRow[\"default\"], {\n key: label,\n unicode: unicode,\n label: label,\n action: action,\n block: block\n });\n }))));\n }\n\n return render;\n }()\n }]);\n\n return DayPickerKeyboardShortcuts;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nDayPickerKeyboardShortcuts.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nDayPickerKeyboardShortcuts.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref3) {\n var _ref3$reactDates = _ref3.reactDates,\n color = _ref3$reactDates.color,\n font = _ref3$reactDates.font,\n zIndex = _ref3$reactDates.zIndex;\n return {\n DayPickerKeyboardShortcuts_buttonReset: {\n background: 'none',\n border: 0,\n borderRadius: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n padding: 0,\n cursor: 'pointer',\n fontSize: font.size,\n ':active': {\n outline: 'none'\n }\n },\n DayPickerKeyboardShortcuts_show: {\n width: 33,\n height: 26,\n position: 'absolute',\n zIndex: zIndex + 2,\n '::before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute'\n }\n },\n DayPickerKeyboardShortcuts_show__bottomRight: {\n bottom: 0,\n right: 0,\n '::before': {\n borderTop: '26px solid transparent',\n borderRight: \"33px solid \".concat(color.core.primary),\n bottom: 0,\n right: 0\n },\n ':hover::before': {\n borderRight: \"33px solid \".concat(color.core.primary_dark)\n }\n },\n DayPickerKeyboardShortcuts_show__topRight: {\n top: 0,\n right: 0,\n '::before': {\n borderBottom: '26px solid transparent',\n borderRight: \"33px solid \".concat(color.core.primary),\n top: 0,\n right: 0\n },\n ':hover::before': {\n borderRight: \"33px solid \".concat(color.core.primary_dark)\n }\n },\n DayPickerKeyboardShortcuts_show__topLeft: {\n top: 0,\n left: 0,\n '::before': {\n borderBottom: '26px solid transparent',\n borderLeft: \"33px solid \".concat(color.core.primary),\n top: 0,\n left: 0\n },\n ':hover::before': {\n borderLeft: \"33px solid \".concat(color.core.primary_dark)\n }\n },\n DayPickerKeyboardShortcuts_showSpan: {\n color: color.core.white,\n position: 'absolute'\n },\n DayPickerKeyboardShortcuts_showSpan__bottomRight: {\n bottom: 0,\n right: 5\n },\n DayPickerKeyboardShortcuts_showSpan__topRight: {\n top: 1,\n right: 5\n },\n DayPickerKeyboardShortcuts_showSpan__topLeft: {\n top: 1,\n left: 5\n },\n DayPickerKeyboardShortcuts_panel: {\n overflow: 'auto',\n background: color.background,\n border: \"1px solid \".concat(color.core.border),\n borderRadius: 2,\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n left: 0,\n zIndex: zIndex + 2,\n padding: 22,\n margin: 33,\n textAlign: 'left' // TODO: investigate use of text-align throughout the library\n\n },\n DayPickerKeyboardShortcuts_title: {\n fontSize: 16,\n fontWeight: 'bold',\n margin: 0\n },\n DayPickerKeyboardShortcuts_list: {\n listStyle: 'none',\n padding: 0,\n fontSize: font.size\n },\n DayPickerKeyboardShortcuts_close: {\n position: 'absolute',\n right: 22,\n top: 22,\n zIndex: zIndex + 2,\n ':active': {\n outline: 'none'\n }\n },\n DayPickerKeyboardShortcuts_closeSvg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter,\n ':hover': {\n fill: color.core.grayLight\n },\n ':focus': {\n fill: color.core.grayLight\n }\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(DayPickerKeyboardShortcuts);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, {\n unicode: _propTypes[\"default\"].string.isRequired,\n label: _propTypes[\"default\"].string.isRequired,\n action: _propTypes[\"default\"].string.isRequired,\n block: _propTypes[\"default\"].bool\n})) : {};\nvar defaultProps = {\n block: false\n};\n\nfunction KeyboardShortcutRow(_ref) {\n var unicode = _ref.unicode,\n label = _ref.label,\n action = _ref.action,\n block = _ref.block,\n styles = _ref.styles;\n return _react[\"default\"].createElement(\"li\", (0, _reactWithStyles.css)(styles.KeyboardShortcutRow, block && styles.KeyboardShortcutRow__block), _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_keyContainer, block && styles.KeyboardShortcutRow_keyContainer__block), _react[\"default\"].createElement(\"span\", _extends({}, (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_key), {\n role: \"img\",\n \"aria-label\": \"\".concat(label, \",\") // add comma so screen readers will pause before reading action\n\n }), unicode)), _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_action), action));\n}\n\nKeyboardShortcutRow.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nKeyboardShortcutRow.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var color = _ref2.reactDates.color;\n return {\n KeyboardShortcutRow: {\n listStyle: 'none',\n margin: '6px 0'\n },\n KeyboardShortcutRow__block: {\n marginBottom: 16\n },\n KeyboardShortcutRow_keyContainer: {\n display: 'inline-block',\n whiteSpace: 'nowrap',\n textAlign: 'right',\n // is not handled by isRTL\n marginRight: 6 // is not handled by isRTL\n\n },\n KeyboardShortcutRow_keyContainer__block: {\n textAlign: 'left',\n // is not handled by isRTL\n display: 'inline'\n },\n KeyboardShortcutRow_key: {\n fontFamily: 'monospace',\n fontSize: 12,\n textTransform: 'uppercase',\n background: color.core.grayLightest,\n padding: '2px 6px'\n },\n KeyboardShortcutRow_action: {\n display: 'inline',\n wordBreak: 'break-word',\n marginLeft: 8 // is not handled by isRTL\n\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(KeyboardShortcutRow);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getNumberOfCalendarMonthWeeks;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek) {\n var weekDayDiff = firstDayOfMonth.day() - firstDayOfWeek;\n return (weekDayDiff + 7) % 7;\n}\n\nfunction getNumberOfCalendarMonthWeeks(month) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _moment[\"default\"].localeData().firstDayOfWeek();\n var firstDayOfMonth = month.clone().startOf('month');\n var numBlankDays = getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek);\n return Math.ceil((numBlankDays + month.daysInMonth()) / 7);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getActiveElement;\n\nfunction getActiveElement() {\n return typeof document !== 'undefined' && document.activeElement;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PureSingleDatePicker = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _reactWithStyles = require(\"react-with-styles\");\n\nvar _reactPortal = require(\"react-portal\");\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _consolidatedEvents = require(\"consolidated-events\");\n\nvar _isTouchDevice = _interopRequireDefault(require(\"is-touch-device\"));\n\nvar _reactOutsideClickHandler = _interopRequireDefault(require(\"react-outside-click-handler\"));\n\nvar _SingleDatePickerShape = _interopRequireDefault(require(\"../shapes/SingleDatePickerShape\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getResponsiveContainerStyles = _interopRequireDefault(require(\"../utils/getResponsiveContainerStyles\"));\n\nvar _getDetachedContainerStyles = _interopRequireDefault(require(\"../utils/getDetachedContainerStyles\"));\n\nvar _getInputHeight = _interopRequireDefault(require(\"../utils/getInputHeight\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"../utils/isInclusivelyAfterDay\"));\n\nvar _disableScroll2 = _interopRequireDefault(require(\"../utils/disableScroll\"));\n\nvar _noflip = _interopRequireDefault(require(\"../utils/noflip\"));\n\nvar _SingleDatePickerInputController = _interopRequireDefault(require(\"./SingleDatePickerInputController\"));\n\nvar _DayPickerSingleDateController = _interopRequireDefault(require(\"./DayPickerSingleDateController\"));\n\nvar _CloseButton = _interopRequireDefault(require(\"./CloseButton\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)(_objectSpread({}, _reactWithStyles.withStylesPropTypes, _SingleDatePickerShape[\"default\"])) : {};\nvar defaultProps = {\n // required props for a functional interactive SingleDatePicker\n date: null,\n focused: false,\n // input related props\n id: 'date',\n placeholder: 'Date',\n disabled: false,\n required: false,\n readOnly: false,\n screenReaderInputMessage: '',\n showClearDate: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n keepFocusOnInput: false,\n // calendar presentation and interaction related props\n orientation: _constants.HORIZONTAL_ORIENTATION,\n anchorDirection: _constants.ANCHOR_LEFT,\n openDirection: _constants.OPEN_DOWN,\n horizontalMargin: 0,\n withPortal: false,\n withFullScreenPortal: false,\n appendToBody: false,\n disableScroll: false,\n initialVisibleMonth: null,\n firstDayOfWeek: null,\n numberOfMonths: 2,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDate: false,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n verticalHeight: null,\n transitionDuration: undefined,\n horizontalMonthPadding: 13,\n // navigation related props\n navPrev: null,\n navNext: null,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n // month presentation and interaction related props\n renderMonthText: null,\n // day presentation and interaction related props\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderMonthElement: null,\n enableOutsideDays: false,\n isDayBlocked: function () {\n function isDayBlocked() {\n return false;\n }\n\n return isDayBlocked;\n }(),\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay[\"default\"])(day, (0, _moment[\"default\"])());\n }\n\n return isOutsideRange;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n // internationalization props\n displayFormat: function () {\n function displayFormat() {\n return _moment[\"default\"].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.SingleDatePickerPhrases,\n dayAriaLabelFormat: undefined\n};\n\nvar SingleDatePicker =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(SingleDatePicker, _ref);\n\n _createClass(SingleDatePicker, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function SingleDatePicker(props) {\n var _this;\n\n _classCallCheck(this, SingleDatePicker);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SingleDatePicker).call(this, props));\n _this.isTouchDevice = false;\n _this.state = {\n dayPickerContainerStyles: {},\n isDayPickerFocused: false,\n isInputFocused: false,\n showKeyboardShortcuts: false\n };\n _this.onFocusOut = _this.onFocusOut.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onOutsideClick = _this.onOutsideClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onInputFocus = _this.onInputFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.disableScroll = _this.disableScroll.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setContainerRef = _this.setContainerRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n /* istanbul ignore next */\n\n\n _createClass(SingleDatePicker, [{\n key: \"componentDidMount\",\n value: function () {\n function componentDidMount() {\n this.removeResizeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, {\n passive: true\n });\n this.responsivizePickerPosition();\n this.disableScroll();\n var focused = this.props.focused;\n\n if (focused) {\n this.setState({\n isInputFocused: true\n });\n }\n\n this.isTouchDevice = (0, _isTouchDevice[\"default\"])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n function componentDidUpdate(prevProps) {\n var focused = this.props.focused;\n\n if (!prevProps.focused && focused) {\n this.responsivizePickerPosition();\n this.disableScroll();\n } else if (prevProps.focused && !focused) {\n if (this.enableScroll) this.enableScroll();\n }\n }\n\n return componentDidUpdate;\n }()\n /* istanbul ignore next */\n\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n function componentWillUnmount() {\n if (this.removeResizeEventListener) this.removeResizeEventListener();\n if (this.removeFocusOutEventListener) this.removeFocusOutEventListener();\n if (this.enableScroll) this.enableScroll();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: \"onOutsideClick\",\n value: function () {\n function onOutsideClick(event) {\n var _this$props = this.props,\n focused = _this$props.focused,\n onFocusChange = _this$props.onFocusChange,\n onClose = _this$props.onClose,\n startDate = _this$props.startDate,\n endDate = _this$props.endDate,\n appendToBody = _this$props.appendToBody;\n if (!focused) return;\n if (appendToBody && this.dayPickerContainer.contains(event.target)) return;\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n onFocusChange({\n focused: false\n });\n onClose({\n startDate: startDate,\n endDate: endDate\n });\n }\n\n return onOutsideClick;\n }()\n }, {\n key: \"onInputFocus\",\n value: function () {\n function onInputFocus(_ref2) {\n var focused = _ref2.focused;\n var _this$props2 = this.props,\n onFocusChange = _this$props2.onFocusChange,\n readOnly = _this$props2.readOnly,\n withPortal = _this$props2.withPortal,\n withFullScreenPortal = _this$props2.withFullScreenPortal,\n keepFocusOnInput = _this$props2.keepFocusOnInput;\n\n if (focused) {\n var withAnyPortal = withPortal || withFullScreenPortal;\n var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;\n\n if (moveFocusToDayPicker) {\n this.onDayPickerFocus();\n } else {\n this.onDayPickerBlur();\n }\n }\n\n onFocusChange({\n focused: focused\n });\n }\n\n return onInputFocus;\n }()\n }, {\n key: \"onDayPickerFocus\",\n value: function () {\n function onDayPickerFocus() {\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerFocus;\n }()\n }, {\n key: \"onDayPickerBlur\",\n value: function () {\n function onDayPickerBlur() {\n this.setState({\n isInputFocused: true,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerBlur;\n }()\n }, {\n key: \"onFocusOut\",\n value: function () {\n function onFocusOut(e) {\n var onFocusChange = this.props.onFocusChange;\n if (this.dayPickerContainer.contains(e.relatedTarget || e.target)) return;\n onFocusChange({\n focused: false\n });\n }\n\n return onFocusOut;\n }()\n }, {\n key: \"setDayPickerContainerRef\",\n value: function () {\n function setDayPickerContainerRef(ref) {\n if (ref === this.dayPickerContainer) return;\n this.removeEventListeners();\n this.dayPickerContainer = ref;\n if (!ref) return;\n this.addEventListeners();\n }\n\n return setDayPickerContainerRef;\n }()\n }, {\n key: \"setContainerRef\",\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: \"addEventListeners\",\n value: function () {\n function addEventListeners() {\n // We manually set event because React has not implemented onFocusIn/onFocusOut.\n // Keep an eye on https://github.com/facebook/react/issues/6410 for updates\n // We use \"blur w/ useCapture param\" vs \"onfocusout\" for FF browser support\n this.removeFocusOutEventListener = (0, _consolidatedEvents.addEventListener)(this.dayPickerContainer, 'focusout', this.onFocusOut);\n }\n\n return addEventListeners;\n }()\n }, {\n key: \"removeEventListeners\",\n value: function () {\n function removeEventListeners() {\n if (this.removeFocusOutEventListener) this.removeFocusOutEventListener();\n }\n\n return removeEventListeners;\n }()\n }, {\n key: \"disableScroll\",\n value: function () {\n function disableScroll() {\n var _this$props3 = this.props,\n appendToBody = _this$props3.appendToBody,\n propDisableScroll = _this$props3.disableScroll,\n focused = _this$props3.focused;\n if (!appendToBody && !propDisableScroll) return;\n if (!focused) return; // Disable scroll for every ancestor of this up to the\n // document level. This ensures the input and the picker never move. Other\n // sibling elements or the picker itself can scroll.\n\n this.enableScroll = (0, _disableScroll2[\"default\"])(this.container);\n }\n\n return disableScroll;\n }()\n /* istanbul ignore next */\n\n }, {\n key: \"responsivizePickerPosition\",\n value: function () {\n function responsivizePickerPosition() {\n // It's possible the portal props have been changed in response to window resizes\n // So let's ensure we reset this back to the base state each time\n this.setState({\n dayPickerContainerStyles: {}\n });\n var _this$props4 = this.props,\n openDirection = _this$props4.openDirection,\n anchorDirection = _this$props4.anchorDirection,\n horizontalMargin = _this$props4.horizontalMargin,\n withPortal = _this$props4.withPortal,\n withFullScreenPortal = _this$props4.withFullScreenPortal,\n appendToBody = _this$props4.appendToBody,\n focused = _this$props4.focused;\n var dayPickerContainerStyles = this.state.dayPickerContainerStyles;\n\n if (!focused) {\n return;\n }\n\n var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;\n\n if (!withPortal && !withFullScreenPortal) {\n var containerRect = this.dayPickerContainer.getBoundingClientRect();\n var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;\n var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];\n this.setState({\n dayPickerContainerStyles: _objectSpread({}, (0, _getResponsiveContainerStyles[\"default\"])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles[\"default\"])(openDirection, anchorDirection, this.container))\n });\n }\n }\n\n return responsivizePickerPosition;\n }()\n }, {\n key: \"showKeyboardShortcutsPanel\",\n value: function () {\n function showKeyboardShortcutsPanel() {\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: true\n });\n }\n\n return showKeyboardShortcutsPanel;\n }()\n }, {\n key: \"maybeRenderDayPickerWithPortal\",\n value: function () {\n function maybeRenderDayPickerWithPortal() {\n var _this$props5 = this.props,\n focused = _this$props5.focused,\n withPortal = _this$props5.withPortal,\n withFullScreenPortal = _this$props5.withFullScreenPortal,\n appendToBody = _this$props5.appendToBody;\n\n if (!focused) {\n return null;\n }\n\n if (withPortal || withFullScreenPortal || appendToBody) {\n return _react[\"default\"].createElement(_reactPortal.Portal, null, this.renderDayPicker());\n }\n\n return this.renderDayPicker();\n }\n\n return maybeRenderDayPickerWithPortal;\n }()\n }, {\n key: \"renderDayPicker\",\n value: function () {\n function renderDayPicker() {\n var _this$props6 = this.props,\n anchorDirection = _this$props6.anchorDirection,\n openDirection = _this$props6.openDirection,\n onDateChange = _this$props6.onDateChange,\n date = _this$props6.date,\n onFocusChange = _this$props6.onFocusChange,\n focused = _this$props6.focused,\n enableOutsideDays = _this$props6.enableOutsideDays,\n numberOfMonths = _this$props6.numberOfMonths,\n orientation = _this$props6.orientation,\n monthFormat = _this$props6.monthFormat,\n navPrev = _this$props6.navPrev,\n navNext = _this$props6.navNext,\n onPrevMonthClick = _this$props6.onPrevMonthClick,\n onNextMonthClick = _this$props6.onNextMonthClick,\n onClose = _this$props6.onClose,\n withPortal = _this$props6.withPortal,\n withFullScreenPortal = _this$props6.withFullScreenPortal,\n keepOpenOnDateSelect = _this$props6.keepOpenOnDateSelect,\n initialVisibleMonth = _this$props6.initialVisibleMonth,\n renderMonthText = _this$props6.renderMonthText,\n renderCalendarDay = _this$props6.renderCalendarDay,\n renderDayContents = _this$props6.renderDayContents,\n renderCalendarInfo = _this$props6.renderCalendarInfo,\n renderMonthElement = _this$props6.renderMonthElement,\n calendarInfoPosition = _this$props6.calendarInfoPosition,\n hideKeyboardShortcutsPanel = _this$props6.hideKeyboardShortcutsPanel,\n firstDayOfWeek = _this$props6.firstDayOfWeek,\n customCloseIcon = _this$props6.customCloseIcon,\n phrases = _this$props6.phrases,\n dayAriaLabelFormat = _this$props6.dayAriaLabelFormat,\n daySize = _this$props6.daySize,\n isRTL = _this$props6.isRTL,\n isOutsideRange = _this$props6.isOutsideRange,\n isDayBlocked = _this$props6.isDayBlocked,\n isDayHighlighted = _this$props6.isDayHighlighted,\n weekDayFormat = _this$props6.weekDayFormat,\n styles = _this$props6.styles,\n verticalHeight = _this$props6.verticalHeight,\n transitionDuration = _this$props6.transitionDuration,\n verticalSpacing = _this$props6.verticalSpacing,\n horizontalMonthPadding = _this$props6.horizontalMonthPadding,\n small = _this$props6.small,\n reactDates = _this$props6.theme.reactDates;\n var _this$state = this.state,\n dayPickerContainerStyles = _this$state.dayPickerContainerStyles,\n isDayPickerFocused = _this$state.isDayPickerFocused,\n showKeyboardShortcuts = _this$state.showKeyboardShortcuts;\n var onOutsideClick = !withFullScreenPortal && withPortal ? this.onOutsideClick : undefined;\n\n var closeIcon = customCloseIcon || _react[\"default\"].createElement(_CloseButton[\"default\"], null);\n\n var inputHeight = (0, _getInputHeight[\"default\"])(reactDates, small);\n var withAnyPortal = withPortal || withFullScreenPortal;\n return _react[\"default\"].createElement(\"div\", _extends({\n // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref: this.setDayPickerContainerRef\n }, (0, _reactWithStyles.css)(styles.SingleDatePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.SingleDatePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.SingleDatePicker_picker__directionRight, openDirection === _constants.OPEN_DOWN && styles.SingleDatePicker_picker__openDown, openDirection === _constants.OPEN_UP && styles.SingleDatePicker_picker__openUp, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing\n }, !withAnyPortal && openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing\n }, orientation === _constants.HORIZONTAL_ORIENTATION && styles.SingleDatePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.SingleDatePicker_picker__vertical, withAnyPortal && styles.SingleDatePicker_picker__portal, withFullScreenPortal && styles.SingleDatePicker_picker__fullScreenPortal, isRTL && styles.SingleDatePicker_picker__rtl, dayPickerContainerStyles), {\n onClick: onOutsideClick\n }), _react[\"default\"].createElement(_DayPickerSingleDateController[\"default\"], {\n date: date,\n onDateChange: onDateChange,\n onFocusChange: onFocusChange,\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n numberOfMonths: numberOfMonths,\n monthFormat: monthFormat,\n withPortal: withAnyPortal,\n focused: focused,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n initialVisibleMonth: initialVisibleMonth,\n navPrev: navPrev,\n navNext: navNext,\n onPrevMonthClick: onPrevMonthClick,\n onNextMonthClick: onNextMonthClick,\n onClose: onClose,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isDayPickerFocused,\n showKeyboardShortcuts: showKeyboardShortcuts,\n onBlur: this.onDayPickerBlur,\n phrases: phrases,\n dayAriaLabelFormat: dayAriaLabelFormat,\n daySize: daySize,\n isRTL: isRTL,\n isOutsideRange: isOutsideRange,\n isDayBlocked: isDayBlocked,\n isDayHighlighted: isDayHighlighted,\n firstDayOfWeek: firstDayOfWeek,\n weekDayFormat: weekDayFormat,\n verticalHeight: verticalHeight,\n transitionDuration: transitionDuration,\n horizontalMonthPadding: horizontalMonthPadding\n }), withFullScreenPortal && _react[\"default\"].createElement(\"button\", _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton), {\n \"aria-label\": phrases.closeDatePicker,\n type: \"button\",\n onClick: this.onOutsideClick\n }), _react[\"default\"].createElement(\"div\", (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton_svg), closeIcon)));\n }\n\n return renderDayPicker;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props7 = this.props,\n id = _this$props7.id,\n placeholder = _this$props7.placeholder,\n disabled = _this$props7.disabled,\n focused = _this$props7.focused,\n required = _this$props7.required,\n readOnly = _this$props7.readOnly,\n openDirection = _this$props7.openDirection,\n showClearDate = _this$props7.showClearDate,\n showDefaultInputIcon = _this$props7.showDefaultInputIcon,\n inputIconPosition = _this$props7.inputIconPosition,\n customCloseIcon = _this$props7.customCloseIcon,\n customInputIcon = _this$props7.customInputIcon,\n date = _this$props7.date,\n onDateChange = _this$props7.onDateChange,\n displayFormat = _this$props7.displayFormat,\n phrases = _this$props7.phrases,\n withPortal = _this$props7.withPortal,\n withFullScreenPortal = _this$props7.withFullScreenPortal,\n screenReaderInputMessage = _this$props7.screenReaderInputMessage,\n isRTL = _this$props7.isRTL,\n noBorder = _this$props7.noBorder,\n block = _this$props7.block,\n small = _this$props7.small,\n regular = _this$props7.regular,\n verticalSpacing = _this$props7.verticalSpacing,\n reopenPickerOnClearDate = _this$props7.reopenPickerOnClearDate,\n keepOpenOnDateSelect = _this$props7.keepOpenOnDateSelect,\n styles = _this$props7.styles,\n isOutsideRange = _this$props7.isOutsideRange;\n var isInputFocused = this.state.isInputFocused;\n var enableOutsideClick = !withPortal && !withFullScreenPortal;\n var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;\n\n var input = _react[\"default\"].createElement(_SingleDatePickerInputController[\"default\"], {\n id: id,\n placeholder: placeholder,\n focused: focused,\n isFocused: isInputFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n showCaret: !withPortal && !withFullScreenPortal && !hideFang,\n showClearDate: showClearDate,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n isOutsideRange: isOutsideRange,\n customCloseIcon: customCloseIcon,\n customInputIcon: customInputIcon,\n date: date,\n onDateChange: onDateChange,\n displayFormat: displayFormat,\n onFocusChange: this.onInputFocus,\n onKeyDownArrowDown: this.onDayPickerFocus,\n onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,\n screenReaderMessage: screenReaderInputMessage,\n phrases: phrases,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing,\n reopenPickerOnClearDate: reopenPickerOnClearDate,\n keepOpenOnDateSelect: keepOpenOnDateSelect\n }, this.maybeRenderDayPickerWithPortal());\n\n return _react[\"default\"].createElement(\"div\", _extends({\n ref: this.setContainerRef\n }, (0, _reactWithStyles.css)(styles.SingleDatePicker, block && styles.SingleDatePicker__block)), enableOutsideClick && _react[\"default\"].createElement(_reactOutsideClickHandler[\"default\"], {\n onOutsideClick: this.onOutsideClick\n }, input), enableOutsideClick || input);\n }\n\n return render;\n }()\n }]);\n\n return SingleDatePicker;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports.PureSingleDatePicker = SingleDatePicker;\nSingleDatePicker.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nSingleDatePicker.defaultProps = defaultProps;\n\nvar _default = (0, _reactWithStyles.withStyles)(function (_ref3) {\n var _ref3$reactDates = _ref3.reactDates,\n color = _ref3$reactDates.color,\n zIndex = _ref3$reactDates.zIndex;\n return {\n SingleDatePicker: {\n position: 'relative',\n display: 'inline-block'\n },\n SingleDatePicker__block: {\n display: 'block'\n },\n SingleDatePicker_picker: {\n zIndex: zIndex + 1,\n backgroundColor: color.background,\n position: 'absolute'\n },\n SingleDatePicker_picker__rtl: {\n direction: (0, _noflip[\"default\"])('rtl')\n },\n SingleDatePicker_picker__directionLeft: {\n left: (0, _noflip[\"default\"])(0)\n },\n SingleDatePicker_picker__directionRight: {\n right: (0, _noflip[\"default\"])(0)\n },\n SingleDatePicker_picker__portal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n position: 'fixed',\n top: 0,\n left: (0, _noflip[\"default\"])(0),\n height: '100%',\n width: '100%'\n },\n SingleDatePicker_picker__fullScreenPortal: {\n backgroundColor: color.background\n },\n SingleDatePicker_closeButton: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n position: 'absolute',\n top: 0,\n right: (0, _noflip[\"default\"])(0),\n padding: 15,\n zIndex: zIndex + 2,\n ':hover': {\n color: \"darken(\".concat(color.core.grayLighter, \", 10%)\"),\n textDecoration: 'none'\n },\n ':focus': {\n color: \"darken(\".concat(color.core.grayLighter, \", 10%)\"),\n textDecoration: 'none'\n }\n },\n SingleDatePicker_closeButton_svg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter\n }\n };\n}, {\n pureComponent: typeof _react[\"default\"].PureComponent !== 'undefined'\n})(SingleDatePicker);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactAddonsShallowCompare = _interopRequireDefault(require(\"react-addons-shallow-compare\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _reactMomentProptypes = _interopRequireDefault(require(\"react-moment-proptypes\"));\n\nvar _airbnbPropTypes = require(\"airbnb-prop-types\");\n\nvar _OpenDirectionShape = _interopRequireDefault(require(\"../shapes/OpenDirectionShape\"));\n\nvar _defaultPhrases = require(\"../defaultPhrases\");\n\nvar _getPhrasePropTypes = _interopRequireDefault(require(\"../utils/getPhrasePropTypes\"));\n\nvar _SingleDatePickerInput = _interopRequireDefault(require(\"./SingleDatePickerInput\"));\n\nvar _IconPositionShape = _interopRequireDefault(require(\"../shapes/IconPositionShape\"));\n\nvar _DisabledShape = _interopRequireDefault(require(\"../shapes/DisabledShape\"));\n\nvar _toMomentObject = _interopRequireDefault(require(\"../utils/toMomentObject\"));\n\nvar _toLocalizedDateString = _interopRequireDefault(require(\"../utils/toLocalizedDateString\"));\n\nvar _isInclusivelyAfterDay = _interopRequireDefault(require(\"../utils/isInclusivelyAfterDay\"));\n\nvar _constants = require(\"../constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function () { function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); } return _getPrototypeOf; }(); return _getPrototypeOf(o); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function () { function _setPrototypeOf(o, p) { o.__proto__ = p; return o; } return _setPrototypeOf; }(); return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar propTypes = process.env.NODE_ENV !== \"production\" ? (0, _airbnbPropTypes.forbidExtraProps)({\n children: _propTypes[\"default\"].node,\n date: _reactMomentProptypes[\"default\"].momentObj,\n onDateChange: _propTypes[\"default\"].func.isRequired,\n focused: _propTypes[\"default\"].bool,\n onFocusChange: _propTypes[\"default\"].func.isRequired,\n id: _propTypes[\"default\"].string.isRequired,\n placeholder: _propTypes[\"default\"].string,\n // also used as label\n screenReaderMessage: _propTypes[\"default\"].string,\n showClearDate: _propTypes[\"default\"].bool,\n showCaret: _propTypes[\"default\"].bool,\n showDefaultInputIcon: _propTypes[\"default\"].bool,\n inputIconPosition: _IconPositionShape[\"default\"],\n disabled: _DisabledShape[\"default\"],\n required: _propTypes[\"default\"].bool,\n readOnly: _propTypes[\"default\"].bool,\n openDirection: _OpenDirectionShape[\"default\"],\n noBorder: _propTypes[\"default\"].bool,\n block: _propTypes[\"default\"].bool,\n small: _propTypes[\"default\"].bool,\n regular: _propTypes[\"default\"].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n keepOpenOnDateSelect: _propTypes[\"default\"].bool,\n reopenPickerOnClearDate: _propTypes[\"default\"].bool,\n isOutsideRange: _propTypes[\"default\"].func,\n displayFormat: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].func]),\n onClose: _propTypes[\"default\"].func,\n onKeyDownArrowDown: _propTypes[\"default\"].func,\n onKeyDownQuestionMark: _propTypes[\"default\"].func,\n customInputIcon: _propTypes[\"default\"].node,\n customCloseIcon: _propTypes[\"default\"].node,\n // accessibility\n isFocused: _propTypes[\"default\"].bool,\n // i18n\n phrases: _propTypes[\"default\"].shape((0, _getPhrasePropTypes[\"default\"])(_defaultPhrases.SingleDatePickerInputPhrases)),\n isRTL: _propTypes[\"default\"].bool\n}) : {};\nvar defaultProps = {\n children: null,\n date: null,\n focused: false,\n placeholder: '',\n screenReaderMessage: 'Date',\n showClearDate: false,\n showCaret: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDate: false,\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay[\"default\"])(day, (0, _moment[\"default\"])());\n }\n\n return isOutsideRange;\n }(),\n displayFormat: function () {\n function displayFormat() {\n return _moment[\"default\"].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n customInputIcon: null,\n customCloseIcon: null,\n // accessibility\n isFocused: false,\n // i18n\n phrases: _defaultPhrases.SingleDatePickerInputPhrases,\n isRTL: false\n};\n\nvar SingleDatePickerInputController =\n/*#__PURE__*/\nfunction (_ref) {\n _inherits(SingleDatePickerInputController, _ref);\n\n _createClass(SingleDatePickerInputController, [{\n key: !_react[\"default\"].PureComponent && \"shouldComponentUpdate\",\n value: function () {\n function value(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare[\"default\"])(this, nextProps, nextState);\n }\n\n return value;\n }()\n }]);\n\n function SingleDatePickerInputController(props) {\n var _this;\n\n _classCallCheck(this, SingleDatePickerInputController);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SingleDatePickerInputController).call(this, props));\n _this.onChange = _this.onChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.onClearFocus = _this.onClearFocus.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.clearDate = _this.clearDate.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(SingleDatePickerInputController, [{\n key: \"onChange\",\n value: function () {\n function onChange(dateString) {\n var _this$props = this.props,\n isOutsideRange = _this$props.isOutsideRange,\n keepOpenOnDateSelect = _this$props.keepOpenOnDateSelect,\n onDateChange = _this$props.onDateChange,\n onFocusChange = _this$props.onFocusChange,\n onClose = _this$props.onClose;\n var newDate = (0, _toMomentObject[\"default\"])(dateString, this.getDisplayFormat());\n var isValid = newDate && !isOutsideRange(newDate);\n\n if (isValid) {\n onDateChange(newDate);\n\n if (!keepOpenOnDateSelect) {\n onFocusChange({\n focused: false\n });\n onClose({\n date: newDate\n });\n }\n } else {\n onDateChange(null);\n }\n }\n\n return onChange;\n }()\n }, {\n key: \"onFocus\",\n value: function () {\n function onFocus() {\n var _this$props2 = this.props,\n onFocusChange = _this$props2.onFocusChange,\n disabled = _this$props2.disabled;\n\n if (!disabled) {\n onFocusChange({\n focused: true\n });\n }\n }\n\n return onFocus;\n }()\n }, {\n key: \"onClearFocus\",\n value: function () {\n function onClearFocus() {\n var _this$props3 = this.props,\n focused = _this$props3.focused,\n onFocusChange = _this$props3.onFocusChange,\n onClose = _this$props3.onClose,\n date = _this$props3.date;\n if (!focused) return;\n onFocusChange({\n focused: false\n });\n onClose({\n date: date\n });\n }\n\n return onClearFocus;\n }()\n }, {\n key: \"getDisplayFormat\",\n value: function () {\n function getDisplayFormat() {\n var displayFormat = this.props.displayFormat;\n return typeof displayFormat === 'string' ? displayFormat : displayFormat();\n }\n\n return getDisplayFormat;\n }()\n }, {\n key: \"getDateString\",\n value: function () {\n function getDateString(date) {\n var displayFormat = this.getDisplayFormat();\n\n if (date && displayFormat) {\n return date && date.format(displayFormat);\n }\n\n return (0, _toLocalizedDateString[\"default\"])(date);\n }\n\n return getDateString;\n }()\n }, {\n key: \"clearDate\",\n value: function () {\n function clearDate() {\n var _this$props4 = this.props,\n onDateChange = _this$props4.onDateChange,\n reopenPickerOnClearDate = _this$props4.reopenPickerOnClearDate,\n onFocusChange = _this$props4.onFocusChange;\n onDateChange(null);\n\n if (reopenPickerOnClearDate) {\n onFocusChange({\n focused: true\n });\n }\n }\n\n return clearDate;\n }()\n }, {\n key: \"render\",\n value: function () {\n function render() {\n var _this$props5 = this.props,\n children = _this$props5.children,\n id = _this$props5.id,\n placeholder = _this$props5.placeholder,\n disabled = _this$props5.disabled,\n focused = _this$props5.focused,\n isFocused = _this$props5.isFocused,\n required = _this$props5.required,\n readOnly = _this$props5.readOnly,\n openDirection = _this$props5.openDirection,\n showClearDate = _this$props5.showClearDate,\n showCaret = _this$props5.showCaret,\n showDefaultInputIcon = _this$props5.showDefaultInputIcon,\n inputIconPosition = _this$props5.inputIconPosition,\n customCloseIcon = _this$props5.customCloseIcon,\n customInputIcon = _this$props5.customInputIcon,\n date = _this$props5.date,\n phrases = _this$props5.phrases,\n onKeyDownArrowDown = _this$props5.onKeyDownArrowDown,\n onKeyDownQuestionMark = _this$props5.onKeyDownQuestionMark,\n screenReaderMessage = _this$props5.screenReaderMessage,\n isRTL = _this$props5.isRTL,\n noBorder = _this$props5.noBorder,\n block = _this$props5.block,\n small = _this$props5.small,\n regular = _this$props5.regular,\n verticalSpacing = _this$props5.verticalSpacing;\n var displayValue = this.getDateString(date);\n return _react[\"default\"].createElement(_SingleDatePickerInput[\"default\"], {\n id: id,\n placeholder: placeholder,\n focused: focused,\n isFocused: isFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n showCaret: showCaret,\n onClearDate: this.clearDate,\n showClearDate: showClearDate,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customCloseIcon: customCloseIcon,\n customInputIcon: customInputIcon,\n displayValue: displayValue,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeyDownShiftTab: this.onClearFocus,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n screenReaderMessage: screenReaderMessage,\n phrases: phrases,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n }, children);\n }\n\n return render;\n }()\n }]);\n\n return SingleDatePickerInputController;\n}(_react[\"default\"].PureComponent || _react[\"default\"].Component);\n\nexports[\"default\"] = SingleDatePickerInputController;\nSingleDatePickerInputController.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nSingleDatePickerInputController.defaultProps = defaultProps;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isInclusivelyBeforeDay;\n\nvar _moment = _interopRequireDefault(require(\"moment\"));\n\nvar _isAfterDay = _interopRequireDefault(require(\"./isAfterDay\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isInclusivelyBeforeDay(a, b) {\n if (!_moment[\"default\"].isMoment(a) || !_moment[\"default\"].isMoment(b)) return false;\n return !(0, _isAfterDay[\"default\"])(a, b);\n}","/* \n(The MIT License)\nCopyright (c) 2014 Halász Ádám \nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// Unique Hexatridecimal ID Generator\n// ================================================\n\n// Dependencies\n// ================================================\nvar pid = process && process.pid ? process.pid.toString(36) : '' ;\nvar address = '';\nif(typeof __webpack_require__ !== 'function'){\n var mac = '', networkInterfaces = require('os').networkInterfaces();\n for(interface_key in networkInterfaces){\n const networkInterface = networkInterfaces[interface_key];\n const length = networkInterface.length;\n for(var i = 0; i < length; i++){\n if(networkInterface[i].mac && networkInterface[i].mac != '00:00:00:00:00:00'){\n mac = networkInterface[i].mac; break;\n }\n }\n }\n address = mac ? parseInt(mac.replace(/\\:|\\D+/gi, '')).toString(36) : '' ;\n} \n\n// Exports\n// ================================================\nmodule.exports = module.exports.default = function(prefix){ return (prefix || '') + address + pid + now().toString(36); }\nmodule.exports.process = function(prefix){ return (prefix || '') + pid + now().toString(36); }\nmodule.exports.time = function(prefix){ return (prefix || '') + now().toString(36); }\n\n// Helpers\n// ================================================\nfunction now(){\n var time = Date.now();\n var last = now.last || time;\n return now.last = time > last ? time : last + 1;\n}\n","import 'react-dates/initialize';\n\nimport {SingleDatePicker} from 'react-dates';\nimport moment from 'moment';\nimport React, {Component} from 'react';\n\nimport {propTypes, defaultProps} from '../components/DatePickerSingle.react';\nimport convertToMoment from '../utils/convertToMoment';\n\nexport default class DatePickerSingle extends Component {\n constructor() {\n super();\n this.isOutsideRange = this.isOutsideRange.bind(this);\n this.onDateChange = this.onDateChange.bind(this);\n this.state = {focused: false};\n }\n\n isOutsideRange(date) {\n const {\n max_date_allowed,\n min_date_allowed,\n disabled_days,\n } = convertToMoment(this.props, [\n 'max_date_allowed',\n 'min_date_allowed',\n 'disabled_days',\n ]);\n\n return (\n (min_date_allowed && date.isBefore(min_date_allowed)) ||\n (max_date_allowed && date.isAfter(max_date_allowed)) ||\n (disabled_days && disabled_days.some(d => date.isSame(d, 'day')))\n );\n }\n\n onDateChange(date) {\n const {setProps} = this.props;\n const payload = {date: date ? date.format('YYYY-MM-DD') : null};\n setProps(payload);\n }\n\n render() {\n const {focused} = this.state;\n\n const {\n calendar_orientation,\n clearable,\n day_size,\n disabled,\n display_format,\n first_day_of_week,\n is_RTL,\n month_format,\n number_of_months_shown,\n placeholder,\n reopen_calendar_on_clear,\n show_outside_days,\n stay_open_on_select,\n with_full_screen_portal,\n with_portal,\n loading_state,\n id,\n style,\n className,\n } = this.props;\n\n const {date, initial_visible_month} = convertToMoment(this.props, [\n 'date',\n 'initial_visible_month',\n ]);\n\n const verticalFlag = calendar_orientation !== 'vertical';\n\n const DatePickerWrapperStyles = {\n position: 'relative',\n display: 'inline-block',\n ...style,\n };\n\n // the height in px of the top part of the calendar (that holds\n // the name of the month)\n const baselineHeight = 145;\n\n return (\n \n this.setState({focused})}\n initialVisibleMonth={() =>\n date || initial_visible_month || moment()\n }\n isOutsideRange={this.isOutsideRange}\n numberOfMonths={number_of_months_shown}\n withPortal={with_portal && verticalFlag}\n withFullScreenPortal={\n with_full_screen_portal && verticalFlag\n }\n firstDayOfWeek={first_day_of_week}\n enableOutsideDays={show_outside_days}\n monthFormat={month_format}\n displayFormat={display_format}\n placeholder={placeholder}\n showClearDate={clearable}\n disabled={disabled}\n keepOpenOnDateSelect={stay_open_on_select}\n reopenPickerOnClearDate={reopen_calendar_on_clear}\n isRTL={is_RTL}\n orientation={calendar_orientation}\n daySize={day_size}\n verticalHeight={baselineHeight + day_size * 6 + 'px'}\n />\n \n );\n }\n}\n\nDatePickerSingle.propTypes = propTypes;\nDatePickerSingle.defaultProps = defaultProps;\n","import 'react-dates/initialize';\nimport {DateRangePicker} from 'react-dates';\nimport React, {Component} from 'react';\nimport uniqid from 'uniqid';\n\nimport {propTypes, defaultProps} from '../components/DatePickerRange.react';\nimport convertToMoment from '../utils/convertToMoment';\n\nexport default class DatePickerRange extends Component {\n constructor(props) {\n super(props);\n this.propsToState = this.propsToState.bind(this);\n this.onDatesChange = this.onDatesChange.bind(this);\n this.isOutsideRange = this.isOutsideRange.bind(this);\n this.state = {\n focused: false,\n start_date_id: props.start_date_id || uniqid(),\n end_date_id: props.end_date_id || uniqid(),\n };\n }\n\n propsToState(newProps, force = false) {\n const state = {};\n\n if (force || newProps.start_date !== this.props.start_date) {\n state.start_date = newProps.start_date;\n }\n\n if (force || newProps.end_date !== this.props.end_date) {\n state.end_date = newProps.end_date;\n }\n\n if (Object.keys(state).length) {\n this.setState(state);\n }\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.propsToState(newProps);\n }\n\n UNSAFE_componentWillMount() {\n this.propsToState(this.props, true);\n }\n\n onDatesChange({startDate: start_date, endDate: end_date}) {\n const {setProps, updatemode, clearable} = this.props;\n\n const oldMomentDates = convertToMoment(this.state, [\n 'start_date',\n 'end_date',\n ]);\n\n if (start_date && !start_date.isSame(oldMomentDates.start_date)) {\n if (updatemode === 'singledate') {\n setProps({start_date: start_date.format('YYYY-MM-DD')});\n } else {\n this.setState({start_date: start_date.format('YYYY-MM-DD')});\n }\n }\n\n if (end_date && !end_date.isSame(oldMomentDates.end_date)) {\n if (updatemode === 'singledate') {\n setProps({end_date: end_date.format('YYYY-MM-DD')});\n } else if (updatemode === 'bothdates') {\n setProps({\n start_date: this.state.start_date,\n end_date: end_date.format('YYYY-MM-DD'),\n });\n }\n }\n\n if (\n clearable &&\n !start_date &&\n !end_date &&\n (oldMomentDates.start_date !== start_date ||\n oldMomentDates.end_date !== end_date)\n ) {\n setProps({start_date: null, end_date: null});\n }\n }\n\n isOutsideRange(date) {\n const {\n max_date_allowed,\n min_date_allowed,\n disabled_days,\n } = convertToMoment(this.props, [\n 'max_date_allowed',\n 'min_date_allowed',\n 'disabled_days',\n ]);\n\n return (\n (min_date_allowed && date.isBefore(min_date_allowed)) ||\n (max_date_allowed && date.isAfter(max_date_allowed)) ||\n (disabled_days && disabled_days.some(d => date.isSame(d, 'day')))\n );\n }\n\n render() {\n const {focusedInput} = this.state;\n\n const {\n calendar_orientation,\n clearable,\n day_size,\n disabled,\n display_format,\n end_date_placeholder_text,\n first_day_of_week,\n is_RTL,\n minimum_nights,\n month_format,\n number_of_months_shown,\n reopen_calendar_on_clear,\n show_outside_days,\n start_date_placeholder_text,\n stay_open_on_select,\n with_full_screen_portal,\n with_portal,\n loading_state,\n id,\n style,\n className,\n start_date_id,\n end_date_id,\n } = this.props;\n\n const {initial_visible_month} = convertToMoment(this.props, [\n 'initial_visible_month',\n ]);\n\n const {start_date, end_date} = convertToMoment(this.state, [\n 'start_date',\n 'end_date',\n ]);\n const verticalFlag = calendar_orientation !== 'vertical';\n\n const DatePickerWrapperStyles = {\n position: 'relative',\n display: 'inline-block',\n ...style,\n };\n\n // the height in px of the top part of the calendar (that holds\n // the name of the month)\n const baselineHeight = 145;\n\n return (\n \n {\n if (initial_visible_month) {\n return initial_visible_month;\n } else if (end_date && focusedInput === 'endDate') {\n return end_date;\n } else if (start_date && focusedInput === 'startDate') {\n return start_date;\n }\n return start_date;\n }}\n isOutsideRange={this.isOutsideRange}\n isRTL={is_RTL}\n keepOpenOnDateSelect={stay_open_on_select}\n minimumNights={minimum_nights}\n monthFormat={month_format}\n numberOfMonths={number_of_months_shown}\n onDatesChange={this.onDatesChange}\n onFocusChange={focusedInput =>\n this.setState({focusedInput})\n }\n orientation={calendar_orientation}\n reopenPickerOnClearDates={reopen_calendar_on_clear}\n showClearDates={clearable}\n startDate={start_date}\n startDatePlaceholderText={start_date_placeholder_text}\n withFullScreenPortal={\n with_full_screen_portal && verticalFlag\n }\n withPortal={with_portal && verticalFlag}\n startDateId={start_date_id || this.state.start_date_id}\n endDateId={end_date_id || this.state.end_date_id}\n verticalHeight={baselineHeight + day_size * 6 + 'px'}\n />\n \n );\n }\n}\n\nDatePickerRange.propTypes = propTypes;\nDatePickerRange.defaultProps = defaultProps;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/inst/deps/async-dropdown.js b/inst/deps/async-dropdown.js deleted file mode 100644 index 0f2dca2b..00000000 --- a/inst/deps/async-dropdown.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see async-dropdown.js.LICENSE */ -(window.webpackJsonpdash_core_components=window.webpackJsonpdash_core_components||[]).push([[2],{202:function(e,t,n){"use strict";!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(n(1));var o,i=n(280);(o=i)&&o.__esModule},217:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(451);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s(o).default}}),Object.defineProperty(t,"Grid",{enumerable:!0,get:function(){return s(o).default}});var i=n(463);Object.defineProperty(t,"accessibilityOverscanIndicesGetter",{enumerable:!0,get:function(){return s(i).default}});var r=n(317);Object.defineProperty(t,"defaultCellRangeRenderer",{enumerable:!0,get:function(){return s(r).default}});var a=n(316);function s(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"defaultOverscanIndicesGetter",{enumerable:!0,get:function(){return s(a).default}})},280:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=u(n(255)),i=u(n(211)),r=u(n(212)),a=u(n(453)),s=n(454);function u(e){return e&&e.__esModule?e:{default:e}}n(202).babelPluginFlowReactPropTypes_proptype_VisibleCellRange||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellSizeGetter||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_Alignment||n(0).any;var l=function(){function e(t){var n=t.maxScrollSize,r=void 0===n?(0,s.getMaxElementSize)():n,u=(0,o.default)(t,["maxScrollSize"]);(0,i.default)(this,e),this._cellSizeAndPositionManager=new a.default(u),this._maxScrollSize=r}return(0,r.default)(e,[{key:"areOffsetsAdjusted",value:function(){return this._cellSizeAndPositionManager.getTotalSize()>this._maxScrollSize}},{key:"configure",value:function(e){this._cellSizeAndPositionManager.configure(e)}},{key:"getCellCount",value:function(){return this._cellSizeAndPositionManager.getCellCount()}},{key:"getEstimatedCellSize",value:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()}},{key:"getLastMeasuredIndex",value:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()}},{key:"getOffsetAdjustment",value:function(e){var t=e.containerSize,n=e.offset,o=this._cellSizeAndPositionManager.getTotalSize(),i=this.getTotalSize(),r=this._getOffsetPercentage({containerSize:t,offset:n,totalSize:i});return Math.round(r*(i-o))}},{key:"getSizeAndPositionOfCell",value:function(e){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(e)}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()}},{key:"getTotalSize",value:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,n=void 0===t?"auto":t,o=e.containerSize,i=e.currentOffset,r=e.targetIndex;i=this._safeOffsetToOffset({containerSize:o,offset:i});var a=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({align:n,containerSize:o,currentOffset:i,targetIndex:r});return this._offsetToSafeOffset({containerSize:o,offset:a})}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,n=e.offset;return n=this._safeOffsetToOffset({containerSize:t,offset:n}),this._cellSizeAndPositionManager.getVisibleCellRange({containerSize:t,offset:n})}},{key:"resetCell",value:function(e){this._cellSizeAndPositionManager.resetCell(e)}},{key:"_getOffsetPercentage",value:function(e){var t=e.containerSize,n=e.offset,o=e.totalSize;return o<=t?0:n/(o-t)}},{key:"_offsetToSafeOffset",value:function(e){var t=e.containerSize,n=e.offset,o=this._cellSizeAndPositionManager.getTotalSize(),i=this.getTotalSize();if(o===i)return n;var r=this._getOffsetPercentage({containerSize:t,offset:n,totalSize:o});return Math.round(r*(i-t))}},{key:"_safeOffsetToOffset",value:function(e){var t=e.containerSize,n=e.offset,o=this._cellSizeAndPositionManager.getTotalSize(),i=this.getTotalSize();if(o===i)return n;var r=this._getOffsetPercentage({containerSize:t,offset:n,totalSize:i});return Math.round(r*(o-t))}}]),e}();t.default=l},281:function(e,t,n){"use strict";!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(n(1))},282:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(466);Object.defineProperty(t,"AllSubstringsIndexStrategy",{enumerable:!0,get:function(){return o.AllSubstringsIndexStrategy}});var i=n(467);Object.defineProperty(t,"ExactWordIndexStrategy",{enumerable:!0,get:function(){return i.ExactWordIndexStrategy}});var r=n(468);Object.defineProperty(t,"PrefixIndexStrategy",{enumerable:!0,get:function(){return r.PrefixIndexStrategy}})},283:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(469);Object.defineProperty(t,"CaseSensitiveSanitizer",{enumerable:!0,get:function(){return o.CaseSensitiveSanitizer}});var i=n(470);Object.defineProperty(t,"LowerCaseSanitizer",{enumerable:!0,get:function(){return i.LowerCaseSanitizer}})},316:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.cellCount,n=e.overscanCellsCount,i=e.scrollDirection,r=e.startIndex,a=e.stopIndex;return i===o?{overscanStartIndex:Math.max(0,r),overscanStopIndex:Math.min(t-1,a+n)}:{overscanStartIndex:Math.max(0,r-n),overscanStopIndex:Math.min(t-1,a)}};n(202).babelPluginFlowReactPropTypes_proptype_OverscanIndices||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams||n(0).any,t.SCROLL_DIRECTION_BACKWARD=-1;var o=t.SCROLL_DIRECTION_FORWARD=1;t.SCROLL_DIRECTION_HORIZONTAL="horizontal",t.SCROLL_DIRECTION_VERTICAL="vertical"},317:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=e.cellCache,n=e.cellRenderer,o=e.columnSizeAndPositionManager,i=e.columnStartIndex,r=e.columnStopIndex,a=e.deferredMeasurementCache,s=e.horizontalOffsetAdjustment,u=e.isScrolling,l=e.parent,c=e.rowSizeAndPositionManager,p=e.rowStartIndex,d=e.rowStopIndex,f=e.styleCache,h=e.verticalOffsetAdjustment,v=e.visibleColumnIndices,g=e.visibleRowIndices,y=[],m=o.areOffsetsAdjusted()||c.areOffsetsAdjusted(),b=!u&&!m,_=p;_<=d;_++)for(var S=c.getSizeAndPositionOfCell(_),C=i;C<=r;C++){var O=o.getSizeAndPositionOfCell(C),w=C>=v.start&&C<=v.stop&&_>=g.start&&_<=g.stop,E=_+"-"+C,T=void 0;b&&f[E]?T=f[E]:a&&!a.has(_,C)?T={height:"auto",left:0,position:"absolute",top:0,width:"auto"}:(T={height:S.size,left:O.offset+s,position:"absolute",top:S.offset+h,width:O.size},f[E]=T);var z={columnIndex:C,isScrolling:u,isVisible:w,key:E,parent:l,rowIndex:_,style:T},x=void 0;!u||s||h?x=n(z):(t[E]||(t[E]=n(z)),x=t[E]),null!=x&&!1!==x&&y.push(x)}return y};n(202).babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams||n(0).any},318:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.requestAnimationTimeout=t.cancelAnimationTimeout=void 0;var o=n(462);t.cancelAnimationTimeout=function(e){return(0,o.caf)(e.id)},t.requestAnimationTimeout=function(e,t){var n=Date.now(),i={id:(0,o.raf)((function r(){Date.now()-n>=t?e.call():i.id=(0,o.raf)(r)}))};return i}},319:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(471);Object.defineProperty(t,"TfIdfSearchIndex",{enumerable:!0,get:function(){return o.TfIdfSearchIndex}});var i=n(472);Object.defineProperty(t,"UnorderedSearchIndex",{enumerable:!0,get:function(){return i.UnorderedSearchIndex}})},320:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){t=t||[];for(var n=e=e||{},o=0;o0&&void 0!==arguments[0]?arguments[0]:0;this._listRef&&this._listRef.recomputeRowHeights(e)}},{key:"focus",value:function(){if(this._selectRef)return this._selectRef.focus()}},{key:"render",value:function(){var e=this._getSelectComponent();return s.default.createElement(e,o({},this.props,{ref:this._setSelectRef,menuRenderer:this._renderMenu,menuStyle:{overflow:"hidden"}}))}},{key:"_renderMenu",value:function(e){var t=this,n=e.focusedOption,i=e.focusOption,r=e.labelKey,a=e.onSelect,u=e.options,p=(e.selectValue,e.valueArray),d=e.valueKey,f=this.props,h=f.listProps,v=f.optionRenderer,g=u.indexOf(n),y=this._calculateListHeight({options:u}),m=v||this._optionRenderer;function b(e){var t=e.index,o=e.key,s=e.style,l=u[t];return m({focusedOption:n,focusedOptionIndex:g,focusOption:i,key:o,labelKey:r,onSelect:a,option:l,optionIndex:t,options:u,selectValue:a,style:s,valueArray:p,valueKey:d})}return s.default.createElement(l.default,{disableHeight:!0},(function(e){var n=e.width;return s.default.createElement(c.default,o({className:"VirtualSelectGrid",height:y,ref:t._setListRef,rowCount:u.length,rowHeight:function(e){var n=e.index;return t._getOptionHeight({option:u[n]})},rowRenderer:b,scrollToIndex:g,width:n},h))}))}},{key:"_calculateListHeight",value:function(e){for(var t=e.options,n=this.props.maxHeight,o=0,i=0;in)return n}return o}},{key:"_getOptionHeight",value:function(e){var t=e.option,n=this.props.optionHeight;return n instanceof Function?n({option:t}):n}},{key:"_getSelectComponent",value:function(){var e=this.props,t=e.async,n=e.selectComponent;return n||(t?u.default.Async:u.default)}},{key:"_optionRenderer",value:function(e){var t=e.focusedOption,n=e.focusOption,i=e.key,r=e.labelKey,a=e.option,u=e.selectValue,l=e.style,c=e.valueArray,p=["VirtualizedSelectOption"];a===t&&p.push("VirtualizedSelectFocusedOption"),a.disabled&&p.push("VirtualizedSelectDisabledOption"),c&&c.indexOf(a)>=0&&p.push("VirtualizedSelectSelectedOption"),a.className&&p.push(a.className);var d=a.disabled?{}:{onClick:function(){return u(a)},onMouseEnter:function(){return n(a)}};return s.default.createElement("div",o({className:p.join(" "),key:i,style:l,title:a.title},d),a[r])}},{key:"_setListRef",value:function(e){this._listRef=e}},{key:"_setSelectRef",value:function(e){this._selectRef=e}}]),t}(a.Component);d.propTypes={async:r.default.bool,listProps:r.default.object,maxHeight:r.default.number,optionHeight:r.default.oneOfType([r.default.number,r.default.func]),optionRenderer:r.default.func,selectComponent:r.default.func},d.defaultProps={async:!1,maxHeight:200,optionHeight:35},t.default=d},404:function(e,t,n){"use strict";n.r(t),n.d(t,"Async",(function(){return N})),n.d(t,"AsyncCreatable",(function(){return $})),n.d(t,"Creatable",(function(){return B})),n.d(t,"Value",(function(){return I})),n.d(t,"Option",(function(){return x})),n.d(t,"defaultMenuRenderer",(function(){return m})),n.d(t,"defaultArrowRenderer",(function(){return d})),n.d(t,"defaultClearRenderer",(function(){return f})),n.d(t,"defaultFilterOptions",(function(){return y}));var o=n(405),i=n.n(o),r=n(219),a=n.n(r),s=n(0),u=n.n(s),l=n(1),c=n.n(l),p=n(197),d=function(e){var t=e.onMouseDown;return c.a.createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:u.a.func};var f=function(){return c.a.createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"×"}})},h=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],v=function(e){for(var t=0;t-1)return!1;if(o.filterOption)return o.filterOption.call(void 0,e,t);if(!t)return!0;var i=e[o.valueKey],r=e[o.labelKey],a=g(i),s=g(r);if(!a&&!s)return!1;var u=a?String(i):null,l=s?String(r):null;return o.ignoreAccents&&(u&&"label"!==o.matchProp&&(u=v(u)),l&&"value"!==o.matchProp&&(l=v(l))),o.ignoreCase&&(u&&"label"!==o.matchProp&&(u=u.toLowerCase()),l&&"value"!==o.matchProp&&(l=l.toLowerCase())),"start"===o.matchPos?u&&"label"!==o.matchProp&&u.substr(0,t.length)===t||l&&"value"!==o.matchProp&&l.substr(0,t.length)===t:u&&"label"!==o.matchProp&&u.indexOf(t)>=0||l&&"value"!==o.matchProp&&l.indexOf(t)>=0}))},m=function(e){var t=e.focusedOption,n=e.focusOption,o=e.inputValue,i=e.instancePrefix,r=e.onFocus,s=e.onOptionRef,u=e.onSelect,l=e.optionClassName,p=e.optionComponent,d=e.optionRenderer,f=e.options,h=e.removeValue,v=e.selectValue,g=e.valueArray,y=e.valueKey,m=p;return f.map((function(e,p){var f=g&&g.some((function(t){return t[y]===e[y]})),b=e===t,_=a()(l,{"Select-option":!0,"is-selected":f,"is-focused":b,"is-disabled":e.disabled});return c.a.createElement(m,{className:_,focusOption:n,inputValue:o,instancePrefix:i,isDisabled:e.disabled,isFocused:b,isSelected:f,key:"option-"+p+"-"+e[y],onFocus:r,onSelect:u,option:e,optionIndex:p,ref:function(e){s(e,b)},removeValue:h,selectValue:v},d(e,p,o))}))};m.propTypes={focusOption:u.a.func,focusedOption:u.a.object,inputValue:u.a.string,instancePrefix:u.a.string,onFocus:u.a.func,onOptionRef:u.a.func,onSelect:u.a.func,optionClassName:u.a.string,optionComponent:u.a.func,optionRenderer:u.a.func,options:u.a.array,removeValue:u.a.func,selectValue:u.a.func,valueArray:u.a.array,valueKey:u.a.string};var b=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S=(function(){function e(e){this.value=e}function t(t){var n,o;function i(n,o){try{var a=t[n](o),s=a.value;s instanceof e?Promise.resolve(s.value).then((function(e){i("next",e)}),(function(e){i("throw",e)})):r(a.done?"return":"normal",a.value)}catch(e){r("throw",e)}}function r(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?i(n.key,n.arg):o=null}this._invoke=function(e,t){return new Promise((function(r,a){var s={key:e,arg:t,resolve:r,reject:a,next:null};o?o=o.next=s:(n=o=s,i(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),C=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n},z=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},x=function(e){function t(e){S(this,t);var n=z(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return E(t,e),C(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,o=e.optionIndex,i=a()(this.props.className,t.className);return t.disabled?c.a.createElement("div",{className:i,onMouseDown:b,onClick:b},this.props.children):c.a.createElement("div",{className:i,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+o,title:t.title},this.props.children)}}]),t}(c.a.Component);x.propTypes={children:u.a.node,className:u.a.string,instancePrefix:u.a.string.isRequired,isDisabled:u.a.bool,isFocused:u.a.bool,isSelected:u.a.bool,onFocus:u.a.func,onSelect:u.a.func,onUnfocus:u.a.func,option:u.a.object.isRequired,optionIndex:u.a.number};var I=function(e){function t(e){S(this,t);var n=z(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return E(t,e),C(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return c.a.createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){return this.props.onClick||this.props.value.href?c.a.createElement("a",{className:"Select-value-label",href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):c.a.createElement("span",{className:"Select-value-label",role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return c.a.createElement("div",{className:a()("Select-value",this.props.value.disabled?"Select-value-disabled":"",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(c.a.Component);I.propTypes={children:u.a.node,disabled:u.a.bool,id:u.a.string,onClick:u.a.func,onRemove:u.a.func,value:u.a.object.isRequired};var A=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},P=u.a.oneOfType([u.a.string,u.a.node]),k=u.a.oneOfType([u.a.string,u.a.number]),R=1,F=function(e,t){var n=void 0===e?"undefined":_(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var o=t.options,i=t.valueKey;if(o)for(var r=0;ra||rd.bottom?l.scrollTop=u.offsetTop+u.clientHeight-l.offsetHeight:c.topt.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":_(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return F(e,n)})).filter((function(e){return e}))}var o=F(e,n);return o?[o]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=M(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),o=n.indexOf(e);this.setValue(t.concat(e)),this.props.closeOnSelect&&(n.length-1===o?this.focusOption(n[o-1]):n.length>o&&this.focusOption(n[o+1]))}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var o=-1,i=0;i0?o-=1:o=t.length-1;else if("start"===e)o=0;else if("end"===e)o=t.length-1;else if("page_up"===e){var r=o-this.props.pageSize;o=r<0?0:r}else if("page_down"===e){var a=o+this.props.pageSize;o=a>t.length-1?t.length-1:a}-1===o&&(o=0),this.setState({focusedIndex:t[o].index,focusedOption:t[o].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return c.a.createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},c.a.createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,o=this.props.valueRenderer||this.getOptionLabel,i=this.props.valueComponent;if(!e.length)return function(e,t,n){var o=e.inputValue,i=e.isPseudoFocused,r=e.isFocused,a=t.onSelectResetsInput;return!o||!a&&!n&&!i&&!r}(this.state,this.props,t)?c.a.createElement("div",{className:"Select-placeholder"},this.props.placeholder):null;var r,a,s,u,l,p,d=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(t,r){return c.a.createElement(i,{disabled:n.props.disabled||!1===t.clearableValue,id:n._instancePrefix+"-value-"+r,instancePrefix:n._instancePrefix,key:"value-"+r+"-"+t[n.props.valueKey],onClick:d,onRemove:n.removeValue,placeholder:n.props.placeholder,value:t,values:e},o(t,r),c.a.createElement("span",{className:"Select-aria-only"}," "))})):(r=this.state,a=this.props,s=r.inputValue,u=r.isPseudoFocused,l=r.isFocused,p=a.onSelectResetsInput,s&&(p||!l&&u||l&&!u)?void 0:(t&&(d=null),c.a.createElement(i,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:d,placeholder:this.props.placeholder,value:e[0]},o(e[0]))))}},{key:"renderInput",value:function(e,t){var n,o=this,r=a()("Select-input",this.props.inputProps.className),s=this.state.isOpen,u=a()((O(n={},this._instancePrefix+"-list",s),O(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),l=this.state.inputValue;!l||this.props.onSelectResetsInput||this.state.isFocused||(l="");var p=w({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":u,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return o.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:l});if(this.props.inputRenderer)return this.props.inputRenderer(p);if(this.props.disabled||!this.props.searchable){var d=T(this.props.inputProps,[]),f=a()(O({},this._instancePrefix+"-list",s));return c.a.createElement("div",w({},d,{"aria-expanded":s,"aria-owns":f,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:r,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return o.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?c.a.createElement(i.a,w({id:this.props.id},p,{className:r,minWidth:"5"})):c.a.createElement("div",{className:r,key:"input-wrap",style:{display:"inline-block"}},c.a.createElement("input",w({id:this.props.id},p)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return c.a.createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?c.a.createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];if(this.props.filterOptions){var o="function"==typeof this.props.filterOptions?this.props.filterOptions:y;return o(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey})}return n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?c.a.createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return A(e[t.props.valueKey])})).join(this.props.delimiter);return c.a.createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return c.a.createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:A(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,o=this.state.focusedOption||e;if(o&&!o.disabled){var i=-1;if(t.some((function(e,t){var r=e[n]===o[n];return r&&(i=t),r})),-1!==i)return i}for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n}(this.props,[]);return function(e){c.forEach((function(t){return delete e[t]}))}(i),i.className=this.props.inputClassName,i.id=this.state.inputId,i.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",o({},i,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}(r.Component);h.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},h.defaultProps={minWidth:1,injectStyles:!0},t.default=h},406:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(407);function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i(o).default}}),Object.defineProperty(t,"AutoSizer",{enumerable:!0,get:function(){return i(o).default}})},407:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=p(n(209)),i=p(n(254)),r=p(n(211)),a=p(n(212)),s=p(n(215)),u=p(n(216)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),c=p(n(446));function p(e){return e&&e.__esModule?e:{default:e}}var d=function(e){function t(){var e,n,o,a;(0,r.default)(this,t);for(var u=arguments.length,l=Array(u),c=0;c div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',o=e.head||e.getElementsByTagName("head")[0],i=e.createElement("style");i.id="detectElementResize",i.type="text/css",null!=t&&i.setAttribute("nonce",t),i.styleSheet?i.styleSheet.cssText=n:i.appendChild(e.createTextNode(n)),o.appendChild(i)}}(r),e.__resizeLast__={},e.__resizeListeners__=[],(e.__resizeTriggers__=r.createElement("div")).className="resize-triggers",e.__resizeTriggers__.innerHTML='
',e.appendChild(e.__resizeTriggers__),a(e),e.addEventListener("scroll",s,!0),c&&(e.__resizeTriggers__.__animationListener__=function(t){t.animationName==g&&a(e)},e.__resizeTriggers__.addEventListener(c,e.__resizeTriggers__.__animationListener__))}e.__resizeListeners__.push(i)}},removeResizeListener:function(e,t){if(o)e.detachEvent("onresize",t);else if(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),!e.__resizeListeners__.length){e.removeEventListener("scroll",s,!0),e.__resizeTriggers__.__animationListener__&&(e.__resizeTriggers__.removeEventListener(c,e.__resizeTriggers__.__animationListener__),e.__resizeTriggers__.__animationListener__=null);try{e.__resizeTriggers__=!e.removeChild(e.__resizeTriggers__)}catch(e){}}}}}}).call(this,n(17))},447:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(448);function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i(o).default}}),Object.defineProperty(t,"List",{enumerable:!0,get:function(){return i(o).default}})},448:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=h(n(209)),i=h(n(315)),r=h(n(254)),a=h(n(211)),s=h(n(212)),u=h(n(215)),l=h(n(216)),c=n(217),p=h(c),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),f=h(n(219));function h(e){return e&&e.__esModule?e:{default:e}}n(217).babelPluginFlowReactPropTypes_proptype_Scroll||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_CellRendererParams||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_RenderedSection||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetter||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_CellPosition||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_CellSize||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_Alignment||n(0).any,n(217).babelPluginFlowReactPropTypes_proptype_NoContentRenderer||n(0).any,n(281).babelPluginFlowReactPropTypes_proptype_Scroll||n(0).any,n(281).babelPluginFlowReactPropTypes_proptype_RenderedRows||n(0).any,n(281).babelPluginFlowReactPropTypes_proptype_RowRenderer||n(0).any;var v=function(e){function t(){var e,n,o,s;(0,a.default)(this,t);for(var l=arguments.length,c=Array(l),p=0;p0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,n=void 0===t?0:t,o=e.rowIndex,i=void 0===o?0:o;this.Grid&&this.Grid.recomputeGridSize({rowIndex:i,columnIndex:n})}},{key:"recomputeRowHeights",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.recomputeGridSize({rowIndex:e,columnIndex:0})}},{key:"scrollToPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToPosition({scrollTop:e})}},{key:"scrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.Grid&&this.Grid.scrollToCell({columnIndex:0,rowIndex:e})}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.noRowsRenderer,i=e.scrollToIndex,r=e.width,a=(0,f.default)("ReactVirtualized__List",t);return d.createElement(p.default,(0,o.default)({},this.props,{autoContainerWidth:!0,cellRenderer:this._cellRenderer,className:a,columnWidth:r,columnCount:1,noContentRenderer:n,onScroll:this._onScroll,onSectionRendered:this._onSectionRendered,ref:this._setRef,scrollToRow:i}))}}]),t}(d.PureComponent);v.defaultProps={autoHeight:!1,estimatedRowSize:30,onScroll:function(){},noRowsRenderer:function(){return null},onRowsRendered:function(){},overscanIndicesGetter:c.accessibilityOverscanIndicesGetter,overscanRowCount:10,scrollToAlignment:"auto",scrollToIndex:-1,style:{}},v.propTypes=null,t.default=v},451:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=void 0;var o=_(n(209)),i=_(n(254)),r=_(n(211)),a=_(n(212)),s=_(n(215)),u=_(n(216)),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),c=_(n(219)),p=_(n(452)),d=_(n(280)),f=_(n(455)),h=n(316),v=_(h),g=_(n(459)),y=_(n(317)),m=_(n(460)),b=n(318);function _(e){return e&&e.__esModule?e:{default:e}}n(202).babelPluginFlowReactPropTypes_proptype_Alignment||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetter||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_RenderedSection||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_ScrollbarPresenceChange||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_Scroll||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_NoContentRenderer||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellSizeGetter||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellSize||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellPosition||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellRangeRenderer||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellRenderer||n(0).any,n(318).babelPluginFlowReactPropTypes_proptype_AnimationTimeoutId||n(0).any;var S=t.DEFAULT_SCROLLING_RESET_TIME_INTERVAL=150,C="observed",O="requested",w=function(e){function t(e){(0,r.default)(this,t);var n=(0,s.default)(this,(t.__proto__||(0,i.default)(t)).call(this,e));return n.state={isScrolling:!1,scrollDirectionHorizontal:h.SCROLL_DIRECTION_FORWARD,scrollDirectionVertical:h.SCROLL_DIRECTION_FORWARD,scrollLeft:0,scrollTop:0,scrollPositionChangeReason:null},n._onGridRenderedMemoizer=(0,f.default)(),n._onScrollMemoizer=(0,f.default)(!1),n._deferredInvalidateColumnIndex=null,n._deferredInvalidateRowIndex=null,n._recomputeScrollLeftFlag=!1,n._recomputeScrollTopFlag=!1,n._horizontalScrollBarSize=0,n._verticalScrollBarSize=0,n._scrollbarPresenceChanged=!1,n._cellCache={},n._styleCache={},n._scrollbarSizeMeasured=!1,n._renderedColumnStartIndex=0,n._renderedColumnStopIndex=0,n._renderedRowStartIndex=0,n._renderedRowStopIndex=0,n._debounceScrollEndedCallback=function(){n._disablePointerEventsTimeoutId=null,n._resetStyleCache()},n._invokeOnGridRenderedHelper=function(){var e=n.props.onSectionRendered;n._onGridRenderedMemoizer({callback:e,indices:{columnOverscanStartIndex:n._columnStartIndex,columnOverscanStopIndex:n._columnStopIndex,columnStartIndex:n._renderedColumnStartIndex,columnStopIndex:n._renderedColumnStopIndex,rowOverscanStartIndex:n._rowStartIndex,rowOverscanStopIndex:n._rowStopIndex,rowStartIndex:n._renderedRowStartIndex,rowStopIndex:n._renderedRowStopIndex}})},n._setScrollingContainerRef=function(e){n._scrollingContainer=e},n._onScroll=function(e){e.target===n._scrollingContainer&&n.handleScrollEvent(e.target)},n._columnWidthGetter=n._wrapSizeGetter(e.columnWidth),n._rowHeightGetter=n._wrapSizeGetter(e.rowHeight),n._columnSizeAndPositionManager=new d.default({cellCount:e.columnCount,cellSizeGetter:function(e){return n._columnWidthGetter(e)},estimatedCellSize:n._getEstimatedColumnSize(e)}),n._rowSizeAndPositionManager=new d.default({cellCount:e.rowCount,cellSizeGetter:function(e){return n._rowHeightGetter(e)},estimatedCellSize:n._getEstimatedRowSize(e)}),n}return(0,u.default)(t,e),(0,a.default)(t,[{key:"getOffsetForCell",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.alignment,n=void 0===t?this.props.scrollToAlignment:t,i=e.columnIndex,r=void 0===i?this.props.scrollToColumn:i,a=e.rowIndex,s=void 0===a?this.props.scrollToRow:a,u=(0,o.default)({},this.props,{scrollToAlignment:n,scrollToColumn:r,scrollToRow:s});return{scrollLeft:this._getCalculatedScrollLeft(u),scrollTop:this._getCalculatedScrollTop(u)}}},{key:"handleScrollEvent",value:function(e){var t=e.scrollLeft,n=void 0===t?0:t,o=e.scrollTop,i=void 0===o?0:o;if(!(i<0)){this._debounceScrollEnded();var r=this.props,a=r.autoHeight,s=r.autoWidth,u=r.height,l=r.width,c=this._scrollbarSize,p=this._rowSizeAndPositionManager.getTotalSize(),d=this._columnSizeAndPositionManager.getTotalSize(),f=Math.min(Math.max(0,d-l+c),n),v=Math.min(Math.max(0,p-u+c),i);if(this.state.scrollLeft!==f||this.state.scrollTop!==v){var g={isScrolling:!0,scrollDirectionHorizontal:f!==this.state.scrollLeft?f>this.state.scrollLeft?h.SCROLL_DIRECTION_FORWARD:h.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionHorizontal,scrollDirectionVertical:v!==this.state.scrollTop?v>this.state.scrollTop?h.SCROLL_DIRECTION_FORWARD:h.SCROLL_DIRECTION_BACKWARD:this.state.scrollDirectionVertical,scrollPositionChangeReason:C};a||(g.scrollTop=v),s||(g.scrollLeft=f),this.setState(g)}this._invokeOnScrollMemoizer({scrollLeft:f,scrollTop:v,totalColumnsWidth:d,totalRowsHeight:p})}}},{key:"invalidateCellSizeAfterRender",value:function(e){var t=e.columnIndex,n=e.rowIndex;this._deferredInvalidateColumnIndex="number"==typeof this._deferredInvalidateColumnIndex?Math.min(this._deferredInvalidateColumnIndex,t):t,this._deferredInvalidateRowIndex="number"==typeof this._deferredInvalidateRowIndex?Math.min(this._deferredInvalidateRowIndex,n):n}},{key:"measureAllCells",value:function(){var e=this.props,t=e.columnCount,n=e.rowCount;this._columnSizeAndPositionManager.getSizeAndPositionOfCell(t-1),this._rowSizeAndPositionManager.getSizeAndPositionOfCell(n-1)}},{key:"recomputeGridSize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.columnIndex,n=void 0===t?0:t,o=e.rowIndex,i=void 0===o?0:o,r=this.props,a=r.scrollToColumn,s=r.scrollToRow;this._columnSizeAndPositionManager.resetCell(n),this._rowSizeAndPositionManager.resetCell(i),this._recomputeScrollLeftFlag=a>=0&&n<=a,this._recomputeScrollTopFlag=s>=0&&i<=s,this._cellCache={},this._styleCache={},this.forceUpdate()}},{key:"scrollToCell",value:function(e){var t=e.columnIndex,n=e.rowIndex,i=this.props.columnCount,r=this.props;i>1&&void 0!==t&&this._updateScrollLeftForScrollToColumn((0,o.default)({},r,{scrollToColumn:t})),void 0!==n&&this._updateScrollTopForScrollToRow((0,o.default)({},r,{scrollToRow:n}))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.getScrollbarSize,n=e.height,o=e.scrollLeft,i=e.scrollToColumn,r=e.scrollTop,a=e.scrollToRow,s=e.width;this._handleInvalidatedGridSize(),this._scrollbarSizeMeasured||(this._scrollbarSize=t(),this._scrollbarSizeMeasured=!0,this.setState({})),("number"==typeof o&&o>=0||"number"==typeof r&&r>=0)&&this.scrollToPosition({scrollLeft:o,scrollTop:r});var u=n>0&&s>0;i>=0&&u&&this._updateScrollLeftForScrollToColumn(),a>=0&&u&&this._updateScrollTopForScrollToRow(),this._invokeOnGridRenderedHelper(),this._invokeOnScrollMemoizer({scrollLeft:o||0,scrollTop:r||0,totalColumnsWidth:this._columnSizeAndPositionManager.getTotalSize(),totalRowsHeight:this._rowSizeAndPositionManager.getTotalSize()}),this._maybeCallOnScrollbarPresenceChange()}},{key:"componentDidUpdate",value:function(e,t){var n=this,o=this.props,i=o.autoHeight,r=o.autoWidth,a=o.columnCount,s=o.height,u=o.rowCount,l=o.scrollToAlignment,c=o.scrollToColumn,p=o.scrollToRow,d=o.width,f=this.state,h=f.scrollLeft,v=f.scrollPositionChangeReason,y=f.scrollTop;this._handleInvalidatedGridSize();var m=a>0&&0===e.columnCount||u>0&&0===e.rowCount;v===O&&(!r&&h>=0&&(h!==t.scrollLeft&&h!==this._scrollingContainer.scrollLeft||m)&&(this._scrollingContainer.scrollLeft=h),!i&&y>=0&&(y!==t.scrollTop&&y!==this._scrollingContainer.scrollTop||m)&&(this._scrollingContainer.scrollTop=y));var b=(0===e.width||0===e.height)&&s>0&&d>0;if(this._recomputeScrollLeftFlag?(this._recomputeScrollLeftFlag=!1,this._updateScrollLeftForScrollToColumn(this.props)):(0,g.default)({cellSizeAndPositionManager:this._columnSizeAndPositionManager,previousCellsCount:e.columnCount,previousCellSize:e.columnWidth,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToColumn,previousSize:e.width,scrollOffset:h,scrollToAlignment:l,scrollToIndex:c,size:d,sizeJustIncreasedFromZero:b,updateScrollIndexCallback:function(){return n._updateScrollLeftForScrollToColumn(n.props)}}),this._recomputeScrollTopFlag?(this._recomputeScrollTopFlag=!1,this._updateScrollTopForScrollToRow(this.props)):(0,g.default)({cellSizeAndPositionManager:this._rowSizeAndPositionManager,previousCellsCount:e.rowCount,previousCellSize:e.rowHeight,previousScrollToAlignment:e.scrollToAlignment,previousScrollToIndex:e.scrollToRow,previousSize:e.height,scrollOffset:y,scrollToAlignment:l,scrollToIndex:p,size:s,sizeJustIncreasedFromZero:b,updateScrollIndexCallback:function(){return n._updateScrollTopForScrollToRow(n.props)}}),this._invokeOnGridRenderedHelper(),h!==t.scrollLeft||y!==t.scrollTop){var _=this._rowSizeAndPositionManager.getTotalSize(),S=this._columnSizeAndPositionManager.getTotalSize();this._invokeOnScrollMemoizer({scrollLeft:h,scrollTop:y,totalColumnsWidth:S,totalRowsHeight:_})}this._maybeCallOnScrollbarPresenceChange()}},{key:"componentWillMount",value:function(){var e=this.props.getScrollbarSize;this._scrollbarSize=e(),void 0===this._scrollbarSize?(this._scrollbarSizeMeasured=!1,this._scrollbarSize=0):this._scrollbarSizeMeasured=!0,this._calculateChildrenToRender()}},{key:"componentWillUnmount",value:function(){this._disablePointerEventsTimeoutId&&(0,b.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId)}},{key:"componentWillReceiveProps",value:function(e){var t=this,n=this.state,o=n.scrollLeft,i=n.scrollTop;if(0===e.columnCount&&0!==o||0===e.rowCount&&0!==i)this.scrollToPosition({scrollLeft:0,scrollTop:0});else if(e.scrollLeft!==this.props.scrollLeft||e.scrollTop!==this.props.scrollTop){var r={};null!=e.scrollLeft&&(r.scrollLeft=e.scrollLeft),null!=e.scrollTop&&(r.scrollTop=e.scrollTop),this.scrollToPosition(r)}e.columnWidth===this.props.columnWidth&&e.rowHeight===this.props.rowHeight||(this._styleCache={}),this._columnWidthGetter=this._wrapSizeGetter(e.columnWidth),this._rowHeightGetter=this._wrapSizeGetter(e.rowHeight),this._columnSizeAndPositionManager.configure({cellCount:e.columnCount,estimatedCellSize:this._getEstimatedColumnSize(e)}),this._rowSizeAndPositionManager.configure({cellCount:e.rowCount,estimatedCellSize:this._getEstimatedRowSize(e)});var a=this.props,s=a.columnCount,u=a.rowCount;0!==s&&0!==u||(s=0,u=0),e.autoHeight&&!1===e.isScrolling&&!0===this.props.isScrolling&&this._resetStyleCache(),(0,p.default)({cellCount:s,cellSize:"number"==typeof this.props.columnWidth?this.props.columnWidth:null,computeMetadataCallback:function(){return t._columnSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.columnCount,nextCellSize:"number"==typeof e.columnWidth?e.columnWidth:null,nextScrollToIndex:e.scrollToColumn,scrollToIndex:this.props.scrollToColumn,updateScrollOffsetForScrollToIndex:function(){return t._updateScrollLeftForScrollToColumn(e,t.state)}}),(0,p.default)({cellCount:u,cellSize:"number"==typeof this.props.rowHeight?this.props.rowHeight:null,computeMetadataCallback:function(){return t._rowSizeAndPositionManager.resetCell(0)},computeMetadataCallbackProps:e,nextCellsCount:e.rowCount,nextCellSize:"number"==typeof e.rowHeight?e.rowHeight:null,nextScrollToIndex:e.scrollToRow,scrollToIndex:this.props.scrollToRow,updateScrollOffsetForScrollToIndex:function(){return t._updateScrollTopForScrollToRow(e,t.state)}})}},{key:"componentWillUpdate",value:function(e,t){this._calculateChildrenToRender(e,t)}},{key:"render",value:function(){var e=this.props,t=e.autoContainerWidth,n=e.autoHeight,i=e.autoWidth,r=e.className,a=e.containerProps,s=e.containerRole,u=e.containerStyle,p=e.height,d=e.id,f=e.noContentRenderer,h=e.role,v=e.style,g=e.tabIndex,y=e.width,m=this._isScrolling(),b={boxSizing:"border-box",direction:"ltr",height:n?"auto":p,position:"relative",width:i?"auto":y,WebkitOverflowScrolling:"touch",willChange:"transform"},_=this._columnSizeAndPositionManager.getTotalSize(),S=this._rowSizeAndPositionManager.getTotalSize(),C=S>p?this._scrollbarSize:0,O=_>y?this._scrollbarSize:0;O===this._horizontalScrollBarSize&&C===this._verticalScrollBarSize||(this._horizontalScrollBarSize=O,this._verticalScrollBarSize=C,this._scrollbarPresenceChanged=!0),b.overflowX=_+C<=y?"hidden":"auto",b.overflowY=S+O<=p?"hidden":"auto";var w=this._childrenToDisplay,E=0===w.length&&p>0&&y>0;return l.createElement("div",(0,o.default)({ref:this._setScrollingContainerRef},a,{"aria-label":this.props["aria-label"],"aria-readonly":this.props["aria-readonly"],className:(0,c.default)("ReactVirtualized__Grid",r),id:d,onScroll:this._onScroll,role:h,style:(0,o.default)({},b,v),tabIndex:g}),w.length>0&&l.createElement("div",{className:"ReactVirtualized__Grid__innerScrollContainer",role:s,style:(0,o.default)({width:t?"auto":_,height:S,maxWidth:_,maxHeight:S,overflow:"hidden",pointerEvents:m?"none":"",position:"relative"},u)},w),E&&f())}},{key:"_calculateChildrenToRender",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=e.cellRenderer,o=e.cellRangeRenderer,i=e.columnCount,r=e.deferredMeasurementCache,a=e.height,s=e.overscanColumnCount,u=e.overscanIndicesGetter,l=e.overscanRowCount,c=e.rowCount,p=e.width,d=t.scrollDirectionHorizontal,f=t.scrollDirectionVertical,h=t.scrollLeft,v=t.scrollTop,g=this._isScrolling(e,t);if(this._childrenToDisplay=[],a>0&&p>0){var y=this._columnSizeAndPositionManager.getVisibleCellRange({containerSize:p,offset:h}),m=this._rowSizeAndPositionManager.getVisibleCellRange({containerSize:a,offset:v}),b=this._columnSizeAndPositionManager.getOffsetAdjustment({containerSize:p,offset:h}),_=this._rowSizeAndPositionManager.getOffsetAdjustment({containerSize:a,offset:v});this._renderedColumnStartIndex=y.start,this._renderedColumnStopIndex=y.stop,this._renderedRowStartIndex=m.start,this._renderedRowStopIndex=m.stop;var S=u({direction:"horizontal",cellCount:i,overscanCellsCount:s,scrollDirection:d,startIndex:"number"==typeof y.start?y.start:0,stopIndex:"number"==typeof y.stop?y.stop:-1}),C=u({direction:"vertical",cellCount:c,overscanCellsCount:l,scrollDirection:f,startIndex:"number"==typeof m.start?m.start:0,stopIndex:"number"==typeof m.stop?m.stop:-1});if(this._columnStartIndex=S.overscanStartIndex,this._columnStopIndex=S.overscanStopIndex,this._rowStartIndex=C.overscanStartIndex,this._rowStopIndex=C.overscanStopIndex,r){if(!r.hasFixedHeight())for(var O=this._rowStartIndex;O<=this._rowStopIndex;O++)if(!r.has(O,0)){this._columnStartIndex=0,this._columnStopIndex=i-1;break}if(!r.hasFixedWidth())for(var w=this._columnStartIndex;w<=this._columnStopIndex;w++)if(!r.has(0,w)){this._rowStartIndex=0,this._rowStopIndex=c-1;break}}this._childrenToDisplay=o({cellCache:this._cellCache,cellRenderer:n,columnSizeAndPositionManager:this._columnSizeAndPositionManager,columnStartIndex:this._columnStartIndex,columnStopIndex:this._columnStopIndex,deferredMeasurementCache:r,horizontalOffsetAdjustment:b,isScrolling:g,parent:this,rowSizeAndPositionManager:this._rowSizeAndPositionManager,rowStartIndex:this._rowStartIndex,rowStopIndex:this._rowStopIndex,scrollLeft:h,scrollTop:v,styleCache:this._styleCache,verticalOffsetAdjustment:_,visibleColumnIndices:y,visibleRowIndices:m})}}},{key:"_debounceScrollEnded",value:function(){var e=this.props.scrollingResetTimeInterval;this._disablePointerEventsTimeoutId&&(0,b.cancelAnimationTimeout)(this._disablePointerEventsTimeoutId),this._disablePointerEventsTimeoutId=(0,b.requestAnimationTimeout)(this._debounceScrollEndedCallback,e)}},{key:"_getEstimatedColumnSize",value:function(e){return"number"==typeof e.columnWidth?e.columnWidth:e.estimatedColumnSize}},{key:"_getEstimatedRowSize",value:function(e){return"number"==typeof e.rowHeight?e.rowHeight:e.estimatedRowSize}},{key:"_handleInvalidatedGridSize",value:function(){if("number"==typeof this._deferredInvalidateColumnIndex&&"number"==typeof this._deferredInvalidateRowIndex){var e=this._deferredInvalidateColumnIndex,t=this._deferredInvalidateRowIndex;this._deferredInvalidateColumnIndex=null,this._deferredInvalidateRowIndex=null,this.recomputeGridSize({columnIndex:e,rowIndex:t})}}},{key:"_invokeOnScrollMemoizer",value:function(e){var t=this,n=e.scrollLeft,o=e.scrollTop,i=e.totalColumnsWidth,r=e.totalRowsHeight;this._onScrollMemoizer({callback:function(e){var n=e.scrollLeft,o=e.scrollTop,a=t.props,s=a.height;(0,a.onScroll)({clientHeight:s,clientWidth:a.width,scrollHeight:r,scrollLeft:n,scrollTop:o,scrollWidth:i})},indices:{scrollLeft:n,scrollTop:o}})}},{key:"_isScrolling",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state;return Object.hasOwnProperty.call(e,"isScrolling")?Boolean(e.isScrolling):Boolean(t.isScrolling)}},{key:"_maybeCallOnScrollbarPresenceChange",value:function(){if(this._scrollbarPresenceChanged){var e=this.props.onScrollbarPresenceChange;this._scrollbarPresenceChanged=!1,e({horizontal:this._horizontalScrollBarSize>0,size:this._scrollbarSize,vertical:this._verticalScrollBarSize>0})}}},{key:"scrollToPosition",value:function(e){var t=e.scrollLeft,n=e.scrollTop,o={scrollPositionChangeReason:O};"number"==typeof t&&t>=0&&(o.scrollDirectionHorizontal=t>this.state.scrollLeft?h.SCROLL_DIRECTION_FORWARD:h.SCROLL_DIRECTION_BACKWARD,o.scrollLeft=t),"number"==typeof n&&n>=0&&(o.scrollDirectionVertical=n>this.state.scrollTop?h.SCROLL_DIRECTION_FORWARD:h.SCROLL_DIRECTION_BACKWARD,o.scrollTop=n),("number"==typeof t&&t>=0&&t!==this.state.scrollLeft||"number"==typeof n&&n>=0&&n!==this.state.scrollTop)&&this.setState(o)}},{key:"_wrapSizeGetter",value:function(e){return"function"==typeof e?e:function(){return e}}},{key:"_getCalculatedScrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=e.columnCount,o=e.height,i=e.scrollToAlignment,r=e.scrollToColumn,a=e.width,s=t.scrollLeft;if(n>0){var u=n-1,l=r<0?u:Math.min(u,r),c=this._rowSizeAndPositionManager.getTotalSize(),p=c>o?this._scrollbarSize:0;return this._columnSizeAndPositionManager.getUpdatedOffsetForIndex({align:i,containerSize:a-p,currentOffset:s,targetIndex:l})}}},{key:"_updateScrollLeftForScrollToColumn",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=t.scrollLeft,o=this._getCalculatedScrollLeft(e,t);"number"==typeof o&&o>=0&&n!==o&&this.scrollToPosition({scrollLeft:o,scrollTop:-1})}},{key:"_getCalculatedScrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=e.height,o=e.rowCount,i=e.scrollToAlignment,r=e.scrollToRow,a=e.width,s=t.scrollTop;if(o>0){var u=o-1,l=r<0?u:Math.min(u,r),c=this._columnSizeAndPositionManager.getTotalSize(),p=c>a?this._scrollbarSize:0;return this._rowSizeAndPositionManager.getUpdatedOffsetForIndex({align:i,containerSize:n-p,currentOffset:s,targetIndex:l})}}},{key:"_resetStyleCache",value:function(){var e=this._styleCache;this._cellCache={},this._styleCache={};for(var t=this._rowStartIndex;t<=this._rowStopIndex;t++)for(var n=this._columnStartIndex;n<=this._columnStopIndex;n++){var o=t+"-"+n;this._styleCache[o]=e[o]}this.setState({isScrolling:!1})}},{key:"_updateScrollTopForScrollToRow",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,n=t.scrollTop,o=this._getCalculatedScrollTop(e,t);"number"==typeof o&&o>=0&&n!==o&&this.scrollToPosition({scrollLeft:-1,scrollTop:o})}}]),t}(l.PureComponent);w.defaultProps={"aria-label":"grid","aria-readonly":!0,autoContainerWidth:!1,autoHeight:!1,autoWidth:!1,cellRangeRenderer:y.default,containerRole:"rowgroup",containerStyle:{},estimatedColumnSize:100,estimatedRowSize:30,getScrollbarSize:m.default,noContentRenderer:function(){return null},onScroll:function(){},onScrollbarPresenceChange:function(){},onSectionRendered:function(){},overscanColumnCount:0,overscanIndicesGetter:v.default,overscanRowCount:10,role:"grid",scrollingResetTimeInterval:S,scrollToAlignment:"auto",scrollToColumn:-1,scrollToRow:-1,style:{},tabIndex:0},w.propTypes=null,t.default=w},452:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.cellCount,n=e.cellSize,o=e.computeMetadataCallback,i=e.computeMetadataCallbackProps,r=e.nextCellsCount,a=e.nextCellSize,s=e.nextScrollToIndex,u=e.scrollToIndex,l=e.updateScrollOffsetForScrollToIndex;t===r&&("number"!=typeof n&&"number"!=typeof a||n===a)||(o(i),u>=0&&u===s&&l())}},453:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(211)),i=r(n(212));function r(e){return e&&e.__esModule?e:{default:e}}n(202).babelPluginFlowReactPropTypes_proptype_VisibleCellRange||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_CellSizeGetter||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_Alignment||n(0).any;var a=function(){function e(t){var n=t.cellCount,i=t.cellSizeGetter,r=t.estimatedCellSize;(0,o.default)(this,e),this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1,this._lastBatchedIndex=-1,this._cellSizeGetter=i,this._cellCount=n,this._estimatedCellSize=r}return(0,i.default)(e,[{key:"areOffsetsAdjusted",value:function(){return!1}},{key:"configure",value:function(e){var t=e.cellCount,n=e.estimatedCellSize;this._cellCount=t,this._estimatedCellSize=n}},{key:"getCellCount",value:function(){return this._cellCount}},{key:"getEstimatedCellSize",value:function(){return this._estimatedCellSize}},{key:"getLastMeasuredIndex",value:function(){return this._lastMeasuredIndex}},{key:"getOffsetAdjustment",value:function(){return 0}},{key:"getSizeAndPositionOfCell",value:function(e){if(e<0||e>=this._cellCount)throw Error("Requested index "+e+" is outside of range 0.."+this._cellCount);if(e>this._lastMeasuredIndex)for(var t=this.getSizeAndPositionOfLastMeasuredCell(),n=t.offset+t.size,o=this._lastMeasuredIndex+1;o<=e;o++){var i=this._cellSizeGetter({index:o});if(void 0===i||isNaN(i))throw Error("Invalid size returned for cell "+o+" of value "+i);null===i?(this._cellSizeAndPositionData[o]={offset:n,size:0},this._lastBatchedIndex=e):(this._cellSizeAndPositionData[o]={offset:n,size:i},n+=i,this._lastMeasuredIndex=e)}return this._cellSizeAndPositionData[e]}},{key:"getSizeAndPositionOfLastMeasuredCell",value:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}}},{key:"getTotalSize",value:function(){var e=this.getSizeAndPositionOfLastMeasuredCell();return e.offset+e.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize}},{key:"getUpdatedOffsetForIndex",value:function(e){var t=e.align,n=void 0===t?"auto":t,o=e.containerSize,i=e.currentOffset,r=e.targetIndex;if(o<=0)return 0;var a=this.getSizeAndPositionOfCell(r),s=a.offset,u=s-o+a.size,l=void 0;switch(n){case"start":l=s;break;case"end":l=u;break;case"center":l=s-(o-a.size)/2;break;default:l=Math.max(u,Math.min(s,i))}var c=this.getTotalSize();return Math.max(0,Math.min(c-o,l))}},{key:"getVisibleCellRange",value:function(e){var t=e.containerSize,n=e.offset;if(0===this.getTotalSize())return{};var o=n+t,i=this._findNearestCell(n),r=this.getSizeAndPositionOfCell(i);n=r.offset+r.size;for(var a=i;nn&&(e=o-1)}return t>0?t-1:0}},{key:"_exponentialSearch",value:function(e,t){for(var n=1;e=e?this._binarySearch(n,0,e):this._exponentialSearch(n,e)}}]),e}();t.default=a},454:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.getMaxElementSize=function(){return"undefined"!=typeof window&&window.chrome&&window.chrome.webstore?16777100:15e5}},455:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,i=n(456),r=(o=i)&&o.__esModule?o:{default:o};t.default=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t={};return function(n){var o=n.callback,i=n.indices,a=(0,r.default)(i),s=!e||a.every((function(e){var t=i[e];return Array.isArray(t)?t.length>0:t>=0})),u=a.length!==(0,r.default)(t).length||a.some((function(e){var n=t[e],o=i[e];return Array.isArray(o)?n.join(",")!==o.join(","):n!==o}));t=i,s&&u&&o(i)}}},456:function(e,t,n){e.exports={default:n(457),__esModule:!0}},457:function(e,t,n){n(458),e.exports=n(206).Object.keys},458:function(e,t,n){var o=n(235),i=n(244);n(274)("keys",(function(){return function(e){return i(o(e))}}))},459:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.cellSize,n=e.cellSizeAndPositionManager,o=e.previousCellsCount,i=e.previousCellSize,r=e.previousScrollToAlignment,a=e.previousScrollToIndex,s=e.previousSize,u=e.scrollOffset,l=e.scrollToAlignment,c=e.scrollToIndex,p=e.size,d=e.sizeJustIncreasedFromZero,f=e.updateScrollIndexCallback,h=n.getCellCount(),v=c>=0&&c0&&(pn.getTotalSize()-p&&f(h-1)};var o,i=n(280);(o=i)&&o.__esModule;n(202).babelPluginFlowReactPropTypes_proptype_CellSize||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_Alignment||n(0).any},460:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((!a&&0!==a||e)&&r.default){var t=document.createElement("div");t.style.position="absolute",t.style.top="-9999px",t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return a};var o,i=n(461),r=(o=i)&&o.__esModule?o:{default:o};var a=void 0;e.exports=t.default},461:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=!("undefined"==typeof window||!window.document||!window.document.createElement),e.exports=t.default},462:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=void 0,i=(o="undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).requestAnimationFrame||o.webkitRequestAnimationFrame||o.mozRequestAnimationFrame||o.oRequestAnimationFrame||o.msRequestAnimationFrame||function(e){return o.setTimeout(e,1e3/60)},r=o.cancelAnimationFrame||o.webkitCancelAnimationFrame||o.mozCancelAnimationFrame||o.oCancelAnimationFrame||o.msCancelAnimationFrame||function(e){o.clearTimeout(e)};t.raf=i,t.caf=r},463:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.cellCount,n=e.overscanCellsCount,i=e.scrollDirection,r=e.startIndex,a=e.stopIndex;return n=Math.max(1,n),i===o?{overscanStartIndex:Math.max(0,r-1),overscanStopIndex:Math.min(t-1,a+n)}:{overscanStartIndex:Math.max(0,r-n),overscanStopIndex:Math.min(t-1,a+1)}};n(202).babelPluginFlowReactPropTypes_proptype_OverscanIndices||n(0).any,n(202).babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams||n(0).any,t.SCROLL_DIRECTION_BACKWARD=-1;var o=t.SCROLL_DIRECTION_FORWARD=1;t.SCROLL_DIRECTION_HORIZONTAL="horizontal",t.SCROLL_DIRECTION_VERTICAL="vertical"},464:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.indexes,n=e.indexStrategy,i=e.labelKey,r=void 0===i?"label":i,a=e.options,s=void 0===a?[]:a,u=e.sanitizer,l=e.searchIndex,c=e.tokenizer,p=e.valueKey,d=void 0===p?"value":p,f=new o.Search(d);f.searchIndex=l||new o.UnorderedSearchIndex,f.indexStrategy=n||new o.AllSubstringsIndexStrategy,u&&(f.sanitizer=u);c&&(f.tokenizer=c);t?t.forEach((function(e){f.addIndex(e)})):f.addIndex(r);return f.addDocuments(s),function(e,t,n){var o=t?f.search(t):e;if(Array.isArray(n)&&n.length){var i=n.map((function(e){return e[d]}));return o.filter((function(e){return!i.includes(e[d])}))}return o}};var o=n(465)},465:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(282);Object.defineProperty(t,"AllSubstringsIndexStrategy",{enumerable:!0,get:function(){return o.AllSubstringsIndexStrategy}}),Object.defineProperty(t,"ExactWordIndexStrategy",{enumerable:!0,get:function(){return o.ExactWordIndexStrategy}}),Object.defineProperty(t,"PrefixIndexStrategy",{enumerable:!0,get:function(){return o.PrefixIndexStrategy}});var i=n(283);Object.defineProperty(t,"CaseSensitiveSanitizer",{enumerable:!0,get:function(){return i.CaseSensitiveSanitizer}}),Object.defineProperty(t,"LowerCaseSanitizer",{enumerable:!0,get:function(){return i.LowerCaseSanitizer}});var r=n(319);Object.defineProperty(t,"TfIdfSearchIndex",{enumerable:!0,get:function(){return r.TfIdfSearchIndex}}),Object.defineProperty(t,"UnorderedSearchIndex",{enumerable:!0,get:function(){return r.UnorderedSearchIndex}});var a=n(321);Object.defineProperty(t,"SimpleTokenizer",{enumerable:!0,get:function(){return a.SimpleTokenizer}}),Object.defineProperty(t,"StemmingTokenizer",{enumerable:!0,get:function(){return a.StemmingTokenizer}}),Object.defineProperty(t,"StopWordsTokenizer",{enumerable:!0,get:function(){return a.StopWordsTokenizer}});var s=n(476);Object.defineProperty(t,"Search",{enumerable:!0,get:function(){return s.Search}});var u=n(322);Object.defineProperty(t,"StopWordsMap",{enumerable:!0,get:function(){return u.StopWordsMap}});var l=n(477);Object.defineProperty(t,"TokenHighlighter",{enumerable:!0,get:function(){return l.TokenHighlighter}})},466:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n=0&&(p=this._wrapText(p),e=e.substring(0,f)+p+e.substring(i+1),i+=n,h+=n)}return e}},{key:"_wrapText",value:function(e){var t=this._wrapperTagName;return"<"+t+">"+e+""}}]),e}()},478:function(e,t,n){var o=n(479);"string"==typeof o&&(o=[[e.i,o,""]]);var i={insertAt:"top",hmr:!0,transform:void 0,insertInto:void 0};n(12)(o,i);o.locals&&(e.exports=o.locals)},479:function(e,t,n){(e.exports=n(11)(!1)).push([e.i,".VirtualSelectGrid {\n z-index: 1;\n}\n\n.VirtualizedSelectOption {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n padding: 0 .5rem;\n}\n.VirtualizedSelectFocusedOption {\n background-color: rgba(0, 126, 255, 0.1);\n}\n.VirtualizedSelectDisabledOption {\n opacity: 0.5;\n}\n.VirtualizedSelectSelectedOption {\n font-weight: bold;\n}\n",""])},480:function(e,t,n){var o=n(481);"string"==typeof o&&(o=[[e.i,o,""]]);var i={insertAt:"top",hmr:!0,transform:void 0,insertInto:void 0};n(12)(o,i);o.locals&&(e.exports=o.locals)},481:function(e,t,n){(e.exports=n(11)(!1)).push([e.i,"/* Collection default theme */\n\n.ReactVirtualized__Collection {\n}\n\n.ReactVirtualized__Collection__innerScrollContainer {\n}\n\n/* Grid default theme */\n\n.ReactVirtualized__Grid {\n}\n\n.ReactVirtualized__Grid__innerScrollContainer {\n}\n\n/* Table default theme */\n\n.ReactVirtualized__Table {\n}\n\n.ReactVirtualized__Table__Grid {\n}\n\n.ReactVirtualized__Table__headerRow {\n font-weight: 700;\n text-transform: uppercase;\n display: -webkit-flex;\n display: -moz-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -moz-box-orient: horizontal;\n -moz-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-align-items: center;\n -moz-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.ReactVirtualized__Table__row {\n display: -webkit-flex;\n display: -moz-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-flex-direction: row;\n -moz-box-orient: horizontal;\n -moz-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-align-items: center;\n -moz-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.ReactVirtualized__Table__headerTruncatedText {\n display: inline-block;\n max-width: 100%;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ReactVirtualized__Table__headerColumn,\n.ReactVirtualized__Table__rowColumn {\n margin-right: 10px;\n min-width: 0px;\n}\n.ReactVirtualized__Table__rowColumn {\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.ReactVirtualized__Table__headerColumn:first-of-type,\n.ReactVirtualized__Table__rowColumn:first-of-type {\n margin-left: 10px;\n}\n.ReactVirtualized__Table__sortableHeaderColumn {\n cursor: pointer;\n}\n\n.ReactVirtualized__Table__sortableHeaderIconContainer {\n display: -webkit-flex;\n display: -moz-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -moz-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n.ReactVirtualized__Table__sortableHeaderIcon {\n -webkit-flex: 0 0 24px;\n -moz-box-flex: 0;\n -ms-flex: 0 0 24px;\n flex: 0 0 24px;\n height: 1em;\n width: 1em;\n fill: currentColor;\n}\n\n/* List default theme */\n\n.ReactVirtualized__List {\n}\n",""])},482:function(e,t,n){var o=n(483);"string"==typeof o&&(o=[[e.i,o,""]]);var i={insertAt:"top",hmr:!0,transform:void 0,insertInto:void 0};n(12)(o,i);o.locals&&(e.exports=o.locals)},483:function(e,t,n){(e.exports=n(11)(!1)).push([e.i,".dash-dropdown .Select-menu-outer {\n z-index: 1000;\n}",""])},694:function(e,t,n){"use strict";n.r(t);var o=n(14),i=n(23),r=n(3),a=n(166);var s=n(164),u=n(21),l=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=u.a.init,e.prototype["@@transducer/result"]=u.a.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),c=Object(r.a)((function(e,t){return new l(e,t)})),p=n(165),d=n(13),f=Object(r.a)(Object(a.a)(["fantasy-land/map","map"],c,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return Object(p.a)(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return Object(s.a)((function(n,o){return n[o]=e(t[o]),n}),{},Object(d.a)(t));default:return function(e,t){for(var n=0,o=t.length,i=Array(o);n this._maxScrollSize;\n }\n }, {\n key: 'configure',\n value: function configure(params) {\n this._cellSizeAndPositionManager.configure(params);\n }\n }, {\n key: 'getCellCount',\n value: function getCellCount() {\n return this._cellSizeAndPositionManager.getCellCount();\n }\n }, {\n key: 'getEstimatedCellSize',\n value: function getEstimatedCellSize() {\n return this._cellSizeAndPositionManager.getEstimatedCellSize();\n }\n }, {\n key: 'getLastMeasuredIndex',\n value: function getLastMeasuredIndex() {\n return this._cellSizeAndPositionManager.getLastMeasuredIndex();\n }\n\n /**\n * Number of pixels a cell at the given position (offset) should be shifted in order to fit within the scaled container.\n * The offset passed to this function is scaled (safe) as well.\n */\n\n }, {\n key: 'getOffsetAdjustment',\n value: function getOffsetAdjustment(_ref2) {\n var containerSize = _ref2.containerSize,\n offset = _ref2.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n var safeTotalSize = this.getTotalSize();\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: safeTotalSize\n });\n\n return Math.round(offsetPercentage * (safeTotalSize - totalSize));\n }\n }, {\n key: 'getSizeAndPositionOfCell',\n value: function getSizeAndPositionOfCell(index) {\n return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(index);\n }\n }, {\n key: 'getSizeAndPositionOfLastMeasuredCell',\n value: function getSizeAndPositionOfLastMeasuredCell() {\n return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell();\n }\n\n /** See CellSizeAndPositionManager#getTotalSize */\n\n }, {\n key: 'getTotalSize',\n value: function getTotalSize() {\n return Math.min(this._maxScrollSize, this._cellSizeAndPositionManager.getTotalSize());\n }\n\n /** See CellSizeAndPositionManager#getUpdatedOffsetForIndex */\n\n }, {\n key: 'getUpdatedOffsetForIndex',\n value: function getUpdatedOffsetForIndex(_ref3) {\n var _ref3$align = _ref3.align,\n align = _ref3$align === undefined ? 'auto' : _ref3$align,\n containerSize = _ref3.containerSize,\n currentOffset = _ref3.currentOffset,\n targetIndex = _ref3.targetIndex;\n\n currentOffset = this._safeOffsetToOffset({\n containerSize: containerSize,\n offset: currentOffset\n });\n\n var offset = this._cellSizeAndPositionManager.getUpdatedOffsetForIndex({\n align: align,\n containerSize: containerSize,\n currentOffset: currentOffset,\n targetIndex: targetIndex\n });\n\n return this._offsetToSafeOffset({\n containerSize: containerSize,\n offset: offset\n });\n }\n\n /** See CellSizeAndPositionManager#getVisibleCellRange */\n\n }, {\n key: 'getVisibleCellRange',\n value: function getVisibleCellRange(_ref4) {\n var containerSize = _ref4.containerSize,\n offset = _ref4.offset;\n\n offset = this._safeOffsetToOffset({\n containerSize: containerSize,\n offset: offset\n });\n\n return this._cellSizeAndPositionManager.getVisibleCellRange({\n containerSize: containerSize,\n offset: offset\n });\n }\n }, {\n key: 'resetCell',\n value: function resetCell(index) {\n this._cellSizeAndPositionManager.resetCell(index);\n }\n }, {\n key: '_getOffsetPercentage',\n value: function _getOffsetPercentage(_ref5) {\n var containerSize = _ref5.containerSize,\n offset = _ref5.offset,\n totalSize = _ref5.totalSize;\n\n return totalSize <= containerSize ? 0 : offset / (totalSize - containerSize);\n }\n }, {\n key: '_offsetToSafeOffset',\n value: function _offsetToSafeOffset(_ref6) {\n var containerSize = _ref6.containerSize,\n offset = _ref6.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n var safeTotalSize = this.getTotalSize();\n\n if (totalSize === safeTotalSize) {\n return offset;\n } else {\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: totalSize\n });\n\n return Math.round(offsetPercentage * (safeTotalSize - containerSize));\n }\n }\n }, {\n key: '_safeOffsetToOffset',\n value: function _safeOffsetToOffset(_ref7) {\n var containerSize = _ref7.containerSize,\n offset = _ref7.offset;\n\n var totalSize = this._cellSizeAndPositionManager.getTotalSize();\n var safeTotalSize = this.getTotalSize();\n\n if (totalSize === safeTotalSize) {\n return offset;\n } else {\n var offsetPercentage = this._getOffsetPercentage({\n containerSize: containerSize,\n offset: offset,\n totalSize: safeTotalSize\n });\n\n return Math.round(offsetPercentage * (totalSize - containerSize));\n }\n }\n }]);\n return ScalingCellSizeAndPositionManager;\n}();\n\nexports.default = ScalingCellSizeAndPositionManager;","'use strict';\n\nvar _react = require('react');\n\nvar React = _interopRequireWildcard(_react);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar babelPluginFlowReactPropTypes_proptype_RowRendererParams = process.env.NODE_ENV === 'production' ? null : {\n index: require('prop-types').number.isRequired,\n isScrolling: require('prop-types').bool.isRequired,\n isVisible: require('prop-types').bool.isRequired,\n key: require('prop-types').string.isRequired,\n parent: require('prop-types').object.isRequired,\n style: require('prop-types').object.isRequired\n};\nif (!(process.env.NODE_ENV === 'production') && typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_RowRendererParams', {\n value: babelPluginFlowReactPropTypes_proptype_RowRendererParams,\n configurable: true\n});\nvar babelPluginFlowReactPropTypes_proptype_RowRenderer = process.env.NODE_ENV === 'production' ? null : require('prop-types').func;\nif (!(process.env.NODE_ENV === 'production') && typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_RowRenderer', {\n value: babelPluginFlowReactPropTypes_proptype_RowRenderer,\n configurable: true\n});\nvar babelPluginFlowReactPropTypes_proptype_RenderedRows = process.env.NODE_ENV === 'production' ? null : {\n overscanStartIndex: require('prop-types').number.isRequired,\n overscanStopIndex: require('prop-types').number.isRequired,\n startIndex: require('prop-types').number.isRequired,\n stopIndex: require('prop-types').number.isRequired\n};\nif (!(process.env.NODE_ENV === 'production') && typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_RenderedRows', {\n value: babelPluginFlowReactPropTypes_proptype_RenderedRows,\n configurable: true\n});\nvar babelPluginFlowReactPropTypes_proptype_Scroll = process.env.NODE_ENV === 'production' ? null : {\n clientHeight: require('prop-types').number.isRequired,\n scrollHeight: require('prop-types').number.isRequired,\n scrollTop: require('prop-types').number.isRequired\n};\nif (!(process.env.NODE_ENV === 'production') && typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_Scroll', {\n value: babelPluginFlowReactPropTypes_proptype_Scroll,\n configurable: true\n});","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _AllSubstringsIndexStrategy = require('./AllSubstringsIndexStrategy');\n\nObject.defineProperty(exports, 'AllSubstringsIndexStrategy', {\n enumerable: true,\n get: function get() {\n return _AllSubstringsIndexStrategy.AllSubstringsIndexStrategy;\n }\n});\n\nvar _ExactWordIndexStrategy = require('./ExactWordIndexStrategy');\n\nObject.defineProperty(exports, 'ExactWordIndexStrategy', {\n enumerable: true,\n get: function get() {\n return _ExactWordIndexStrategy.ExactWordIndexStrategy;\n }\n});\n\nvar _PrefixIndexStrategy = require('./PrefixIndexStrategy');\n\nObject.defineProperty(exports, 'PrefixIndexStrategy', {\n enumerable: true,\n get: function get() {\n return _PrefixIndexStrategy.PrefixIndexStrategy;\n }\n});\n//# sourceMappingURL=index.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CaseSensitiveSanitizer = require('./CaseSensitiveSanitizer');\n\nObject.defineProperty(exports, 'CaseSensitiveSanitizer', {\n enumerable: true,\n get: function get() {\n return _CaseSensitiveSanitizer.CaseSensitiveSanitizer;\n }\n});\n\nvar _LowerCaseSanitizer = require('./LowerCaseSanitizer');\n\nObject.defineProperty(exports, 'LowerCaseSanitizer', {\n enumerable: true,\n get: function get() {\n return _LowerCaseSanitizer.LowerCaseSanitizer;\n }\n});\n//# sourceMappingURL=index.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = defaultOverscanIndicesGetter;\n\nvar babelPluginFlowReactPropTypes_proptype_OverscanIndices = require('./types').babelPluginFlowReactPropTypes_proptype_OverscanIndices || require('prop-types').any;\n\nvar babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams = require('./types').babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams || require('prop-types').any;\n\nvar SCROLL_DIRECTION_BACKWARD = exports.SCROLL_DIRECTION_BACKWARD = -1;\nvar SCROLL_DIRECTION_FORWARD = exports.SCROLL_DIRECTION_FORWARD = 1;\n\nvar SCROLL_DIRECTION_HORIZONTAL = exports.SCROLL_DIRECTION_HORIZONTAL = 'horizontal';\nvar SCROLL_DIRECTION_VERTICAL = exports.SCROLL_DIRECTION_VERTICAL = 'vertical';\n\n/**\n * Calculates the number of cells to overscan before and after a specified range.\n * This function ensures that overscanning doesn't exceed the available cells.\n */\n\nfunction defaultOverscanIndicesGetter(_ref) {\n var cellCount = _ref.cellCount,\n overscanCellsCount = _ref.overscanCellsCount,\n scrollDirection = _ref.scrollDirection,\n startIndex = _ref.startIndex,\n stopIndex = _ref.stopIndex;\n\n if (scrollDirection === SCROLL_DIRECTION_FORWARD) {\n return {\n overscanStartIndex: Math.max(0, startIndex),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount)\n };\n } else {\n return {\n overscanStartIndex: Math.max(0, startIndex - overscanCellsCount),\n overscanStopIndex: Math.min(cellCount - 1, stopIndex)\n };\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = defaultCellRangeRenderer;\n\n/**\n * Default implementation of cellRangeRenderer used by Grid.\n * This renderer supports cell-caching while the user is scrolling.\n */\n\nvar babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams = require('./types').babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams || require('prop-types').any;\n\nfunction defaultCellRangeRenderer(_ref) {\n var cellCache = _ref.cellCache,\n cellRenderer = _ref.cellRenderer,\n columnSizeAndPositionManager = _ref.columnSizeAndPositionManager,\n columnStartIndex = _ref.columnStartIndex,\n columnStopIndex = _ref.columnStopIndex,\n deferredMeasurementCache = _ref.deferredMeasurementCache,\n horizontalOffsetAdjustment = _ref.horizontalOffsetAdjustment,\n isScrolling = _ref.isScrolling,\n parent = _ref.parent,\n rowSizeAndPositionManager = _ref.rowSizeAndPositionManager,\n rowStartIndex = _ref.rowStartIndex,\n rowStopIndex = _ref.rowStopIndex,\n styleCache = _ref.styleCache,\n verticalOffsetAdjustment = _ref.verticalOffsetAdjustment,\n visibleColumnIndices = _ref.visibleColumnIndices,\n visibleRowIndices = _ref.visibleRowIndices;\n\n var renderedCells = [];\n\n // Browsers have native size limits for elements (eg Chrome 33M pixels, IE 1.5M pixes).\n // User cannot scroll beyond these size limitations.\n // In order to work around this, ScalingCellSizeAndPositionManager compresses offsets.\n // We should never cache styles for compressed offsets though as this can lead to bugs.\n // See issue #576 for more.\n var areOffsetsAdjusted = columnSizeAndPositionManager.areOffsetsAdjusted() || rowSizeAndPositionManager.areOffsetsAdjusted();\n\n var canCacheStyle = !isScrolling && !areOffsetsAdjusted;\n\n for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) {\n var rowDatum = rowSizeAndPositionManager.getSizeAndPositionOfCell(rowIndex);\n\n for (var columnIndex = columnStartIndex; columnIndex <= columnStopIndex; columnIndex++) {\n var columnDatum = columnSizeAndPositionManager.getSizeAndPositionOfCell(columnIndex);\n var isVisible = columnIndex >= visibleColumnIndices.start && columnIndex <= visibleColumnIndices.stop && rowIndex >= visibleRowIndices.start && rowIndex <= visibleRowIndices.stop;\n var key = rowIndex + '-' + columnIndex;\n var style = void 0;\n\n // Cache style objects so shallow-compare doesn't re-render unnecessarily.\n if (canCacheStyle && styleCache[key]) {\n style = styleCache[key];\n } else {\n // In deferred mode, cells will be initially rendered before we know their size.\n // Don't interfere with CellMeasurer's measurements by setting an invalid size.\n if (deferredMeasurementCache && !deferredMeasurementCache.has(rowIndex, columnIndex)) {\n // Position not-yet-measured cells at top/left 0,0,\n // And give them width/height of 'auto' so they can grow larger than the parent Grid if necessary.\n // Positioning them further to the right/bottom influences their measured size.\n style = {\n height: 'auto',\n left: 0,\n position: 'absolute',\n top: 0,\n width: 'auto'\n };\n } else {\n style = {\n height: rowDatum.size,\n left: columnDatum.offset + horizontalOffsetAdjustment,\n position: 'absolute',\n top: rowDatum.offset + verticalOffsetAdjustment,\n width: columnDatum.size\n };\n\n styleCache[key] = style;\n }\n }\n\n var cellRendererParams = {\n columnIndex: columnIndex,\n isScrolling: isScrolling,\n isVisible: isVisible,\n key: key,\n parent: parent,\n rowIndex: rowIndex,\n style: style\n };\n\n var renderedCell = void 0;\n\n // Avoid re-creating cells while scrolling.\n // This can lead to the same cell being created many times and can cause performance issues for \"heavy\" cells.\n // If a scroll is in progress- cache and reuse cells.\n // This cache will be thrown away once scrolling completes.\n // However if we are scaling scroll positions and sizes, we should also avoid caching.\n // This is because the offset changes slightly as scroll position changes and caching leads to stale values.\n // For more info refer to issue #395\n if (isScrolling && !horizontalOffsetAdjustment && !verticalOffsetAdjustment) {\n if (!cellCache[key]) {\n cellCache[key] = cellRenderer(cellRendererParams);\n }\n\n renderedCell = cellCache[key];\n\n // If the user is no longer scrolling, don't cache cells.\n // This makes dynamic cell content difficult for users and would also lead to a heavier memory footprint.\n } else {\n renderedCell = cellRenderer(cellRendererParams);\n }\n\n if (renderedCell == null || renderedCell === false) {\n continue;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n warnAboutMissingStyle(parent, renderedCell);\n }\n\n renderedCells.push(renderedCell);\n }\n }\n\n return renderedCells;\n}\n\nfunction warnAboutMissingStyle(parent, renderedCell) {\n if (process.env.NODE_ENV !== 'production') {\n if (renderedCell) {\n // If the direct child is a CellMeasurer, then we should check its child\n // See issue #611\n if (renderedCell.type && renderedCell.type.__internalCellMeasurerFlag) {\n renderedCell = renderedCell.props.children;\n }\n\n if (renderedCell && renderedCell.props && renderedCell.props.style === undefined && parent.__warnedAboutMissingStyle !== true) {\n parent.__warnedAboutMissingStyle = true;\n\n console.warn('Rendered cell should include style property for positioning.');\n }\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.requestAnimationTimeout = exports.cancelAnimationTimeout = undefined;\n\nvar _animationFrame = require('./animationFrame');\n\nvar babelPluginFlowReactPropTypes_proptype_AnimationTimeoutId = process.env.NODE_ENV === 'production' ? null : {\n id: require('prop-types').number.isRequired\n};\nif (!(process.env.NODE_ENV === 'production') && typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_AnimationTimeoutId', {\n value: babelPluginFlowReactPropTypes_proptype_AnimationTimeoutId,\n configurable: true\n});\nvar cancelAnimationTimeout = exports.cancelAnimationTimeout = function cancelAnimationTimeout(frame) {\n return (0, _animationFrame.caf)(frame.id);\n};\n\n/**\n * Recursively calls requestAnimationFrame until a specified delay has been met or exceeded.\n * When the delay time has been reached the function you're timing out will be called.\n *\n * Credit: Joe Lambert (https://gist.github.com/joelambert/1002116#file-requesttimeout-js)\n */\nvar requestAnimationTimeout = exports.requestAnimationTimeout = function requestAnimationTimeout(callback, delay) {\n var start = Date.now();\n\n var timeout = function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = (0, _animationFrame.raf)(timeout);\n }\n };\n\n var frame = {\n id: (0, _animationFrame.raf)(timeout)\n };\n\n return frame;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _TfIdfSearchIndex = require('./TfIdfSearchIndex');\n\nObject.defineProperty(exports, 'TfIdfSearchIndex', {\n enumerable: true,\n get: function get() {\n return _TfIdfSearchIndex.TfIdfSearchIndex;\n }\n});\n\nvar _UnorderedSearchIndex = require('./UnorderedSearchIndex');\n\nObject.defineProperty(exports, 'UnorderedSearchIndex', {\n enumerable: true,\n get: function get() {\n return _UnorderedSearchIndex.UnorderedSearchIndex;\n }\n});\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getNestedFieldValue;\n/**\n * Find and return a nested object value.\n *\n * @param object to crawl\n * @param path Property path\n * @returns {any}\n */\nfunction getNestedFieldValue(object, path) {\n path = path || [];\n object = object || {};\n\n var value = object;\n\n // walk down the property path\n for (var i = 0; i < path.length; i++) {\n value = value[path[i]];\n\n if (value == null) {\n return null;\n }\n }\n\n return value;\n}\n//# sourceMappingURL=getNestedFieldValue.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SimpleTokenizer = require('./SimpleTokenizer');\n\nObject.defineProperty(exports, 'SimpleTokenizer', {\n enumerable: true,\n get: function get() {\n return _SimpleTokenizer.SimpleTokenizer;\n }\n});\n\nvar _StemmingTokenizer = require('./StemmingTokenizer');\n\nObject.defineProperty(exports, 'StemmingTokenizer', {\n enumerable: true,\n get: function get() {\n return _StemmingTokenizer.StemmingTokenizer;\n }\n});\n\nvar _StopWordsTokenizer = require('./StopWordsTokenizer');\n\nObject.defineProperty(exports, 'StopWordsTokenizer', {\n enumerable: true,\n get: function get() {\n return _StopWordsTokenizer.StopWordsTokenizer;\n }\n});\n//# sourceMappingURL=index.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar StopWordsMap = exports.StopWordsMap = {\n a: true,\n able: true,\n about: true,\n across: true,\n after: true,\n all: true,\n almost: true,\n also: true,\n am: true,\n among: true,\n an: true,\n and: true,\n any: true,\n are: true,\n as: true,\n at: true,\n be: true,\n because: true,\n been: true,\n but: true,\n by: true,\n can: true,\n cannot: true,\n could: true,\n dear: true,\n did: true,\n 'do': true,\n does: true,\n either: true,\n 'else': true,\n ever: true,\n every: true,\n 'for': true,\n from: true,\n 'get': true,\n got: true,\n had: true,\n has: true,\n have: true,\n he: true,\n her: true,\n hers: true,\n him: true,\n his: true,\n how: true,\n however: true,\n i: true,\n 'if': true,\n 'in': true,\n into: true,\n is: true,\n it: true,\n its: true,\n just: true,\n least: true,\n let: true,\n like: true,\n likely: true,\n may: true,\n me: true,\n might: true,\n most: true,\n must: true,\n my: true,\n neither: true,\n no: true,\n nor: true,\n not: true,\n of: true,\n off: true,\n often: true,\n on: true,\n only: true,\n or: true,\n other: true,\n our: true,\n own: true,\n rather: true,\n said: true,\n say: true,\n says: true,\n she: true,\n should: true,\n since: true,\n so: true,\n some: true,\n than: true,\n that: true,\n the: true,\n their: true,\n them: true,\n then: true,\n there: true,\n these: true,\n they: true,\n 'this': true,\n tis: true,\n to: true,\n too: true,\n twas: true,\n us: true,\n wants: true,\n was: true,\n we: true,\n were: true,\n what: true,\n when: true,\n where: true,\n which: true,\n 'while': true,\n who: true,\n whom: true,\n why: true,\n will: true,\n 'with': true,\n would: true,\n yet: true,\n you: true,\n your: true\n};\n\n// Prevent false positives for inherited properties\nStopWordsMap.constructor = false;\nStopWordsMap.hasOwnProperty = false;\nStopWordsMap.isPrototypeOf = false;\nStopWordsMap.propertyIsEnumerable = false;\nStopWordsMap.toLocaleString = false;\nStopWordsMap.toString = false;\nStopWordsMap.valueOf = false;\n//# sourceMappingURL=StopWordsMap.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _VirtualizedSelect = require('./VirtualizedSelect');\n\nvar _VirtualizedSelect2 = _interopRequireDefault(_VirtualizedSelect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _VirtualizedSelect2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = undefined;\n\nvar _VirtualizedSelect = require('./VirtualizedSelect');\n\nvar _VirtualizedSelect2 = _interopRequireDefault(_VirtualizedSelect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _VirtualizedSelect2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactSelect = require('react-select');\n\nvar _reactSelect2 = _interopRequireDefault(_reactSelect);\n\nvar _AutoSizer = require('react-virtualized/dist/commonjs/AutoSizer');\n\nvar _AutoSizer2 = _interopRequireDefault(_AutoSizer);\n\nvar _List = require('react-virtualized/dist/commonjs/List');\n\nvar _List2 = _interopRequireDefault(_List);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Import directly to avoid Webpack bundling the parts of react-virtualized that we are not using\n\n\nvar VirtualizedSelect = function (_Component) {\n _inherits(VirtualizedSelect, _Component);\n\n function VirtualizedSelect(props, context) {\n _classCallCheck(this, VirtualizedSelect);\n\n var _this = _possibleConstructorReturn(this, (VirtualizedSelect.__proto__ || Object.getPrototypeOf(VirtualizedSelect)).call(this, props, context));\n\n _this._renderMenu = _this._renderMenu.bind(_this);\n _this._optionRenderer = _this._optionRenderer.bind(_this);\n _this._setListRef = _this._setListRef.bind(_this);\n _this._setSelectRef = _this._setSelectRef.bind(_this);\n return _this;\n }\n\n /** See List#recomputeRowHeights */\n\n\n _createClass(VirtualizedSelect, [{\n key: 'recomputeOptionHeights',\n value: function recomputeOptionHeights() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (this._listRef) {\n this._listRef.recomputeRowHeights(index);\n }\n }\n\n /** See Select#focus (in react-select) */\n\n }, {\n key: 'focus',\n value: function focus() {\n if (this._selectRef) {\n return this._selectRef.focus();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var SelectComponent = this._getSelectComponent();\n\n return _react2.default.createElement(SelectComponent, _extends({}, this.props, {\n ref: this._setSelectRef,\n menuRenderer: this._renderMenu,\n menuStyle: { overflow: 'hidden' }\n }));\n }\n\n // See https://github.com/JedWatson/react-select/#effeciently-rendering-large-lists-with-windowing\n\n }, {\n key: '_renderMenu',\n value: function _renderMenu(_ref) {\n var _this2 = this;\n\n var focusedOption = _ref.focusedOption,\n focusOption = _ref.focusOption,\n labelKey = _ref.labelKey,\n onSelect = _ref.onSelect,\n options = _ref.options,\n selectValue = _ref.selectValue,\n valueArray = _ref.valueArray,\n valueKey = _ref.valueKey;\n var _props = this.props,\n listProps = _props.listProps,\n optionRenderer = _props.optionRenderer;\n\n var focusedOptionIndex = options.indexOf(focusedOption);\n var height = this._calculateListHeight({ options: options });\n var innerRowRenderer = optionRenderer || this._optionRenderer;\n\n // react-select 1.0.0-rc2 passes duplicate `onSelect` and `selectValue` props to `menuRenderer`\n // The `Creatable` HOC only overrides `onSelect` which breaks an edge-case\n // In order to support creating items via clicking on the placeholder option,\n // We need to ensure that the specified `onSelect` handle is the one we use.\n // See issue #33\n\n function wrappedRowRenderer(_ref2) {\n var index = _ref2.index,\n key = _ref2.key,\n style = _ref2.style;\n\n var option = options[index];\n\n return innerRowRenderer({\n focusedOption: focusedOption,\n focusedOptionIndex: focusedOptionIndex,\n focusOption: focusOption,\n key: key,\n labelKey: labelKey,\n onSelect: onSelect,\n option: option,\n optionIndex: index,\n options: options,\n selectValue: onSelect,\n style: style,\n valueArray: valueArray,\n valueKey: valueKey\n });\n }\n\n return _react2.default.createElement(\n _AutoSizer2.default,\n { disableHeight: true },\n function (_ref3) {\n var width = _ref3.width;\n return _react2.default.createElement(_List2.default, _extends({\n className: 'VirtualSelectGrid',\n height: height,\n ref: _this2._setListRef,\n rowCount: options.length,\n rowHeight: function rowHeight(_ref4) {\n var index = _ref4.index;\n return _this2._getOptionHeight({\n option: options[index]\n });\n },\n rowRenderer: wrappedRowRenderer,\n scrollToIndex: focusedOptionIndex,\n width: width\n }, listProps));\n }\n );\n }\n }, {\n key: '_calculateListHeight',\n value: function _calculateListHeight(_ref5) {\n var options = _ref5.options;\n var maxHeight = this.props.maxHeight;\n\n\n var height = 0;\n\n for (var optionIndex = 0; optionIndex < options.length; optionIndex++) {\n var option = options[optionIndex];\n\n height += this._getOptionHeight({ option: option });\n\n if (height > maxHeight) {\n return maxHeight;\n }\n }\n\n return height;\n }\n }, {\n key: '_getOptionHeight',\n value: function _getOptionHeight(_ref6) {\n var option = _ref6.option;\n var optionHeight = this.props.optionHeight;\n\n\n return optionHeight instanceof Function ? optionHeight({ option: option }) : optionHeight;\n }\n }, {\n key: '_getSelectComponent',\n value: function _getSelectComponent() {\n var _props2 = this.props,\n async = _props2.async,\n selectComponent = _props2.selectComponent;\n\n\n if (selectComponent) {\n return selectComponent;\n } else if (async) {\n return _reactSelect2.default.Async;\n } else {\n return _reactSelect2.default;\n }\n }\n }, {\n key: '_optionRenderer',\n value: function _optionRenderer(_ref7) {\n var focusedOption = _ref7.focusedOption,\n focusOption = _ref7.focusOption,\n key = _ref7.key,\n labelKey = _ref7.labelKey,\n option = _ref7.option,\n selectValue = _ref7.selectValue,\n style = _ref7.style,\n valueArray = _ref7.valueArray;\n\n var className = ['VirtualizedSelectOption'];\n\n if (option === focusedOption) {\n className.push('VirtualizedSelectFocusedOption');\n }\n\n if (option.disabled) {\n className.push('VirtualizedSelectDisabledOption');\n }\n\n if (valueArray && valueArray.indexOf(option) >= 0) {\n className.push('VirtualizedSelectSelectedOption');\n }\n\n if (option.className) {\n className.push(option.className);\n }\n\n var events = option.disabled ? {} : {\n onClick: function onClick() {\n return selectValue(option);\n },\n onMouseEnter: function onMouseEnter() {\n return focusOption(option);\n }\n };\n\n return _react2.default.createElement(\n 'div',\n _extends({\n className: className.join(' '),\n key: key,\n style: style,\n title: option.title\n }, events),\n option[labelKey]\n );\n }\n }, {\n key: '_setListRef',\n value: function _setListRef(ref) {\n this._listRef = ref;\n }\n }, {\n key: '_setSelectRef',\n value: function _setSelectRef(ref) {\n this._selectRef = ref;\n }\n }]);\n\n return VirtualizedSelect;\n}(_react.Component);\n\nVirtualizedSelect.propTypes = {\n async: _propTypes2.default.bool,\n listProps: _propTypes2.default.object,\n maxHeight: _propTypes2.default.number,\n optionHeight: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n optionRenderer: _propTypes2.default.func,\n selectComponent: _propTypes2.default.func\n};\nVirtualizedSelect.defaultProps = {\n async: false,\n maxHeight: 200,\n optionHeight: 35\n};\nexports.default = VirtualizedSelect;","import AutosizeInput from 'react-input-autosize';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nvar arrowRenderer = function arrowRenderer(_ref) {\n\tvar onMouseDown = _ref.onMouseDown;\n\n\treturn React.createElement('span', {\n\t\tclassName: 'Select-arrow',\n\t\tonMouseDown: onMouseDown\n\t});\n};\n\narrowRenderer.propTypes = {\n\tonMouseDown: PropTypes.func\n};\n\nvar clearRenderer = function clearRenderer() {\n\treturn React.createElement('span', {\n\t\tclassName: 'Select-clear',\n\t\tdangerouslySetInnerHTML: { __html: '×' }\n\t});\n};\n\nvar map = [{ 'base': 'A', 'letters': /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g }, { 'base': 'AA', 'letters': /[\\uA732]/g }, { 'base': 'AE', 'letters': /[\\u00C6\\u01FC\\u01E2]/g }, { 'base': 'AO', 'letters': /[\\uA734]/g }, { 'base': 'AU', 'letters': /[\\uA736]/g }, { 'base': 'AV', 'letters': /[\\uA738\\uA73A]/g }, { 'base': 'AY', 'letters': /[\\uA73C]/g }, { 'base': 'B', 'letters': /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g }, { 'base': 'C', 'letters': /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g }, { 'base': 'D', 'letters': /[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]/g }, { 'base': 'DZ', 'letters': /[\\u01F1\\u01C4]/g }, { 'base': 'Dz', 'letters': /[\\u01F2\\u01C5]/g }, { 'base': 'E', 'letters': /[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]/g }, { 'base': 'F', 'letters': /[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]/g }, { 'base': 'G', 'letters': /[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]/g }, { 'base': 'H', 'letters': /[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]/g }, { 'base': 'I', 'letters': /[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]/g }, { 'base': 'J', 'letters': /[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]/g }, { 'base': 'K', 'letters': /[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]/g }, { 'base': 'L', 'letters': /[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]/g }, { 'base': 'LJ', 'letters': /[\\u01C7]/g }, { 'base': 'Lj', 'letters': /[\\u01C8]/g }, { 'base': 'M', 'letters': /[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]/g }, { 'base': 'N', 'letters': /[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]/g }, { 'base': 'NJ', 'letters': /[\\u01CA]/g }, { 'base': 'Nj', 'letters': /[\\u01CB]/g }, { 'base': 'O', 'letters': /[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]/g }, { 'base': 'OI', 'letters': /[\\u01A2]/g }, { 'base': 'OO', 'letters': /[\\uA74E]/g }, { 'base': 'OU', 'letters': /[\\u0222]/g }, { 'base': 'P', 'letters': /[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]/g }, { 'base': 'Q', 'letters': /[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]/g }, { 'base': 'R', 'letters': /[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]/g }, { 'base': 'S', 'letters': /[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]/g }, { 'base': 'T', 'letters': /[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]/g }, { 'base': 'TZ', 'letters': /[\\uA728]/g }, { 'base': 'U', 'letters': /[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]/g }, { 'base': 'V', 'letters': /[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]/g }, { 'base': 'VY', 'letters': /[\\uA760]/g }, { 'base': 'W', 'letters': /[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]/g }, { 'base': 'X', 'letters': /[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]/g }, { 'base': 'Y', 'letters': /[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]/g }, { 'base': 'Z', 'letters': /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g }, { 'base': 'a', 'letters': /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g }, { 'base': 'aa', 'letters': /[\\uA733]/g }, { 'base': 'ae', 'letters': /[\\u00E6\\u01FD\\u01E3]/g }, { 'base': 'ao', 'letters': /[\\uA735]/g }, { 'base': 'au', 'letters': /[\\uA737]/g }, { 'base': 'av', 'letters': /[\\uA739\\uA73B]/g }, { 'base': 'ay', 'letters': /[\\uA73D]/g }, { 'base': 'b', 'letters': /[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]/g }, { 'base': 'c', 'letters': /[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]/g }, { 'base': 'd', 'letters': /[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]/g }, { 'base': 'dz', 'letters': /[\\u01F3\\u01C6]/g }, { 'base': 'e', 'letters': /[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]/g }, { 'base': 'f', 'letters': /[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]/g }, { 'base': 'g', 'letters': /[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]/g }, { 'base': 'h', 'letters': /[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]/g }, { 'base': 'hv', 'letters': /[\\u0195]/g }, { 'base': 'i', 'letters': /[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]/g }, { 'base': 'j', 'letters': /[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]/g }, { 'base': 'k', 'letters': /[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]/g }, { 'base': 'l', 'letters': /[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]/g }, { 'base': 'lj', 'letters': /[\\u01C9]/g }, { 'base': 'm', 'letters': /[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]/g }, { 'base': 'n', 'letters': /[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]/g }, { 'base': 'nj', 'letters': /[\\u01CC]/g }, { 'base': 'o', 'letters': /[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]/g }, { 'base': 'oi', 'letters': /[\\u01A3]/g }, { 'base': 'ou', 'letters': /[\\u0223]/g }, { 'base': 'oo', 'letters': /[\\uA74F]/g }, { 'base': 'p', 'letters': /[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]/g }, { 'base': 'q', 'letters': /[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]/g }, { 'base': 'r', 'letters': /[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]/g }, { 'base': 's', 'letters': /[\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]/g }, { 'base': 't', 'letters': /[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]/g }, { 'base': 'tz', 'letters': /[\\uA729]/g }, { 'base': 'u', 'letters': /[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]/g }, { 'base': 'v', 'letters': /[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]/g }, { 'base': 'vy', 'letters': /[\\uA761]/g }, { 'base': 'w', 'letters': /[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]/g }, { 'base': 'x', 'letters': /[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]/g }, { 'base': 'y', 'letters': /[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]/g }, { 'base': 'z', 'letters': /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g }];\n\nvar stripDiacritics = function stripDiacritics(str) {\n\tfor (var i = 0; i < map.length; i++) {\n\t\tstr = str.replace(map[i].letters, map[i].base);\n\t}\n\treturn str;\n};\n\nvar trim = function trim(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar isValid = function isValid(value) {\n\treturn typeof value !== 'undefined' && value !== null && value !== '';\n};\n\nvar filterOptions = function filterOptions(options, filterValue, excludeOptions, props) {\n\tif (props.ignoreAccents) {\n\t\tfilterValue = stripDiacritics(filterValue);\n\t}\n\n\tif (props.ignoreCase) {\n\t\tfilterValue = filterValue.toLowerCase();\n\t}\n\n\tif (props.trimFilter) {\n\t\tfilterValue = trim(filterValue);\n\t}\n\n\tif (excludeOptions) excludeOptions = excludeOptions.map(function (i) {\n\t\treturn i[props.valueKey];\n\t});\n\n\treturn options.filter(function (option) {\n\t\tif (excludeOptions && excludeOptions.indexOf(option[props.valueKey]) > -1) return false;\n\t\tif (props.filterOption) return props.filterOption.call(undefined, option, filterValue);\n\t\tif (!filterValue) return true;\n\n\t\tvar value = option[props.valueKey];\n\t\tvar label = option[props.labelKey];\n\t\tvar hasValue = isValid(value);\n\t\tvar hasLabel = isValid(label);\n\n\t\tif (!hasValue && !hasLabel) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar valueTest = hasValue ? String(value) : null;\n\t\tvar labelTest = hasLabel ? String(label) : null;\n\n\t\tif (props.ignoreAccents) {\n\t\t\tif (valueTest && props.matchProp !== 'label') valueTest = stripDiacritics(valueTest);\n\t\t\tif (labelTest && props.matchProp !== 'value') labelTest = stripDiacritics(labelTest);\n\t\t}\n\n\t\tif (props.ignoreCase) {\n\t\t\tif (valueTest && props.matchProp !== 'label') valueTest = valueTest.toLowerCase();\n\t\t\tif (labelTest && props.matchProp !== 'value') labelTest = labelTest.toLowerCase();\n\t\t}\n\n\t\treturn props.matchPos === 'start' ? valueTest && props.matchProp !== 'label' && valueTest.substr(0, filterValue.length) === filterValue || labelTest && props.matchProp !== 'value' && labelTest.substr(0, filterValue.length) === filterValue : valueTest && props.matchProp !== 'label' && valueTest.indexOf(filterValue) >= 0 || labelTest && props.matchProp !== 'value' && labelTest.indexOf(filterValue) >= 0;\n\t});\n};\n\nvar menuRenderer = function menuRenderer(_ref) {\n\tvar focusedOption = _ref.focusedOption,\n\t focusOption = _ref.focusOption,\n\t inputValue = _ref.inputValue,\n\t instancePrefix = _ref.instancePrefix,\n\t onFocus = _ref.onFocus,\n\t onOptionRef = _ref.onOptionRef,\n\t onSelect = _ref.onSelect,\n\t optionClassName = _ref.optionClassName,\n\t optionComponent = _ref.optionComponent,\n\t optionRenderer = _ref.optionRenderer,\n\t options = _ref.options,\n\t removeValue = _ref.removeValue,\n\t selectValue = _ref.selectValue,\n\t valueArray = _ref.valueArray,\n\t valueKey = _ref.valueKey;\n\n\tvar Option = optionComponent;\n\n\treturn options.map(function (option, i) {\n\t\tvar isSelected = valueArray && valueArray.some(function (x) {\n\t\t\treturn x[valueKey] === option[valueKey];\n\t\t});\n\t\tvar isFocused = option === focusedOption;\n\t\tvar optionClass = classNames(optionClassName, {\n\t\t\t'Select-option': true,\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focused': isFocused,\n\t\t\t'is-disabled': option.disabled\n\t\t});\n\n\t\treturn React.createElement(\n\t\t\tOption,\n\t\t\t{\n\t\t\t\tclassName: optionClass,\n\t\t\t\tfocusOption: focusOption,\n\t\t\t\tinputValue: inputValue,\n\t\t\t\tinstancePrefix: instancePrefix,\n\t\t\t\tisDisabled: option.disabled,\n\t\t\t\tisFocused: isFocused,\n\t\t\t\tisSelected: isSelected,\n\t\t\t\tkey: 'option-' + i + '-' + option[valueKey],\n\t\t\t\tonFocus: onFocus,\n\t\t\t\tonSelect: onSelect,\n\t\t\t\toption: option,\n\t\t\t\toptionIndex: i,\n\t\t\t\tref: function ref(_ref2) {\n\t\t\t\t\tonOptionRef(_ref2, isFocused);\n\t\t\t\t},\n\t\t\t\tremoveValue: removeValue,\n\t\t\t\tselectValue: selectValue\n\t\t\t},\n\t\t\toptionRenderer(option, i, inputValue)\n\t\t);\n\t});\n};\n\nmenuRenderer.propTypes = {\n\tfocusOption: PropTypes.func,\n\tfocusedOption: PropTypes.object,\n\tinputValue: PropTypes.string,\n\tinstancePrefix: PropTypes.string,\n\tonFocus: PropTypes.func,\n\tonOptionRef: PropTypes.func,\n\tonSelect: PropTypes.func,\n\toptionClassName: PropTypes.string,\n\toptionComponent: PropTypes.func,\n\toptionRenderer: PropTypes.func,\n\toptions: PropTypes.array,\n\tremoveValue: PropTypes.func,\n\tselectValue: PropTypes.func,\n\tvalueArray: PropTypes.array,\n\tvalueKey: PropTypes.string\n};\n\nvar blockEvent = (function (event) {\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\tif (event.target.tagName !== 'A' || !('href' in event.target)) {\n\t\treturn;\n\t}\n\tif (event.target.target) {\n\t\twindow.open(event.target.href, event.target.target);\n\t} else {\n\t\twindow.location.href = event.target.href;\n\t}\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\nvar asyncGenerator = function () {\n function AwaitValue(value) {\n this.value = value;\n }\n\n function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n\n if (value instanceof AwaitValue) {\n Promise.resolve(value.value).then(function (arg) {\n resume(\"next\", arg);\n }, function (arg) {\n resume(\"throw\", arg);\n });\n } else {\n settle(result.done ? \"return\" : \"normal\", result.value);\n }\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n\n AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n };\n\n AsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n };\n\n AsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n };\n\n return {\n wrap: function (fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n },\n await: function (value) {\n return new AwaitValue(value);\n }\n };\n}();\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar Option = function (_React$Component) {\n\tinherits(Option, _React$Component);\n\n\tfunction Option(props) {\n\t\tclassCallCheck(this, Option);\n\n\t\tvar _this = possibleConstructorReturn(this, (Option.__proto__ || Object.getPrototypeOf(Option)).call(this, props));\n\n\t\t_this.handleMouseDown = _this.handleMouseDown.bind(_this);\n\t\t_this.handleMouseEnter = _this.handleMouseEnter.bind(_this);\n\t\t_this.handleMouseMove = _this.handleMouseMove.bind(_this);\n\t\t_this.handleTouchStart = _this.handleTouchStart.bind(_this);\n\t\t_this.handleTouchEnd = _this.handleTouchEnd.bind(_this);\n\t\t_this.handleTouchMove = _this.handleTouchMove.bind(_this);\n\t\t_this.onFocus = _this.onFocus.bind(_this);\n\t\treturn _this;\n\t}\n\n\tcreateClass(Option, [{\n\t\tkey: 'handleMouseDown',\n\t\tvalue: function handleMouseDown(event) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.props.onSelect(this.props.option, event);\n\t\t}\n\t}, {\n\t\tkey: 'handleMouseEnter',\n\t\tvalue: function handleMouseEnter(event) {\n\t\t\tthis.onFocus(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleMouseMove',\n\t\tvalue: function handleMouseMove(event) {\n\t\t\tthis.onFocus(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchEnd',\n\t\tvalue: function handleTouchEnd(event) {\n\t\t\t// Check if the view is being dragged, In this case\n\t\t\t// we don't want to fire the click event (because the user only wants to scroll)\n\t\t\tif (this.dragging) return;\n\n\t\t\tthis.handleMouseDown(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchMove',\n\t\tvalue: function handleTouchMove() {\n\t\t\t// Set a flag that the view is being dragged\n\t\t\tthis.dragging = true;\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchStart',\n\t\tvalue: function handleTouchStart() {\n\t\t\t// Set a flag that the view is not being dragged\n\t\t\tthis.dragging = false;\n\t\t}\n\t}, {\n\t\tkey: 'onFocus',\n\t\tvalue: function onFocus(event) {\n\t\t\tif (!this.props.isFocused) {\n\t\t\t\tthis.props.onFocus(this.props.option, event);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _props = this.props,\n\t\t\t option = _props.option,\n\t\t\t instancePrefix = _props.instancePrefix,\n\t\t\t optionIndex = _props.optionIndex;\n\n\t\t\tvar className = classNames(this.props.className, option.className);\n\n\t\t\treturn option.disabled ? React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: className,\n\t\t\t\t\tonMouseDown: blockEvent,\n\t\t\t\t\tonClick: blockEvent },\n\t\t\t\tthis.props.children\n\t\t\t) : React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: className,\n\t\t\t\t\tstyle: option.style,\n\t\t\t\t\trole: 'option',\n\t\t\t\t\t'aria-label': option.label,\n\t\t\t\t\tonMouseDown: this.handleMouseDown,\n\t\t\t\t\tonMouseEnter: this.handleMouseEnter,\n\t\t\t\t\tonMouseMove: this.handleMouseMove,\n\t\t\t\t\tonTouchStart: this.handleTouchStart,\n\t\t\t\t\tonTouchMove: this.handleTouchMove,\n\t\t\t\t\tonTouchEnd: this.handleTouchEnd,\n\t\t\t\t\tid: instancePrefix + '-option-' + optionIndex,\n\t\t\t\t\ttitle: option.title },\n\t\t\t\tthis.props.children\n\t\t\t);\n\t\t}\n\t}]);\n\treturn Option;\n}(React.Component);\n\nOption.propTypes = {\n\tchildren: PropTypes.node,\n\tclassName: PropTypes.string, // className (based on mouse position)\n\tinstancePrefix: PropTypes.string.isRequired, // unique prefix for the ids (used for aria)\n\tisDisabled: PropTypes.bool, // the option is disabled\n\tisFocused: PropTypes.bool, // the option is focused\n\tisSelected: PropTypes.bool, // the option is selected\n\tonFocus: PropTypes.func, // method to handle mouseEnter on option element\n\tonSelect: PropTypes.func, // method to handle click on option element\n\tonUnfocus: PropTypes.func, // method to handle mouseLeave on option element\n\toption: PropTypes.object.isRequired, // object that is base for that option\n\toptionIndex: PropTypes.number // index of the option, used to generate unique ids for aria\n};\n\nvar Value = function (_React$Component) {\n\tinherits(Value, _React$Component);\n\n\tfunction Value(props) {\n\t\tclassCallCheck(this, Value);\n\n\t\tvar _this = possibleConstructorReturn(this, (Value.__proto__ || Object.getPrototypeOf(Value)).call(this, props));\n\n\t\t_this.handleMouseDown = _this.handleMouseDown.bind(_this);\n\t\t_this.onRemove = _this.onRemove.bind(_this);\n\t\t_this.handleTouchEndRemove = _this.handleTouchEndRemove.bind(_this);\n\t\t_this.handleTouchMove = _this.handleTouchMove.bind(_this);\n\t\t_this.handleTouchStart = _this.handleTouchStart.bind(_this);\n\t\treturn _this;\n\t}\n\n\tcreateClass(Value, [{\n\t\tkey: 'handleMouseDown',\n\t\tvalue: function handleMouseDown(event) {\n\t\t\tif (event.type === 'mousedown' && event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.props.onClick) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.props.onClick(this.props.value, event);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.props.value.href) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'onRemove',\n\t\tvalue: function onRemove(event) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.props.onRemove(this.props.value);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchEndRemove',\n\t\tvalue: function handleTouchEndRemove(event) {\n\t\t\t// Check if the view is being dragged, In this case\n\t\t\t// we don't want to fire the click event (because the user only wants to scroll)\n\t\t\tif (this.dragging) return;\n\n\t\t\t// Fire the mouse events\n\t\t\tthis.onRemove(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchMove',\n\t\tvalue: function handleTouchMove() {\n\t\t\t// Set a flag that the view is being dragged\n\t\t\tthis.dragging = true;\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchStart',\n\t\tvalue: function handleTouchStart() {\n\t\t\t// Set a flag that the view is not being dragged\n\t\t\tthis.dragging = false;\n\t\t}\n\t}, {\n\t\tkey: 'renderRemoveIcon',\n\t\tvalue: function renderRemoveIcon() {\n\t\t\tif (this.props.disabled || !this.props.onRemove) return;\n\t\t\treturn React.createElement(\n\t\t\t\t'span',\n\t\t\t\t{ className: 'Select-value-icon',\n\t\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t\tonMouseDown: this.onRemove,\n\t\t\t\t\tonTouchEnd: this.handleTouchEndRemove,\n\t\t\t\t\tonTouchStart: this.handleTouchStart,\n\t\t\t\t\tonTouchMove: this.handleTouchMove },\n\t\t\t\t'\\xD7'\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'renderLabel',\n\t\tvalue: function renderLabel() {\n\t\t\tvar className = 'Select-value-label';\n\t\t\treturn this.props.onClick || this.props.value.href ? React.createElement(\n\t\t\t\t'a',\n\t\t\t\t{ className: className, href: this.props.value.href, target: this.props.value.target, onMouseDown: this.handleMouseDown, onTouchEnd: this.handleMouseDown },\n\t\t\t\tthis.props.children\n\t\t\t) : React.createElement(\n\t\t\t\t'span',\n\t\t\t\t{ className: className, role: 'option', 'aria-selected': 'true', id: this.props.id },\n\t\t\t\tthis.props.children\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\treturn React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: classNames('Select-value', this.props.value.disabled ? 'Select-value-disabled' : '', this.props.value.className),\n\t\t\t\t\tstyle: this.props.value.style,\n\t\t\t\t\ttitle: this.props.value.title\n\t\t\t\t},\n\t\t\t\tthis.renderRemoveIcon(),\n\t\t\t\tthis.renderLabel()\n\t\t\t);\n\t\t}\n\t}]);\n\treturn Value;\n}(React.Component);\n\nValue.propTypes = {\n\tchildren: PropTypes.node,\n\tdisabled: PropTypes.bool, // disabled prop passed to ReactSelect\n\tid: PropTypes.string, // Unique id for the value - used for aria\n\tonClick: PropTypes.func, // method to handle click on value label\n\tonRemove: PropTypes.func, // method to handle removal of the value\n\tvalue: PropTypes.object.isRequired // the option object for this value\n};\n\n/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/react-select\n*/\nvar stringifyValue = function stringifyValue(value) {\n\treturn typeof value === 'string' ? value : value !== null && JSON.stringify(value) || '';\n};\n\nvar stringOrNode = PropTypes.oneOfType([PropTypes.string, PropTypes.node]);\nvar stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n\nvar instanceId = 1;\n\nvar shouldShowValue = function shouldShowValue(state, props) {\n\tvar inputValue = state.inputValue,\n\t isPseudoFocused = state.isPseudoFocused,\n\t isFocused = state.isFocused;\n\tvar onSelectResetsInput = props.onSelectResetsInput;\n\n\n\tif (!inputValue) return true;\n\n\tif (!onSelectResetsInput) {\n\t\treturn !(!isFocused && isPseudoFocused || isFocused && !isPseudoFocused);\n\t}\n\n\treturn false;\n};\n\nvar shouldShowPlaceholder = function shouldShowPlaceholder(state, props, isOpen) {\n\tvar inputValue = state.inputValue,\n\t isPseudoFocused = state.isPseudoFocused,\n\t isFocused = state.isFocused;\n\tvar onSelectResetsInput = props.onSelectResetsInput;\n\n\n\treturn !inputValue || !onSelectResetsInput && !isOpen && !isPseudoFocused && !isFocused;\n};\n\n/**\n * Retrieve a value from the given options and valueKey\n * @param {String|Number|Array} value\t- the selected value(s)\n * @param {Object}\t\t props\t- the Select component's props (or nextProps)\n */\nvar expandValue = function expandValue(value, props) {\n\tvar valueType = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\tif (valueType !== 'string' && valueType !== 'number' && valueType !== 'boolean') return value;\n\tvar options = props.options,\n\t valueKey = props.valueKey;\n\n\tif (!options) return;\n\tfor (var i = 0; i < options.length; i++) {\n\t\tif (String(options[i][valueKey]) === String(value)) return options[i];\n\t}\n};\n\nvar handleRequired = function handleRequired(value, multi) {\n\tif (!value) return true;\n\treturn multi ? value.length === 0 : Object.keys(value).length === 0;\n};\n\nvar Select$1 = function (_React$Component) {\n\tinherits(Select, _React$Component);\n\n\tfunction Select(props) {\n\t\tclassCallCheck(this, Select);\n\n\t\tvar _this = possibleConstructorReturn(this, (Select.__proto__ || Object.getPrototypeOf(Select)).call(this, props));\n\n\t\t['clearValue', 'focusOption', 'getOptionLabel', 'handleInputBlur', 'handleInputChange', 'handleInputFocus', 'handleInputValueChange', 'handleKeyDown', 'handleMenuScroll', 'handleMouseDown', 'handleMouseDownOnArrow', 'handleMouseDownOnMenu', 'handleTouchEnd', 'handleTouchEndClearValue', 'handleTouchMove', 'handleTouchOutside', 'handleTouchStart', 'handleValueClick', 'onOptionRef', 'removeValue', 'selectValue'].forEach(function (fn) {\n\t\t\treturn _this[fn] = _this[fn].bind(_this);\n\t\t});\n\n\t\t_this.state = {\n\t\t\tinputValue: '',\n\t\t\tisFocused: false,\n\t\t\tisOpen: false,\n\t\t\tisPseudoFocused: false,\n\t\t\trequired: false\n\t\t};\n\t\treturn _this;\n\t}\n\n\tcreateClass(Select, [{\n\t\tkey: 'componentWillMount',\n\t\tvalue: function componentWillMount() {\n\t\t\tthis._instancePrefix = 'react-select-' + (this.props.instanceId || ++instanceId) + '-';\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\n\t\t\tif (this.props.required) {\n\t\t\t\tthis.setState({\n\t\t\t\t\trequired: handleRequired(valueArray[0], this.props.multi)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tif (typeof this.props.autofocus !== 'undefined' && typeof console !== 'undefined') {\n\t\t\t\tconsole.warn('Warning: The autofocus prop has changed to autoFocus, support will be removed after react-select@1.0');\n\t\t\t}\n\t\t\tif (this.props.autoFocus || this.props.autofocus) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentWillReceiveProps',\n\t\tvalue: function componentWillReceiveProps(nextProps) {\n\t\t\tvar valueArray = this.getValueArray(nextProps.value, nextProps);\n\n\t\t\tif (nextProps.required) {\n\t\t\t\tthis.setState({\n\t\t\t\t\trequired: handleRequired(valueArray[0], nextProps.multi)\n\t\t\t\t});\n\t\t\t} else if (this.props.required) {\n\t\t\t\t// Used to be required but it's not any more\n\t\t\t\tthis.setState({ required: false });\n\t\t\t}\n\n\t\t\tif (this.state.inputValue && this.props.value !== nextProps.value && nextProps.onSelectResetsInput) {\n\t\t\t\tthis.setState({ inputValue: this.handleInputValueChange('') });\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\t// focus to the selected option\n\t\t\tif (this.menu && this.focused && this.state.isOpen && !this.hasScrolledToOption) {\n\t\t\t\tvar focusedOptionNode = findDOMNode(this.focused);\n\t\t\t\tvar menuNode = findDOMNode(this.menu);\n\n\t\t\t\tvar scrollTop = menuNode.scrollTop;\n\t\t\t\tvar scrollBottom = scrollTop + menuNode.offsetHeight;\n\t\t\t\tvar optionTop = focusedOptionNode.offsetTop;\n\t\t\t\tvar optionBottom = optionTop + focusedOptionNode.offsetHeight;\n\n\t\t\t\tif (scrollTop > optionTop || scrollBottom < optionBottom) {\n\t\t\t\t\tmenuNode.scrollTop = focusedOptionNode.offsetTop;\n\t\t\t\t}\n\n\t\t\t\t// We still set hasScrolledToOption to true even if we didn't\n\t\t\t\t// actually need to scroll, as we've still confirmed that the\n\t\t\t\t// option is in view.\n\t\t\t\tthis.hasScrolledToOption = true;\n\t\t\t} else if (!this.state.isOpen) {\n\t\t\t\tthis.hasScrolledToOption = false;\n\t\t\t}\n\n\t\t\tif (this._scrollToFocusedOptionOnUpdate && this.focused && this.menu) {\n\t\t\t\tthis._scrollToFocusedOptionOnUpdate = false;\n\t\t\t\tvar focusedDOM = findDOMNode(this.focused);\n\t\t\t\tvar menuDOM = findDOMNode(this.menu);\n\t\t\t\tvar focusedRect = focusedDOM.getBoundingClientRect();\n\t\t\t\tvar menuRect = menuDOM.getBoundingClientRect();\n\t\t\t\tif (focusedRect.bottom > menuRect.bottom) {\n\t\t\t\t\tmenuDOM.scrollTop = focusedDOM.offsetTop + focusedDOM.clientHeight - menuDOM.offsetHeight;\n\t\t\t\t} else if (focusedRect.top < menuRect.top) {\n\t\t\t\t\tmenuDOM.scrollTop = focusedDOM.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.props.scrollMenuIntoView && this.menuContainer) {\n\t\t\t\tvar menuContainerRect = this.menuContainer.getBoundingClientRect();\n\t\t\t\tif (window.innerHeight < menuContainerRect.bottom + this.props.menuBuffer) {\n\t\t\t\t\twindow.scrollBy(0, menuContainerRect.bottom + this.props.menuBuffer - window.innerHeight);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (prevProps.disabled !== this.props.disabled) {\n\t\t\t\tthis.setState({ isFocused: false }); // eslint-disable-line react/no-did-update-set-state\n\t\t\t\tthis.closeMenu();\n\t\t\t}\n\t\t\tif (prevState.isOpen !== this.state.isOpen) {\n\t\t\t\tthis.toggleTouchOutsideEvent(this.state.isOpen);\n\t\t\t\tvar handler = this.state.isOpen ? this.props.onOpen : this.props.onClose;\n\t\t\t\thandler && handler();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.toggleTouchOutsideEvent(false);\n\t\t}\n\t}, {\n\t\tkey: 'toggleTouchOutsideEvent',\n\t\tvalue: function toggleTouchOutsideEvent(enabled) {\n\t\t\tvar eventTogglerName = enabled ? document.addEventListener ? 'addEventListener' : 'attachEvent' : document.removeEventListener ? 'removeEventListener' : 'detachEvent';\n\t\t\tvar pref = document.addEventListener ? '' : 'on';\n\n\t\t\tdocument[eventTogglerName](pref + 'touchstart', this.handleTouchOutside);\n\t\t\tdocument[eventTogglerName](pref + 'mousedown', this.handleTouchOutside);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchOutside',\n\t\tvalue: function handleTouchOutside(event) {\n\t\t\t// handle touch outside on ios to dismiss menu\n\t\t\tif (this.wrapper && !this.wrapper.contains(event.target)) {\n\t\t\t\tthis.closeMenu();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tif (!this.input) return;\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blurInput',\n\t\tvalue: function blurInput() {\n\t\t\tif (!this.input) return;\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchMove',\n\t\tvalue: function handleTouchMove() {\n\t\t\t// Set a flag that the view is being dragged\n\t\t\tthis.dragging = true;\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchStart',\n\t\tvalue: function handleTouchStart() {\n\t\t\t// Set a flag that the view is not being dragged\n\t\t\tthis.dragging = false;\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchEnd',\n\t\tvalue: function handleTouchEnd(event) {\n\t\t\t// Check if the view is being dragged, In this case\n\t\t\t// we don't want to fire the click event (because the user only wants to scroll)\n\t\t\tif (this.dragging) return;\n\n\t\t\t// Fire the mouse events\n\t\t\tthis.handleMouseDown(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleTouchEndClearValue',\n\t\tvalue: function handleTouchEndClearValue(event) {\n\t\t\t// Check if the view is being dragged, In this case\n\t\t\t// we don't want to fire the click event (because the user only wants to scroll)\n\t\t\tif (this.dragging) return;\n\n\t\t\t// Clear the value\n\t\t\tthis.clearValue(event);\n\t\t}\n\t}, {\n\t\tkey: 'handleMouseDown',\n\t\tvalue: function handleMouseDown(event) {\n\t\t\t// if the event was triggered by a mousedown and not the primary\n\t\t\t// button, or if the component is disabled, ignore it.\n\t\t\tif (this.props.disabled || event.type === 'mousedown' && event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.target.tagName === 'INPUT') {\n\t\t\t\tif (!this.state.isFocused) {\n\t\t\t\t\tthis._openAfterFocus = this.props.openOnClick;\n\t\t\t\t\tthis.focus();\n\t\t\t\t} else if (!this.state.isOpen) {\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tisOpen: true,\n\t\t\t\t\t\tisPseudoFocused: false,\n\t\t\t\t\t\tfocusedOption: null\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// prevent default event handlers\n\t\t\tevent.preventDefault();\n\n\t\t\t// for the non-searchable select, toggle the menu\n\t\t\tif (!this.props.searchable) {\n\t\t\t\t// This code means that if a select is searchable, onClick the options menu will not appear, only on subsequent click will it open.\n\t\t\t\tthis.focus();\n\t\t\t\treturn this.setState({\n\t\t\t\t\tisOpen: !this.state.isOpen,\n\t\t\t\t\tfocusedOption: null\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.state.isFocused) {\n\t\t\t\t// On iOS, we can get into a state where we think the input is focused but it isn't really,\n\t\t\t\t// since iOS ignores programmatic calls to input.focus() that weren't triggered by a click event.\n\t\t\t\t// Call focus() again here to be safe.\n\t\t\t\tthis.focus();\n\n\t\t\t\tvar input = this.input;\n\t\t\t\tvar toOpen = true;\n\n\t\t\t\tif (typeof input.getInput === 'function') {\n\t\t\t\t\t// Get the actual DOM input if the ref is an component\n\t\t\t\t\tinput = input.getInput();\n\t\t\t\t}\n\n\t\t\t\t// clears the value so that the cursor will be at the end of input when the component re-renders\n\t\t\t\tinput.value = '';\n\n\t\t\t\tif (this._focusAfterClear) {\n\t\t\t\t\ttoOpen = false;\n\t\t\t\t\tthis._focusAfterClear = false;\n\t\t\t\t}\n\n\t\t\t\t// if the input is focused, ensure the menu is open\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: toOpen,\n\t\t\t\t\tisPseudoFocused: false,\n\t\t\t\t\tfocusedOption: null\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// otherwise, focus the input and open the menu\n\t\t\t\tthis._openAfterFocus = this.props.openOnClick;\n\t\t\t\tthis.focus();\n\t\t\t\tthis.setState({ focusedOption: null });\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'handleMouseDownOnArrow',\n\t\tvalue: function handleMouseDownOnArrow(event) {\n\t\t\t// if the event was triggered by a mousedown and not the primary\n\t\t\t// button, or if the component is disabled, ignore it.\n\t\t\tif (this.props.disabled || event.type === 'mousedown' && event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.state.isOpen) {\n\t\t\t\t// prevent default event handlers\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// close the menu\n\t\t\t\tthis.closeMenu();\n\t\t\t} else {\n\t\t\t\t// If the menu isn't open, let the event bubble to the main handleMouseDown\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'handleMouseDownOnMenu',\n\t\tvalue: function handleMouseDownOnMenu(event) {\n\t\t\t// if the event was triggered by a mousedown and not the primary\n\t\t\t// button, or if the component is disabled, ignore it.\n\t\t\tif (this.props.disabled || event.type === 'mousedown' && event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\n\t\t\tthis._openAfterFocus = true;\n\t\t\tthis.focus();\n\t\t}\n\t}, {\n\t\tkey: 'closeMenu',\n\t\tvalue: function closeMenu() {\n\t\t\tif (this.props.onCloseResetsInput) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputValue: this.handleInputValueChange(''),\n\t\t\t\t\tisOpen: false,\n\t\t\t\t\tisPseudoFocused: this.state.isFocused && !this.props.multi\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: false,\n\t\t\t\t\tisPseudoFocused: this.state.isFocused && !this.props.multi\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.hasScrolledToOption = false;\n\t\t}\n\t}, {\n\t\tkey: 'handleInputFocus',\n\t\tvalue: function handleInputFocus(event) {\n\t\t\tif (this.props.disabled) return;\n\n\t\t\tvar toOpen = this.state.isOpen || this._openAfterFocus || this.props.openOnFocus;\n\t\t\ttoOpen = this._focusAfterClear ? false : toOpen; //if focus happens after clear values, don't open dropdown yet.\n\n\t\t\tif (this.props.onFocus) {\n\t\t\t\tthis.props.onFocus(event);\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisFocused: true,\n\t\t\t\tisOpen: !!toOpen\n\t\t\t});\n\n\t\t\tthis._focusAfterClear = false;\n\t\t\tthis._openAfterFocus = false;\n\t\t}\n\t}, {\n\t\tkey: 'handleInputBlur',\n\t\tvalue: function handleInputBlur(event) {\n\t\t\t// The check for menu.contains(activeElement) is necessary to prevent IE11's scrollbar from closing the menu in certain contexts.\n\t\t\tif (this.menu && (this.menu === document.activeElement || this.menu.contains(document.activeElement))) {\n\t\t\t\tthis.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.props.onBlur) {\n\t\t\t\tthis.props.onBlur(event);\n\t\t\t}\n\t\t\tvar onBlurredState = {\n\t\t\t\tisFocused: false,\n\t\t\t\tisOpen: false,\n\t\t\t\tisPseudoFocused: false\n\t\t\t};\n\t\t\tif (this.props.onBlurResetsInput) {\n\t\t\t\tonBlurredState.inputValue = this.handleInputValueChange('');\n\t\t\t}\n\t\t\tthis.setState(onBlurredState);\n\t\t}\n\t}, {\n\t\tkey: 'handleInputChange',\n\t\tvalue: function handleInputChange(event) {\n\t\t\tvar newInputValue = event.target.value;\n\n\t\t\tif (this.state.inputValue !== event.target.value) {\n\t\t\t\tnewInputValue = this.handleInputValueChange(newInputValue);\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tinputValue: newInputValue,\n\t\t\t\tisOpen: true,\n\t\t\t\tisPseudoFocused: false\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'setInputValue',\n\t\tvalue: function setInputValue(newValue) {\n\t\t\tif (this.props.onInputChange) {\n\t\t\t\tvar nextState = this.props.onInputChange(newValue);\n\t\t\t\tif (nextState != null && (typeof nextState === 'undefined' ? 'undefined' : _typeof(nextState)) !== 'object') {\n\t\t\t\t\tnewValue = '' + nextState;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tinputValue: newValue\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'handleInputValueChange',\n\t\tvalue: function handleInputValueChange(newValue) {\n\t\t\tif (this.props.onInputChange) {\n\t\t\t\tvar nextState = this.props.onInputChange(newValue);\n\t\t\t\t// Note: != used deliberately here to catch undefined and null\n\t\t\t\tif (nextState != null && (typeof nextState === 'undefined' ? 'undefined' : _typeof(nextState)) !== 'object') {\n\t\t\t\t\tnewValue = '' + nextState;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn newValue;\n\t\t}\n\t}, {\n\t\tkey: 'handleKeyDown',\n\t\tvalue: function handleKeyDown(event) {\n\t\t\tif (this.props.disabled) return;\n\n\t\t\tif (typeof this.props.onInputKeyDown === 'function') {\n\t\t\t\tthis.props.onInputKeyDown(event);\n\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (event.keyCode) {\n\t\t\t\tcase 8:\n\t\t\t\t\t// backspace\n\t\t\t\t\tif (!this.state.inputValue && this.props.backspaceRemoves) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.popValue();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9:\n\t\t\t\t\t// tab\n\t\t\t\t\tif (event.shiftKey || !this.state.isOpen || !this.props.tabSelectsValue) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.selectFocusedOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13:\n\t\t\t\t\t// enter\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tif (this.state.isOpen) {\n\t\t\t\t\t\tthis.selectFocusedOption();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.focusNextOption();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 27:\n\t\t\t\t\t// escape\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (this.state.isOpen) {\n\t\t\t\t\t\tthis.closeMenu();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t} else if (this.props.clearable && this.props.escapeClearsValue) {\n\t\t\t\t\t\tthis.clearValue(event);\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 32:\n\t\t\t\t\t// space\n\t\t\t\t\tif (this.props.searchable) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (!this.state.isOpen) {\n\t\t\t\t\t\tthis.focusNextOption();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tthis.selectFocusedOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 38:\n\t\t\t\t\t// up\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusPreviousOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 40:\n\t\t\t\t\t// down\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusNextOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 33:\n\t\t\t\t\t// page up\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusPageUpOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 34:\n\t\t\t\t\t// page down\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusPageDownOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 35:\n\t\t\t\t\t// end key\n\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusEndOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 36:\n\t\t\t\t\t// home key\n\t\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.focusStartOption();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 46:\n\t\t\t\t\t// delete\n\t\t\t\t\tif (!this.state.inputValue && this.props.deleteRemoves) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.popValue();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'handleValueClick',\n\t\tvalue: function handleValueClick(option, event) {\n\t\t\tif (!this.props.onValueClick) return;\n\t\t\tthis.props.onValueClick(option, event);\n\t\t}\n\t}, {\n\t\tkey: 'handleMenuScroll',\n\t\tvalue: function handleMenuScroll(event) {\n\t\t\tif (!this.props.onMenuScrollToBottom) return;\n\t\t\tvar target = event.target;\n\n\t\t\tif (target.scrollHeight > target.offsetHeight && target.scrollHeight - target.offsetHeight - target.scrollTop <= 0) {\n\t\t\t\tthis.props.onMenuScrollToBottom();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getOptionLabel',\n\t\tvalue: function getOptionLabel(op) {\n\t\t\treturn op[this.props.labelKey];\n\t\t}\n\n\t\t/**\n * Turns a value into an array from the given options\n * @param {String|Number|Array} value\t\t- the value of the select input\n * @param {Object}\t\tnextProps\t- optionally specify the nextProps so the returned array uses the latest configuration\n * @returns\t{Array}\tthe value of the select represented in an array\n */\n\n\t}, {\n\t\tkey: 'getValueArray',\n\t\tvalue: function getValueArray(value) {\n\t\t\tvar nextProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\t\t/** support optionally passing in the `nextProps` so `componentWillReceiveProps` updates will function as expected */\n\t\t\tvar props = (typeof nextProps === 'undefined' ? 'undefined' : _typeof(nextProps)) === 'object' ? nextProps : this.props;\n\t\t\tif (props.multi) {\n\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\tvalue = value.split(props.delimiter);\n\t\t\t\t}\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tif (value === null || value === undefined) return [];\n\t\t\t\t\tvalue = [value];\n\t\t\t\t}\n\t\t\t\treturn value.map(function (value) {\n\t\t\t\t\treturn expandValue(value, props);\n\t\t\t\t}).filter(function (i) {\n\t\t\t\t\treturn i;\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar expandedValue = expandValue(value, props);\n\t\t\treturn expandedValue ? [expandedValue] : [];\n\t\t}\n\t}, {\n\t\tkey: 'setValue',\n\t\tvalue: function setValue(value) {\n\t\t\tvar _this2 = this;\n\n\t\t\tif (this.props.autoBlur) {\n\t\t\t\tthis.blurInput();\n\t\t\t}\n\t\t\tif (this.props.required) {\n\t\t\t\tvar required = handleRequired(value, this.props.multi);\n\t\t\t\tthis.setState({ required: required });\n\t\t\t}\n\t\t\tif (this.props.simpleValue && value) {\n\t\t\t\tvalue = this.props.multi ? value.map(function (i) {\n\t\t\t\t\treturn i[_this2.props.valueKey];\n\t\t\t\t}).join(this.props.delimiter) : value[this.props.valueKey];\n\t\t\t}\n\t\t\tif (this.props.onChange) {\n\t\t\t\tthis.props.onChange(value);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'selectValue',\n\t\tvalue: function selectValue(value) {\n\t\t\tvar _this3 = this;\n\n\t\t\t// NOTE: we actually add/set the value in a callback to make sure the\n\t\t\t// input value is empty to avoid styling issues in Chrome\n\t\t\tif (this.props.closeOnSelect) {\n\t\t\t\tthis.hasScrolledToOption = false;\n\t\t\t}\n\t\t\tvar updatedValue = this.props.onSelectResetsInput ? '' : this.state.inputValue;\n\t\t\tif (this.props.multi) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tfocusedIndex: null,\n\t\t\t\t\tinputValue: this.handleInputValueChange(updatedValue),\n\t\t\t\t\tisOpen: !this.props.closeOnSelect\n\t\t\t\t}, function () {\n\t\t\t\t\tvar valueArray = _this3.getValueArray(_this3.props.value);\n\t\t\t\t\tif (valueArray.some(function (i) {\n\t\t\t\t\t\treturn i[_this3.props.valueKey] === value[_this3.props.valueKey];\n\t\t\t\t\t})) {\n\t\t\t\t\t\t_this3.removeValue(value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_this3.addValue(value);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputValue: this.handleInputValueChange(updatedValue),\n\t\t\t\t\tisOpen: !this.props.closeOnSelect,\n\t\t\t\t\tisPseudoFocused: this.state.isFocused\n\t\t\t\t}, function () {\n\t\t\t\t\t_this3.setValue(value);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'addValue',\n\t\tvalue: function addValue(value) {\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\t\t\tvar visibleOptions = this._visibleOptions.filter(function (val) {\n\t\t\t\treturn !val.disabled;\n\t\t\t});\n\t\t\tvar lastValueIndex = visibleOptions.indexOf(value);\n\t\t\tthis.setValue(valueArray.concat(value));\n\t\t\tif (!this.props.closeOnSelect) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (visibleOptions.length - 1 === lastValueIndex) {\n\t\t\t\t// the last option was selected; focus the second-last one\n\t\t\t\tthis.focusOption(visibleOptions[lastValueIndex - 1]);\n\t\t\t} else if (visibleOptions.length > lastValueIndex) {\n\t\t\t\t// focus the option below the selected one\n\t\t\t\tthis.focusOption(visibleOptions[lastValueIndex + 1]);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'popValue',\n\t\tvalue: function popValue() {\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\t\t\tif (!valueArray.length) return;\n\t\t\tif (valueArray[valueArray.length - 1].clearableValue === false) return;\n\t\t\tthis.setValue(this.props.multi ? valueArray.slice(0, valueArray.length - 1) : null);\n\t\t}\n\t}, {\n\t\tkey: 'removeValue',\n\t\tvalue: function removeValue(value) {\n\t\t\tvar _this4 = this;\n\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\t\t\tthis.setValue(valueArray.filter(function (i) {\n\t\t\t\treturn i[_this4.props.valueKey] !== value[_this4.props.valueKey];\n\t\t\t}));\n\t\t\tthis.focus();\n\t\t}\n\t}, {\n\t\tkey: 'clearValue',\n\t\tvalue: function clearValue(event) {\n\t\t\t// if the event was triggered by a mousedown and not the primary\n\t\t\t// button, ignore it.\n\t\t\tif (event && event.type === 'mousedown' && event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tthis.setValue(this.getResetValue());\n\t\t\tthis.setState({\n\t\t\t\tinputValue: this.handleInputValueChange(''),\n\t\t\t\tisOpen: false\n\t\t\t}, this.focus);\n\n\t\t\tthis._focusAfterClear = true;\n\t\t}\n\t}, {\n\t\tkey: 'getResetValue',\n\t\tvalue: function getResetValue() {\n\t\t\tif (this.props.resetValue !== undefined) {\n\t\t\t\treturn this.props.resetValue;\n\t\t\t} else if (this.props.multi) {\n\t\t\t\treturn [];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'focusOption',\n\t\tvalue: function focusOption(option) {\n\t\t\tthis.setState({\n\t\t\t\tfocusedOption: option\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'focusNextOption',\n\t\tvalue: function focusNextOption() {\n\t\t\tthis.focusAdjacentOption('next');\n\t\t}\n\t}, {\n\t\tkey: 'focusPreviousOption',\n\t\tvalue: function focusPreviousOption() {\n\t\t\tthis.focusAdjacentOption('previous');\n\t\t}\n\t}, {\n\t\tkey: 'focusPageUpOption',\n\t\tvalue: function focusPageUpOption() {\n\t\t\tthis.focusAdjacentOption('page_up');\n\t\t}\n\t}, {\n\t\tkey: 'focusPageDownOption',\n\t\tvalue: function focusPageDownOption() {\n\t\t\tthis.focusAdjacentOption('page_down');\n\t\t}\n\t}, {\n\t\tkey: 'focusStartOption',\n\t\tvalue: function focusStartOption() {\n\t\t\tthis.focusAdjacentOption('start');\n\t\t}\n\t}, {\n\t\tkey: 'focusEndOption',\n\t\tvalue: function focusEndOption() {\n\t\t\tthis.focusAdjacentOption('end');\n\t\t}\n\t}, {\n\t\tkey: 'focusAdjacentOption',\n\t\tvalue: function focusAdjacentOption(dir) {\n\t\t\tvar options = this._visibleOptions.map(function (option, index) {\n\t\t\t\treturn { option: option, index: index };\n\t\t\t}).filter(function (option) {\n\t\t\t\treturn !option.option.disabled;\n\t\t\t});\n\t\t\tthis._scrollToFocusedOptionOnUpdate = true;\n\t\t\tif (!this.state.isOpen) {\n\t\t\t\tvar newState = {\n\t\t\t\t\tfocusedOption: this._focusedOption || (options.length ? options[dir === 'next' ? 0 : options.length - 1].option : null),\n\t\t\t\t\tisOpen: true\n\t\t\t\t};\n\t\t\t\tif (this.props.onSelectResetsInput) {\n\t\t\t\t\tnewState.inputValue = '';\n\t\t\t\t}\n\t\t\t\tthis.setState(newState);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!options.length) return;\n\t\t\tvar focusedIndex = -1;\n\t\t\tfor (var i = 0; i < options.length; i++) {\n\t\t\t\tif (this._focusedOption === options[i].option) {\n\t\t\t\t\tfocusedIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dir === 'next' && focusedIndex !== -1) {\n\t\t\t\tfocusedIndex = (focusedIndex + 1) % options.length;\n\t\t\t} else if (dir === 'previous') {\n\t\t\t\tif (focusedIndex > 0) {\n\t\t\t\t\tfocusedIndex = focusedIndex - 1;\n\t\t\t\t} else {\n\t\t\t\t\tfocusedIndex = options.length - 1;\n\t\t\t\t}\n\t\t\t} else if (dir === 'start') {\n\t\t\t\tfocusedIndex = 0;\n\t\t\t} else if (dir === 'end') {\n\t\t\t\tfocusedIndex = options.length - 1;\n\t\t\t} else if (dir === 'page_up') {\n\t\t\t\tvar potentialIndex = focusedIndex - this.props.pageSize;\n\t\t\t\tif (potentialIndex < 0) {\n\t\t\t\t\tfocusedIndex = 0;\n\t\t\t\t} else {\n\t\t\t\t\tfocusedIndex = potentialIndex;\n\t\t\t\t}\n\t\t\t} else if (dir === 'page_down') {\n\t\t\t\tvar _potentialIndex = focusedIndex + this.props.pageSize;\n\t\t\t\tif (_potentialIndex > options.length - 1) {\n\t\t\t\t\tfocusedIndex = options.length - 1;\n\t\t\t\t} else {\n\t\t\t\t\tfocusedIndex = _potentialIndex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (focusedIndex === -1) {\n\t\t\t\tfocusedIndex = 0;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tfocusedIndex: options[focusedIndex].index,\n\t\t\t\tfocusedOption: options[focusedIndex].option\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'getFocusedOption',\n\t\tvalue: function getFocusedOption() {\n\t\t\treturn this._focusedOption;\n\t\t}\n\t}, {\n\t\tkey: 'selectFocusedOption',\n\t\tvalue: function selectFocusedOption() {\n\t\t\tif (this._focusedOption) {\n\t\t\t\treturn this.selectValue(this._focusedOption);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'renderLoading',\n\t\tvalue: function renderLoading() {\n\t\t\tif (!this.props.isLoading) return;\n\t\t\treturn React.createElement(\n\t\t\t\t'span',\n\t\t\t\t{ className: 'Select-loading-zone', 'aria-hidden': 'true' },\n\t\t\t\tReact.createElement('span', { className: 'Select-loading' })\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'renderValue',\n\t\tvalue: function renderValue(valueArray, isOpen) {\n\t\t\tvar _this5 = this;\n\n\t\t\tvar renderLabel = this.props.valueRenderer || this.getOptionLabel;\n\t\t\tvar ValueComponent = this.props.valueComponent;\n\t\t\tif (!valueArray.length) {\n\t\t\t\tvar showPlaceholder = shouldShowPlaceholder(this.state, this.props, isOpen);\n\t\t\t\treturn showPlaceholder ? React.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'Select-placeholder' },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null;\n\t\t\t}\n\t\t\tvar onClick = this.props.onValueClick ? this.handleValueClick : null;\n\t\t\tif (this.props.multi) {\n\t\t\t\treturn valueArray.map(function (value, i) {\n\t\t\t\t\treturn React.createElement(\n\t\t\t\t\t\tValueComponent,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdisabled: _this5.props.disabled || value.clearableValue === false,\n\t\t\t\t\t\t\tid: _this5._instancePrefix + '-value-' + i,\n\t\t\t\t\t\t\tinstancePrefix: _this5._instancePrefix,\n\t\t\t\t\t\t\tkey: 'value-' + i + '-' + value[_this5.props.valueKey],\n\t\t\t\t\t\t\tonClick: onClick,\n\t\t\t\t\t\t\tonRemove: _this5.removeValue,\n\t\t\t\t\t\t\tplaceholder: _this5.props.placeholder,\n\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\tvalues: valueArray\n\t\t\t\t\t\t},\n\t\t\t\t\t\trenderLabel(value, i),\n\t\t\t\t\t\tReact.createElement(\n\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t{ className: 'Select-aria-only' },\n\t\t\t\t\t\t\t'\\xA0'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else if (shouldShowValue(this.state, this.props)) {\n\t\t\t\tif (isOpen) onClick = null;\n\t\t\t\treturn React.createElement(\n\t\t\t\t\tValueComponent,\n\t\t\t\t\t{\n\t\t\t\t\t\tdisabled: this.props.disabled,\n\t\t\t\t\t\tid: this._instancePrefix + '-value-item',\n\t\t\t\t\t\tinstancePrefix: this._instancePrefix,\n\t\t\t\t\t\tonClick: onClick,\n\t\t\t\t\t\tplaceholder: this.props.placeholder,\n\t\t\t\t\t\tvalue: valueArray[0]\n\t\t\t\t\t},\n\t\t\t\t\trenderLabel(valueArray[0])\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'renderInput',\n\t\tvalue: function renderInput(valueArray, focusedOptionIndex) {\n\t\t\tvar _classNames,\n\t\t\t _this6 = this;\n\n\t\t\tvar className = classNames('Select-input', this.props.inputProps.className);\n\t\t\tvar isOpen = this.state.isOpen;\n\n\t\t\tvar ariaOwns = classNames((_classNames = {}, defineProperty(_classNames, this._instancePrefix + '-list', isOpen), defineProperty(_classNames, this._instancePrefix + '-backspace-remove-message', this.props.multi && !this.props.disabled && this.state.isFocused && !this.state.inputValue), _classNames));\n\n\t\t\tvar value = this.state.inputValue;\n\t\t\tif (value && !this.props.onSelectResetsInput && !this.state.isFocused) {\n\t\t\t\t// it hides input value when it is not focused and was not reset on select\n\t\t\t\tvalue = '';\n\t\t\t}\n\n\t\t\tvar inputProps = _extends({}, this.props.inputProps, {\n\t\t\t\t'aria-activedescendant': isOpen ? this._instancePrefix + '-option-' + focusedOptionIndex : this._instancePrefix + '-value',\n\t\t\t\t'aria-describedby': this.props['aria-describedby'],\n\t\t\t\t'aria-expanded': '' + isOpen,\n\t\t\t\t'aria-haspopup': '' + isOpen,\n\t\t\t\t'aria-label': this.props['aria-label'],\n\t\t\t\t'aria-labelledby': this.props['aria-labelledby'],\n\t\t\t\t'aria-owns': ariaOwns,\n\t\t\t\tonBlur: this.handleInputBlur,\n\t\t\t\tonChange: this.handleInputChange,\n\t\t\t\tonFocus: this.handleInputFocus,\n\t\t\t\tref: function ref(_ref) {\n\t\t\t\t\treturn _this6.input = _ref;\n\t\t\t\t},\n\t\t\t\trole: 'combobox',\n\t\t\t\trequired: this.state.required,\n\t\t\t\ttabIndex: this.props.tabIndex,\n\t\t\t\tvalue: value\n\t\t\t});\n\n\t\t\tif (this.props.inputRenderer) {\n\t\t\t\treturn this.props.inputRenderer(inputProps);\n\t\t\t}\n\n\t\t\tif (this.props.disabled || !this.props.searchable) {\n\t\t\t\tvar divProps = objectWithoutProperties(this.props.inputProps, []);\n\n\n\t\t\t\tvar _ariaOwns = classNames(defineProperty({}, this._instancePrefix + '-list', isOpen));\n\t\t\t\treturn React.createElement('div', _extends({}, divProps, {\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t'aria-owns': _ariaOwns,\n\t\t\t\t\t'aria-activedescendant': isOpen ? this._instancePrefix + '-option-' + focusedOptionIndex : this._instancePrefix + '-value',\n\t\t\t\t\t'aria-disabled': '' + this.props.disabled,\n\t\t\t\t\t'aria-label': this.props['aria-label'],\n\t\t\t\t\t'aria-labelledby': this.props['aria-labelledby'],\n\t\t\t\t\tclassName: className,\n\t\t\t\t\tonBlur: this.handleInputBlur,\n\t\t\t\t\tonFocus: this.handleInputFocus,\n\t\t\t\t\tref: function ref(_ref2) {\n\t\t\t\t\t\treturn _this6.input = _ref2;\n\t\t\t\t\t},\n\t\t\t\t\trole: 'combobox',\n\t\t\t\t\tstyle: { border: 0, width: 1, display: 'inline-block' },\n\t\t\t\t\ttabIndex: this.props.tabIndex || 0\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\tif (this.props.autosize) {\n\t\t\t\treturn React.createElement(AutosizeInput, _extends({ id: this.props.id }, inputProps, { className: className, minWidth: '5' }));\n\t\t\t}\n\t\t\treturn React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: className, key: 'input-wrap', style: { display: 'inline-block' } },\n\t\t\t\tReact.createElement('input', _extends({ id: this.props.id }, inputProps))\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'renderClear',\n\t\tvalue: function renderClear() {\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\t\t\tif (!this.props.clearable || !valueArray.length || this.props.disabled || this.props.isLoading) return;\n\t\t\tvar ariaLabel = this.props.multi ? this.props.clearAllText : this.props.clearValueText;\n\t\t\tvar clear = this.props.clearRenderer();\n\n\t\t\treturn React.createElement(\n\t\t\t\t'span',\n\t\t\t\t{\n\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\tclassName: 'Select-clear-zone',\n\t\t\t\t\tonMouseDown: this.clearValue,\n\t\t\t\t\tonTouchEnd: this.handleTouchEndClearValue,\n\t\t\t\t\tonTouchMove: this.handleTouchMove,\n\t\t\t\t\tonTouchStart: this.handleTouchStart,\n\t\t\t\t\ttitle: ariaLabel\n\t\t\t\t},\n\t\t\t\tclear\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'renderArrow',\n\t\tvalue: function renderArrow() {\n\t\t\tif (!this.props.arrowRenderer) return;\n\n\t\t\tvar onMouseDown = this.handleMouseDownOnArrow;\n\t\t\tvar isOpen = this.state.isOpen;\n\t\t\tvar arrow = this.props.arrowRenderer({ onMouseDown: onMouseDown, isOpen: isOpen });\n\n\t\t\tif (!arrow) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn React.createElement(\n\t\t\t\t'span',\n\t\t\t\t{\n\t\t\t\t\tclassName: 'Select-arrow-zone',\n\t\t\t\t\tonMouseDown: onMouseDown\n\t\t\t\t},\n\t\t\t\tarrow\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'filterOptions',\n\t\tvalue: function filterOptions$$1(excludeOptions) {\n\t\t\tvar filterValue = this.state.inputValue;\n\t\t\tvar options = this.props.options || [];\n\t\t\tif (this.props.filterOptions) {\n\t\t\t\t// Maintain backwards compatibility with boolean attribute\n\t\t\t\tvar filterOptions$$1 = typeof this.props.filterOptions === 'function' ? this.props.filterOptions : filterOptions;\n\n\t\t\t\treturn filterOptions$$1(options, filterValue, excludeOptions, {\n\t\t\t\t\tfilterOption: this.props.filterOption,\n\t\t\t\t\tignoreAccents: this.props.ignoreAccents,\n\t\t\t\t\tignoreCase: this.props.ignoreCase,\n\t\t\t\t\tlabelKey: this.props.labelKey,\n\t\t\t\t\tmatchPos: this.props.matchPos,\n\t\t\t\t\tmatchProp: this.props.matchProp,\n\t\t\t\t\ttrimFilter: this.props.trimFilter,\n\t\t\t\t\tvalueKey: this.props.valueKey\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn options;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'onOptionRef',\n\t\tvalue: function onOptionRef(ref, isFocused) {\n\t\t\tif (isFocused) {\n\t\t\t\tthis.focused = ref;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'renderMenu',\n\t\tvalue: function renderMenu(options, valueArray, focusedOption) {\n\t\t\tif (options && options.length) {\n\t\t\t\treturn this.props.menuRenderer({\n\t\t\t\t\tfocusedOption: focusedOption,\n\t\t\t\t\tfocusOption: this.focusOption,\n\t\t\t\t\tinputValue: this.state.inputValue,\n\t\t\t\t\tinstancePrefix: this._instancePrefix,\n\t\t\t\t\tlabelKey: this.props.labelKey,\n\t\t\t\t\tonFocus: this.focusOption,\n\t\t\t\t\tonOptionRef: this.onOptionRef,\n\t\t\t\t\tonSelect: this.selectValue,\n\t\t\t\t\toptionClassName: this.props.optionClassName,\n\t\t\t\t\toptionComponent: this.props.optionComponent,\n\t\t\t\t\toptionRenderer: this.props.optionRenderer || this.getOptionLabel,\n\t\t\t\t\toptions: options,\n\t\t\t\t\tremoveValue: this.removeValue,\n\t\t\t\t\tselectValue: this.selectValue,\n\t\t\t\t\tvalueArray: valueArray,\n\t\t\t\t\tvalueKey: this.props.valueKey\n\t\t\t\t});\n\t\t\t} else if (this.props.noResultsText) {\n\t\t\t\treturn React.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'Select-noresults' },\n\t\t\t\t\tthis.props.noResultsText\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'renderHiddenField',\n\t\tvalue: function renderHiddenField(valueArray) {\n\t\t\tvar _this7 = this;\n\n\t\t\tif (!this.props.name) return;\n\t\t\tif (this.props.joinValues) {\n\t\t\t\tvar value = valueArray.map(function (i) {\n\t\t\t\t\treturn stringifyValue(i[_this7.props.valueKey]);\n\t\t\t\t}).join(this.props.delimiter);\n\t\t\t\treturn React.createElement('input', {\n\t\t\t\t\tdisabled: this.props.disabled,\n\t\t\t\t\tname: this.props.name,\n\t\t\t\t\tref: function ref(_ref3) {\n\t\t\t\t\t\treturn _this7.value = _ref3;\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'hidden',\n\t\t\t\t\tvalue: value\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn valueArray.map(function (item, index) {\n\t\t\t\treturn React.createElement('input', {\n\t\t\t\t\tdisabled: _this7.props.disabled,\n\t\t\t\t\tkey: 'hidden.' + index,\n\t\t\t\t\tname: _this7.props.name,\n\t\t\t\t\tref: 'value' + index,\n\t\t\t\t\ttype: 'hidden',\n\t\t\t\t\tvalue: stringifyValue(item[_this7.props.valueKey])\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'getFocusableOptionIndex',\n\t\tvalue: function getFocusableOptionIndex(selectedOption) {\n\t\t\tvar options = this._visibleOptions;\n\t\t\tif (!options.length) return null;\n\n\t\t\tvar valueKey = this.props.valueKey;\n\t\t\tvar focusedOption = this.state.focusedOption || selectedOption;\n\t\t\tif (focusedOption && !focusedOption.disabled) {\n\t\t\t\tvar focusedOptionIndex = -1;\n\t\t\t\toptions.some(function (option, index) {\n\t\t\t\t\tvar isOptionEqual = option[valueKey] === focusedOption[valueKey];\n\t\t\t\t\tif (isOptionEqual) {\n\t\t\t\t\t\tfocusedOptionIndex = index;\n\t\t\t\t\t}\n\t\t\t\t\treturn isOptionEqual;\n\t\t\t\t});\n\t\t\t\tif (focusedOptionIndex !== -1) {\n\t\t\t\t\treturn focusedOptionIndex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < options.length; i++) {\n\t\t\t\tif (!options[i].disabled) return i;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}, {\n\t\tkey: 'renderOuter',\n\t\tvalue: function renderOuter(options, valueArray, focusedOption) {\n\t\t\tvar _this8 = this;\n\n\t\t\tvar menu = this.renderMenu(options, valueArray, focusedOption);\n\t\t\tif (!menu) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ ref: function ref(_ref5) {\n\t\t\t\t\t\treturn _this8.menuContainer = _ref5;\n\t\t\t\t\t}, className: 'Select-menu-outer', style: this.props.menuContainerStyle },\n\t\t\t\tReact.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tclassName: 'Select-menu',\n\t\t\t\t\t\tid: this._instancePrefix + '-list',\n\t\t\t\t\t\tonMouseDown: this.handleMouseDownOnMenu,\n\t\t\t\t\t\tonScroll: this.handleMenuScroll,\n\t\t\t\t\t\tref: function ref(_ref4) {\n\t\t\t\t\t\t\treturn _this8.menu = _ref4;\n\t\t\t\t\t\t},\n\t\t\t\t\t\trole: 'listbox',\n\t\t\t\t\t\tstyle: this.props.menuStyle,\n\t\t\t\t\t\ttabIndex: -1\n\t\t\t\t\t},\n\t\t\t\t\tmenu\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this9 = this;\n\n\t\t\tvar valueArray = this.getValueArray(this.props.value);\n\t\t\tvar options = this._visibleOptions = this.filterOptions(this.props.multi && this.props.removeSelected ? valueArray : null);\n\t\t\tvar isOpen = this.state.isOpen;\n\t\t\tif (this.props.multi && !options.length && valueArray.length && !this.state.inputValue) isOpen = false;\n\t\t\tvar focusedOptionIndex = this.getFocusableOptionIndex(valueArray[0]);\n\n\t\t\tvar focusedOption = null;\n\t\t\tif (focusedOptionIndex !== null) {\n\t\t\t\tfocusedOption = this._focusedOption = options[focusedOptionIndex];\n\t\t\t} else {\n\t\t\t\tfocusedOption = this._focusedOption = null;\n\t\t\t}\n\t\t\tvar className = classNames('Select', this.props.className, {\n\t\t\t\t'has-value': valueArray.length,\n\t\t\t\t'is-clearable': this.props.clearable,\n\t\t\t\t'is-disabled': this.props.disabled,\n\t\t\t\t'is-focused': this.state.isFocused,\n\t\t\t\t'is-loading': this.props.isLoading,\n\t\t\t\t'is-open': isOpen,\n\t\t\t\t'is-pseudo-focused': this.state.isPseudoFocused,\n\t\t\t\t'is-searchable': this.props.searchable,\n\t\t\t\t'Select--multi': this.props.multi,\n\t\t\t\t'Select--rtl': this.props.rtl,\n\t\t\t\t'Select--single': !this.props.multi\n\t\t\t});\n\n\t\t\tvar removeMessage = null;\n\t\t\tif (this.props.multi && !this.props.disabled && valueArray.length && !this.state.inputValue && this.state.isFocused && this.props.backspaceRemoves) {\n\t\t\t\tremoveMessage = React.createElement(\n\t\t\t\t\t'span',\n\t\t\t\t\t{ id: this._instancePrefix + '-backspace-remove-message', className: 'Select-aria-only', 'aria-live': 'assertive' },\n\t\t\t\t\tthis.props.backspaceToRemoveMessage.replace('{label}', valueArray[valueArray.length - 1][this.props.labelKey])\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn React.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ ref: function ref(_ref7) {\n\t\t\t\t\t\treturn _this9.wrapper = _ref7;\n\t\t\t\t\t},\n\t\t\t\t\tclassName: className,\n\t\t\t\t\tstyle: this.props.wrapperStyle },\n\t\t\t\tthis.renderHiddenField(valueArray),\n\t\t\t\tReact.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: function ref(_ref6) {\n\t\t\t\t\t\t\treturn _this9.control = _ref6;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: 'Select-control',\n\t\t\t\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\t\t\t\tonMouseDown: this.handleMouseDown,\n\t\t\t\t\t\tonTouchEnd: this.handleTouchEnd,\n\t\t\t\t\t\tonTouchMove: this.handleTouchMove,\n\t\t\t\t\t\tonTouchStart: this.handleTouchStart,\n\t\t\t\t\t\tstyle: this.props.style\n\t\t\t\t\t},\n\t\t\t\t\tReact.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'Select-multi-value-wrapper', id: this._instancePrefix + '-value' },\n\t\t\t\t\t\tthis.renderValue(valueArray, isOpen),\n\t\t\t\t\t\tthis.renderInput(valueArray, focusedOptionIndex)\n\t\t\t\t\t),\n\t\t\t\t\tremoveMessage,\n\t\t\t\t\tthis.renderLoading(),\n\t\t\t\t\tthis.renderClear(),\n\t\t\t\t\tthis.renderArrow()\n\t\t\t\t),\n\t\t\t\tisOpen ? this.renderOuter(options, valueArray, focusedOption) : null\n\t\t\t);\n\t\t}\n\t}]);\n\treturn Select;\n}(React.Component);\n\nSelect$1.propTypes = {\n\t'aria-describedby': PropTypes.string, // html id(s) of element(s) that should be used to describe this input (for assistive tech)\n\t'aria-label': PropTypes.string, // aria label (for assistive tech)\n\t'aria-labelledby': PropTypes.string, // html id of an element that should be used as the label (for assistive tech)\n\tarrowRenderer: PropTypes.func, // create the drop-down caret element\n\tautoBlur: PropTypes.bool, // automatically blur the component when an option is selected\n\tautoFocus: PropTypes.bool, // autofocus the component on mount\n\tautofocus: PropTypes.bool, // deprecated; use autoFocus instead\n\tautosize: PropTypes.bool, // whether to enable autosizing or not\n\tbackspaceRemoves: PropTypes.bool, // whether backspace removes an item if there is no text input\n\tbackspaceToRemoveMessage: PropTypes.string, // message to use for screenreaders to press backspace to remove the current item - {label} is replaced with the item label\n\tclassName: PropTypes.string, // className for the outer element\n\tclearAllText: stringOrNode, // title for the \"clear\" control when multi: true\n\tclearRenderer: PropTypes.func, // create clearable x element\n\tclearValueText: stringOrNode, // title for the \"clear\" control\n\tclearable: PropTypes.bool, // should it be possible to reset value\n\tcloseOnSelect: PropTypes.bool, // whether to close the menu when a value is selected\n\tdeleteRemoves: PropTypes.bool, // whether delete removes an item if there is no text input\n\tdelimiter: PropTypes.string, // delimiter to use to join multiple values for the hidden field value\n\tdisabled: PropTypes.bool, // whether the Select is disabled or not\n\tescapeClearsValue: PropTypes.bool, // whether escape clears the value when the menu is closed\n\tfilterOption: PropTypes.func, // method to filter a single option (option, filterString)\n\tfilterOptions: PropTypes.any, // boolean to enable default filtering or function to filter the options array ([options], filterString, [values])\n\tid: PropTypes.string, // html id to set on the input element for accessibility or tests\n\tignoreAccents: PropTypes.bool, // whether to strip diacritics when filtering\n\tignoreCase: PropTypes.bool, // whether to perform case-insensitive filtering\n\tinputProps: PropTypes.object, // custom attributes for the Input\n\tinputRenderer: PropTypes.func, // returns a custom input component\n\tinstanceId: PropTypes.string, // set the components instanceId\n\tisLoading: PropTypes.bool, // whether the Select is loading externally or not (such as options being loaded)\n\tjoinValues: PropTypes.bool, // joins multiple values into a single form field with the delimiter (legacy mode)\n\tlabelKey: PropTypes.string, // path of the label value in option objects\n\tmatchPos: PropTypes.string, // (any|start) match the start or entire string when filtering\n\tmatchProp: PropTypes.string, // (any|label|value) which option property to filter on\n\tmenuBuffer: PropTypes.number, // optional buffer (in px) between the bottom of the viewport and the bottom of the menu\n\tmenuContainerStyle: PropTypes.object, // optional style to apply to the menu container\n\tmenuRenderer: PropTypes.func, // renders a custom menu with options\n\tmenuStyle: PropTypes.object, // optional style to apply to the menu\n\tmulti: PropTypes.bool, // multi-value input\n\tname: PropTypes.string, // generates a hidden tag with this field name for html forms\n\tnoResultsText: stringOrNode, // placeholder displayed when there are no matching search results\n\tonBlur: PropTypes.func, // onBlur handler: function (event) {}\n\tonBlurResetsInput: PropTypes.bool, // whether input is cleared on blur\n\tonChange: PropTypes.func, // onChange handler: function (newValue) {}\n\tonClose: PropTypes.func, // fires when the menu is closed\n\tonCloseResetsInput: PropTypes.bool, // whether input is cleared when menu is closed through the arrow\n\tonFocus: PropTypes.func, // onFocus handler: function (event) {}\n\tonInputChange: PropTypes.func, // onInputChange handler: function (inputValue) {}\n\tonInputKeyDown: PropTypes.func, // input keyDown handler: function (event) {}\n\tonMenuScrollToBottom: PropTypes.func, // fires when the menu is scrolled to the bottom; can be used to paginate options\n\tonOpen: PropTypes.func, // fires when the menu is opened\n\tonSelectResetsInput: PropTypes.bool, // whether input is cleared on select (works only for multiselect)\n\tonValueClick: PropTypes.func, // onClick handler for value labels: function (value, event) {}\n\topenOnClick: PropTypes.bool, // boolean to control opening the menu when the control is clicked\n\topenOnFocus: PropTypes.bool, // always open options menu on focus\n\toptionClassName: PropTypes.string, // additional class(es) to apply to the