diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f3c80b..4388fbf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+
+## [1.1.4](https://github.com/tinper-bee/bee-dnd/compare/v1.1.3...v1.1.4) (2019-08-21)
+
+
+
## [1.1.3](https://github.com/tinper-bee/bee-dnd/compare/v1.1.2...v1.1.3) (2019-07-26)
diff --git a/build/SortList.js b/build/SortList.js
index 83c18bc..e7d9146 100644
--- a/build/SortList.js
+++ b/build/SortList.js
@@ -116,7 +116,7 @@ var Vertical = function (_Component) {
_this2.state.items.map(function (item, index) {
return _react2["default"].createElement(
_reactBeautifulDnd.Draggable,
- { key: index, draggableId: index, index: index },
+ { key: index, draggableId: '' + index, index: index },
function (provided, snapshot) {
return _react2["default"].createElement(
'div',
diff --git a/dist/demo.css.map b/dist/demo.css.map
index 32c62ac..20f031c 100644
--- a/dist/demo.css.map
+++ b/dist/demo.css.map
@@ -1 +1 @@
-{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../src/Dnd.scss","DndDemo.scss","demolist/Demo1.scss","demolist/Demo2.scss","demolist/Demo3.scss","demolist/Demo4.scss","demolist/Demo5.scss","demolist/Demo6.scss","demolist/Demo7.scss","demolist/Demo91.scss","demolist/Demo92.scss","demolist/Demo93.scss"],"names":[],"mappings":"AAAA,iBAAiB;AC6UjB,eAAe;AAWf,iBAAiB;AClUjB;EACE,oBAA8B;EAC9B,0BAAoC;EACpC,cAAa;EACb,eAAc,EACf;;AAOD;EACE,qBAAa;EAAb,cAAa;EACb,YAAW,EACZ;;AASD;EACE,0BAAiB;EAAjB,uBAAiB;EAAjB,sBAAiB;EAAjB,kBAAiB;EACjB,YDw3CkB;ECv3ClB,iBAAgB;EAChB,kBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,eAAc;EACd,gBAAe,EAQhB;EAhBD;IAUI,oBAA8B;IAC9B,0BAAoC,EACrC;EAZH;IAcI,cAAa,EACd;;AAEH,QAAA;AACA;EAEI,oBAA8B;EAC9B,kDAA6C;EAC7C,aAAW,EACZ;;AAEH;EACE,oBAA8B;EAC9B,kDAA6C;EAC7C,aAAW,EACZ;;AAGD;EACE,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,kBAAiB;EACjB,WAAU,EACX;;AAQD;EACE,qBAAa;EAAb,cAAa,EACd;;AACD;EACE,oBAAe;EAAf,gBAAe,EAChB;;AC/FD;EACI,aAAY,EACf;;AACD;EACI,mBACJ,EAAC;;AHmDD,iBAAiB;AI1DjB;EACI,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKf;EAfD;IAYM,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEL,QAAA;AACA;EAEQ,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;AJ0DL,iBAAiB;AKhFjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;ACtBH;EAEI,oBAA8B;EAC9B,oBAAmB,EACpB;;ANsGH,iBAAiB;AOzGjB;EACE,mBAAkB;EAClB,gBAAe,EAKhB;EAPD;IAII,oBAA8B;IAC9B,gBAAe,EAChB;;AAGH;EACE,mBAAkB;EAClB,YAAW;EACX,UAAS;EACT,aAAY;EACZ,kBAAiB;EACjB,oBAA8B;EAC9B,+BAA6B;EAC7B,0BAAoC;EACpC,aAAY,EAIb;EAbD;IAWI,oBAA8B,EAC/B;;AAEH,QAAA;AACA;EAEI,oBAA8B;EAC9B,iBAAgB,EACjB;;APuGH,iBAAiB;AQpIjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;ARoIH,iBAAiB;AS1JjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;AAEH;EACE,cAAa,EACd;;ATyJD,iBAAiB;AUnLjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEI,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACjB;;AAGH;EACE,aAAY;EACZ,cAAa;EACb,oBAA+B;EAC/B,0BAAqC;EACrC,mBAAkB,EACnB;;;AC/BD;EACI,iBAAgB,EACnB;;AACD;EACI,cAAa,EAChB;;ACLD;EACI,iBAAgB,EACnB;;AACD;EACI,cAAa,EAChB;;ACLD;EACI,oBAAmB;EACnB,0BAAyB;EACzB,cAAa;EACb,eAAc,EAUjB;EAdD;IAMQ,YAAW;IACX,kBAAiB;IACjB,mBAAkB;IAClB,0BAAyB;IACzB,eAAc;IACd,gBAAe;IACf,mBAAkB,EACrB","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n.u-drop {\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n padding: 12px;\n color: #212121; }\n\n.u-drop.u-drop-horizontal {\n display: flex;\n width: 100%; }\n\n.u-drag {\n user-select: none;\n margin: 4px;\n min-width: 100px;\n background: white;\n border-radius: 3px;\n border: 1px solid #a5adba;\n padding: 6px 0;\n font-size: 12px; }\n .u-drag:hover {\n background: #ebecf0;\n border: 1px solid #a5adba; }\n .u-drag:focus {\n outline: none; }\n\n/*拖动状态*/\n.u-droping .u-draging {\n background: #ebecf0;\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8; }\n\n.u-draging {\n background: #ebecf0;\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8; }\n\n.u-drag.u-drag-horizontal {\n display: inline-block;\n width: 72px;\n height: 72px;\n line-height: 72px;\n padding: 0; }\n\n.u-drag-between {\n display: flex; }\n\n.u-drag-between-horizontal {\n flex-wrap: wrap; }\n\n.u-drop {\n width: 300px; }\n\n.u-drag {\n text-align: center; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo-3 .demo3:hover {\n background: #f7f9fb;\n cursor: not-allowed; }\n\n@charset \"UTF-8\";\n.demo-4 .demo4 {\n position: relative;\n cursor: default; }\n .demo-4 .demo4:hover {\n background: #f7f9fb;\n cursor: default; }\n\n.demo4 .handle {\n position: absolute;\n right: -1px;\n top: -1px;\n height: 32px;\n line-height: 30px;\n background: #dfe1e6;\n border-radius: 0px 3px 3px 0px;\n border: 1px solid #a5adba;\n cursor: grab; }\n .demo4 .handle:hover {\n background: #b3bac5; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo4 .handle {\n background: #b3bac5;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo6 {\n height: 100px; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo7-parent {\n width: 300px;\n height: 200px;\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n position: relative; }\n\n\n.u-drop {\n overflow: scroll; }\n\n.u-drag-between {\n height: 300px; }\n\n.u-drop {\n overflow: scroll; }\n\n.u-drag-between-horizontal {\n height: 200px; }\n\n.layout {\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n padding: 12px;\n color: #212121; }\n .layout div {\n margin: 4px;\n background: white;\n border-radius: 3px;\n border: 1px solid #a5adba;\n padding: 6px 0;\n font-size: 12px;\n text-align: center; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n$border-color-base: $gray-lighter;\n$line-height-base: 1.57142857;\n\n\n\n\n\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: $gray-light;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n\n$brand-primary : unquote(\"rgb(#{$color-primary})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$color-primary-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$color-primary-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-100})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-100})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-100})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-100})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-100})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-100})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n\n//redius\n\n$default-border-radius: 4px;\n\n// UButton\n\n// Default button colors.\n$button-default-color: $brand-default;\n$button-default-color-IE8: $brand-default;\n\n$button-hover-color: $brand-default-hover;\n$button-active-color: $brand-default-active;\n$button-focus-color: $brand-default-active;\n\n\n$button-text-color: unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$button-default-text-color: unquote(\"rgb(#{$color-light-contrast})\") !default;\n\n\n\n\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n//Dimensions\n\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 5/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 5px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 4/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n$button-border-color:unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n// 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n//特大型按钮\n$button-padding-y-xg:10px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n//小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: 3px;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 30px;\n$form-control-lg-height: 38px;\n$form-control-sm-height: 24px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: #bdbdbd;\n$form-control-disable-bg-color: #eee;\n$form-control-disable-color: #BDBDBD;\n$form-control-disable-border-color: #e0e0e0;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: 4px;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$color-primary})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$color-primary-opacity:unquote(\"rgba(#{$color-primary}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$color-primary})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-color: rgba(0, 0, 0, 0.25);\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color: rgba(0, 0, 0, 0.65);\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: #108ee9;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n\n$date-bg-color: unquote(\"rgb(#{$color-primary})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$color-primary})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #000;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: .9;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$color-primary})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$color-primary})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$color-primary})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: #ccc;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:unquote(\"rgb(#{$color-primary})\");\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9px;\n$pagination-lg-padding-horizontal: 15px;\n\n$pagination-small-font-size: \t14px;\n$pagination-small-padding-vertical: 5px;\n$pagination-small-padding-horizontal: 9px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:#eee;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:unquote(\"rgb(#{$color-primary})\");\n$pag-active-border-color:unquote(\"rgb(#{$color-primary})\");\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: 3px;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$border-radius-base: 3px;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$color-primary})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 1200px;\n$modal-lg: 900px;\n$modal-sm: 300px;\n$modal-default: 600px;\n$modal-border-radius: 3px;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$default-border-radius: 4px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: #d9d9d9;\n$select-border-radius: 4px;\n$select-color: #666;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: #e7f4fd;\n$select-dropdown-selected-bg: #f7f7f7;\n$select-dropdown-selected-color: #666;\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: #ccc;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: #999;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$color-warning;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n// .u-drag-list{\r\n// background: $dnd-list-background;\r\n// padding: $dnd-list-padding;\r\n// }\r\n// .u-list-dragging{\r\n// background: $dnd-list-dragging-background;\r\n// }\r\n// .u-drag-item{\r\n// user-select: none;\r\n// padding: $dnd-item-padding;\r\n// color: $dnd-item-color;\r\n// margin: $dnd-item-margin;\r\n// background: $dnd-item-background;\r\n// }\r\n// .u-dragging{\r\n// background: $dnd-item-dragging-background;\r\n// }\r\n\r\n// drop\r\n.u-drop{\r\n background:rgba(247,249,251,1);\r\n border:1px solid rgba(235,236,240,1);\r\n padding: 12px;\r\n color: #212121;\r\n}\r\n\r\n// dragover\r\n// .u-droping{\r\n// background: $dnd-list-dragging-background;\r\n// }\r\n\r\n.u-drop.u-drop-horizontal{\r\n display: flex;\r\n width: 100%;\r\n}\r\n\r\n.u-droping-horizontal{\r\n // width: 72px;\r\n // height: 72px;\r\n // line-height: 72px;\r\n}\r\n\r\n// drag\r\n.u-drag{\r\n user-select: none;\r\n margin: $dnd-item-margin;\r\n min-width: 100px;\r\n background:rgba(255,255,255,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n padding: 6px 0;\r\n font-size: 12px;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border:1px solid rgba(165,173,186,1);\r\n }\r\n &:focus{\r\n outline: none;\r\n }\r\n}\r\n/*拖动状态*/\r\n.u-droping{\r\n .u-draging{\r\n background:rgba(235,236,240,1);\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n }\r\n}\r\n.u-draging{\r\n background:rgba(235,236,240,1);\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n}\r\n\r\n// drag 横向\r\n.u-drag.u-drag-horizontal{\r\n display: inline-block;\r\n width: 72px;\r\n height: 72px;\r\n line-height: 72px;\r\n padding: 0;\r\n}\r\n\r\n// draging 横向\r\n.u-draging-horizontal{\r\n\r\n}\r\n\r\n// between\r\n.u-drag-between{\r\n display: flex;\r\n}\r\n.u-drag-between-horizontal{\r\n flex-wrap: wrap;\r\n}","@import \"../src/Dnd.scss\";\r\n\r\n.u-drop{\r\n width: 300px;\r\n}\r\n.u-drag{\r\n text-align: center\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo-3{\r\n .demo3:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: not-allowed;\r\n }\r\n}","\r\n.demo-4 .demo4 {\r\n position: relative;\r\n cursor: default;\r\n &:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: default;\r\n }\r\n}\r\n\r\n.demo4 .handle {\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n height: 32px;\r\n line-height: 30px;\r\n background:rgba(223,225,230,1);\r\n border-radius:0px 3px 3px 0px;\r\n border:1px solid rgba(165,173,186,1);\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(179,186,197,1);\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo4 .handle{\r\n background:rgba(179,186,197,1);\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n.demo6{\r\n height: 100px;\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n\r\n.demo7-parent {\r\n width: 300px;\r\n height: 200px;\r\n background: rgba(247,249,251,1);\r\n border: 1px solid rgba(235,236,240,1);\r\n position: relative;\r\n}",".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between{\r\n height: 300px;\r\n}",".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between-horizontal{\r\n height: 200px;\r\n}",".layout{\r\n background: #f7f9fb;\r\n border: 1px solid #ebecf0;\r\n padding: 12px;\r\n color: #212121;\r\n div{\r\n margin: 4px;\r\n background: white;\r\n border-radius: 3px;\r\n border: 1px solid #a5adba;\r\n padding: 6px 0;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n}"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["demo.css","../node_modules/tinper-bee-core/scss/minxin-variables.scss","../src/Dnd.scss","DndDemo.scss","demolist/Demo1.scss","demolist/Demo2.scss","demolist/Demo3.scss","demolist/Demo4.scss","demolist/Demo5.scss","demolist/Demo6.scss","demolist/Demo7.scss","demolist/Demo91.scss","demolist/Demo92.scss","demolist/Demo93.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACuXjB,eAAe;AAWf,iBAAiB;AC5WjB;EACE,oBAA8B;EAC9B,0BAAoC;EACpC,cAAa;EACb,eAAc,EACf;;AAOD;EACE,qBAAa;EAAb,cAAa;EACb,YAAW,EACZ;;AASD;EACE,0BAAiB;EAAjB,uBAAiB;EAAjB,sBAAiB;EAAjB,kBAAiB;EACjB,YD+5CkB;EC95ClB,iBAAgB;EAChB,kBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,eAAc;EACd,gBAAe,EAQhB;EAhBD;IAUI,oBAA8B;IAC9B,0BAAoC,EACrC;EAZH;IAcI,cAAa,EACd;;AAEH,QAAA;AACA;EAEI,oBAA8B;EAC9B,kDAA6C;EAC7C,aAAW,EACZ;;AAEH;EACE,oBAA8B;EAC9B,kDAA6C;EAC7C,aAAW,EACZ;;AAGD;EACE,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,kBAAiB;EACjB,WAAU,EACX;;AAQD;EACE,qBAAa;EAAb,cAAa,EACd;;AACD;EACE,oBAAe;EAAf,gBAAe,EAChB;;AC/FD;EACI,aAAY,EACf;;AACD;EACI,mBACJ,EAAC;;AHmDD,iBAAiB;AI1DjB;EACI,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKf;EAfD;IAYM,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEL,QAAA;AACA;EAEQ,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;AJ0DL,iBAAiB;AKhFjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;ACtBH;EAEI,oBAA8B;EAC9B,oBAAmB,EACpB;;ANsGH,iBAAiB;AOzGjB;EACE,mBAAkB;EAClB,gBAAe,EAKhB;EAPD;IAII,oBAA8B;IAC9B,gBAAe,EAChB;;AAGH;EACE,mBAAkB;EAClB,YAAW;EACX,UAAS;EACT,aAAY;EACZ,kBAAiB;EACjB,oBAA8B;EAC9B,+BAA6B;EAC7B,0BAAoC;EACpC,aAAY,EAIb;EAbD;IAWI,oBAA8B,EAC/B;;AAEH,QAAA;AACA;EAEI,oBAA8B;EAC9B,iBAAgB,EACjB;;APuGH,iBAAiB;AQpIjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;ARoIH,iBAAiB;AS1JjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEM,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACnB;;AAEH;EACE,cAAa,EACd;;ATyJD,iBAAiB;AUnLjB;EACE,aAAW;EACX,aAAW;EACX,oBAA8B;EAC9B,mBAAiB;EACjB,0BAAoC;EACpC,kBAAiB;EACjB,gBAAe;EACf,eAAc;EACd,mBAAkB;EAClB,aAAY,EAKb;EAfD;IAYI,oBAA8B;IAC9B,mBAAiB,EAClB;;AAEH,QAAA;AACA;EAEI,kDAA6C;EAC7C,aAAW;EACX,iBAAgB,EACjB;;AAGH;EACE,aAAY;EACZ,cAAa;EACb,oBAA+B;EAC/B,0BAAqC;EACrC,mBAAkB,EACnB;;;AC/BD;EACI,iBAAgB,EACnB;;AACD;EACI,cAAa,EAChB;;ACLD;EACI,iBAAgB,EACnB;;AACD;EACI,cAAa,EAChB;;ACLD;EACI,oBAAmB;EACnB,0BAAyB;EACzB,cAAa;EACb,eAAc,EAUjB;EAdD;IAMQ,YAAW;IACX,kBAAiB;IACjB,mBAAkB;IAClB,0BAAyB;IACzB,eAAc;IACd,gBAAe;IACf,mBAAkB,EACrB","file":"demo.css","sourcesContent":["@charset \"UTF-8\";\n/* FormGroup */\n/* Navlayout */\n.u-drop {\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n padding: 12px;\n color: #212121; }\n\n.u-drop.u-drop-horizontal {\n display: flex;\n width: 100%; }\n\n.u-drag {\n user-select: none;\n margin: 4px;\n min-width: 100px;\n background: white;\n border-radius: 3px;\n border: 1px solid #a5adba;\n padding: 6px 0;\n font-size: 12px; }\n .u-drag:hover {\n background: #ebecf0;\n border: 1px solid #a5adba; }\n .u-drag:focus {\n outline: none; }\n\n/*拖动状态*/\n.u-droping .u-draging {\n background: #ebecf0;\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8; }\n\n.u-draging {\n background: #ebecf0;\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8; }\n\n.u-drag.u-drag-horizontal {\n display: inline-block;\n width: 72px;\n height: 72px;\n line-height: 72px;\n padding: 0; }\n\n.u-drag-between {\n display: flex; }\n\n.u-drag-between-horizontal {\n flex-wrap: wrap; }\n\n.u-drop {\n width: 300px; }\n\n.u-drag {\n text-align: center; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo-3 .demo3:hover {\n background: #f7f9fb;\n cursor: not-allowed; }\n\n@charset \"UTF-8\";\n.demo-4 .demo4 {\n position: relative;\n cursor: default; }\n .demo-4 .demo4:hover {\n background: #f7f9fb;\n cursor: default; }\n\n.demo4 .handle {\n position: absolute;\n right: -1px;\n top: -1px;\n height: 32px;\n line-height: 30px;\n background: #dfe1e6;\n border-radius: 0px 3px 3px 0px;\n border: 1px solid #a5adba;\n cursor: grab; }\n .demo4 .handle:hover {\n background: #b3bac5; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo4 .handle {\n background: #b3bac5;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo6 {\n height: 100px; }\n\n@charset \"UTF-8\";\n.demo {\n width: 167px;\n height: 32px;\n background: #f7f9fb;\n border-radius: 3px;\n border: 1px solid #a5adba;\n line-height: 32px;\n font-size: 12px;\n color: #212121;\n text-align: center;\n cursor: grab; }\n .demo:hover {\n background: #ebecf0;\n border-radius: 3px; }\n\n/*拖动状态*/\n.react-draggable-transparent-selection .demo {\n box-shadow: 0px 2px 4px 0px rgba(31, 37, 52, 0.3);\n opacity: 0.8;\n cursor: grabbing; }\n\n.demo7-parent {\n width: 300px;\n height: 200px;\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n position: relative; }\n\n\n.u-drop {\n overflow: scroll; }\n\n.u-drag-between {\n height: 300px; }\n\n.u-drop {\n overflow: scroll; }\n\n.u-drag-between-horizontal {\n height: 200px; }\n\n.layout {\n background: #f7f9fb;\n border: 1px solid #ebecf0;\n padding: 12px;\n color: #212121; }\n .layout div {\n margin: 4px;\n background: white;\n border-radius: 3px;\n border: 1px solid #a5adba;\n padding: 6px 0;\n font-size: 12px;\n text-align: center; }\n","\n\n// $performance_font: 'Helvetica', 'Arial', sans-serif !default;\n\n@import \"minxin-colors\";\n\n\n\n@function strip-units($number) {\n @return $number / ($number * 0 + 1);\n}\n$unit: 10px !default;\n// IMAGES\n$image_path: '/images' !default;\n\n\n\n//默认颜色\n$trim-color-classes: false !default;\n\n@import \"minxin-themeColors\";\n\n//对比色\n$color-primary-contrast: $color-dark-contrast !default;\n$color-accent-contrast: $color-dark-contrast !default;\n//字体颜色\n$color-text: $palette-grey-900 !default;\n\n//不明所以 $primary-color: unquote(\"rgba(#{$palette-grey-500}, 0.20)\") !default;\n\n// -- Fonts 字体大小权重预定义\n$preferred-font: 'Open Sans','Helvetica Neue',Arial,'Hiragino Sans GB','Microsoft YaHei',sans-serif !default;\n$font-size: 1.6 * $unit !default;\n$font-size-tiny: 1.2 * $unit !default;\n$font-size-small: 1.4 * $unit !default;\n$font-size-normal: $font-size !default;\n$font-size-big: 1.8 * $unit !default;\n$font-size-base: 12px !default;\n$font-weight-thin: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-semi-bold: 500 !default;\n$font-weight-bold: 700 !default;\n$font-color:unquote(\"rgb(#{$palette-u-gray-800})\") !default;\n// 白色背景下的文字颜色\n$font-color-base: #212121 !default;\n\n$font-weight-override: false;\n$font-weight-light: 300;\n$font-weight-normal: 400;\n$font-weight-medium: 500;\n$font-weight-bold: 700;\n$font-weight-base: $font-weight-normal;\n\n\n\n\n$gray-base: unquote(\"rgb(#{$palette-grey-900})\") !default;\n$gray-darkest: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$gray-darker: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$gray-dark: unquote(\"rgb(#{$palette-grey-600})\") !default;\n$gray: unquote(\"rgb(#{$palette-grey-500})\") !default;\n$gray-light: unquote(\"rgb(#{$palette-grey-400})\") !default;\n$gray-lighter: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$gray-lightest:unquote(\"rgb(#{$palette-grey-200})\") !default;\n$inverse: unquote(\"rgb(#{$color-white})\") !default;\n// $border-color-base: $gray-lighter;\n$border-color-base: unquote(\"rgb(#{$border-color})\") !default;\n$line-height-base: 1.57142857;\n\n// 边框圆角\n$border-radius-base: $border-radius;\n\n// 阴影\n\n$shadow-key-umbra-opacity: 0.2 !default;\n$shadow-key-penumbra-opacity: 0.14 !default;\n$shadow-ambient-shadow-opacity: 0.12 !default;\n\n$shadow-base: 0 1px 5px $gray-lighter;\n\n\n\n//-- Indexes\n$z-index-highest: 300;\n$z-index-higher: 200;\n$z-index-high: 100;\n$z-index-normal: 1;\n$z-index-low: -100;\n$z-index-lower: -200;\n\n$zindex-modal: 1700;\n$zindex-modal-background: 1600;\n$zIndex-notification: 1560;\n$zIndex-message: 1550;\n$zIndex-popconfirm: 1540;\n$zIndex-popover: 1540;\n$zIndex-tooltip: 1530;\n$zIndex-alert: 1510;\n$zindex-navbar-fixed: 1500;\n$zindex-menubar: 1400;\n$zindex-overlay: 1300;\n$zindex-dropdown: 1200;\n$zindex-navbar: 1200;\n$zindex-header: 1100;\n$zindex-footer: 1000;\n$zindex-backtop:2000;\n\n// 文本字体\n\n//todo\n$text-color-primary: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$text-link-color: unquote(\"rgb(#{$color-accent})\") !default;\n\n$target-elements-directly: true !default;\n\n\n$global-selected-color: unquote(\"rgb(#{$palette-blue-100})\") !default;\n\n\n// 控件\n$cursor-disabled: not-allowed;\n\n\n$title-color: $gray-darkest;\n//todo\n$subtitle-color: $gray-darker;\n$text-color: $gray-dark;\n\n$prompt-color: $gray;\n//全局不同状态颜色\n//todo\n$active-color-base: unquote(\"rgb(#{$palette-blue-800})\") !default;\n$normal-color-base: unquote(\"rgb(#{$palette-blue-600})\") !default;\n$hover-color-base: unquote(\"rgb(#{$palette-blue-400})\") !default;\n\n$bg-color-base: $gray-lightest;\n\n//disable颜色\n$disabled-color-base: #909090;\n$disabled-border-color: $gray-lighter;\n$disabled-bg-color: $gray-lightest;\n\n// 全局链接颜色\n$link-color: $normal-color-base;\n$link-hover-color: $hover-color-base;\n$link-active-color: $active-color-base;\n\n// 品牌色\n$brand-default: $gray-lighter;\n$brand-default-hover: $gray-lightest;\n$brand-default-active: $gray-light;\n// $brand-default: unquote(\"rgb(#{$color-primary})\");\n// $brand-default-hover: unquote(\"rgb(#{$color-primary-light})\");\n// $brand-default-active: unquote(\"rgb(#{$color-primary-dark})\");\n\n$brand-primary : unquote(\"rgb(#{$primary-color})\") !default;\n$brand-primary-hover: unquote(\"rgb(#{$primary-color-light})\") !default;\n$brand-primary-active: unquote(\"rgb(#{$primary-color-dark})\") !default;\n\n$brand-secondary : unquote(\"rgb(#{$secondary-color})\") !default;\n$brand-secondary-hover: unquote(\"rgb(#{$secondary-color-light})\") !default;\n$brand-secondary-active: unquote(\"rgb(#{$secondary-color-dark})\") !default;\n\n$brand-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$brand-success-hover: unquote(\"rgb(#{$palette-green-300})\") !default;\n$brand-success-active: unquote(\"rgb(#{$palette-green-700})\") !default;\n\n$brand-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$brand-info-hover: unquote(\"rgb(#{$palette-cyan-300})\") !default;\n$brand-info-active: unquote(\"rgb(#{$palette-cyan-700})\") !default;\n\n$brand-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$brand-warning-hover: unquote(\"rgb(#{$palette-orange-300})\") !default;\n$brand-warning-active: unquote(\"rgb(#{$palette-orange-700})\") !default;\n\n\n$brand-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$brand-news-hover: unquote(\"rgb(#{$palette-blue-300})\") !default;\n$brand-news-active: unquote(\"rgb(#{$palette-blue-700})\") !default;\n\n$brand-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$brand-danger-hover: unquote(\"rgb(#{$palette-red-300})\") !default;\n$brand-danger-active: unquote(\"rgb(#{$palette-red-700})\") !default;\n\n$brand-dark: $gray-darker;\n$brand-dark-hover: $gray-dark;\n$brand-dark-active: $gray-darkest;\n\n$brand-light : unquote(\"rgb(#{$color-dark-contrast})\") !default;\n$brand-light-hover: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$brand-light-active: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n$brand-light-primary : unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-success: unquote(\"rgb(#{$palette-green-50})\") !default;\n$brand-light-info: unquote(\"rgb(#{$palette-cyan-50})\") !default;\n$brand-light-warning: unquote(\"rgb(#{$palette-orange-50})\") !default;\n$brand-light-news: unquote(\"rgb(#{$palette-blue-50})\") !default;\n$brand-light-danger: unquote(\"rgb(#{$palette-red-50})\") !default;\n\n//不同背景下对应的文字颜色\n\n$color-news: unquote(\"rgb(#{$palette-blue-500})\") !default;\n$color-success: unquote(\"rgb(#{$palette-green-500})\") !default;\n$color-info: unquote(\"rgb(#{$palette-cyan-500})\") !default;\n$color-warning: unquote(\"rgb(#{$palette-orange-500})\") !default;\n$color-danger: unquote(\"rgb(#{$palette-red-500})\") !default;\n$color-light: $gray-darker !default;\n\n//redius\n\n$default-border-radius: $border-radius;\n\n// hover时的背景色,包括select、dropdown、table、datepicker、tree、menu等组件\n$hover-bg-color-base: unquote(\"rgb(#{$item-hover-bg-color-base})\") !default;\n// // selected背景色,包括:select、menu等\n$selected-bg-color-base: unquote(\"rgb(#{$item-selected-bg-color-base})\") !default;\n\n// UButton\n\n// Button 基础背景色.\n// 默认按钮( )\n$button-default-color: unquote(\"rgb(#{$default-color})\");\n$button-default-color-IE8: unquote(\"rgb(#{$default-color})\");\n\n// 边框按钮(shape:'border')\n$button-border-bg-color: unquote(\"rgb(#{$color-dark-contrast})\");\n\n// Button 不同状态下的背景色 :hover、active、focus状态.\n$button-hover-color: unquote(\"rgb(#{$default-color-light})\");\n$button-active-color: unquote(\"rgb(#{$default-color-dark})\");\n$button-focus-color: unquote(\"rgb(#{$default-color-light})\");\n\n// Button 配置不同colors属性时的背景色.\n$button-primary-color: $brand-primary;\n$button-primary-active-color: $brand-primary-active;\n$button-primary-hover-color: $brand-primary-hover;\n$button-secondary-color: $brand-secondary;\n$button-secondary-active-color: $brand-secondary-active;\n$button-secondary-hover-color: $brand-secondary-hover;\n$button-success-color: $brand-success;\n$button-success-active-color: $brand-success-active;\n$button-success-hover-color: $brand-success-hover;\n$button-info-color: $brand-info;\n$button-info-active-color: $brand-info-active;\n$button-info-hover-color: $brand-info-hover;\n$button-warning-color: $brand-warning;\n$button-warning-active-color: $brand-warning-active;\n$button-warning-hover-color: $brand-warning-hover;\n$button-danger-color: $brand-danger;\n$button-danger-active-color: $brand-danger-active;\n$button-danger-hover-color: $brand-danger-hover;\n$button-dark-color: $brand-dark;\n$button-dark-active-color: $brand-dark-active;\n$button-dark-hover-color: $brand-dark-hover;\n$button-light-color: $brand-light;\n$button-light-active-color: $brand-light-active;\n$button-light-hover-color: $brand-light-hover;\n\n// Button 文字颜色.\n// 主按钮(colors:'primary')\n$button-primary-text-color: $color-primary-contrast !default;\n$button-text-color: $button-primary-text-color;\n// 次按钮(colors:'secondary')\n$button-second-text-color: unquote(\"rgb(#{$button-secondary-text-color})\") !default;\n// 默认按钮( )\n$button-default-text-color: unquote(\"rgb(#{$palette-grey-900})\") !default;\n// 边框按钮(shape:'border')\n// $button-border-text-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// Button 边框样式及颜色.\n$button-border-style: unquote(\"solid\") !default;\n$button-border-color: $border-color-base;\n$button-default-border-color: $button-default-color !default;\n\n// Button 不同状态下的边框颜色 :hover、active、focus状态.\n$button-hover-border-color: $brand-default-hover;\n$button-active-border-color: $brand-default-active;\n$button-focus-border-color: $brand-default-active;\n\n// FAB colors and sizes.\n$button-fab-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-hover-color-alt: unquote(\"rgb(#{$color-accent-light})\") !default;\n$button-fab-active-color-alt: unquote(\"rgb(#{$color-accent})\") !default;\n$button-fab-text-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$button-fab-ripple-color-alt: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n\n// Icon button colors and sizes.\n$button-icon-color: unquote(\"rgb(#{$palette-grey-700})\") !default;\n$button-icon-focus-color: $button-focus-color !default;\n\n// Button 最小宽度、高度、内边距、外边距、行高、边框粗细、圆角.\n$button-min-width: 72/10 * $unit !default;\n$button-height: 36/10 * $unit !default;\n$button-padding: 4/10* $unit 13/10 * $unit !default;\n$button-padding-IE8: 4px 13px !default;\n$button-top-padding: 1310 * $unit !default;\n$button-left-padding: 6/10* $unit !default;\n$button-line-height:1.57142857;\n$button-margin: 4/10 * $unit !default;\n$button-border-radius: 3/10 * $unit !default;\n$button-border-width: 1/10 * $unit !default;\n\n$button-fab-size: 38/10 * $unit !default;\n$button-fab-size-mini: 30/10 * $unit !default;\n$button-fab-font-size: 14/10 * $unit !default;\n\n$button-icon-size: 32/10 * $unit !default;\n$button-icon-size-mini: 13/10 * $unit !default;\n\n$button-raised-font-size: 14/10 * $unit !default;\n\n// Button 大按钮\n$button-padding-y-lg:8px;\n$button-padding-x-lg:15px;\n$font-size-lg:1.4 * $unit;\n\n\n// Button 特大型按钮\n$button-padding-y-xg:10.5px;\n$button-padding-x-xg:18px;\n$font-size-xg:1.6 * $unit;\n\n\n// Button 小型按钮\n$button-padding-y-sm:3px;\n$button-padding-x-sm:5px;\n$font-size-sm:1.2 * $unit;\n\n\n\n// UText\n\n\n$form-control-border-radius: $border-radius-base;\n$form-control-default-font-size: 14px;\n$form-control-lg-font-size: 14px;\n$form-control-sm-font-size: 12px;\n$form-control-default-height: 32px;\n$form-control-lg-height: 40px;\n$form-control-sm-height: 26px;\n$form-control-color: #424242;\n$form-control-bg-color: #fff;\n$form-control-border-color: $border-color-base;\n$form-control-disable-bg-color: #F7F9FB;\n$form-control-disable-color: $disabled-color-base;\n$form-control-disable-border-color: #DFE1E6;\n\n$input-text-background-color: transparent !default;\n$input-text-label-color: unquote(\"rgba(#{$color-black}, 0.26)\") !default;\n$input-text-bottom-border-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n$input-text-bottom-border-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$input-text-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$input-text-disabled-color: $input-text-bottom-border-color !default;\n$input-text-disabled-text-color: $input-text-label-color !default;\n$input-text-error-color: unquote(\"rgb(222, 50, 38)\") !default;\n$input-text-must-color:unquote(\"rgb(#{$palette-red-A700})\") !default;\n\n\n$input-text-font-size: 14px !default;\n$input-text-width: 100% !default;\n$input-text-padding: 4px !default;\n$input-text-vertical-spacing: 20px !default;\n\n$input-text-button-size: 32px !default;\n$input-text-floating-label-fontsize: 12px !default;\n$input-text-expandable-icon-top: 16px !default;\n$input-text-height:36px !default;\n$input-text-normal-width:360px !default;\n$input-text-short-width:180px !default;\n$input-text-normal-border-color:unquote(\"rgb(#{$palette-u-gray-400})\") !default;\n$input-text-color:unquote(\"rgb(#{$palette-u-gray-A200})\") !default;\n$input-text-focus-border-color:unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$input-lable-color:unquote(\"rgb(#{$palette-u-gray-900})\") !default;\n\n\n/* FormGroup */\n\n$error-input-border:$brand-danger;\n$warning-input-border:$brand-warning;\n$success-input-border:$brand-success;\n$success-addon-bg: $brand-light-success;\n$warning-addon-bg: $brand-light-warning;\n$error-addon-bg: $brand-light-danger;\n$form-group-margin-top: 15px;\n$form-group-margin-bottom: 15px;\n\n/* Navlayout */\n\n$layout-nav-color: unquote(\"rgb(#{$palette-grey-100})\") !default;\n\n// Drawer\n$layout-drawer-bg-color: unquote(\"rgb(#{$palette-grey-50})\") !default;\n$layout-drawer-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n$layout-text-color: unquote(\"rgb(#{$palette-grey-800})\") !default;\n$layout-drawer-navigation-color: #757575 !default;\n$layout-drawer-navigation-link-active-background: unquote(\"rgb(#{$palette-grey-200})\") !default;\n$layout-drawer-navigation-link-active-color: $layout-text-color !default;\n\n// Header\n$layout-header-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n$layout-header-text-color: unquote(\"rgb(#{$color-primary-contrast})\") !default;\n$layout-header-nav-hover-color: unquote(\"rgba(#{$palette-grey-700}, 0.6)\") !default;\n$layout-header-tab-text-color: unquote(\"rgba(#{$color-primary-contrast}, 0.6)\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n$layout-nav-link-font-size: 13px !default;\n\n$layout-drawer-narrow: 240px !default;\n$layout-drawer-wide: 456px !default;\n$layout-drawer-width: $layout-drawer-narrow !default;\n\n$layout-header-icon-size: 32px !default;\n$layout-screen-size-threshold: 1024px !default;\n$layout-header-icon-margin: 24px !default;\n$layout-drawer-button-mobile-size: 44px !default;\n$layout-drawer-button-desktop-size: 34px !default;\n$layout-drawer-button-desktop-margin-top: 5px !default;\n$layout-drawer-button-mobile-margin-top: 10px !default;\n\n$layout-header-mobile-row-height: 56px !default;\n$layout-mobile-header-height: $layout-header-mobile-row-height;\n$layout-header-desktop-row-height: 44px !default;\n$layout-desktop-header-height: $layout-header-desktop-row-height;\n\n$layout-header-desktop-baseline: 80px !default;\n$layout-header-mobile-baseline: 72px !default;\n$layout-header-mobile-indent: 16px !default;\n$layout-header-desktop-indent: 40px !default;\n\n$layout-tab-font-size: 14px !default;\n$layout-tab-bar-height: 48px !default;\n$layout-tab-mobile-padding: 12px !default;\n$layout-tab-desktop-padding: 24px !default;\n$layout-tab-highlight-thickness: 2px !default;\n\n// gridlayout\n\n// Extra small screen / phone\n//$screen-xs: 480px;\n\n$screen-xs-min: 480px;\n// Deprecated `@screen-phone` as of v3.0.1\n//@screen-phone: @screen-xs-min;\n\n// Small screen / tablet\n// Deprecated `@screen-sm` as of v3.0.1\n//@screen-sm: 768px;\n$screen-sm-min: 768px;\n// Deprecated `@screen-tablet` as of v3.0.1\n//@screen-tablet: @screen-sm-min;\n\n// Medium screen / desktop\n// Deprecated `@screen-md` as of v3.0.1\n//@screen-md: 992px;\n$screen-md-min: 992px;\n// Deprecated `@screen-desktop` as of v3.0.1\n//@screen-desktop: @screen-md-min;\n\n// Large screen / wide desktop\n// Deprecated `@screen-lg` as of v3.0.1\n//@screen-lg: 1200px;\n$screen-lg-min: 1200px;\n// Deprecated `@screen-lg-desktop` as of v3.0.1\n//@screen-lg-desktop: @screen-lg-min;\n$screen-xs-max: ($screen-sm-min - 1 );\n\n$screen-sm-max: ($screen-sm-min - 1 );\n\n$screen-md-max: ($screen-lg-min - 1 );\n\n\n\n\n// Number of columns in the grid.\n$grid-columns: 12;\n// Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px;\n// Navbar collapse\n// Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: 768px;\n// Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1);\n\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width);\n// For `@screen-sm-min` and up.\n$container-sm: $container-tablet;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width);\n// For `@screen-md-min` and up.\n$container-md: $container-desktop;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width);\n// For `@screen-lg-min` and up.\n$container-lg: $container-large-desktop;\n\n\n\n// menu\n\n$default-dropdown-bg-color: unquote(\"rgb(#{$color-white})\") !default;\n$menu-expand-duration: 0.3s !default;\n$menu-fade-duration: 0.2s !default;\n\n// Default Item Colors\n$default-item-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$default-item-text-color-IE8: unquote(\"rgb(#{$color-black})\") !default;\n$default-item-outline-color: unquote(\"rgb(#{$palette-u-blue-400})\") !default;\n$default-item-hover-bg-color: unquote(\"rgb(#{$palette-u-blue-100})\") !default;\n$default-item-focus-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-active-bg-color: unquote(\"rgb(#{$palette-u-blue-200})\") !default;\n$default-item-divider-color: unquote(\"rgba(#{$color-black}, 0.12)\") !default;\n\n// Disabled Button Colors\n$disabled-item-text-color: unquote(\"rgb(#{$palette-grey-400})\") !default;\n\n// Tile\n$tile-width: 100%;\n\n$tile-default-border-color: #e9e9e9;\n$tile-default-hover-shadow-color: rgba(0, 0, 0, 0.2);\n\n$tile-primary-border-color: $button-primary-color;\n$tile-primary-hover-shadow-color: $button-primary-hover-color;\n\n$tile-danger-border-color: $button-danger-color;\n$tile-danger-hover-shadow-color: $button-danger-hover-color;\n\n$tile-warning-border-color: $button-warning-color;\n$tile-warning-hover-shadow-color: $button-warning-hover-color;\n\n$tile-success-border-color: $button-success-color;\n$tile-success-hover-shadow-color: $button-success-hover-color;\n\n$tile-info-border-color: $button-info-color;\n$tile-info-hover-shadow-color: $button-info-hover-color;\n\n// Alert\n$alert-news-bg: $brand-light-news;\n$alert-success-bg: $brand-light-success;\n$alert-info-bg: $brand-light-info;\n$alert-warning-bg: $brand-light-warning;\n$alert-danger-bg: $brand-light-danger;\n\n\n$alert-dark-news-bg: $brand-news;\n$alert-dark-success-bg: $brand-success;\n$alert-dark-info-bg: $brand-info;\n$alert-dark-warning-bg: $brand-warning;\n$alert-dark-danger-bg: $brand-danger;\n\n$alert-news-color: $color-news;\n$alert-success-color: $color-success;\n$alert-info-color: $color-info;\n$alert-warning-color: $color-warning;\n$alert-danger-color: $color-danger;\n\n$timeline-primary-color: $brand-primary;\n$timeline-news-color: $color-news;\n$timeline-success-color: $color-success;\n$timeline-info-color: $color-info;\n$timeline-warning-color: $color-warning;\n$timeline-danger-color: $color-danger;\n\n$alert-padding:10px;\n$alert-font-size:12px;\n$alert-border-radius: $border-radius;\n$alert-text-padding-left: 15px;\n$alert-text-padding-right: 15px;\n$alert-close-font-size: 21px;\n$alert-close-opacity: .2;\n$alert-close-font-weight: 700;\n\n//Checkbox\n\n$checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$checkbox-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-disabled-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$checkbox-focus-color: unquote(\"rgba(#{$palette-u-blue-500}, 0.26)\") !default;\n$checkbox-image-path: $image_path;\n\n$checkbox-label-font-size: 13px !default;\n$checkbox-label-height: 24px !default;\n$checkbox-button-size: 16px !default;\n$checkbox-inner-margin: 2px !default;\n$checkbox-padding: 8px !default;\n$checkbox-top-offset:\n ($checkbox-label-height - $checkbox-button-size - $checkbox-inner-margin) / 2;\n$checkbox-ripple-size: $checkbox-label-height * 1.5;\n\n$checkbox-primary-bg: $brand-primary;\n$checkbox-success-bg: $brand-success;\n$checkbox-info-bg: $brand-info;\n$checkbox-warning-bg: $brand-warning;\n$checkbox-danger-bg: $brand-danger;\n$checkbox-dark-bg: $brand-dark;\n\n$progress-primary-bg: $brand-primary;\n$progress-success-bg: $brand-success;\n$progress-info-bg: $brand-info;\n$progress-warning-bg: $brand-warning;\n$progress-danger-bg: $brand-danger;\n$progress-dark-bg: $brand-dark;\n\n$primary-color-opacity:unquote(\"rgba(#{$primary-color}, 0.7)\") !default;\n$color-success-opacity:unquote(\"rgba(#{$palette-green-500}, 0.7)\") !default;\n$color-info-opacity:unquote(\"rgba(#{$palette-cyan-500}, 0.7)\") !default;\n$color-warning-opacity:unquote(\"rgba(#{$palette-orange-500}, 0.7)\") !default;\n$color-danger-opacity:unquote(\"rgba(#{$palette-red-500}, 0.7)\") !default;\n$color-dark-opacity:unquote(\"rgba(#{$palette-grey-700}, 0.7)\") !default;\n\n\n$progress-sm-height: 10px;\n$progress-xs-height: 5px;\n$progress-xs-width: 170px;\n$progress-default-height: 20px;\n$progress-sm-lable-font-size: 10px;\n$progress-sm-lable-line-height: 10px;\n$progress-xs-lable-line-height: 8px;\n$progress-xs-lable-margin-left: 140px;\n$progress-xs-lable-font-size: 10px;\n$progress-xs-lable-color: #000;\n\n// Radio\n\n$radio-color: unquote(\"rgb(#{$primary-color})\") !default;\n$radio-off-color: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-off-color-IE8: unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$radio-disabled-color: $disabled-color-base !default;\n\n$radio-label-font-size: 13px !default;\n$radio-label-height: 32px !default;\n$radio-button-size: 16px !default;\n$radio-inner-margin: $radio-button-size / 4;\n$radio-padding: 8px !default;\n$radio-top-offset: ($radio-label-height - $radio-button-size) / 2;\n$radio-ripple-size: 42px !default;\n\n$radio-primary-bg: $brand-primary;\n$radio-success-bg: $brand-success;\n$radio-info-bg: $brand-info;\n$radio-warning-bg: $brand-warning;\n$radio-danger-bg: $brand-danger;\n$radio-dark-bg: $brand-dark;\n\n$radio-disabled-bg: #f7f7f7;\n$radio-diabled-border-color: #d9d9d9;\n\n$radio-border-color: #d9d9d9;\n$radio-bg-color: #fff;\n$radio-color:$font-color-base;\n\n$radio-checked-bg-color: #fff;\n$radio-checked-color: $brand-primary;\n$radio-checked-border-color: $radio-checked-color;\n\n$radio-icon-height: 18px;\n$radio-icon-width: 18px;\n$radio-icon-checked-height: 8px;\n$radio-icon-checked-width: 8px;\n\n$radio-button-lg-height:42px;\n$radio-button-lg-line-height:26px;\n\n$radio-button-sm-height:22px;\n$radio-button-sm-line-height:20px;\n\n$radio-button-height: 28px;\n$radio-button-line-height: 26px;\n\n\n\n\n\n//loading\n\n$loading-color-1: unquote(\"rgb(#{$palette-blue-400})\") !default;\n$loading-color-2: unquote(\"rgb(#{$palette-red-500})\") !default;\n$loading-color-3: unquote(\"rgb(#{$palette-yellow-600})\") !default;\n$loading-color-4: unquote(\"rgb(#{$palette-green-500})\") !default;\n\n$loading-single-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n$loading-size: 28px !default;\n$loading-stroke-width: 3px !default;\n\n// Amount of circle the arc takes up.\n$loading-arc-size: 270deg !default;\n// Time it takes to expand and contract arc.\n$loading-arc-time: 1333ms !default;\n// How much the start location of the arc should rotate each time.\n$loading-arc-start-rot: 216deg !default;\n\n$loading-duration: 360 * $loading-arc-time / (\n strip-units($loading-arc-start-rot + (360deg - $loading-arc-size)));\n\n// datetimepicker\n$timepicker-border-gap-color:#ccc;\n$timepicker-font-size:14px;\n\n$date-bg-color: unquote(\"rgb(#{$primary-color})\") !default;\n\n// message\n$snackbar-color: unquote(\"rgb(#{$color-white})\") !default;\n$snackbar-background-color: unquote(\"rgb(#{$primary-color})\") !default;\n$snackbar-color-cancel: unquote(\"rgb(#{$palette-red-500})\") !default;\n$snackbar-color-accept: unquote(\"rgb(#{$palette-green-500})\") !default;\n$snackbar-color-warning: unquote(\"rgb(#{$palette-lime-200})\") !default;\n\n// DATA TABLE\n\n$data-table-font-size: 13px !default;\n$data-table-header-font-size: 12px !default;\n$data-table-header-sort-icon-size: 16px !default;\n\n$data-table-header-color: rgba(#000, 0.54) !default;\n$data-table-header-sorted-color: rgba(#000, 0.87) !default;\n$data-table-divider-color: rgba(#000, 0.12) !default;\n$data-table-divider-color-IE8: rgb(0,0,0) !default;\n\n//$data-table-hover-color: #eeeeee !default;\n$data-table-hover-color: #E9F7FC !default;\n$data-table-selection-color: #C4EAF6 !default;\n\n$data-table-dividers: 1px solid $data-table-divider-color !default;\n$data-table-dividers-IE8: 1px solid $data-table-divider-color-IE8 !default;\n\n$data-table-row-height: 48px !default;\n$data-table-last-row-height: 56px !default;\n$data-table-header-height: 56px !default;\n\n$data-table-column-spacing: 36px !default;\n$data-table-column-padding: $data-table-column-spacing / 2;\n\n$data-table-card-header-height: 64px !default;\n$data-table-card-title-top: 20px !default;\n$data-table-card-padding: 24px !default;\n$data-table-button-padding-right: 16px !default;\n$data-table-cell-top: $data-table-card-padding / 2;\n\n// $line-height-computed: round(($font-size-small * $line-height-base));\n$line-height-computed: round((14px * $line-height-base));\n$table-bg: transparent;\n$table-cell-padding: 8px;\n$table-border-color: $border-color-base;\n$table-bg-hover: $bg-color-base;\n$table-bg-active: $table-bg-hover;\n$table-bg-accent: unquote(\"rgba(#{$palette-grey-200},.3)\") !default;\n\n\n\n\n// tooltip\n$tooltip-max-width: 200px;\n$tooltip-color: #fff;\n$tooltip-bg: #42526E;\n$tooltip-inverse-border-color: #d9d9d9;\n$tooltip-inverse-color: rgb(51,51,51);\n$tooltip-arrow-color: $tooltip-bg;\n$tooltip-opacity: 1;\n\n\n// 进度条\n$bar-height: 4px !default;\n$progress-main-color: unquote(\"rgb(#{$primary-color})\") !default;\n$progress-secondary-color: unquote(\"rgba(#{$color-primary-contrast}, 0.7)\") !default;\n$progress-fallback-buffer-color: unquote(\"rgba(#{$color-primary-contrast}, 0.9)\") !default;\n$progress-image-path: $image_path;\n$progress-buffer-bar-border:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n\n// Tabs\n$layout-header-tab-highlight: unquote(\"rgb(#{$color-accent})\") !default;\n\n\n\n$tab-highlight-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tab-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$tab-active-text-color: unquote(\"rgba(#{$color-black}, 0.87)\") !default;\n$tab-border-color: unquote(\"rgb(#{$palette-grey-300})\") !default;\n\n\n\n//CARD\n\n$card-width: 330px !default;\n$card-height: 200px !default;\n$card-font-size: 13px !default;\n$card-title-font-size: 24px !default;\n$card-subtitle-font-size: 10px !default;\n$card-horizontal-padding: 16px !default;\n$card-vertical-padding: 16px !default;\n\n$card-title-perspective-origin-x: 165px !default;\n$card-title-perspective-origin-y: 56px !default;\n\n$card-title-transform-origin-x: 165px !default;\n$card-title-transform-origin-y: 56px !default;\n\n$card-title-text-transform-origin-x: 149px !default;\n$card-title-text-transform-origin-y: 48px !default;\n\n$card-supporting-text-font-size: 1.4 * $unit !default;\n$card-supporting-text-line-height: 18px !default;\n\n$card-actions-font-size: 13px !default;\n\n$card-title-text-font-weight: 300 !default;\n$card-z-index: 1 !default;\n\n// Cover image\n$card-cover-image-height: 186px !default;\n$card-background-image-url: '' !default;\n\n\n\n$card-background-color: unquote(\"rgb(#{$color-white})\") !default;\n$card-text-color: unquote(\"rgb(#{$color-black})\") !default;\n$card-image-placeholder-color: unquote(\"rgb(#{$color-accent})\") !default;\n$card-supporting-text-text-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n$card-border-color: rgba(0,0,0,0.1) !default;\n$card-subtitle-color: unquote(\"rgba(#{$color-black}, 0.54)\") !default;\n\n\n$input-border:unquote(\"rgb(#{$palette-u-gray-500})\");\n$input-border-focus:unquote(\"rgb(#{$primary-color})\");\n$input-border-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-bg-disabled:unquote(\"rgb(#{$palette-u-gray-100})\");\n$input-color:unquote(\"rgb(#{$palette-u-gray-A100})\");\n$form-input-height:36px;\n$form-input-height-sm:28px;\n$form-input-padding-left:12px;\n$form-label-color:unquote(\"rgb(#{$palette-u-gray-900})\");\n$form-control-feedback-color:unquote(\"rgb(#{$palette-u-gray-700})\");\n$form-validate-error-color:unquote(\"rgb(#{$palette-u-red-600})\");\n\n\n// BADGE\n$badge-font-size: 12px !default;\n$badge-color: unquote(\"rgb(#{$color-accent-contrast})\") !default;\n$badge-color-inverse: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background: unquote(\"rgb(#{$color-accent})\") !default;\n$badge-background-inverse: unquote(\"rgba(#{$color-accent-contrast},0.2)\") !default;\n$badge-size : 22px !default;\n$badge-padding: 2px !default;\n$badge-overlap: 12px !default;\n\n$badge-primary-color:#FFFFFF;\n$badge-primary-bg:$brand-primary;\n\n$badge-success-color:#FFFFFF;\n$badge-success-bg: $brand-success;\n\n$badge-info-color:#FFFFFF;\n$badge-info-bg:$brand-info;\n\n$badge-warning-color:#FFFFFF;\n$badge-warning-bg:$brand-warning;\n\n$badge-danger-color:#FFFFFF;\n$badge-danger-bg:$brand-danger;\n\n$badge-dark-color:#FFFFFF;\n$badge-dark-bg:$brand-dark;\n\n$badge-font-size: 12px;\n$badge-font-dataicon-size: 10px;\n$badge-default-dataicon-fontcolor: #757575;\n$badge-default-dataicon-bgcolor: #fff;\n$badge-default-dataicon-bordercolor: $border-color-base;\n\n// labels\n$tag-padding: .25em .6em .25em;\n$tag-border-radius: 0.3em;\n$tag-bg: #eeeeee;\n$tag-round-border-radius: 1em;\n$tag-default-color: #757575;\n$tag-default-bg:#e0e0e0;\n$tag-lg-font-size: 16px;\n$tag-sm-font-size: 10px;\n$tag-sm-padding: .1em .5em .1em;\n$tag-default-hover-bg: $brand-default-hover;\n$tag-primary-hover-bg: $brand-primary-hover;\n$tag-success-hover-bg: $brand-success-hover;\n$tag-info-hover-bg: $brand-info-hover;\n$tag-warning-hover-bg: $brand-warning-hover;\n$tag-danger-hover-bg: $brand-danger-hover;\n$tag-dark-hover-bg: $brand-dark-hover;\n$tag-default-bg: $brand-default;\n$tag-primary-bg: $brand-primary;\n$tag-success-bg: $brand-success;\n$tag-info-bg: $brand-info;\n$tag-warning-bg: $brand-warning;\n$tag-danger-bg: $brand-danger;\n$tag-dark-bg: $brand-dark;\n$tag-default-hover-color:unquote(\"rgb(#{$palette-u-gray-500})\");\n\n\n// pagination\n$pagination-gap-hover-border:#7A869A;\n\n$pagination-link-padding: 7px 13px;\n$pagination-lg-font-size: 16px;\n$pagination-lg-padding-vertical: 9.5px;\n$pagination-lg-padding-horizontal: 15.5px;\n\n$pagination-small-font-size: 12px;\n$pagination-small-padding-vertical: 4px;\n$pagination-small-padding-horizontal: 9.5px;\n\n$pag-color: #666666;\n$pag-bg-color: #fff;\n$pag-border-color:#d7d7d7;\n$pag-hover-color: #666;\n$pag-hover-bg-color:$hover-bg-color-base;\n$pag-hover-border-color:#d7d7d7;\n$pag-active-color: #fff;\n$pag-active-bg-color:#7A869A;\n$pag-active-border-color:#7A869A;\n$pag-disabled-color: #777;\n$pag-disabled-bg-color:#fff;\n$pag-disabled-border-color:#ddd;\n\n$border-radius-base: $border-radius;\n$border-radius-large: 4px;\n$border-radius-small: 2px;\n\n$line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5;\n// widget\n\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n//tooltips\n\n$tooltip-default-bg: $brand-default;\n$tooltip-primary-bg: $brand-primary;\n$tooltip-success-bg: $brand-success;\n$tooltip-info-bg: $brand-info;\n$tooltip-warning-bg: $brand-warning;\n$tooltip-danger-bg: $brand-danger;\n$tooltip-dark-bg: $brand-dark;\n\n//menu Button\n\n$menu-default-bg: $brand-default;\n$menu-primary-bg: $brand-primary;\n$menu-success-bg: $brand-success;\n$menu-info-bg: $brand-info;\n$menu-warning-bg: $brand-warning;\n$menu-danger-bg: $brand-danger;\n$menu-dark-bg: $brand-dark;\n$menu-default-bg-hover: $brand-default-hover;\n$menu-primary-bg-hover: $brand-primary-hover;\n$menu-success-bg-hover: $brand-success-hover;\n$menu-info-bg-hover: $brand-info-hover;\n$menu-warning-bg-hover: $brand-warning-hover;\n$menu-danger-bg-hover: $brand-danger-hover;\n$menu-dark-bg-hover: $brand-dark-hover;\n\n\n// breadcrumbs\n\n$breadcrumb-padding-vertical: 8px;\n$breadcrumb-padding-horizontal: 10px;\n$breadcrumb-separator: \"/\\00a0\";\n$breadcrumb-bg: transparent;\n$breadcrumb-margin-bottom: 10px;\n\n$breadcrumb-color: $brand-primary;\n$breadcrumb-active-color: $text-color;\n\n$breadcrumb-icon-margin-right: 10px;\n$breadcrumb-arrow-separator: \"\\00bb\\00a0\";\n\n$breadcrumb-bg-color: #f5f5f5;\n$breadcrumb-active-color: #777;\n$breadcrumb-separate-color: #ccc;\n\n// list-group\n$list-group-media-heading-font-size : $font-size-small;//14px\n$list-group-link-disabled-color : $disabled-color-base;\n\n$list-group-link-disabled-bg : $gray-lightest;\n\n$list-group-active-color : $brand-primary;\n$list-group-link-active-color : unquote(\"rgb(#{$color-white})\") !default;\n$list-group-link-active-bg : $brand-primary;\n\n\n$list-group-item-icon-margin-right : 10px;\n\n$list-group-bg-inherit-item-border : rgba(0, 0, 0, 0.075);\n$list-group-bg-inherit-item-hover-bg : rgba(0, 0, 0, 0.075);\n\n\n$list-group-border-radius: $border-radius-base;\n\n\n\n$list-group-link-color: $text-color;\n$list-group-link-hover-color: $text-color;\n$list-group-link-heading-color: $title-color;\n\n$list-group-hover-bg: $bg-color-base;\n\n$list-group-disabled-bg: transparent;\n\n$list-group-disabled-color: $disabled-color-base;\n\n\n$list-group-disabled-text-color: $list-group-disabled-color;\n$list-group-active-bg: transparent;\n$list-group-active-border: $list-group-active-bg;\n// $list-group-active-text-color: lighten($list-group-active-color, 40%);\n$list-group-active-text-color: $list-group-active-color;\n\n$list-group-bg: #fff;\n$list-group-border: transparent;\n// $list-group-bordered-border : $border-color-base;\n// $list-group-bordered-active-color : $component-active-color;\n// $list-group-bordered-active-bg : $component-active-bg;\n// $list-group-bordered-active-border : $list-group-bordered-active-bg;\n\n// $list-group-gap-item-margin-bottom : 2px;\n\n//step\n$steps-margin-bottom: $line-height-computed;\n$step-padding-horizontal:20px;\n$step-padding-vertical: 12px;\n\n$step-vertical-padding-horizontal: 20px;\n$step-vertical-padding-vertical:18px;\n\n$step-color: $gray;\n$step-bg: $bg-color-base;\n$step-number-bg: $gray-lighter;\n$step-number-color: $inverse;\n\n$step-current-color: $inverse;\n$step-current-bg: $brand-primary;\n\n$step-done-color: $inverse;\n$step-done-bg:$brand-success;\n\n$step-error-color: $inverse;\n$step-error-bg: $brand-danger;\n\n$step-disabled-color:$gray-light;\n\n$step-font-size: inherit;\n$step-title-font-size: 20px;\n$step-icon-font-size:27px;\n$step-number-font-size:24px;\n$step-number-size: 40px;\n\n$step-lg-padding-horizontal:20px;\n$step-lg-padding-vertical:20px;\n$step-lg-font-size: 16px;\n$step-lg-title-font-size:22px;\n$step-lg-icon-font-size: 32px;\n$step-lg-number-font-size:28px;\n$step-lg-number-size:46px;\n\n$step-sm-font-size: 12px;\n$step-sm-title-font-size: 18px;\n$step-sm-icon-font-size: 24px;\n$step-sm-number-font-size: 24px;\n$step-sm-number-size: 30px;\n\n$step-xs-font-size: 10px;\n$step-xs-title-font-size: 16px;\n$step-xs-icon-font-size: 22px;\n$step-xs-number-font-size: 20px;\n$step-xs-number-size: 24px;\n\n// blog nav\n$blognav-active-color:unquote(\"rgb(#{$primary-color})\");\n// widget\n$widget-padding-left:30px;\n$widget-padding-top:10px;\n\n\n// couter 数据统计\n\n$counter-number-color: $gray-darkest;\n$counter-number-font-size: 20px;\n$counter-icon-font-size: $counter-number-font-size;\n\n$counter-lg-number-font-size: 40px;\n$counter-md-number-font-size: 30px;\n$counter-sm-number-font-size: 14px;\n\n$counter-lg-icon-font-size: $counter-lg-number-font-size;\n$counter-md-icon-font-size: $counter-md-number-font-size;\n$counter-sm-icon-font-size: $counter-sm-number-font-size;\n\n$counter-inverse-color: $inverse;\n\n\n// navbar\n\n\n$menu-active-color: #108ee9;\n$menu-border-active-color: #108ee9;\n$menu-selected-bg-color: #eaf8fe;\n$menu-group-titil-color: #999;\n$menu-group-title-padding-left: 32px;\n$menu-color: #666;\n$menu-border-color: #d9d9d9;\n\n$navbar-default-bg-color: #f8f8f8;\n$navbar-default-border-color: #e7e7e7;\n$navbar-default-color: #777;\n$navbar-default-hover-color: #333;\n$navbar-inverse-hover-color: #fff;\n$navbar-inverse-color: #9d9d9d;\n$navbar-inverse-bg-color: #222;\n$navbar-inverse-border-color: #080808;\n$navbar-border-radius: 4px;\n\n$navbar-side-container-border-color: #d9d9d9;\n$navbar-side-container-width: 242px;\n$navbar-side-container-border-shadow: #d9d9d9;\n\n// Basics of a navbar\n$navbar-height: 50px;\n$navbar-margin-bottom: $line-height-computed;\n$navbar-border-radius: $border-radius-base;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2));\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);\n$navbar-collapse-max-height: 340px;\n\n$navbar-avatar-margin-horizontal: (($navbar-height - 32px) / 2);\n\n$navbar-brand-padding-horizontal: 20px;\n$navbar-brand-logo-height: 32px;\n\n$navbar-default-color: $text-color;\n$navbar-default-bg: $inverse;\n$navbar-default-border: $border-color-base;\n\n// Navbar links\n$navbar-default-link-color: $text-color;\n$navbar-default-link-hover-color: $gray-darker;\n$navbar-default-link-hover-bg: rgba(238,238,238, 30%);\n$navbar-default-link-active-color: $navbar-default-link-hover-color;\n$navbar-default-link-active-bg: rgba(238,238,238, 60%);\n$navbar-default-link-disabled-color: $disabled-color-base;\n$navbar-default-link-disabled-bg: transparent;\n\n// Navbar brand label\n$navbar-default-brand-color: $title-color;\n$navbar-default-brand-hover-color: $navbar-default-brand-color;\n$navbar-default-brand-hover-bg: none;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: $navbar-default-link-hover-bg;\n$navbar-default-toggle-icon-bar-bg: $navbar-default-color;\n$navbar-default-toggle-border-color: transparent;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-bg: $brand-primary;\n$navbar-inverse-border: rgba(0, 0, 0, .1);\n\n// Inverted navbar links\n$navbar-inverse-link-color: $inverse;\n$navbar-inverse-link-hover-color: $inverse;\n$navbar-inverse-link-hover-bg: rgba(0, 0, 0, .1);\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;\n$navbar-inverse-link-active-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-link-disabled-color: $inverse;\n$navbar-inverse-link-disabled-bg: transparent;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color;\n$navbar-inverse-brand-hover-color: $inverse;\n$navbar-inverse-brand-hover-bg: none;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: $navbar-inverse-link-hover-bg;\n$navbar-inverse-toggle-icon-bar-bg: $inverse;\n$navbar-inverse-toggle-border-color: transparent;\n\n//hamburger\n$hamburger-size: 17px;\n\n\n//panel\n$panel-header-padding : 10px 15px;\n$panel-footer-padding : 10px 15px;\n$panel-body-padding : 15px 15px;\n$panel-header-bg-color : #f5f5f5;\n$panel-footer-bg-color : #f5f5f5;\n$panel-bg-color : #fff;\n$panel-default-color : #757575;\n$panel-inner-border-color: #ddd;\n\n\n//modal\n$modal-header-padding : 15px;\n$modal-body-padding : 15px;\n$modal-footer-padding : 15px;\n$modal-content-bg-color: #fff;\n$modal-backdrop-bg: #000;\n$modal-backdrop-opacity: .6;\n$modal-header-border-color: transparent;\n$modal-footer-border-color: transparent;\n$modal-xlg: 976px;\n$modal-lg: 800px;\n$modal-sm: 400px;\n$modal-default: 600px;\n$modal-border-radius: $border-radius-base;\n\n//notification\n\n$zIndex-notification: $zIndex-notification;\n$notification-top: 30px;\n$notification-bottom: 30px;\n$notification-right: 30px;\n$notification-width: 300px;\n$notification-text-margin-right: 15px;\n$notice-padding: 15px;\n$notice-background: $gray-darkest;\n$notice-bottom: 15px;\n\n//message\n\n$message-font-size: 12px;\n\n$message-right: 30px;\n$message-width: 300px;\n$message-text-margin-right: 15px;\n$message-padding: 0;\n$message-content-padding: 15px;\n$message-background: $gray-darkest;\n\n//popconfirm\n\n$popconfirm-max-width: 300px;\n\n$popconfirm-dark-bg: $gray-darkest;\n$popconfirm-fallback-dark-border-color: $gray-darkest;\n$popconfirm-margin: 10px;\n$popconfirm-title-bg: #fff;\n$popconfirm-border-color:$border-color-base;\n$popconfirm-arrow-width: 10px;\n$popconfirm-arrow-color: $border-color-base;\n$popconfirm-arrow-outer-width: 0;\n$popconfirm-arrow-outer-color: $border-color-base;\n$popconfirm-border-right-color: $border-color-base;\n$popconfirm-fallback-border-color: #fff;\n\n//select\n\n$select-bg-color: #fff;\n$select-border-color: $border-color-base;\n$select-border-radius: $border-radius-base;\n$select-color: $font-color-base;\n$select-font-size: 12px;\n$select-dropdown-color: #666;\n$select-dropdown-bg-color: #fff;\n$select-dropdown-hover-bg: $hover-bg-color-base;\n$select-dropdown-selected-bg: $selected-bg-color-base;\n$select-dropdown-selected-color: rgb(134, 119, 119);\n$select-dropwdown-item-padding: 7px 16px;\n$select-disabled-color: $disabled-color-base;\n$select-disabled-bg: #f7f7f7;\n$select-disabled-border-color: #d9d9d9;\n//dropdown\n\n$dropdown-item-hover-bg-color: unquote(\"rgb(#{$palette-grey-100})\");\n$dropdown-item-divier-bg-color: $gray-lighter;\n$dropdown-border-color: $border-color-base;\n$dropdown-border-radius:3px;\n$dropdown-shadow: 0 1px 5px $dropdown-border-color;\n$dropdown-margin: 5px 0 0 0;\n$dropdown-menu-item-padding: 0px 16px 0 28px;\n$dropdown-menu-font-size: 12px;\n$dropdown-menu-item-height: 42px;\n$dropdown-menu-item-light-height: 42px;\n$dropdown-menu-title-font-size: 12px;\n$dropdown-menu-title-color: $disabled-color-base;\n$dropdown-menu-title-padding:8px 16px;\n$dropdown-menu-title-line-height: 1.5;\n\n//upload\n\n$upload-list-color: #108ee9;\n$upload-list-bg : #fff;\n$upload-list-hover-bg: #e7f4fd;\n$upload-list-error-color: #f50;\n$upload-thumbnail-height: 48px;\n$upload-thumbnail-width: 48px;\n$upload-thumbnail-img-height: 48px;\n$upload-thumbnail-img-width: 48px;\n\n//loading\n\n$loading-loadprimary: rgb(63, 81, 181);\n$loading-loadsuccess: #4caf50;\n$loading-loadwarn: rgb(255, 152, 0);\n$loading-lineanimating: (\n 1:line-scale 1s 0.1s infinite cubic-bezier(.2, .68, .18, 1.08),\n 2:line-scale 1s 0.2s infinite cubic-bezier(.2, .68, .18, 1.08),\n 3:line-scale 1s 0.3s infinite cubic-bezier(.2, .68, .18, 1.08),\n 4:line-scale 1s 0.4s infinite cubic-bezier(.2, .68, .18, 1.08),\n 5:line-scale 1s 0.5s infinite cubic-bezier(.2, .68, .18, 1.08)\n);\n$loading-linebackcolor: (\n 1: #F44336,\n 2: #7ED321,\n 3: #0084FF,\n 4: #FF9800,\n 5: #D0021B\n);\n$loading-back-width: 120px;\n$loading-back-height:110px;\n$loading-desc-font-size: 16px;\n$loading-desc-color: #cecece;\n$loading-rotate-bor:#c2c3c5;\n\n//两种加载的尺寸 width height\n$loading-rotate-sm-size: 25px;\n$loading-rotate-size:40px;\n$loading-rotate-lg-size:60px;\n\n$loading-line-sm-width: 4px;\n$loading-line-sm-height:35px;\n$loading-line-width:6px;\n$loading-line-height:50px;\n$loading-line-lg-width:8px;\n$loading-line-lg-height:90px ;\n\n//居中位置top left\n$loading-center-top:50%;\n$loading-center-left:50%;\n\n$loading-rotate-center-sm: -15px ;\n$loading-rotate-center:-22px;\n$loading-rotate-center-lg:-35px ;\n\n$loading-line-center-sm-top: -22px;\n$loading-line-center-sm-left:-20px;\n$loading-line-center-top:-30px;\n$loading-line-center-left:-25px;\n$loading-line-center-lg-top:-50px;\n$loading-line-center-lg-left:-30px;\n\n\n//switch\n\n\n//color\n$switch-border-color: $gray-lighter;\n$switch-back-color: $gray-lighter;\n$switch-checked-borColor: $brand-primary;\n$switch-checked-backColor: $brand-primary;\n\n// border-radius of different state switch\n$switch-border-radius: 20px;\n$switch-border-radius-after: 18px;\n\n// width height line-height of the three switches\n$switch-width: (default:44px, small:32px, large:60px);\n$switch-height: (default:22px, small:16px, large:30px);\n$switch-lineHeight: (default:20px, small:12px, large:12px);\n\n// style of u-switch-inner\n$switch-inner-fontSize: (default:12px, small:10px, large:18px);\n$switch-inner-left: (default:22px, small:16px, large:30px);\n$switch-inner-largeTop: 8px;\n\n// style of u-switch:active:after\n$switch-active-width: (default:24px, small:16px, large:32px);\n\n// style of u-switch:after\n$switch-after-widthHeight: 18px;\n$switch-after-widthHeight-sm: 14px;\n$switch-after-widthHeight-lg: 26px;\n$switch-after-top: 1px;\n$switch-after-top-sm: 0;\n$switch-after-top-lg: 1px;\n$switch-after-left: 0;\n$switch-after-left-sm: 0;\n$switch-after-left-lg: 0;\n\n// style of u-switch.is-checked\n$switch-checked-innerLeft: (default:8px, small:4px, large:8px);\n$switch-checked-afterLeft: (default:24px, small:16px, large:32px);\n$switch-checked-activeLeft: (default:16px, small:10px, large:26px);\n\n$switch-primary-bg: $brand-primary;\n$switch-dark-bg: $brand-dark;\n$switch-success-bg: $brand-success;\n$switch-warning-bg: $brand-warning;\n$switch-danger-bg: $brand-danger;\n$switch-info-bg: $brand-info;\n\n//tabs\n\n$tabs-basic-back: #f5f5f5;\n$tabs-cls-color: #666;\n$tabs-cls-width: 900px;\n$tabs-simple-conHeight: 120px;\n$tabs-simple-conPad: 16px;\n$tabs-simple-conWidth: 100%;\n\n$tabs-fontSize: (simple:14px, fill:14px, turn:14px, slide:14px, fade:14px, fadeup:14px);\n$tabs-lineHeight: (simple:2.3, fill:2.3, turn:2.3, slide:2.3, fade:2.3, fadeup:2.3);\n$tabs-marginBottom: -1px;\n\n$tabs-simple-tab: (padding:0 16px, margin:5px 0 5px 5px, radius:0 0 0 0, back:#fff);\n$tabs-simple-tabBorder: 1px solid #fff;\n$tabs-simple-activeBorder: 1px solid $brand-primary;\n$tabs-simple-activeColor: #fff;\n$tabs-simple-activeBorBottom: 1px solid $brand-primary;\n$tabs-simple-activeTopRadius: 5px;\n$tabs-simple-fontWeight: bold;\n\n$tabs-fill-tab: (padding: 0 16px, color:#666, back:#fff, afterBack:#d2d8d6, activeBack:$brand-primary);\n$tabs-fill-tab-maright: 5px;\n$tabs-fill-after-top: 0;\n$tabs-fill-after-left: 0;\n$tabs-fill-after-width: 100%;\n$tabs-fill-after-height: 100%;\n$tabs-fill-fontWeight: bold;\n\n$tabs-turn-tab: (padding: 0 16px, color:#fff, back:#f5f5f5, afterBack:$brand-primary, activeBack:$brand-primary);\n$tabs-turn-after-top: 0;\n$tabs-turn-after-left: 0;\n$tabs-turn-after-width: 100%;\n$tabs-turn-after-height: 100%;\n$tabs-turn-beforeBot: 32px;\n$tabs-turn-beforeRight: 15px;\n$tabs-turn-fontWeight: bold;\n$tabs-moveleft-conHeight: 120px;\n$tabs-moveleft-conPad: 16px;\n\n$tabs-slide-tabs: (width:25%, padding: 0 16px, back:#f5f5f5);\n$tabs-slide-child-bottom: 0;\n$tabs-slide-child-left: 0;\n$tabs-slide-child-height: 4px;\n$tabs-slide-child-back: $brand-primary;\n$tabs-slide-fontWeight: bold;\n\n$tabs-fade-tab: (marLeft:5px, marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fade-conPad: 16px;\n$tabs-fade-conBor: 5px;\n\n$tabs-fadeup-tab: (marTop:5px, color:#666, padding:0 16px, radius:0 0 0 0);\n$tabs-fadeup-top: -5px;\n$tabs-fadeup-left: 0;\n$tabs-fadeup-width: 100%;\n$tabs-fadeup-height: 100%;\n$tabs-fadeup-color: #666;\n$tabs-fadeup-conHeight: 120px;\n$tabs-fadeup-conPad: 16px;\n\n\n//rate\n$rate-star-default-color:$gray-lightest;\n$rate-star-active-color:$brand-primary;\n$rate-star-marginRight:8px;\n//backtop\n$back-top-padding:5px;\n$backtop-background:unquote(\"rgb(#{$palette-u-gray-600})\") !default;\n$backtop-color:unquote(\"rgb(#{$color-white})\") !default;\n$backtop-right:10px;\n$backtop-bottom:10px;\n$backtop-dom-right:40px;\n\n\n//dnd\n$dnd-list-background:unquote(\"rgb(#{$palette-grey-400})\")!default;\n$dnd-list-padding:8px;\n$dnd-list-dragging-background:unquote(\"rgb(#{$palette-light-blue-A200})\")!default;\n$dnd-item-color:unquote(\"rgb(#{$color-black})\")!default;\n$dnd-item-padding:16px;\n$dnd-item-margin:4px;\n$dnd-item-background:unquote(\"rgb(#{$palette-grey-500})\")!default;\n$dnd-item-dragging-background:unquote(\"rgb(#{$palette-blue-300})\")!default;\n\n// bee-tree\n$tree-checkbox-color: unquote(\"rgb(#{$primary-color})\") !default;\n$tree-node-bg-color: $hover-bg-color-base !default;\n\n// bee-table\n$table-head-background-color: unquote(\"rgb(#{$table-header-background-color})\") !default;\n$table-head-text-color: unquote(\"rgb(#{$table-header-text-color})\") !default;\n\n// bee-transfer\n$transfer-border-gap-color:#d9d9d9;\n\n// bee-transfer\n$cascader-border-gap-color:#ccc;","@import \"../node_modules/tinper-bee-core/scss/minxin-variables\";\r\n@import \"../node_modules/tinper-bee-core/scss/minxin-mixins\";\r\n\r\n// .u-drag-list{\r\n// background: $dnd-list-background;\r\n// padding: $dnd-list-padding;\r\n// }\r\n// .u-list-dragging{\r\n// background: $dnd-list-dragging-background;\r\n// }\r\n// .u-drag-item{\r\n// user-select: none;\r\n// padding: $dnd-item-padding;\r\n// color: $dnd-item-color;\r\n// margin: $dnd-item-margin;\r\n// background: $dnd-item-background;\r\n// }\r\n// .u-dragging{\r\n// background: $dnd-item-dragging-background;\r\n// }\r\n\r\n// drop\r\n.u-drop{\r\n background:rgba(247,249,251,1);\r\n border:1px solid rgba(235,236,240,1);\r\n padding: 12px;\r\n color: #212121;\r\n}\r\n\r\n// dragover\r\n// .u-droping{\r\n// background: $dnd-list-dragging-background;\r\n// }\r\n\r\n.u-drop.u-drop-horizontal{\r\n display: flex;\r\n width: 100%;\r\n}\r\n\r\n.u-droping-horizontal{\r\n // width: 72px;\r\n // height: 72px;\r\n // line-height: 72px;\r\n}\r\n\r\n// drag\r\n.u-drag{\r\n user-select: none;\r\n margin: $dnd-item-margin;\r\n min-width: 100px;\r\n background:rgba(255,255,255,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n padding: 6px 0;\r\n font-size: 12px;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border:1px solid rgba(165,173,186,1);\r\n }\r\n &:focus{\r\n outline: none;\r\n }\r\n}\r\n/*拖动状态*/\r\n.u-droping{\r\n .u-draging{\r\n background:rgba(235,236,240,1);\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n }\r\n}\r\n.u-draging{\r\n background:rgba(235,236,240,1);\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n}\r\n\r\n// drag 横向\r\n.u-drag.u-drag-horizontal{\r\n display: inline-block;\r\n width: 72px;\r\n height: 72px;\r\n line-height: 72px;\r\n padding: 0;\r\n}\r\n\r\n// draging 横向\r\n.u-draging-horizontal{\r\n\r\n}\r\n\r\n// between\r\n.u-drag-between{\r\n display: flex;\r\n}\r\n.u-drag-between-horizontal{\r\n flex-wrap: wrap;\r\n}","@import \"../src/Dnd.scss\";\r\n\r\n.u-drop{\r\n width: 300px;\r\n}\r\n.u-drag{\r\n text-align: center\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo-3{\r\n .demo3:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: not-allowed;\r\n }\r\n}","\r\n.demo-4 .demo4 {\r\n position: relative;\r\n cursor: default;\r\n &:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: default;\r\n }\r\n}\r\n\r\n.demo4 .handle {\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n height: 32px;\r\n line-height: 30px;\r\n background:rgba(223,225,230,1);\r\n border-radius:0px 3px 3px 0px;\r\n border:1px solid rgba(165,173,186,1);\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(179,186,197,1);\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo4 .handle{\r\n background:rgba(179,186,197,1);\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n.demo6{\r\n height: 100px;\r\n}",".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n\r\n.demo7-parent {\r\n width: 300px;\r\n height: 200px;\r\n background: rgba(247,249,251,1);\r\n border: 1px solid rgba(235,236,240,1);\r\n position: relative;\r\n}",".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between{\r\n height: 300px;\r\n}",".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between-horizontal{\r\n height: 200px;\r\n}",".layout{\r\n background: #f7f9fb;\r\n border: 1px solid #ebecf0;\r\n padding: 12px;\r\n color: #212121;\r\n div{\r\n margin: 4px;\r\n background: white;\r\n border-radius: 3px;\r\n border: 1px solid #a5adba;\r\n padding: 6px 0;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n}"],"sourceRoot":"/source/"}
\ No newline at end of file
diff --git a/dist/demo.js b/dist/demo.js
index eba6635..a82fd8d 100644
--- a/dist/demo.js
+++ b/dist/demo.js
@@ -80,7 +80,7 @@
function _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) : _defaults(subClass, superClass); }
- var Demo1 = __webpack_require__(274);var Demo2 = __webpack_require__(275);var Demo3 = __webpack_require__(276);var Demo4 = __webpack_require__(277);var Demo5 = __webpack_require__(278);var Demo6 = __webpack_require__(279);var Demo7 = __webpack_require__(280);var Demo8 = __webpack_require__(281);var Demo9 = __webpack_require__(282);var Demo90 = __webpack_require__(283);var Demo91 = __webpack_require__(284);var Demo92 = __webpack_require__(285);var Demo93 = __webpack_require__(286);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 基础拖拽", "code": "\n/**\n *\n * @title 基础拖拽\n * @description 将某个元素设置为可拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\n\nclass Demo1 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n
\n\n );\n }\n}\n\n", "desc": " 将某个元素设置为可拖拽", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 单个元素沿x轴y轴拖拽", "code": "\n/**\n *\n * @title 单个元素沿x轴y轴拖拽\n * @description 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\n\nclass Demo2 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\n", "desc": " 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 设置元素不可拖拽", "code": "\r\n/**\r\n *\r\n * @title 设置元素不可拖拽\r\n * @description 设置 onStart 的返回值为false,则不可以拖拽\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo3 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n return false;\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我不可以拖拽
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n", "desc": " 设置 onStart 的返回值为false,则不可以拖拽", "scss_code": ".demo-3{\r\n .demo3:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: not-allowed;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo4, null), "title": " 单个元素拖拽把手", "code": "/**\r\n *\r\n * @title 单个元素拖拽把手\r\n * @description 设置 handle,值为选择器,例如 '.handle'\r\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Icon } from 'tinper-bee';\r\n\r\nclass Demo4 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 handle,值为选择器,例如 '.handle'", "scss_code": "\r\n.demo-4 .demo4 {\r\n position: relative;\r\n cursor: default;\r\n &:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: default;\r\n }\r\n}\r\n\r\n.demo4 .handle {\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n height: 32px;\r\n line-height: 30px;\r\n background:rgba(223,225,230,1);\r\n border-radius:0px 3px 3px 0px;\r\n border:1px solid rgba(165,173,186,1);\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(179,186,197,1);\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo4 .handle{\r\n background:rgba(179,186,197,1);\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo5, null), "title": " 每次拖拽移动距离", "code": "\r\n/**\r\n *\r\n * @title 每次拖拽移动距离\r\n * @description 设置 grid={[x,y]}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo5 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我每次拖拽可移动25px
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 grid={[x,y]}", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo6, null), "title": " 元素拖拽范围", "code": "\r\n/**\r\n *\r\n * @title 元素拖拽范围\r\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";\r\n\r\nclass Demo6 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我只能再上下左右50px内移动
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n.demo6{\r\n height: 100px;\r\n}" }, { "example": _react2['default'].createElement(Demo7, null), "title": " 在指定容器中拖拽", "code": "\r\n/**\r\n *\r\n * @title 在指定容器中拖拽\r\n * @description 设置只可以在指定容器中移动\r\n * bounds的也可以设置为选择器,bounds=\".demo8-parent\"意为在class=demo8-parent的容器中移动\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo7 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n 我只能在父级元素中移动
\r\n \r\n
\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置只可以在指定容器中移动", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n\r\n.demo7-parent {\r\n width: 300px;\r\n height: 200px;\r\n background: rgba(247,249,251,1);\r\n border: 1px solid rgba(235,236,240,1);\r\n position: relative;\r\n}" }, { "example": _react2['default'].createElement(Demo8, null), "title": " 数据集合拖拽列表排序", "code": "/**\n *\n * @title 数据集合拖拽列表排序\n * @description 增加list 可以为 [1,2,3]数组,\n * 也可以为 [{},{}...],需要配置 showKey 。\n * 也可以为 dom集合,见后边示例\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\n\nclass Demo8 extends Component {\n \n onDragStart=(result,list)=>{\n console.log('开始');\n }\n onDragEnd=(result,list)=>{ \n console.log('结束');\n }\n onDragUpdate=(result)=>{\n console.log('update')\n }\n render() {\n let list=[\n {\n name:'第一',\n code:'a'\n },\n {\n name:'第二',\n code:'b'\n },\n {\n name:'第三',\n code:'c'\n },\n {\n name:'第四',\n code:'d'\n },\n {\n name:'第五',\n code:'e'\n },\n ];\n return (\n \n );\n }\n}\n\n", "desc": " 增加list 可以为 [1,2,3]数组,", "scss_code": "" }, { "example": _react2['default'].createElement(Demo9, null), "title": " DOM集合拖拽列表排序", "code": "\r\n/**\r\n *\r\n * @title DOM集合拖拽列表排序\r\n * @description list传dom集合\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";\r\n\r\nclass Demo9 extends Component {\r\n\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,list)=>{\r\n console.log('结束');\r\n }\r\n render() {\r\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " list传dom集合" }, { "example": _react2['default'].createElement(Demo90, null), "title": " 横向拖拽列表排序", "code": "\r\n/**\r\n *\r\n * @title 横向拖拽列表排序\r\n * @description type='horizontal'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list=['第一','第二','第三','第四','第五'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " type='horizontal'" }, { "example": _react2['default'].createElement(Demo91, null), "title": " 两列纵向拖拽", "code": "\r\n/**\r\n *\r\n * @title 两列纵向拖拽\r\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开", "scss_code": ".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between{\r\n height: 300px;\r\n}" }, { "example": _react2['default'].createElement(Demo92, null), "title": " 两列横向拖拽", "code": "\r\n/**\r\n *\r\n * @title 两列横向拖拽\r\n * @description 设置 type='betweenVertical'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,listObj)=>{\r\n console.log('结束');\r\n console.log(listObj)\r\n }\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 type='betweenVertical'", "scss_code": ".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between-horizontal{\r\n height: 200px;\r\n}" }, { "example": _react2['default'].createElement(Demo93, null), "title": " 网格排序", "code": "\r\n/**\r\n *\r\n * @title 网格排序\r\n * @description \r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nconst GridLayout = Dnd.GridLayout;\r\n\r\nclass Demo93 extends Component {\r\n render() {\r\n let layout = [\r\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\r\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\r\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\r\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\r\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\r\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\r\n ];\r\n return (\r\n \r\n a
\r\n b
\r\n static
\r\n d
\r\n e
\r\n f
\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " ", "scss_code": ".layout{\r\n background: #f7f9fb;\r\n border: 1px solid #ebecf0;\r\n padding: 12px;\r\n color: #212121;\r\n div{\r\n margin: 4px;\r\n background: white;\r\n border-radius: 3px;\r\n border: 1px solid #a5adba;\r\n padding: 6px 0;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n}" }];
+ var Demo1 = __webpack_require__(278);var Demo2 = __webpack_require__(279);var Demo3 = __webpack_require__(280);var Demo4 = __webpack_require__(281);var Demo5 = __webpack_require__(282);var Demo6 = __webpack_require__(283);var Demo7 = __webpack_require__(284);var Demo8 = __webpack_require__(285);var Demo9 = __webpack_require__(286);var Demo90 = __webpack_require__(287);var Demo91 = __webpack_require__(288);var Demo92 = __webpack_require__(289);var Demo93 = __webpack_require__(290);var DemoArray = [{ "example": _react2['default'].createElement(Demo1, null), "title": " 基础拖拽", "code": "\n/**\n *\n * @title 基础拖拽\n * @description 将某个元素设置为可拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\n\nclass Demo1 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\n", "desc": " 将某个元素设置为可拖拽", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo2, null), "title": " 单个元素沿x轴y轴拖拽", "code": "\n/**\n *\n * @title 单个元素沿x轴y轴拖拽\n * @description 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\n\nclass Demo2 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\n", "desc": " 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo3, null), "title": " 设置元素不可拖拽", "code": "\r\n/**\r\n *\r\n * @title 设置元素不可拖拽\r\n * @description 设置 onStart 的返回值为false,则不可以拖拽\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo3 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n return false;\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我不可以拖拽
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n", "desc": " 设置 onStart 的返回值为false,则不可以拖拽", "scss_code": ".demo-3{\r\n .demo3:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: not-allowed;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo4, null), "title": " 单个元素拖拽把手", "code": "/**\r\n *\r\n * @title 单个元素拖拽把手\r\n * @description 设置 handle,值为选择器,例如 '.handle'\r\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Icon } from 'tinper-bee';\r\n\r\nclass Demo4 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 handle,值为选择器,例如 '.handle'", "scss_code": "\r\n.demo-4 .demo4 {\r\n position: relative;\r\n cursor: default;\r\n &:hover{\r\n background:rgba(247,249,251,1);\r\n cursor: default;\r\n }\r\n}\r\n\r\n.demo4 .handle {\r\n position: absolute;\r\n right: -1px;\r\n top: -1px;\r\n height: 32px;\r\n line-height: 30px;\r\n background:rgba(223,225,230,1);\r\n border-radius:0px 3px 3px 0px;\r\n border:1px solid rgba(165,173,186,1);\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(179,186,197,1);\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo4 .handle{\r\n background:rgba(179,186,197,1);\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo5, null), "title": " 每次拖拽移动距离", "code": "\r\n/**\r\n *\r\n * @title 每次拖拽移动距离\r\n * @description 设置 grid={[x,y]}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo5 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我每次拖拽可移动25px
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 grid={[x,y]}", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}" }, { "example": _react2['default'].createElement(Demo6, null), "title": " 元素拖拽范围", "code": "\r\n/**\r\n *\r\n * @title 元素拖拽范围\r\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";\r\n\r\nclass Demo6 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我只能再上下左右50px内移动
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n.demo6{\r\n height: 100px;\r\n}" }, { "example": _react2['default'].createElement(Demo7, null), "title": " 在指定容器中拖拽", "code": "\r\n/**\r\n *\r\n * @title 在指定容器中拖拽\r\n * @description 设置只可以在指定容器中移动\r\n * bounds的也可以设置为选择器,bounds=\".demo8-parent\"意为在class=demo8-parent的容器中移动\r\n */\r\n\r\nimport React, { Component } from 'react';\r\n\nimport Dnd from \"tinper-bee/lib/Dnd\";\nimport { Button } from 'tinper-bee';\r\n\r\nclass Demo7 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n 我只能在父级元素中移动
\r\n \r\n
\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置只可以在指定容器中移动", "scss_code": ".demo {\r\n width:167px;\r\n height:32px;\r\n background:rgba(247,249,251,1);\r\n border-radius:3px;\r\n border:1px solid rgba(165,173,186,1);\r\n line-height: 32px;\r\n font-size: 12px;\r\n color: #212121;\r\n text-align: center;\r\n cursor: grab;\r\n &:hover{\r\n background:rgba(235,236,240,1);\r\n border-radius:3px;\r\n }\r\n}\r\n/*拖动状态*/\r\n.react-draggable-transparent-selection{\r\n .demo{\r\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\r\n opacity:0.8;\r\n cursor: grabbing;\r\n }\r\n}\r\n\r\n.demo7-parent {\r\n width: 300px;\r\n height: 200px;\r\n background: rgba(247,249,251,1);\r\n border: 1px solid rgba(235,236,240,1);\r\n position: relative;\r\n}" }, { "example": _react2['default'].createElement(Demo8, null), "title": " 数据集合拖拽列表排序", "code": "/**\n *\n * @title 数据集合拖拽列表排序\n * @description 增加list 可以为 [1,2,3]数组,\n * 也可以为 [{},{}...],需要配置 showKey 。\n * 也可以为 dom集合,见后边示例\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from \"tinper-bee/lib/Dnd\";\n\nclass Demo8 extends Component {\n \n onDragStart=(result,list)=>{\n console.log('开始');\n }\n onDragEnd=(result,list)=>{ \n console.log('结束');\n }\n onDragUpdate=(result)=>{\n console.log('update')\n }\n render() {\n let list=[\n {\n name:'第一',\n code:'a'\n },\n {\n name:'第二',\n code:'b'\n },\n {\n name:'第三',\n code:'c'\n },\n {\n name:'第四',\n code:'d'\n },\n {\n name:'第五',\n code:'e'\n },\n ];\n return (\n \n );\n }\n}\n\n", "desc": " 增加list 可以为 [1,2,3]数组,", "scss_code": "" }, { "example": _react2['default'].createElement(Demo9, null), "title": " DOM集合拖拽列表排序", "code": "\r\n/**\r\n *\r\n * @title DOM集合拖拽列表排序\r\n * @description list传dom集合\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";\r\n\r\nclass Demo9 extends Component {\r\n\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,list)=>{\r\n console.log('结束');\r\n }\r\n render() {\r\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " list传dom集合" }, { "example": _react2['default'].createElement(Demo90, null), "title": " 横向拖拽列表排序", "code": "\r\n/**\r\n *\r\n * @title 横向拖拽列表排序\r\n * @description type='horizontal'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list=['第一','第二','第三','第四','第五'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " type='horizontal'" }, { "example": _react2['default'].createElement(Demo91, null), "title": " 两列纵向拖拽", "code": "\r\n/**\r\n *\r\n * @title 两列纵向拖拽\r\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开", "scss_code": ".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between{\r\n height: 300px;\r\n}" }, { "example": _react2['default'].createElement(Demo92, null), "title": " 两列横向拖拽", "code": "\r\n/**\r\n *\r\n * @title 两列横向拖拽\r\n * @description 设置 type='betweenVertical'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nclass Demo90 extends Component {\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,listObj)=>{\r\n console.log('结束');\r\n console.log(listObj)\r\n }\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " 设置 type='betweenVertical'", "scss_code": ".u-drop{\r\n overflow: scroll;\r\n}\r\n.u-drag-between-horizontal{\r\n height: 200px;\r\n}" }, { "example": _react2['default'].createElement(Demo93, null), "title": " 网格排序", "code": "\r\n/**\r\n *\r\n * @title 网格排序\r\n * @description \r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\nimport { } from 'tinper-bee';\r\nimport Dnd from \"tinper-bee/lib/Dnd\";;\r\n\r\nconst GridLayout = Dnd.GridLayout;\r\n\r\nclass Demo93 extends Component {\r\n render() {\r\n let layout = [\r\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\r\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\r\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\r\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\r\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\r\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\r\n ];\r\n return (\r\n \r\n a
\r\n b
\r\n static
\r\n d
\r\n e
\r\n f
\r\n \r\n );\r\n }\r\n}\r\n\r\n", "desc": " ", "scss_code": ".layout{\r\n background: #f7f9fb;\r\n border: 1px solid #ebecf0;\r\n padding: 12px;\r\n color: #212121;\r\n div{\r\n margin: 4px;\r\n background: white;\r\n border-radius: 3px;\r\n border: 1px solid #a5adba;\r\n padding: 6px 0;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n}" }];
var Demo = function (_Component) {
_inherits(Demo, _Component);
@@ -2026,251 +2026,264 @@
/* 27 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
- exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
-
- var _all2 = __webpack_require__(28);
-
- var _all3 = _interopRequireDefault(_all2);
-
- var _componentOrElement2 = __webpack_require__(30);
-
- var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
-
- var _deprecated2 = __webpack_require__(31);
-
- var _deprecated3 = _interopRequireDefault(_deprecated2);
-
- var _elementType2 = __webpack_require__(34);
-
- var _elementType3 = _interopRequireDefault(_elementType2);
-
- var _isRequiredForA11y2 = __webpack_require__(35);
-
- var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
-
- var _splitComponent2 = __webpack_require__(36);
-
- var _splitComponent3 = _interopRequireDefault(_splitComponent2);
-
- var _createChainedFunction2 = __webpack_require__(37);
-
- var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
-
- var _keyCode = __webpack_require__(38);
-
- var _keyCode2 = _interopRequireDefault(_keyCode);
-
- var _contains2 = __webpack_require__(39);
-
- var _contains3 = _interopRequireDefault(_contains2);
-
- var _addEventListener2 = __webpack_require__(40);
-
- var _addEventListener3 = _interopRequireDefault(_addEventListener2);
-
- var _cssAnimation2 = __webpack_require__(45);
-
- var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
-
- var _toArray2 = __webpack_require__(49);
-
- var _toArray3 = _interopRequireDefault(_toArray2);
-
- var _Align2 = __webpack_require__(50);
-
- var _Align3 = _interopRequireDefault(_Align2);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- exports.all = _all3.default;
- exports.componentOrElement = _componentOrElement3.default;
- exports.deprecated = _deprecated3.default;
- exports.elementType = _elementType3.default;
- exports.isRequiredForA11y = _isRequiredForA11y3.default;
- exports.splitComponent = _splitComponent3.default;
- exports.createChainedFunction = _createChainedFunction3.default;
- exports.KeyCode = _keyCode2.default;
- exports.contains = _contains3.default;
- exports.addEventListener = _addEventListener3.default;
- exports.cssAnimation = _cssAnimation3.default;
- exports.toArray = _toArray3.default;
- //export getContainerRenderMixin from './getContainerRenderMixin';
-
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
+
+ var _all2 = __webpack_require__(28);
+
+ var _all3 = _interopRequireDefault(_all2);
+
+ var _componentOrElement2 = __webpack_require__(30);
+
+ var _componentOrElement3 = _interopRequireDefault(_componentOrElement2);
+
+ var _deprecated2 = __webpack_require__(31);
+
+ var _deprecated3 = _interopRequireDefault(_deprecated2);
+
+ var _elementType2 = __webpack_require__(34);
+
+ var _elementType3 = _interopRequireDefault(_elementType2);
+
+ var _isRequiredForA11y2 = __webpack_require__(35);
+
+ var _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);
+
+ var _splitComponent2 = __webpack_require__(36);
+
+ var _splitComponent3 = _interopRequireDefault(_splitComponent2);
+
+ var _createChainedFunction2 = __webpack_require__(37);
+
+ var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);
+
+ var _keyCode = __webpack_require__(38);
+
+ var _keyCode2 = _interopRequireDefault(_keyCode);
+
+ var _contains2 = __webpack_require__(39);
+
+ var _contains3 = _interopRequireDefault(_contains2);
+
+ var _addEventListener2 = __webpack_require__(40);
+
+ var _addEventListener3 = _interopRequireDefault(_addEventListener2);
+
+ var _cssAnimation2 = __webpack_require__(45);
+
+ var _cssAnimation3 = _interopRequireDefault(_cssAnimation2);
+
+ var _toArray2 = __webpack_require__(49);
+
+ var _toArray3 = _interopRequireDefault(_toArray2);
+
+ var _Align2 = __webpack_require__(50);
+
+ var _Align3 = _interopRequireDefault(_Align2);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ exports.all = _all3.default;
+ exports.componentOrElement = _componentOrElement3.default;
+ exports.deprecated = _deprecated3.default;
+ exports.elementType = _elementType3.default;
+ exports.isRequiredForA11y = _isRequiredForA11y3.default;
+ exports.splitComponent = _splitComponent3.default;
+ exports.createChainedFunction = _createChainedFunction3.default;
+ exports.KeyCode = _keyCode2.default;
+ exports.contains = _contains3.default;
+ exports.addEventListener = _addEventListener3.default;
+ exports.cssAnimation = _cssAnimation3.default;
+ exports.toArray = _toArray3.default;
+ //export getContainerRenderMixin from './getContainerRenderMixin';
+
exports.Align = _Align3.default;
/***/ }),
/* 28 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
- exports.default = all;
-
- var _createChainableTypeChecker = __webpack_require__(29);
-
- var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function all() {
- for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
- validators[_key] = arguments[_key];
- }
-
- function allPropTypes() {
- for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
- args[_key2] = arguments[_key2];
- }
-
- var error = null;
-
- validators.forEach(function (validator) {
- if (error != null) {
- return;
- }
-
- var result = validator.apply(undefined, args);
- if (result != null) {
- error = result;
- }
- });
-
- return error;
- }
-
- return (0, _createChainableTypeChecker2.default)(allPropTypes);
- }
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = all;
+
+ var _createChainableTypeChecker = __webpack_require__(29);
+
+ var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function all() {
+ for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
+ validators[_key] = arguments[_key];
+ }
+
+ function allPropTypes() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ var error = null;
+
+ validators.forEach(function (validator) {
+ if (error != null) {
+ return;
+ }
+
+ var result = validator.apply(undefined, args);
+ if (result != null) {
+ error = result;
+ }
+ });
+
+ return error;
+ }
+
+ return (0, _createChainableTypeChecker2.default)(allPropTypes);
+ } /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
/***/ }),
/* 29 */
/***/ (function(module, exports) {
- 'use strict';
-
- exports.__esModule = true;
- exports.default = createChainableTypeChecker;
- /**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
- // Mostly taken from ReactPropTypes.
-
- function createChainableTypeChecker(validate) {
- function checkType(isRequired, props, propName, componentName, location, propFullName) {
- var componentNameSafe = componentName || '<>';
- var propFullNameSafe = propFullName || propName;
-
- if (props[propName] == null) {
- if (isRequired) {
- return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
- }
-
- return null;
- }
-
- for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
- args[_key - 6] = arguments[_key];
- }
-
- return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
- }
-
- var chainedCheckType = checkType.bind(null, false);
- chainedCheckType.isRequired = checkType.bind(null, true);
-
- return chainedCheckType;
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = createChainableTypeChecker;
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+ // Mostly taken from ReactPropTypes.
+
+ /* This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+ function createChainableTypeChecker(validate) {
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ if (isRequired) {
+ return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
+ }
+
+ return null;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
+ args[_key - 6] = arguments[_key];
+ }
+
+ return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
+ }
+
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
+
+ return chainedCheckType;
}
/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
- var _react = __webpack_require__(1);
-
- var _react2 = _interopRequireDefault(_react);
-
- var _createChainableTypeChecker = __webpack_require__(29);
-
- var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function validate(props, propName, componentName, location, propFullName) {
- var propValue = props[propName];
- var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
-
- if (_react2.default.isValidElement(propValue)) {
- return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
- }
-
- if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
- return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
- }
-
- return null;
- }
-
+ 'use strict';
+
+ exports.__esModule = true;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _createChainableTypeChecker = __webpack_require__(29);
+
+ var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
+
+ if (_react2.default.isValidElement(propValue)) {
+ return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');
+ }
+
+ if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
+ return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
+ }
+
+ return null;
+ }
+
exports.default = (0, _createChainableTypeChecker2.default)(validate);
/***/ }),
/* 31 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
- exports.default = deprecated;
-
- var _warning = __webpack_require__(32);
-
- var _warning2 = _interopRequireDefault(_warning);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- var warned = {};
-
- function deprecated(validator, reason) {
- return function validate(props, propName, componentName, location, propFullName) {
- var componentNameSafe = componentName || '<>';
- var propFullNameSafe = propFullName || propName;
-
- if (props[propName] != null) {
- var messageKey = componentName + '.' + propName;
-
- (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
-
- warned[messageKey] = true;
- }
-
- for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
- args[_key - 5] = arguments[_key];
- }
-
- return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
- };
- }
-
- /* eslint-disable no-underscore-dangle */
- function _resetWarned() {
- warned = {};
- }
-
- deprecated._resetWarned = _resetWarned;
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = deprecated;
+
+ var _warning = __webpack_require__(32);
+
+ var _warning2 = _interopRequireDefault(_warning);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var warned = {}; /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function deprecated(validator, reason) {
+ return function validate(props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] != null) {
+ var messageKey = componentName + '.' + propName;
+
+ (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
+
+ warned[messageKey] = true;
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
+ args[_key - 5] = arguments[_key];
+ }
+
+ return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
+ };
+ }
+
+ /* eslint-disable no-underscore-dangle */
+ function _resetWarned() {
+ warned = {};
+ }
+
+ deprecated._resetWarned = _resetWarned;
/* eslint-enable no-underscore-dangle */
/***/ }),
@@ -2534,769 +2547,797 @@
/* 34 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
- var _react = __webpack_require__(1);
-
- var _react2 = _interopRequireDefault(_react);
-
- var _createChainableTypeChecker = __webpack_require__(29);
-
- var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function elementType(props, propName, componentName, location, propFullName) {
- var propValue = props[propName];
- var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
-
- if (_react2.default.isValidElement(propValue)) {
- return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
- }
-
- if (propType !== 'function' && propType !== 'string') {
- return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
- }
-
- return null;
- }
-
+ 'use strict';
+
+ exports.__esModule = true;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _createChainableTypeChecker = __webpack_require__(29);
+
+ var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function elementType(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
+
+ if (_react2.default.isValidElement(propValue)) {
+ return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
+ }
+
+ if (propType !== 'function' && propType !== 'string') {
+ return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');
+ }
+
+ return null;
+ }
+
exports.default = (0, _createChainableTypeChecker2.default)(elementType);
/***/ }),
/* 35 */
/***/ (function(module, exports) {
- 'use strict';
-
- exports.__esModule = true;
- exports.default = isRequiredForA11y;
- function isRequiredForA11y(validator) {
- return function validate(props, propName, componentName, location, propFullName) {
- var componentNameSafe = componentName || '<>';
- var propFullNameSafe = propFullName || propName;
-
- if (props[propName] == null) {
- return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
- }
-
- for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
- args[_key - 5] = arguments[_key];
- }
-
- return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
- };
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = isRequiredForA11y;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function isRequiredForA11y(validator) {
+ return function validate(props, propName, componentName, location, propFullName) {
+ var componentNameSafe = componentName || '<>';
+ var propFullNameSafe = propFullName || propName;
+
+ if (props[propName] == null) {
+ return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
+ }
+
+ for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
+ args[_key - 5] = arguments[_key];
+ }
+
+ return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
+ };
}
/***/ }),
/* 36 */
/***/ (function(module, exports) {
- "use strict";
-
- exports.__esModule = true;
- exports.default = splitComponentProps;
- function _objectEntries(obj) {
- var entries = [];
- var keys = Object.keys(obj);
-
- for (var k = 0; k < keys.length; ++k) {
- entries.push([keys[k], obj[keys[k]]]);
- }return entries;
- }
-
- /**
- * 分割要传入父元素和子元素的props
- * @param {[object]} props 传入的属性
- * @param {[reactElement]} Component 组件
- * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
- */
- function splitComponentProps(props, Component) {
- var componentPropTypes = Component.propTypes;
-
- var parentProps = {};
- var childProps = {};
-
- _objectEntries(props).forEach(function (_ref) {
- var propName = _ref[0],
- propValue = _ref[1];
-
- if (componentPropTypes[propName]) {
- parentProps[propName] = propValue;
- } else {
- childProps[propName] = propValue;
- }
- });
-
- return [parentProps, childProps];
+ "use strict";
+
+ exports.__esModule = true;
+ exports.default = splitComponentProps;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function _objectEntries(obj) {
+ var entries = [];
+ var keys = Object.keys(obj);
+
+ for (var k = 0; k < keys.length; ++k) {
+ entries.push([keys[k], obj[keys[k]]]);
+ }return entries;
+ }
+
+ /**
+ * 分割要传入父元素和子元素的props
+ * @param {[object]} props 传入的属性
+ * @param {[reactElement]} Component 组件
+ * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象
+ */
+ function splitComponentProps(props, Component) {
+ var componentPropTypes = Component.propTypes;
+
+ var parentProps = {};
+ var childProps = {};
+
+ _objectEntries(props).forEach(function (_ref) {
+ var propName = _ref[0],
+ propValue = _ref[1];
+
+ if (componentPropTypes[propName]) {
+ parentProps[propName] = propValue;
+ } else {
+ childProps[propName] = propValue;
+ }
+ });
+
+ return [parentProps, childProps];
}
/***/ }),
/* 37 */
/***/ (function(module, exports) {
- 'use strict';
-
- exports.__esModule = true;
- function createChainedFunction() {
- for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
- funcs[_key] = arguments[_key];
- }
-
- return funcs.filter(function (f) {
- return f != null;
- }).reduce(function (acc, f) {
- if (typeof f !== 'function') {
- throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
- }
-
- if (acc === null) {
- return f;
- }
-
- return function chainedFunction() {
- for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
- args[_key2] = arguments[_key2];
- }
-
- acc.apply(this, args);
- f.apply(this, args);
- };
- }, null);
- }
+ 'use strict';
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function createChainedFunction() {
+ for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
+
+ return funcs.filter(function (f) {
+ return f != null;
+ }).reduce(function (acc, f) {
+ if (typeof f !== 'function') {
+ throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
+ }
+
+ if (acc === null) {
+ return f;
+ }
+
+ return function chainedFunction() {
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ acc.apply(this, args);
+ f.apply(this, args);
+ };
+ }, null);
+ }
exports.default = createChainedFunction;
/***/ }),
/* 38 */
/***/ (function(module, exports) {
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ 'use strict';
+
+ /**
+ * @ignore
+ * some key-codes definition and utils from closure-library
+ * @author yiminghe@gmail.com
+ */
+
+ var KeyCode = {
+ /**
+ * MAC_ENTER
+ */
+ MAC_ENTER: 3,
+ /**
+ * BACKSPACE
+ */
+ BACKSPACE: 8,
+ /**
+ * TAB
+ */
+ TAB: 9,
+ /**
+ * NUMLOCK on FF/Safari Mac
+ */
+ NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
+ /**
+ * ENTER
+ */
+ ENTER: 13,
+ /**
+ * SHIFT
+ */
+ SHIFT: 16,
+ /**
+ * CTRL
+ */
+ CTRL: 17,
+ /**
+ * ALT
+ */
+ ALT: 18,
+ /**
+ * PAUSE
+ */
+ PAUSE: 19,
+ /**
+ * CAPS_LOCK
+ */
+ CAPS_LOCK: 20,
+ /**
+ * ESC
+ */
+ ESC: 27,
+ /**
+ * SPACE
+ */
+ SPACE: 32,
+ /**
+ * PAGE_UP
+ */
+ PAGE_UP: 33, // also NUM_NORTH_EAST
+ /**
+ * PAGE_DOWN
+ */
+ PAGE_DOWN: 34, // also NUM_SOUTH_EAST
+ /**
+ * END
+ */
+ END: 35, // also NUM_SOUTH_WEST
+ /**
+ * HOME
+ */
+ HOME: 36, // also NUM_NORTH_WEST
+ /**
+ * LEFT
+ */
+ LEFT: 37, // also NUM_WEST
+ /**
+ * UP
+ */
+ UP: 38, // also NUM_NORTH
+ /**
+ * RIGHT
+ */
+ RIGHT: 39, // also NUM_EAST
+ /**
+ * DOWN
+ */
+ DOWN: 40, // also NUM_SOUTH
+ /**
+ * PRINT_SCREEN
+ */
+ PRINT_SCREEN: 44,
+ /**
+ * INSERT
+ */
+ INSERT: 45, // also NUM_INSERT
+ /**
+ * DELETE
+ */
+ DELETE: 46, // also NUM_DELETE
+ /**
+ * ZERO
+ */
+ ZERO: 48,
+ /**
+ * ONE
+ */
+ ONE: 49,
+ /**
+ * TWO
+ */
+ TWO: 50,
+ /**
+ * THREE
+ */
+ THREE: 51,
+ /**
+ * FOUR
+ */
+ FOUR: 52,
+ /**
+ * FIVE
+ */
+ FIVE: 53,
+ /**
+ * SIX
+ */
+ SIX: 54,
+ /**
+ * SEVEN
+ */
+ SEVEN: 55,
+ /**
+ * EIGHT
+ */
+ EIGHT: 56,
+ /**
+ * NINE
+ */
+ NINE: 57,
+ /**
+ * QUESTION_MARK
+ */
+ QUESTION_MARK: 63, // needs localization
+ /**
+ * A
+ */
+ A: 65,
+ /**
+ * B
+ */
+ B: 66,
+ /**
+ * C
+ */
+ C: 67,
+ /**
+ * D
+ */
+ D: 68,
+ /**
+ * E
+ */
+ E: 69,
+ /**
+ * F
+ */
+ F: 70,
+ /**
+ * G
+ */
+ G: 71,
+ /**
+ * H
+ */
+ H: 72,
+ /**
+ * I
+ */
+ I: 73,
+ /**
+ * J
+ */
+ J: 74,
+ /**
+ * K
+ */
+ K: 75,
+ /**
+ * L
+ */
+ L: 76,
+ /**
+ * M
+ */
+ M: 77,
+ /**
+ * N
+ */
+ N: 78,
+ /**
+ * O
+ */
+ O: 79,
+ /**
+ * P
+ */
+ P: 80,
+ /**
+ * Q
+ */
+ Q: 81,
+ /**
+ * R
+ */
+ R: 82,
+ /**
+ * S
+ */
+ S: 83,
+ /**
+ * T
+ */
+ T: 84,
+ /**
+ * U
+ */
+ U: 85,
+ /**
+ * V
+ */
+ V: 86,
+ /**
+ * W
+ */
+ W: 87,
+ /**
+ * X
+ */
+ X: 88,
+ /**
+ * Y
+ */
+ Y: 89,
+ /**
+ * Z
+ */
+ Z: 90,
+ /**
+ * META
+ */
+ META: 91, // WIN_KEY_LEFT
+ /**
+ * WIN_KEY_RIGHT
+ */
+ WIN_KEY_RIGHT: 92,
+ /**
+ * CONTEXT_MENU
+ */
+ CONTEXT_MENU: 93,
+ /**
+ * NUM_ZERO
+ */
+ NUM_ZERO: 96,
+ /**
+ * NUM_ONE
+ */
+ NUM_ONE: 97,
+ /**
+ * NUM_TWO
+ */
+ NUM_TWO: 98,
+ /**
+ * NUM_THREE
+ */
+ NUM_THREE: 99,
+ /**
+ * NUM_FOUR
+ */
+ NUM_FOUR: 100,
+ /**
+ * NUM_FIVE
+ */
+ NUM_FIVE: 101,
+ /**
+ * NUM_SIX
+ */
+ NUM_SIX: 102,
+ /**
+ * NUM_SEVEN
+ */
+ NUM_SEVEN: 103,
+ /**
+ * NUM_EIGHT
+ */
+ NUM_EIGHT: 104,
+ /**
+ * NUM_NINE
+ */
+ NUM_NINE: 105,
+ /**
+ * NUM_MULTIPLY
+ */
+ NUM_MULTIPLY: 106,
+ /**
+ * NUM_PLUS
+ */
+ NUM_PLUS: 107,
+ /**
+ * NUM_MINUS
+ */
+ NUM_MINUS: 109,
+ /**
+ * NUM_PERIOD
+ */
+ NUM_PERIOD: 110,
+ /**
+ * NUM_DIVISION
+ */
+ NUM_DIVISION: 111,
+ /**
+ * F1
+ */
+ F1: 112,
+ /**
+ * F2
+ */
+ F2: 113,
+ /**
+ * F3
+ */
+ F3: 114,
+ /**
+ * F4
+ */
+ F4: 115,
+ /**
+ * F5
+ */
+ F5: 116,
+ /**
+ * F6
+ */
+ F6: 117,
+ /**
+ * F7
+ */
+ F7: 118,
+ /**
+ * F8
+ */
+ F8: 119,
+ /**
+ * F9
+ */
+ F9: 120,
+ /**
+ * F10
+ */
+ F10: 121,
+ /**
+ * F11
+ */
+ F11: 122,
+ /**
+ * F12
+ */
+ F12: 123,
+ /**
+ * NUMLOCK
+ */
+ NUMLOCK: 144,
+ /**
+ * SEMICOLON
+ */
+ SEMICOLON: 186, // needs localization
+ /**
+ * DASH
+ */
+ DASH: 189, // needs localization
+ /**
+ * EQUALS
+ */
+ EQUALS: 187, // needs localization
+ /**
+ * COMMA
+ */
+ COMMA: 188, // needs localization
+ /**
+ * PERIOD
+ */
+ PERIOD: 190, // needs localization
+ /**
+ * SLASH
+ */
+ SLASH: 191, // needs localization
+ /**
+ * APOSTROPHE
+ */
+ APOSTROPHE: 192, // needs localization
+ /**
+ * SINGLE_QUOTE
+ */
+ SINGLE_QUOTE: 222, // needs localization
+ /**
+ * OPEN_SQUARE_BRACKET
+ */
+ OPEN_SQUARE_BRACKET: 219, // needs localization
+ /**
+ * BACKSLASH
+ */
+ BACKSLASH: 220, // needs localization
+ /**
+ * CLOSE_SQUARE_BRACKET
+ */
+ CLOSE_SQUARE_BRACKET: 221, // needs localization
+ /**
+ * WIN_KEY
+ */
+ WIN_KEY: 224,
+ /**
+ * MAC_FF_META
+ */
+ MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
+ /**
+ * WIN_IME
+ */
+ WIN_IME: 229
+ };
+
+ /*
+ whether text and modified key is entered at the same time.
+ */
+ KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
+ var keyCode = e.keyCode;
+ if (e.altKey && !e.ctrlKey || e.metaKey ||
+ // Function keys don't generate text
+ keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
+ return false;
+ }
+
+ // The following keys are quite harmless, even in combination with
+ // CTRL, ALT or SHIFT.
+ switch (keyCode) {
+ case KeyCode.ALT:
+ case KeyCode.CAPS_LOCK:
+ case KeyCode.CONTEXT_MENU:
+ case KeyCode.CTRL:
+ case KeyCode.DOWN:
+ case KeyCode.END:
+ case KeyCode.ESC:
+ case KeyCode.HOME:
+ case KeyCode.INSERT:
+ case KeyCode.LEFT:
+ case KeyCode.MAC_FF_META:
+ case KeyCode.META:
+ case KeyCode.NUMLOCK:
+ case KeyCode.NUM_CENTER:
+ case KeyCode.PAGE_DOWN:
+ case KeyCode.PAGE_UP:
+ case KeyCode.PAUSE:
+ case KeyCode.PRINT_SCREEN:
+ case KeyCode.RIGHT:
+ case KeyCode.SHIFT:
+ case KeyCode.UP:
+ case KeyCode.WIN_KEY:
+ case KeyCode.WIN_KEY_RIGHT:
+ return false;
+ default:
+ return true;
+ }
+ };
+
+ /*
+ whether character is entered.
+ */
+ KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
+ if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
+ return true;
+ }
+
+ if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
+ return true;
+ }
+
+ // Safari sends zero key code for non-latin characters.
+ if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
+ return true;
+ }
+
+ switch (keyCode) {
+ case KeyCode.SPACE:
+ case KeyCode.QUESTION_MARK:
+ case KeyCode.NUM_PLUS:
+ case KeyCode.NUM_MINUS:
+ case KeyCode.NUM_PERIOD:
+ case KeyCode.NUM_DIVISION:
+ case KeyCode.SEMICOLON:
+ case KeyCode.DASH:
+ case KeyCode.EQUALS:
+ case KeyCode.COMMA:
+ case KeyCode.PERIOD:
+ case KeyCode.SLASH:
+ case KeyCode.APOSTROPHE:
+ case KeyCode.SINGLE_QUOTE:
+ case KeyCode.OPEN_SQUARE_BRACKET:
+ case KeyCode.BACKSLASH:
+ case KeyCode.CLOSE_SQUARE_BRACKET:
+ return true;
+ default:
+ return false;
+ }
+ };
+
+ module.exports = KeyCode;
+
+/***/ }),
+/* 39 */
+/***/ (function(module, exports) {
+
+ "use strict";
+
+ exports.__esModule = true;
+ exports.default = contains;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function contains(root, n) {
+ var node = n;
+ while (node) {
+ if (node === root) {
+ return true;
+ }
+ node = node.parentNode;
+ }
+
+ return false;
+ }
+
+/***/ }),
+/* 40 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = addEventListenerWrap;
+
+ var _addDomEventListener = __webpack_require__(41);
+
+ var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
+
+ var _reactDom = __webpack_require__(2);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ function addEventListenerWrap(target, eventType, cb) {
+ /* eslint camelcase: 2 */
+ var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
+ _reactDom2.default.unstable_batchedUpdates(cb, e);
+ } : cb;
+ return (0, _addDomEventListener2.default)(target, eventType, callback);
+ }
+
+/***/ }),
+/* 41 */
+/***/ (function(module, exports, __webpack_require__) {
+
'use strict';
- /**
- * @ignore
- * some key-codes definition and utils from closure-library
- * @author yiminghe@gmail.com
- */
+ Object.defineProperty(exports, '__esModule', {
+ value: true
+ });
+ exports['default'] = addEventListener;
- var KeyCode = {
- /**
- * MAC_ENTER
- */
- MAC_ENTER: 3,
- /**
- * BACKSPACE
- */
- BACKSPACE: 8,
- /**
- * TAB
- */
- TAB: 9,
- /**
- * NUMLOCK on FF/Safari Mac
- */
- NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
- /**
- * ENTER
- */
- ENTER: 13,
- /**
- * SHIFT
- */
- SHIFT: 16,
- /**
- * CTRL
- */
- CTRL: 17,
- /**
- * ALT
- */
- ALT: 18,
- /**
- * PAUSE
- */
- PAUSE: 19,
- /**
- * CAPS_LOCK
- */
- CAPS_LOCK: 20,
- /**
- * ESC
- */
- ESC: 27,
- /**
- * SPACE
- */
- SPACE: 32,
- /**
- * PAGE_UP
- */
- PAGE_UP: 33, // also NUM_NORTH_EAST
- /**
- * PAGE_DOWN
- */
- PAGE_DOWN: 34, // also NUM_SOUTH_EAST
- /**
- * END
- */
- END: 35, // also NUM_SOUTH_WEST
- /**
- * HOME
- */
- HOME: 36, // also NUM_NORTH_WEST
- /**
- * LEFT
- */
- LEFT: 37, // also NUM_WEST
- /**
- * UP
- */
- UP: 38, // also NUM_NORTH
- /**
- * RIGHT
- */
- RIGHT: 39, // also NUM_EAST
- /**
- * DOWN
- */
- DOWN: 40, // also NUM_SOUTH
- /**
- * PRINT_SCREEN
- */
- PRINT_SCREEN: 44,
- /**
- * INSERT
- */
- INSERT: 45, // also NUM_INSERT
- /**
- * DELETE
- */
- DELETE: 46, // also NUM_DELETE
- /**
- * ZERO
- */
- ZERO: 48,
- /**
- * ONE
- */
- ONE: 49,
- /**
- * TWO
- */
- TWO: 50,
- /**
- * THREE
- */
- THREE: 51,
- /**
- * FOUR
- */
- FOUR: 52,
- /**
- * FIVE
- */
- FIVE: 53,
- /**
- * SIX
- */
- SIX: 54,
- /**
- * SEVEN
- */
- SEVEN: 55,
- /**
- * EIGHT
- */
- EIGHT: 56,
- /**
- * NINE
- */
- NINE: 57,
- /**
- * QUESTION_MARK
- */
- QUESTION_MARK: 63, // needs localization
- /**
- * A
- */
- A: 65,
- /**
- * B
- */
- B: 66,
- /**
- * C
- */
- C: 67,
- /**
- * D
- */
- D: 68,
- /**
- * E
- */
- E: 69,
- /**
- * F
- */
- F: 70,
- /**
- * G
- */
- G: 71,
- /**
- * H
- */
- H: 72,
- /**
- * I
- */
- I: 73,
- /**
- * J
- */
- J: 74,
- /**
- * K
- */
- K: 75,
- /**
- * L
- */
- L: 76,
- /**
- * M
- */
- M: 77,
- /**
- * N
- */
- N: 78,
- /**
- * O
- */
- O: 79,
- /**
- * P
- */
- P: 80,
- /**
- * Q
- */
- Q: 81,
- /**
- * R
- */
- R: 82,
- /**
- * S
- */
- S: 83,
- /**
- * T
- */
- T: 84,
- /**
- * U
- */
- U: 85,
- /**
- * V
- */
- V: 86,
- /**
- * W
- */
- W: 87,
- /**
- * X
- */
- X: 88,
- /**
- * Y
- */
- Y: 89,
- /**
- * Z
- */
- Z: 90,
- /**
- * META
- */
- META: 91, // WIN_KEY_LEFT
- /**
- * WIN_KEY_RIGHT
- */
- WIN_KEY_RIGHT: 92,
- /**
- * CONTEXT_MENU
- */
- CONTEXT_MENU: 93,
- /**
- * NUM_ZERO
- */
- NUM_ZERO: 96,
- /**
- * NUM_ONE
- */
- NUM_ONE: 97,
- /**
- * NUM_TWO
- */
- NUM_TWO: 98,
- /**
- * NUM_THREE
- */
- NUM_THREE: 99,
- /**
- * NUM_FOUR
- */
- NUM_FOUR: 100,
- /**
- * NUM_FIVE
- */
- NUM_FIVE: 101,
- /**
- * NUM_SIX
- */
- NUM_SIX: 102,
- /**
- * NUM_SEVEN
- */
- NUM_SEVEN: 103,
- /**
- * NUM_EIGHT
- */
- NUM_EIGHT: 104,
- /**
- * NUM_NINE
- */
- NUM_NINE: 105,
- /**
- * NUM_MULTIPLY
- */
- NUM_MULTIPLY: 106,
- /**
- * NUM_PLUS
- */
- NUM_PLUS: 107,
- /**
- * NUM_MINUS
- */
- NUM_MINUS: 109,
- /**
- * NUM_PERIOD
- */
- NUM_PERIOD: 110,
- /**
- * NUM_DIVISION
- */
- NUM_DIVISION: 111,
- /**
- * F1
- */
- F1: 112,
- /**
- * F2
- */
- F2: 113,
- /**
- * F3
- */
- F3: 114,
- /**
- * F4
- */
- F4: 115,
- /**
- * F5
- */
- F5: 116,
- /**
- * F6
- */
- F6: 117,
- /**
- * F7
- */
- F7: 118,
- /**
- * F8
- */
- F8: 119,
- /**
- * F9
- */
- F9: 120,
- /**
- * F10
- */
- F10: 121,
- /**
- * F11
- */
- F11: 122,
- /**
- * F12
- */
- F12: 123,
- /**
- * NUMLOCK
- */
- NUMLOCK: 144,
- /**
- * SEMICOLON
- */
- SEMICOLON: 186, // needs localization
- /**
- * DASH
- */
- DASH: 189, // needs localization
- /**
- * EQUALS
- */
- EQUALS: 187, // needs localization
- /**
- * COMMA
- */
- COMMA: 188, // needs localization
- /**
- * PERIOD
- */
- PERIOD: 190, // needs localization
- /**
- * SLASH
- */
- SLASH: 191, // needs localization
- /**
- * APOSTROPHE
- */
- APOSTROPHE: 192, // needs localization
- /**
- * SINGLE_QUOTE
- */
- SINGLE_QUOTE: 222, // needs localization
- /**
- * OPEN_SQUARE_BRACKET
- */
- OPEN_SQUARE_BRACKET: 219, // needs localization
- /**
- * BACKSLASH
- */
- BACKSLASH: 220, // needs localization
- /**
- * CLOSE_SQUARE_BRACKET
- */
- CLOSE_SQUARE_BRACKET: 221, // needs localization
- /**
- * WIN_KEY
- */
- WIN_KEY: 224,
- /**
- * MAC_FF_META
- */
- MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
- /**
- * WIN_IME
- */
- WIN_IME: 229
- };
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- /*
- whether text and modified key is entered at the same time.
- */
- KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
- var keyCode = e.keyCode;
- if (e.altKey && !e.ctrlKey || e.metaKey ||
- // Function keys don't generate text
- keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
- return false;
- }
+ var _EventObject = __webpack_require__(42);
- // The following keys are quite harmless, even in combination with
- // CTRL, ALT or SHIFT.
- switch (keyCode) {
- case KeyCode.ALT:
- case KeyCode.CAPS_LOCK:
- case KeyCode.CONTEXT_MENU:
- case KeyCode.CTRL:
- case KeyCode.DOWN:
- case KeyCode.END:
- case KeyCode.ESC:
- case KeyCode.HOME:
- case KeyCode.INSERT:
- case KeyCode.LEFT:
- case KeyCode.MAC_FF_META:
- case KeyCode.META:
- case KeyCode.NUMLOCK:
- case KeyCode.NUM_CENTER:
- case KeyCode.PAGE_DOWN:
- case KeyCode.PAGE_UP:
- case KeyCode.PAUSE:
- case KeyCode.PRINT_SCREEN:
- case KeyCode.RIGHT:
- case KeyCode.SHIFT:
- case KeyCode.UP:
- case KeyCode.WIN_KEY:
- case KeyCode.WIN_KEY_RIGHT:
- return false;
- default:
- return true;
- }
- };
+ var _EventObject2 = _interopRequireDefault(_EventObject);
- /*
- whether character is entered.
- */
- KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
- if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
- return true;
+ function addEventListener(target, eventType, callback, option) {
+ function wrapCallback(e) {
+ var ne = new _EventObject2['default'](e);
+ callback.call(target, ne);
}
- if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
- return true;
- }
+ if (target.addEventListener) {
+ var _ret = (function () {
+ var useCapture = false;
+ if (typeof option === 'object') {
+ useCapture = option.capture || false;
+ } else if (typeof option === 'boolean') {
+ useCapture = option;
+ }
- if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
- return true;
- }
+ target.addEventListener(eventType, wrapCallback, option || false);
- // Safari sends zero key code for non-latin characters.
- if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
- return true;
- }
+ return {
+ v: {
+ remove: function remove() {
+ target.removeEventListener(eventType, wrapCallback, useCapture);
+ }
+ }
+ };
+ })();
- switch (keyCode) {
- case KeyCode.SPACE:
- case KeyCode.QUESTION_MARK:
- case KeyCode.NUM_PLUS:
- case KeyCode.NUM_MINUS:
- case KeyCode.NUM_PERIOD:
- case KeyCode.NUM_DIVISION:
- case KeyCode.SEMICOLON:
- case KeyCode.DASH:
- case KeyCode.EQUALS:
- case KeyCode.COMMA:
- case KeyCode.PERIOD:
- case KeyCode.SLASH:
- case KeyCode.APOSTROPHE:
- case KeyCode.SINGLE_QUOTE:
- case KeyCode.OPEN_SQUARE_BRACKET:
- case KeyCode.BACKSLASH:
- case KeyCode.CLOSE_SQUARE_BRACKET:
- return true;
- default:
- return false;
+ if (typeof _ret === 'object') return _ret.v;
+ } else if (target.attachEvent) {
+ target.attachEvent('on' + eventType, wrapCallback);
+ return {
+ remove: function remove() {
+ target.detachEvent('on' + eventType, wrapCallback);
+ }
+ };
}
- };
+ }
- module.exports = KeyCode;
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports) {
-
- "use strict";
-
- exports.__esModule = true;
- exports.default = contains;
- function contains(root, n) {
- var node = n;
- while (node) {
- if (node === root) {
- return true;
- }
- node = node.parentNode;
- }
-
- return false;
- }
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- exports.__esModule = true;
- exports.default = addEventListenerWrap;
-
- var _addDomEventListener = __webpack_require__(41);
-
- var _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);
-
- var _reactDom = __webpack_require__(2);
-
- var _reactDom2 = _interopRequireDefault(_reactDom);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function addEventListenerWrap(target, eventType, cb) {
- /* eslint camelcase: 2 */
- var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {
- _reactDom2.default.unstable_batchedUpdates(cb, e);
- } : cb;
- return (0, _addDomEventListener2.default)(target, eventType, callback);
- }
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, '__esModule', {
- value: true
- });
- exports['default'] = addEventListener;
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- var _EventObject = __webpack_require__(42);
-
- var _EventObject2 = _interopRequireDefault(_EventObject);
-
- function addEventListener(target, eventType, callback, option) {
- function wrapCallback(e) {
- var ne = new _EventObject2['default'](e);
- callback.call(target, ne);
- }
-
- if (target.addEventListener) {
- var _ret = (function () {
- var useCapture = false;
- if (typeof option === 'object') {
- useCapture = option.capture || false;
- } else if (typeof option === 'boolean') {
- useCapture = option;
- }
-
- target.addEventListener(eventType, wrapCallback, option || false);
-
- return {
- v: {
- remove: function remove() {
- target.removeEventListener(eventType, wrapCallback, useCapture);
- }
- }
- };
- })();
-
- if (typeof _ret === 'object') return _ret.v;
- } else if (target.attachEvent) {
- target.attachEvent('on' + eventType, wrapCallback);
- return {
- remove: function remove() {
- target.detachEvent('on' + eventType, wrapCallback);
- }
- };
- }
- }
-
- module.exports = exports['default'];
+ module.exports = exports['default'];
/***/ }),
/* 42 */
@@ -3749,282 +3790,290 @@
/* 45 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
- var _Event = __webpack_require__(46);
-
- var _Event2 = _interopRequireDefault(_Event);
-
- var _componentClasses = __webpack_require__(47);
-
- var _componentClasses2 = _interopRequireDefault(_componentClasses);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
-
-
- var capitalPrefixes = ['Webkit', 'Moz', 'O',
- // ms is special .... !
- 'ms'];
- var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
-
- function getStyleProperty(node, name) {
- var style = window.getComputedStyle(node);
-
- var ret = '';
- for (var i = 0; i < prefixes.length; i++) {
- ret = style.getPropertyValue(prefixes[i] + name);
- if (ret) {
- break;
- }
- }
- return ret;
- }
-
- function fixBrowserByTimeout(node) {
- if (isCssAnimationSupported) {
- var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
- var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
- var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
- var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
- var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
- // sometimes, browser bug
- node.rcEndAnimTimeout = setTimeout(function () {
- node.rcEndAnimTimeout = null;
- if (node.rcEndListener) {
- node.rcEndListener();
- }
- }, time * 1000 + 200);
- }
- }
-
- function clearBrowserBugTimeout(node) {
- if (node.rcEndAnimTimeout) {
- clearTimeout(node.rcEndAnimTimeout);
- node.rcEndAnimTimeout = null;
- }
- }
-
- var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
- var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
- var className = nameIsObj ? transitionName.name : transitionName;
- var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
- var end = endCallback;
- var start = void 0;
- var active = void 0;
- var nodeClasses = (0, _componentClasses2.default)(node);
-
- if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
- end = endCallback.end;
- start = endCallback.start;
- active = endCallback.active;
- }
-
- if (node.rcEndListener) {
- node.rcEndListener();
- }
-
- node.rcEndListener = function (e) {
- if (e && e.target !== node) {
- return;
- }
-
- if (node.rcAnimTimeout) {
- clearTimeout(node.rcAnimTimeout);
- node.rcAnimTimeout = null;
- }
-
- clearBrowserBugTimeout(node);
-
- nodeClasses.remove(className);
- nodeClasses.remove(activeClassName);
-
- _Event2.default.removeEndEventListener(node, node.rcEndListener);
- node.rcEndListener = null;
-
- // Usually this optional end is used for informing an owner of
- // a leave animation and telling it to remove the child.
- if (end) {
- end();
- }
- };
-
- _Event2.default.addEndEventListener(node, node.rcEndListener);
-
- if (start) {
- start();
- }
- nodeClasses.add(className);
-
- node.rcAnimTimeout = setTimeout(function () {
- node.rcAnimTimeout = null;
- nodeClasses.add(activeClassName);
- if (active) {
- setTimeout(active, 0);
- }
- fixBrowserByTimeout(node);
- // 30ms for firefox
- }, 30);
-
- return {
- stop: function stop() {
- if (node.rcEndListener) {
- node.rcEndListener();
- }
- }
- };
- };
-
- cssAnimation.style = function (node, style, callback) {
- if (node.rcEndListener) {
- node.rcEndListener();
- }
-
- node.rcEndListener = function (e) {
- if (e && e.target !== node) {
- return;
- }
-
- if (node.rcAnimTimeout) {
- clearTimeout(node.rcAnimTimeout);
- node.rcAnimTimeout = null;
- }
-
- clearBrowserBugTimeout(node);
-
- _Event2.default.removeEndEventListener(node, node.rcEndListener);
- node.rcEndListener = null;
-
- // Usually this optional callback is used for informing an owner of
- // a leave animation and telling it to remove the child.
- if (callback) {
- callback();
- }
- };
-
- _Event2.default.addEndEventListener(node, node.rcEndListener);
-
- node.rcAnimTimeout = setTimeout(function () {
- for (var s in style) {
- if (style.hasOwnProperty(s)) {
- node.style[s] = style[s];
- }
- }
- node.rcAnimTimeout = null;
- fixBrowserByTimeout(node);
- }, 0);
- };
-
- cssAnimation.setTransition = function (node, p, value) {
- var property = p;
- var v = value;
- if (value === undefined) {
- v = property;
- property = '';
- }
- property = property || '';
- capitalPrefixes.forEach(function (prefix) {
- node.style[prefix + 'Transition' + property] = v;
- });
- };
-
- cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
-
+ 'use strict';
+
+ exports.__esModule = true;
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ var _Event = __webpack_require__(46);
+
+ var _Event2 = _interopRequireDefault(_Event);
+
+ var _componentClasses = __webpack_require__(47);
+
+ var _componentClasses2 = _interopRequireDefault(_componentClasses);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var isCssAnimationSupported = _Event2.default.endEvents.length !== 0;
+
+
+ var capitalPrefixes = ['Webkit', 'Moz', 'O',
+ // ms is special .... !
+ 'ms'];
+ var prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];
+
+ function getStyleProperty(node, name) {
+ var style = window.getComputedStyle(node);
+
+ var ret = '';
+ for (var i = 0; i < prefixes.length; i++) {
+ ret = style.getPropertyValue(prefixes[i] + name);
+ if (ret) {
+ break;
+ }
+ }
+ return ret;
+ }
+
+ function fixBrowserByTimeout(node) {
+ if (isCssAnimationSupported) {
+ var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;
+ var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;
+ var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;
+ var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;
+ var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);
+ // sometimes, browser bug
+ node.rcEndAnimTimeout = setTimeout(function () {
+ node.rcEndAnimTimeout = null;
+ if (node.rcEndListener) {
+ node.rcEndListener();
+ }
+ }, time * 1000 + 200);
+ }
+ }
+
+ function clearBrowserBugTimeout(node) {
+ if (node.rcEndAnimTimeout) {
+ clearTimeout(node.rcEndAnimTimeout);
+ node.rcEndAnimTimeout = null;
+ }
+ }
+
+ var cssAnimation = function cssAnimation(node, transitionName, endCallback) {
+ var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';
+ var className = nameIsObj ? transitionName.name : transitionName;
+ var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';
+ var end = endCallback;
+ var start = void 0;
+ var active = void 0;
+ var nodeClasses = (0, _componentClasses2.default)(node);
+
+ if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {
+ end = endCallback.end;
+ start = endCallback.start;
+ active = endCallback.active;
+ }
+
+ if (node.rcEndListener) {
+ node.rcEndListener();
+ }
+
+ node.rcEndListener = function (e) {
+ if (e && e.target !== node) {
+ return;
+ }
+
+ if (node.rcAnimTimeout) {
+ clearTimeout(node.rcAnimTimeout);
+ node.rcAnimTimeout = null;
+ }
+
+ clearBrowserBugTimeout(node);
+
+ nodeClasses.remove(className);
+ nodeClasses.remove(activeClassName);
+
+ _Event2.default.removeEndEventListener(node, node.rcEndListener);
+ node.rcEndListener = null;
+
+ // Usually this optional end is used for informing an owner of
+ // a leave animation and telling it to remove the child.
+ if (end) {
+ end();
+ }
+ };
+
+ _Event2.default.addEndEventListener(node, node.rcEndListener);
+
+ if (start) {
+ start();
+ }
+ nodeClasses.add(className);
+
+ node.rcAnimTimeout = setTimeout(function () {
+ node.rcAnimTimeout = null;
+ nodeClasses.add(activeClassName);
+ if (active) {
+ setTimeout(active, 0);
+ }
+ fixBrowserByTimeout(node);
+ // 30ms for firefox
+ }, 30);
+
+ return {
+ stop: function stop() {
+ if (node.rcEndListener) {
+ node.rcEndListener();
+ }
+ }
+ };
+ };
+
+ cssAnimation.style = function (node, style, callback) {
+ if (node.rcEndListener) {
+ node.rcEndListener();
+ }
+
+ node.rcEndListener = function (e) {
+ if (e && e.target !== node) {
+ return;
+ }
+
+ if (node.rcAnimTimeout) {
+ clearTimeout(node.rcAnimTimeout);
+ node.rcAnimTimeout = null;
+ }
+
+ clearBrowserBugTimeout(node);
+
+ _Event2.default.removeEndEventListener(node, node.rcEndListener);
+ node.rcEndListener = null;
+
+ // Usually this optional callback is used for informing an owner of
+ // a leave animation and telling it to remove the child.
+ if (callback) {
+ callback();
+ }
+ };
+
+ _Event2.default.addEndEventListener(node, node.rcEndListener);
+
+ node.rcAnimTimeout = setTimeout(function () {
+ for (var s in style) {
+ if (style.hasOwnProperty(s)) {
+ node.style[s] = style[s];
+ }
+ }
+ node.rcAnimTimeout = null;
+ fixBrowserByTimeout(node);
+ }, 0);
+ };
+
+ cssAnimation.setTransition = function (node, p, value) {
+ var property = p;
+ var v = value;
+ if (value === undefined) {
+ v = property;
+ property = '';
+ }
+ property = property || '';
+ capitalPrefixes.forEach(function (prefix) {
+ node.style[prefix + 'Transition' + property] = v;
+ });
+ };
+
+ cssAnimation.isCssAnimationSupported = isCssAnimationSupported;
+
exports.default = cssAnimation;
/***/ }),
/* 46 */
/***/ (function(module, exports) {
- 'use strict';
-
- exports.__esModule = true;
- var EVENT_NAME_MAP = {
- transitionend: {
- transition: 'transitionend',
- WebkitTransition: 'webkitTransitionEnd',
- MozTransition: 'mozTransitionEnd',
- OTransition: 'oTransitionEnd',
- msTransition: 'MSTransitionEnd'
- },
-
- animationend: {
- animation: 'animationend',
- WebkitAnimation: 'webkitAnimationEnd',
- MozAnimation: 'mozAnimationEnd',
- OAnimation: 'oAnimationEnd',
- msAnimation: 'MSAnimationEnd'
- }
- };
-
- var endEvents = [];
-
- function detectEvents() {
- var testEl = document.createElement('div');
- var style = testEl.style;
-
- if (!('AnimationEvent' in window)) {
- delete EVENT_NAME_MAP.animationend.animation;
- }
-
- if (!('TransitionEvent' in window)) {
- delete EVENT_NAME_MAP.transitionend.transition;
- }
-
- for (var baseEventName in EVENT_NAME_MAP) {
- if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
- var baseEvents = EVENT_NAME_MAP[baseEventName];
- for (var styleName in baseEvents) {
- if (styleName in style) {
- endEvents.push(baseEvents[styleName]);
- break;
- }
- }
- }
- }
- }
-
- if (typeof window !== 'undefined' && typeof document !== 'undefined') {
- detectEvents();
- }
-
- function addEventListener(node, eventName, eventListener) {
- node.addEventListener(eventName, eventListener, false);
- }
-
- function removeEventListener(node, eventName, eventListener) {
- node.removeEventListener(eventName, eventListener, false);
- }
-
- var TransitionEvents = {
- addEndEventListener: function addEndEventListener(node, eventListener) {
- if (endEvents.length === 0) {
- window.setTimeout(eventListener, 0);
- return;
- }
- endEvents.forEach(function (endEvent) {
- addEventListener(node, endEvent, eventListener);
- });
- },
-
-
- endEvents: endEvents,
-
- removeEndEventListener: function removeEndEventListener(node, eventListener) {
- if (endEvents.length === 0) {
- return;
- }
- endEvents.forEach(function (endEvent) {
- removeEventListener(node, endEvent, eventListener);
- });
- }
- };
-
+ 'use strict';
+
+ exports.__esModule = true;
+ /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+ var EVENT_NAME_MAP = {
+ transitionend: {
+ transition: 'transitionend',
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'mozTransitionEnd',
+ OTransition: 'oTransitionEnd',
+ msTransition: 'MSTransitionEnd'
+ },
+
+ animationend: {
+ animation: 'animationend',
+ WebkitAnimation: 'webkitAnimationEnd',
+ MozAnimation: 'mozAnimationEnd',
+ OAnimation: 'oAnimationEnd',
+ msAnimation: 'MSAnimationEnd'
+ }
+ };
+
+ var endEvents = [];
+
+ function detectEvents() {
+ var testEl = document.createElement('div');
+ var style = testEl.style;
+
+ if (!('AnimationEvent' in window)) {
+ delete EVENT_NAME_MAP.animationend.animation;
+ }
+
+ if (!('TransitionEvent' in window)) {
+ delete EVENT_NAME_MAP.transitionend.transition;
+ }
+
+ for (var baseEventName in EVENT_NAME_MAP) {
+ if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {
+ var baseEvents = EVENT_NAME_MAP[baseEventName];
+ for (var styleName in baseEvents) {
+ if (styleName in style) {
+ endEvents.push(baseEvents[styleName]);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
+ detectEvents();
+ }
+
+ function addEventListener(node, eventName, eventListener) {
+ node.addEventListener(eventName, eventListener, false);
+ }
+
+ function removeEventListener(node, eventName, eventListener) {
+ node.removeEventListener(eventName, eventListener, false);
+ }
+
+ var TransitionEvents = {
+ addEndEventListener: function addEndEventListener(node, eventListener) {
+ if (endEvents.length === 0) {
+ window.setTimeout(eventListener, 0);
+ return;
+ }
+ endEvents.forEach(function (endEvent) {
+ addEventListener(node, endEvent, eventListener);
+ });
+ },
+
+
+ endEvents: endEvents,
+
+ removeEndEventListener: function removeEndEventListener(node, eventListener) {
+ if (endEvents.length === 0) {
+ return;
+ }
+ endEvents.forEach(function (endEvent) {
+ removeEventListener(node, endEvent, eventListener);
+ });
+ }
+ };
+
exports.default = TransitionEvents;
/***/ }),
@@ -4240,241 +4289,248 @@
/* 49 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
- exports.default = toArray;
-
- var _react = __webpack_require__(1);
-
- var _react2 = _interopRequireDefault(_react);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function toArray(children) {
- var ret = [];
- _react2.default.Children.forEach(children, function (c) {
- ret.push(c);
- });
- return ret;
- }
+ 'use strict';
+
+ exports.__esModule = true;
+ exports.default = toArray;
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function toArray(children) {
+ var ret = [];
+ _react2.default.Children.forEach(children, function (c) {
+ ret.push(c);
+ });
+ return ret;
+ } /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
/***/ }),
/* 50 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ exports.__esModule = true;
+
+ var _react = __webpack_require__(1);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _propTypes = __webpack_require__(6);
+
+ var _propTypes2 = _interopRequireDefault(_propTypes);
+
+ var _reactDom = __webpack_require__(2);
+
+ var _reactDom2 = _interopRequireDefault(_reactDom);
+
+ var _domAlign = __webpack_require__(51);
+
+ var _domAlign2 = _interopRequireDefault(_domAlign);
+
+ var _addEventListener = __webpack_require__(40);
+
+ var _addEventListener2 = _interopRequireDefault(_addEventListener);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _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; }
+
+ function _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; } /**
+ * This source code is quoted from rc-util.
+ * homepage: https://github.com/react-component/util
+ */
+
+
+ //import isWindow from './isWindow';
+
+ function isWindow(obj) {
+ /* eslint no-eq-null: 0 */
+ /* eslint eqeqeq: 0 */
+ return obj != null && obj == obj.window;
+ }
+
+ function buffer(fn, ms) {
+ var timer = void 0;
+
+ function clear() {
+ if (timer) {
+ clearTimeout(timer);
+ timer = null;
+ }
+ }
+
+ function bufferFn() {
+ clear();
+ timer = setTimeout(fn, ms);
+ }
+
+ bufferFn.clear = clear;
+
+ return bufferFn;
+ }
+
+ var propTypes = {
+ childrenProps: _propTypes2.default.object,
+ align: _propTypes2.default.object.isRequired,
+ target: _propTypes2.default.func,
+ onAlign: _propTypes2.default.func,
+ monitorBufferTime: _propTypes2.default.number,
+ monitorWindowResize: _propTypes2.default.bool,
+ disabled: _propTypes2.default.bool,
+ children: _propTypes2.default.any
+ };
+
+ var defaultProps = {
+ target: function target() {
+ return window;
+ },
+ onAlign: function onAlign() {},
+
+ monitorBufferTime: 50,
+ monitorWindowResize: false,
+ disabled: false
+ };
+
+ var Align = function (_React$Component) {
+ _inherits(Align, _React$Component);
+
+ function Align(props) {
+ _classCallCheck(this, Align);
+
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
+
+ _initialiseProps.call(_this);
+
+ return _this;
+ }
+
+ Align.prototype.componentDidMount = function componentDidMount() {
+ var props = this.props;
+ // if parent ref not attached .... use document.getElementById
+ this.forceAlign();
+ if (!props.disabled && props.monitorWindowResize) {
+ this.startMonitorWindowResize();
+ }
+ };
+
+ Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
+ var reAlign = false;
+ var props = this.props;
+
+ if (!props.disabled) {
+ if (prevProps.disabled || prevProps.align !== props.align) {
+ reAlign = true;
+ } else {
+ var lastTarget = prevProps.target();
+ var currentTarget = props.target();
+ if (isWindow(lastTarget) && isWindow(currentTarget)) {
+ reAlign = false;
+ } else if (lastTarget !== currentTarget) {
+ reAlign = true;
+ }
+ }
+ }
+
+ if (reAlign) {
+ this.forceAlign();
+ }
+
+ if (props.monitorWindowResize && !props.disabled) {
+ this.startMonitorWindowResize();
+ } else {
+ this.stopMonitorWindowResize();
+ }
+ };
+
+ Align.prototype.componentWillUnmount = function componentWillUnmount() {
+ this.stopMonitorWindowResize();
+ };
+
+ Align.prototype.render = function render() {
+ var _props = this.props,
+ childrenProps = _props.childrenProps,
+ children = _props.children;
+
+ var child = _react2.default.Children.only(children);
+ if (childrenProps) {
+ var newProps = {};
+ for (var prop in childrenProps) {
+ if (childrenProps.hasOwnProperty(prop)) {
+ newProps[prop] = this.props[childrenProps[prop]];
+ }
+ }
+ return _react2.default.cloneElement(child, newProps);
+ }
+ return child;
+ };
+
+ return Align;
+ }(_react2.default.Component);
+
+ var _initialiseProps = function _initialiseProps() {
+ var _this2 = this;
+
+ this.startMonitorWindowResize = function () {
+ if (!_this2.resizeHandler) {
+ _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
+ _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
+ }
+ };
+
+ this.stopMonitorWindowResize = function () {
+ if (_this2.resizeHandler) {
+ _this2.bufferMonitor.clear();
+ _this2.resizeHandler.remove();
+ _this2.resizeHandler = null;
+ }
+ };
+
+ this.forceAlign = function () {
+ var props = _this2.props;
+ if (!props.disabled) {
+ var source = _reactDom2.default.findDOMNode(_this2);
+ props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
+ }
+ };
+ };
+
+ ;
+
+ Align.defaultProps = defaultProps;
+ Align.propTypes = propTypes;
+
+ exports.default = Align;
+
+/***/ }),
+/* 51 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
- exports.__esModule = true;
-
- var _react = __webpack_require__(1);
-
- var _react2 = _interopRequireDefault(_react);
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.alignPoint = exports.alignElement = undefined;
- var _propTypes = __webpack_require__(6);
+ var _alignElement = __webpack_require__(52);
- var _propTypes2 = _interopRequireDefault(_propTypes);
+ var _alignElement2 = _interopRequireDefault(_alignElement);
- var _reactDom = __webpack_require__(2);
+ var _alignPoint = __webpack_require__(63);
- var _reactDom2 = _interopRequireDefault(_reactDom);
+ var _alignPoint2 = _interopRequireDefault(_alignPoint);
- var _domAlign = __webpack_require__(51);
-
- var _domAlign2 = _interopRequireDefault(_domAlign);
-
- var _addEventListener = __webpack_require__(40);
-
- var _addEventListener2 = _interopRequireDefault(_addEventListener);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
- function _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; }
-
- function _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; }
-
- //import isWindow from './isWindow';
-
- function isWindow(obj) {
- /* eslint no-eq-null: 0 */
- /* eslint eqeqeq: 0 */
- return obj != null && obj == obj.window;
- }
-
- function buffer(fn, ms) {
- var timer = void 0;
-
- function clear() {
- if (timer) {
- clearTimeout(timer);
- timer = null;
- }
- }
-
- function bufferFn() {
- clear();
- timer = setTimeout(fn, ms);
- }
-
- bufferFn.clear = clear;
-
- return bufferFn;
- }
-
- var propTypes = {
- childrenProps: _propTypes2.default.object,
- align: _propTypes2.default.object.isRequired,
- target: _propTypes2.default.func,
- onAlign: _propTypes2.default.func,
- monitorBufferTime: _propTypes2.default.number,
- monitorWindowResize: _propTypes2.default.bool,
- disabled: _propTypes2.default.bool,
- children: _propTypes2.default.any
- };
-
- var defaultProps = {
- target: function target() {
- return window;
- },
- onAlign: function onAlign() {},
-
- monitorBufferTime: 50,
- monitorWindowResize: false,
- disabled: false
- };
-
- var Align = function (_React$Component) {
- _inherits(Align, _React$Component);
-
- function Align(props) {
- _classCallCheck(this, Align);
-
- var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));
-
- _initialiseProps.call(_this);
-
- return _this;
- }
-
- Align.prototype.componentDidMount = function componentDidMount() {
- var props = this.props;
- // if parent ref not attached .... use document.getElementById
- this.forceAlign();
- if (!props.disabled && props.monitorWindowResize) {
- this.startMonitorWindowResize();
- }
- };
-
- Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
- var reAlign = false;
- var props = this.props;
-
- if (!props.disabled) {
- if (prevProps.disabled || prevProps.align !== props.align) {
- reAlign = true;
- } else {
- var lastTarget = prevProps.target();
- var currentTarget = props.target();
- if (isWindow(lastTarget) && isWindow(currentTarget)) {
- reAlign = false;
- } else if (lastTarget !== currentTarget) {
- reAlign = true;
- }
- }
- }
-
- if (reAlign) {
- this.forceAlign();
- }
-
- if (props.monitorWindowResize && !props.disabled) {
- this.startMonitorWindowResize();
- } else {
- this.stopMonitorWindowResize();
- }
- };
-
- Align.prototype.componentWillUnmount = function componentWillUnmount() {
- this.stopMonitorWindowResize();
- };
-
- Align.prototype.render = function render() {
- var _props = this.props,
- childrenProps = _props.childrenProps,
- children = _props.children;
-
- var child = _react2.default.Children.only(children);
- if (childrenProps) {
- var newProps = {};
- for (var prop in childrenProps) {
- if (childrenProps.hasOwnProperty(prop)) {
- newProps[prop] = this.props[childrenProps[prop]];
- }
- }
- return _react2.default.cloneElement(child, newProps);
- }
- return child;
- };
-
- return Align;
- }(_react2.default.Component);
-
- var _initialiseProps = function _initialiseProps() {
- var _this2 = this;
-
- this.startMonitorWindowResize = function () {
- if (!_this2.resizeHandler) {
- _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);
- _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);
- }
- };
-
- this.stopMonitorWindowResize = function () {
- if (_this2.resizeHandler) {
- _this2.bufferMonitor.clear();
- _this2.resizeHandler.remove();
- _this2.resizeHandler = null;
- }
- };
-
- this.forceAlign = function () {
- var props = _this2.props;
- if (!props.disabled) {
- var source = _reactDom2.default.findDOMNode(_this2);
- props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));
- }
- };
- };
-
- ;
-
- Align.defaultProps = defaultProps;
- Align.propTypes = propTypes;
-
- exports.default = Align;
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.alignPoint = exports.alignElement = undefined;
-
- var _alignElement = __webpack_require__(52);
-
- var _alignElement2 = _interopRequireDefault(_alignElement);
-
- var _alignPoint = __webpack_require__(63);
-
- var _alignPoint2 = _interopRequireDefault(_alignPoint);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports.alignElement = _alignElement2['default'];
exports.alignPoint = _alignPoint2['default'];
@@ -8021,64 +8077,17 @@
});
};
/**
- * A transition component inspired by the excellent
- * [ng-animate](http://www.nganimate.org/) library, you should use it if you're
- * using CSS transitions or animations. It's built upon the
- * [`Transition`](https://reactcommunity.org/react-transition-group/transition)
- * component, so it inherits all of its props.
+ * A `Transition` component using CSS transitions and animations.
+ * It's inspired by the excellent [ng-animate](http://www.nganimate.org/) library.
*
* `CSSTransition` applies a pair of class names during the `appear`, `enter`,
- * and `exit` states of the transition. The first class is applied and then a
- * second `*-active` class in order to activate the CSSS transition. After the
- * transition, matching `*-done` class names are applied to persist the
- * transition state.
- *
- * ```jsx
- * function App() {
- * const [inProp, setInProp] = useState(false);
- * return (
- *
- *
- *
- * {"I'll receive my-node-* classes"}
- *
- *
- *
setInProp(true)}>
- * Click to Enter
- *
- *
- * );
- * }
- * ```
- *
- * When the `in` prop is set to `true`, the child component will first receive
- * the class `example-enter`, then the `example-enter-active` will be added in
- * the next tick. `CSSTransition` [forces a
- * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)
- * between before adding the `example-enter-active`. This is an important trick
- * because it allows us to transition between `example-enter` and
- * `example-enter-active` even though they were added immediately one after
- * another. Most notably, this is what makes it possible for us to animate
- * _appearance_.
- *
- * ```css
- * .my-node-enter {
- * opacity: 0;
- * }
- * .my-node-enter-active {
- * opacity: 1;
- * transition: opacity 200ms;
- * }
- * .my-node-exit {
- * opacity: 1;
- * }
- * .my-node-exit-active {
- * opacity: 0;
- * transition: opacity: 200ms;
- * }
- * ```
+ * and `exit` stages of the transition. The first class is applied and then a
+ * second "active" class in order to activate the css animation. After the animation,
+ * matching `done` class names are applied to persist the animation state.
*
- * `*-active` classes represent which styles you want to animate **to**.
+ * When the `in` prop is toggled to `true` the Component will get
+ * the `example-enter` CSS class and the `example-enter-active` CSS class
+ * added in the next tick. This is a convention based on the `classNames` prop.
*/
@@ -8121,11 +8130,8 @@
};
_this.onEntered = function (node, appearing) {
- var appearClassName = _this.getClassNames('appear').doneClassName;
-
- var enterClassName = _this.getClassNames('enter').doneClassName;
-
- var doneClassName = appearing ? appearClassName + " " + enterClassName : enterClassName;
+ var _this$getClassNames3 = _this.getClassNames('enter'),
+ doneClassName = _this$getClassNames3.doneClassName;
_this.removeClasses(node, appearing ? 'appear' : 'enter');
@@ -8137,8 +8143,8 @@
};
_this.onExit = function (node) {
- var _this$getClassNames3 = _this.getClassNames('exit'),
- className = _this$getClassNames3.className;
+ var _this$getClassNames4 = _this.getClassNames('exit'),
+ className = _this$getClassNames4.className;
_this.removeClasses(node, 'appear');
@@ -8152,8 +8158,8 @@
};
_this.onExiting = function (node) {
- var _this$getClassNames4 = _this.getClassNames('exit'),
- activeClassName = _this$getClassNames4.activeClassName;
+ var _this$getClassNames5 = _this.getClassNames('exit'),
+ activeClassName = _this$getClassNames5.activeClassName;
_this.reflowAndAddClass(node, activeClassName);
@@ -8163,8 +8169,8 @@
};
_this.onExited = function (node) {
- var _this$getClassNames5 = _this.getClassNames('exit'),
- doneClassName = _this$getClassNames5.doneClassName;
+ var _this$getClassNames6 = _this.getClassNames('exit'),
+ doneClassName = _this$getClassNames6.doneClassName;
_this.removeClasses(node, 'exit');
@@ -8177,11 +8183,9 @@
_this.getClassNames = function (type) {
var classNames = _this.props.classNames;
- var isStringClassNames = typeof classNames === 'string';
- var prefix = isStringClassNames && classNames ? classNames + '-' : '';
- var className = isStringClassNames ? prefix + type : classNames[type];
- var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];
- var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];
+ var className = typeof classNames !== 'string' ? classNames[type] : classNames + '-' + type;
+ var activeClassName = typeof classNames !== 'string' ? classNames[type + 'Active'] : className + '-active';
+ var doneClassName = typeof classNames !== 'string' ? classNames[type + 'Done'] : className + '-done';
return {
className: className,
activeClassName: activeClassName,
@@ -8195,10 +8199,10 @@
var _proto = CSSTransition.prototype;
_proto.removeClasses = function removeClasses(node, type) {
- var _this$getClassNames6 = this.getClassNames(type),
- className = _this$getClassNames6.className,
- activeClassName = _this$getClassNames6.activeClassName,
- doneClassName = _this$getClassNames6.doneClassName;
+ var _this$getClassNames7 = this.getClassNames(type),
+ className = _this$getClassNames7.className,
+ activeClassName = _this$getClassNames7.activeClassName,
+ doneClassName = _this$getClassNames7.doneClassName;
className && removeClass(node, className);
activeClassName && removeClass(node, activeClassName);
@@ -8234,34 +8238,19 @@
return CSSTransition;
}(_react.default.Component);
- CSSTransition.defaultProps = {
- classNames: ''
- };
CSSTransition.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _Transition.default.propTypes, {
/**
- * The animation classNames applied to the component as it enters, exits or
- * has finished the transition. A single name can be provided and it will be
- * suffixed for each stage: e.g.
- *
- * `classNames="fade"` applies `fade-enter`, `fade-enter-active`,
- * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,
- * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.
- *
- * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.
- * This allows you to define different behavior for when appearing is done and
- * when regular entering is done, using selectors like
- * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an
- * epic entrance animation when element first appears in the DOM using
- * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can
- * simply use `fade-enter-done` for defining both cases.
+ * The animation classNames applied to the component as it enters, exits or has finished the transition.
+ * A single name can be provided and it will be suffixed for each stage: e.g.
*
+ * `classNames="fade"` applies `fade-enter`, `fade-enter-active`, `fade-enter-done`,
+ * `fade-exit`, `fade-exit-active`, `fade-exit-done`, `fade-appear`, and `fade-appear-active`.
* Each individual classNames can also be specified independently like:
*
* ```js
* classNames={{
* appear: 'my-appear',
* appearActive: 'my-active-appear',
- * appearDone: 'my-done-appear',
* enter: 'my-enter',
* enterActive: 'my-active-enter',
* enterDone: 'my-done-enter',
@@ -8277,8 +8266,8 @@
* import styles from './styles.css';
* ```
*
- * you might want to use camelCase in your CSS file, that way could simply
- * spread them instead of listing them one by one:
+ * you might want to use camelCase in your CSS file, that way could simply spread
+ * them instead of listing them one by one:
*
* ```js
* classNames={{ ...styles }}
@@ -8287,7 +8276,6 @@
* @type {string | {
* appear?: string,
* appearActive?: string,
- * appearDone?: string,
* enter?: string,
* enterActive?: string,
* enterDone?: string,
@@ -8440,24 +8428,13 @@
* it's used to animate the mounting and unmounting of a component, but can also
* be used to describe in-place transition states as well.
*
- * ---
- *
- * **Note**: `Transition` is a platform-agnostic base component. If you're using
- * transitions in CSS, you'll probably want to use
- * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
- * instead. It inherits all the features of `Transition`, but contains
- * additional features necessary to play nice with CSS transitions (hence the
- * name of the component).
- *
- * ---
- *
* By default the `Transition` component does not alter the behavior of the
- * component it renders, it only tracks "enter" and "exit" states for the
- * components. It's up to you to give meaning and effect to those states. For
- * example we can add styles to a component when it enters or exits:
+ * component it renders, it only tracks "enter" and "exit" states for the components.
+ * It's up to you to give meaning and effect to those states. For example we can
+ * add styles to a component when it enters or exits:
*
* ```jsx
- * import { Transition } from 'react-transition-group';
+ * import Transition from 'react-transition-group/Transition';
*
* const duration = 300;
*
@@ -8473,7 +8450,7 @@
*
* const Fade = ({ in: inProp }) => (
*
- * {state => (
+ * {(state) => (
* {
+ * this.setState({ in: true });
+ * }
+ *
+ * render() {
* return (
*
- *
- * {state => (
- * // ...
- * )}
- *
- * setInProp(true)}>
- * Click to Enter
- *
+ *
+ * Click to Enter
*
* );
* }
* ```
*
- * When the button is clicked the component will shift to the `'entering'` state
- * and stay there for 500ms (the value of `timeout`) before it finally switches
- * to `'entered'`.
+ * When the button is clicked the component will shift to the `'entering'` state and
+ * stay there for 500ms (the value of `timeout`) before it finally switches to `'entered'`.
+ *
+ * When `in` is `false` the same thing happens except the state moves from `'exiting'` to `'exited'`.
+ *
+ * ## Timing
*
- * When `in` is `false` the same thing happens except the state moves from
- * `'exiting'` to `'exited'`.
+ * Timing is often the trickiest part of animation, mistakes can result in slight delays
+ * that are hard to pin down. A common example is when you want to add an exit transition,
+ * you should set the desired final styles when the state is `'exiting'`. That's when the
+ * transition to those styles will start and, if you matched the `timeout` prop with the
+ * CSS Transition duration, it will end exactly when the state changes to `'exited'`.
+ *
+ * > **Note**: For simpler transitions the `Transition` component might be enough, but
+ * > take into account that it's platform-agnostic, while the `CSSTransition` component
+ * > [forces reflows](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)
+ * > in order to make more complex transitions more predictable. For example, even though
+ * > classes `example-enter` and `example-enter-active` are applied immediately one after
+ * > another, you can still transition from one to the other because of the forced reflow
+ * > (read [this issue](https://github.com/reactjs/react-transition-group/issues/159#issuecomment-322761171)
+ * > for more info). Take this into account when choosing between `Transition` and
+ * > `CSSTransition`.
*/
exports.EXITING = EXITING;
@@ -8835,15 +8829,15 @@
};
Transition.propTypes = process.env.NODE_ENV !== "production" ? {
/**
- * A `function` child can be used instead of a React element. This function is
- * called with the current transition status (`'entering'`, `'entered'`,
- * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context
- * specific props to a component.
+ * A `function` child can be used instead of a React element.
+ * This function is called with the current transition status
+ * ('entering', 'entered', 'exiting', 'exited', 'unmounted'), which can be used
+ * to apply context specific props to a component.
*
* ```jsx
- *
- * {state => (
- *
+ *
+ * {(status) => (
+ *
* )}
*
* ```
@@ -8890,32 +8884,27 @@
/**
* The duration of the transition, in milliseconds.
- * Required unless `addEndListener` is provided.
- *
- * You may specify a single timeout for all transitions:
- *
- * ```jsx
- * timeout={500}
- * ```
+ * Required unless `addEndListener` is provided
*
- * or individually:
+ * You may specify a single timeout for all transitions like: `timeout={500}`,
+ * or individually like:
*
* ```jsx
* timeout={{
- * appear: 500,
* enter: 300,
* exit: 500,
+ * appear: 500,
* }}
* ```
*
- * - `appear` defaults to the value of `enter`
- * - `enter` defaults to `0`
- * - `exit` defaults to `0`
+ * If the value of `appear` is not set, then the value from enter is taken.
+ *
+ * If the `enter` or `exit` value is `null` or `undefined`, then the timer is set to `0`
*
* @type {number | { enter?: number, exit?: number, appear?: number }}
*/
timeout: function timeout(props) {
- var pt = _PropTypes.timeoutsShape;
+ var pt = process.env.NODE_ENV !== "production" ? _PropTypes.timeoutsShape : {};;
if (!props.addEndListener) pt = pt.isRequired;
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -9535,12 +9524,12 @@
* remember to spread them through if you are wrapping the `` as
* with our `` example.
*
- * While this component is meant for multiple `Transition` or `CSSTransition`
- * children, sometimes you may want to have a single transition child with
- * content that you want to be transitioned out and in when you change it
- * (e.g. routes, images etc.) In that case you can change the `key` prop of
- * the transition child as you change its content, this will cause
- * `TransitionGroup` to transition the child out and back in.
+ * While this component is meant to make it easier to animate multiple
+ * `Transition` or `CSSTransition` children, sometimes you want to transition a
+ * single child by changing its content, e.g. routes, slides, images in a
+ * carousel etc. In that case you can change the `key` prop of the child
+ * component along with its content, that way `TransitionGroup` will know that
+ * it should transition the child.
*/
children: _propTypes.default.node,
@@ -16154,38 +16143,38 @@
function _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) : _defaults(subClass, superClass); }
var propTypes = {
- /**
- * @title 尺寸
+ /**
+ * @title 尺寸
*/
- size: _propTypes2["default"].oneOf(['sm', 'xg', 'lg']),
- /**
- * @title 样式
+ size: _propTypes2["default"].oneOf(['sm', 'md', 'xg', 'lg']),
+ /**
+ * @title 样式
*/
style: _propTypes2["default"].object,
- /**
- * @title 形状
+ /**
+ * @title 形状
*/
shape: _propTypes2["default"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),
bordered: _propTypes2["default"].bool,
- /**
- * @title 类型
+ /**
+ * @title 类型
*/
- colors: _propTypes2["default"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default']),
- /**
- * @title 是否禁用
- * @veIgnore
+ colors: _propTypes2["default"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),
+ /**
+ * @title 是否禁用
+ * @veIgnore
*/
disabled: _propTypes2["default"].bool,
- /**
- * @title 类名
- * @veIgnore
+ /**
+ * @title 类名
+ * @veIgnore
*/
className: _propTypes2["default"].string,
- /**
- * @title 的 type
- * @veIgnore
+ /**
+ * @title 的 type
+ * @veIgnore
*/
htmlType: _propTypes2["default"].oneOf(['submit', 'button', 'reset']),
isSubmit: _propTypes2["default"].bool //是否作为form的提交按钮
@@ -16201,16 +16190,20 @@
var sizeMap = {
sm: 'sm',
+ md: 'md',
xg: 'xg',
lg: 'lg'
},
colorsMap = {
primary: 'primary',
+ secondary: 'secondary',
accent: 'accent',
success: 'success',
info: 'info',
warning: 'warning',
- danger: 'danger'
+ danger: 'danger',
+ dark: 'dark',
+ light: 'light'
},
shapeMap = {
block: 'block',
@@ -16260,7 +16253,9 @@
if (colorsMap[colors]) {
clsObj[clsPrefix + '-' + colorsMap[colors]] = true;
}
- //clsObj[`${clsPrefix}-border`] = bordered;
+ if (bordered) {
+ clsObj[clsPrefix + '-border'] = bordered;
+ }
var classes = (0, _classnames2["default"])(clsPrefix, clsObj);
return _react2["default"].createElement(
'button',
@@ -16319,7 +16314,7 @@
var _reactBeautifulDnd = __webpack_require__(159);
- var _reactDraggable = __webpack_require__(257);
+ var _reactDraggable = __webpack_require__(261);
var _reactDraggable2 = _interopRequireDefault(_reactDraggable);
@@ -16327,19 +16322,19 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
- var _SortList = __webpack_require__(259);
+ var _SortList = __webpack_require__(263);
var _SortList2 = _interopRequireDefault(_SortList);
- var _Between = __webpack_require__(261);
+ var _Between = __webpack_require__(265);
var _Between2 = _interopRequireDefault(_Between);
- var _GridLayout = __webpack_require__(262);
+ var _GridLayout = __webpack_require__(266);
var _GridLayout2 = _interopRequireDefault(_GridLayout);
@@ -16469,43 +16464,127 @@
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var _extends = _interopDefault(__webpack_require__(160));
- var invariant = _interopDefault(__webpack_require__(199));
- var cssBoxModel = __webpack_require__(200);
- var _Object$keys = _interopDefault(__webpack_require__(201));
- var memoizeOne = _interopDefault(__webpack_require__(205));
- var redux = __webpack_require__(206);
- var _Object$assign = _interopDefault(__webpack_require__(161));
- var rafSchd = _interopDefault(__webpack_require__(210));
- var _inheritsLoose = _interopDefault(__webpack_require__(211));
var React = __webpack_require__(1);
var React__default = _interopDefault(React);
- var PropTypes = _interopDefault(__webpack_require__(6));
- var reactRedux = __webpack_require__(218);
- var reactMotion = __webpack_require__(243);
+ var useMemoOne = __webpack_require__(199);
+ var _inheritsLoose = _interopDefault(__webpack_require__(200));
+ var invariant = _interopDefault(__webpack_require__(207));
+ var redux = __webpack_require__(208);
+ var reactRedux = __webpack_require__(212);
+ var cssBoxModel = __webpack_require__(243);
+ var memoizeOne = _interopDefault(__webpack_require__(244));
+ var _Object$values = _interopDefault(__webpack_require__(245));
+ var _Object$keys = _interopDefault(__webpack_require__(249));
+ var _Date$now = _interopDefault(__webpack_require__(253));
+ var rafSchd = _interopDefault(__webpack_require__(256));
+ var _Object$assign = _interopDefault(__webpack_require__(161));
+ var _Number$isInteger = _interopDefault(__webpack_require__(257));
- var vertical = {
- direction: 'vertical',
- line: 'y',
- crossAxisLine: 'x',
- start: 'top',
- end: 'bottom',
- size: 'height',
- crossAxisStart: 'left',
- crossAxisEnd: 'right',
- crossAxisSize: 'width'
+ var isProduction = process.env.NODE_ENV === 'production';
+ var spacesAndTabs = /[ \t]{2,}/g;
+ var lineStartWithSpaces = /^[ \t]*/gm;
+
+ var clean = function clean(value) {
+ return value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();
};
- var horizontal = {
- direction: 'horizontal',
- line: 'x',
- crossAxisLine: 'y',
- start: 'left',
- end: 'right',
- size: 'width',
- crossAxisStart: 'top',
- crossAxisEnd: 'bottom',
- crossAxisSize: 'height'
+
+ var getDevMessage = function getDevMessage(message) {
+ return clean("\n %creact-beautiful-dnd\n\n %c" + clean(message) + "\n\n %c\uD83D\uDC77\u200D This is a development only message. It will be removed in production builds.\n");
+ };
+
+ var getFormattedMessage = function getFormattedMessage(message) {
+ return [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];
+ };
+ var isDisabledFlag = '__react-beautiful-dnd-disable-dev-warnings';
+ var warning = function warning(message) {
+ var _console;
+
+ if (isProduction) {
+ return;
+ }
+
+ if (typeof window !== 'undefined' && window[isDisabledFlag]) {
+ return;
+ }
+
+ (_console = console).warn.apply(_console, getFormattedMessage(message));
};
+ function printFatalError(error) {
+ var _console;
+
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
+
+ (_console = console).error.apply(_console, getFormattedMessage("\n An error has occurred while a drag is occurring.\n Any existing drag will be cancelled.\n\n > " + error.message + "\n "));
+
+ console.error('raw', error);
+ }
+
+ function shouldRecover(error) {
+ return error.message.indexOf('Invariant failed') !== -1;
+ }
+
+ var ErrorBoundary = function (_React$Component) {
+ _inheritsLoose(ErrorBoundary, _React$Component);
+
+ function ErrorBoundary() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
+ _this.onError = void 0;
+
+ _this.setOnError = function (fn) {
+ _this.onError = fn;
+ };
+
+ _this.onFatalError = function (error) {
+ printFatalError(error);
+
+ if (_this.onError) {
+ _this.onError();
+ } else {
+ process.env.NODE_ENV !== "production" ? warning('Could not find recovering function') : void 0;
+ }
+
+ if (shouldRecover(error)) {
+ _this.setState({});
+ }
+ };
+
+ return _this;
+ }
+
+ var _proto = ErrorBoundary.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ window.addEventListener('error', this.onFatalError);
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ window.removeEventListener('error', this.onFatalError);
+ };
+
+ _proto.componentDidCatch = function componentDidCatch(error) {
+ this.onFatalError(error);
+
+ if (!shouldRecover(error)) {
+ throw error;
+ }
+ };
+
+ _proto.render = function render() {
+ return this.props.children(this.setOnError);
+ };
+
+ return ErrorBoundary;
+ }(React__default.Component);
+
var origin = {
x: 0,
y: 0
@@ -16531,12 +16610,6 @@
y: point.y !== 0 ? -point.y : 0
};
};
- var absolute = function absolute(point) {
- return {
- x: Math.abs(point.x),
- y: Math.abs(point.y)
- };
- };
var patch = function patch(line, value, otherValue) {
var _ref;
@@ -16563,20 +16636,30 @@
};
};
- var offsetByPosition = function offsetByPosition(spacing, point) {
- return {
- top: spacing.top + point.y,
- left: spacing.left + point.x,
- bottom: spacing.bottom + point.y,
- right: spacing.right + point.x
- };
+ var executeClip = (function (frame, subject) {
+ var result = cssBoxModel.getRect({
+ top: Math.max(subject.top, frame.top),
+ right: Math.min(subject.right, frame.right),
+ bottom: Math.min(subject.bottom, frame.bottom),
+ left: Math.max(subject.left, frame.left)
+ });
+
+ if (result.width <= 0 || result.height <= 0) {
+ return null;
+ }
+
+ return result;
+ });
+
+ var isEqual$1 = function isEqual(first, second) {
+ return first.top === second.top && first.right === second.right && first.bottom === second.bottom && first.left === second.left;
};
- var expandByPosition = function expandByPosition(spacing, position) {
+ var offsetByPosition = function offsetByPosition(spacing, point) {
return {
- top: spacing.top - position.y,
- left: spacing.left - position.x,
- right: spacing.right + position.x,
- bottom: spacing.bottom + position.y
+ top: spacing.top + point.y,
+ left: spacing.left + point.x,
+ bottom: spacing.bottom + point.y,
+ right: spacing.right + point.x
};
};
var getCorners = function getCorners(spacing) {
@@ -16594,100 +16677,61 @@
y: spacing.bottom
}];
};
+ var noSpacing = {
+ top: 0,
+ right: 0,
+ bottom: 0,
+ left: 0
+ };
- var getMaxScroll = (function (_ref) {
- var scrollHeight = _ref.scrollHeight,
- scrollWidth = _ref.scrollWidth,
- height = _ref.height,
- width = _ref.width;
- var maxScroll = subtract({
- x: scrollWidth,
- y: scrollHeight
- }, {
- x: width,
- y: height
- });
- var adjustedMaxScroll = {
- x: Math.max(0, maxScroll.x),
- y: Math.max(0, maxScroll.y)
- };
- return adjustedMaxScroll;
- });
+ var scroll = function scroll(target, frame) {
+ if (!frame) {
+ return target;
+ }
- var clip = function clip(frame, subject) {
- var result = cssBoxModel.getRect({
- top: Math.max(subject.top, frame.top),
- right: Math.min(subject.right, frame.right),
- bottom: Math.min(subject.bottom, frame.bottom),
- left: Math.max(subject.left, frame.left)
- });
+ return offsetByPosition(target, frame.scroll.diff.displacement);
+ };
- if (result.width <= 0 || result.height <= 0) {
- return null;
+ var increase = function increase(target, axis, withPlaceholder) {
+ if (withPlaceholder && withPlaceholder.increasedBy) {
+ var _extends2;
+
+ return _extends({}, target, (_extends2 = {}, _extends2[axis.end] = target[axis.end] + withPlaceholder.increasedBy[axis.line], _extends2));
}
- return result;
+ return target;
};
- var getDroppableDimension = function getDroppableDimension(_ref) {
- var descriptor = _ref.descriptor,
- isEnabled = _ref.isEnabled,
- direction = _ref.direction,
- client = _ref.client,
- page = _ref.page,
- closest$$1 = _ref.closest;
- var scrollable = function () {
- if (!closest$$1) {
- return null;
- }
+ var clip = function clip(target, frame) {
+ if (frame && frame.shouldClipSubject) {
+ return executeClip(frame.pageMarginBox, target);
+ }
- var maxScroll = getMaxScroll({
- scrollHeight: closest$$1.scrollHeight,
- scrollWidth: closest$$1.scrollWidth,
- height: closest$$1.client.paddingBox.height,
- width: closest$$1.client.paddingBox.width
- });
- return {
- framePageMarginBox: closest$$1.page.marginBox,
- shouldClipSubject: closest$$1.shouldClipSubject,
- scroll: {
- initial: closest$$1.scroll,
- current: closest$$1.scroll,
- max: maxScroll,
- diff: {
- value: origin,
- displacement: origin
- }
- }
- };
- }();
+ return cssBoxModel.getRect(target);
+ };
- var subjectPageMarginBox = page.marginBox;
- var clippedPageMarginBox = scrollable && scrollable.shouldClipSubject ? clip(scrollable.framePageMarginBox, subjectPageMarginBox) : subjectPageMarginBox;
- var viewport = {
- closestScrollable: scrollable,
- subjectPageMarginBox: subjectPageMarginBox,
- clippedPageMarginBox: clippedPageMarginBox
- };
- var dimension = {
- descriptor: descriptor,
- axis: direction === 'vertical' ? vertical : horizontal,
- isEnabled: isEnabled,
- client: client,
+ var getSubject = (function (_ref) {
+ var page = _ref.page,
+ withPlaceholder = _ref.withPlaceholder,
+ axis = _ref.axis,
+ frame = _ref.frame;
+ var scrolled = scroll(page.marginBox, frame);
+ var increased = increase(scrolled, axis, withPlaceholder);
+ var clipped = clip(increased, frame);
+ return {
page: page,
- viewport: viewport
+ withPlaceholder: withPlaceholder,
+ active: clipped
};
- return dimension;
- };
- var scrollDroppable = function scrollDroppable(droppable, newScroll) {
- !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
- var scrollable = droppable.viewport.closestScrollable;
- var framePageMarginBox = scrollable.framePageMarginBox;
+ });
+
+ var scrollDroppable = (function (droppable, newScroll) {
+ !droppable.frame ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
+ var scrollable = droppable.frame;
var scrollDiff = subtract(newScroll, scrollable.scroll.initial);
var scrollDisplacement = negate(scrollDiff);
- var closestScrollable = {
- framePageMarginBox: scrollable.framePageMarginBox,
- shouldClipSubject: scrollable.shouldClipSubject,
+
+ var frame = _extends({}, scrollable, {
scroll: {
initial: scrollable.scroll.initial,
current: newScroll,
@@ -16697,22 +16741,126 @@
},
max: scrollable.scroll.max
}
- };
- var displacedSubject = offsetByPosition(droppable.viewport.subjectPageMarginBox, scrollDisplacement);
- var clippedPageMarginBox = closestScrollable.shouldClipSubject ? clip(framePageMarginBox, displacedSubject) : cssBoxModel.getRect(displacedSubject);
- var viewport = {
- closestScrollable: closestScrollable,
- subjectPageMarginBox: droppable.viewport.subjectPageMarginBox,
- clippedPageMarginBox: clippedPageMarginBox
- };
+ });
+
+ var subject = getSubject({
+ page: droppable.subject.page,
+ withPlaceholder: droppable.subject.withPlaceholder,
+ axis: droppable.axis,
+ frame: frame
+ });
var result = _extends({}, droppable, {
- viewport: viewport
+ frame: frame,
+ subject: subject
});
return result;
+ });
+
+ var records = {};
+ var isEnabled = false;
+
+ var isTimingsEnabled = function isTimingsEnabled() {
+ return isEnabled;
+ };
+ var start = function start(key) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!isTimingsEnabled()) {
+ return;
+ }
+
+ var now = performance.now();
+ records[key] = now;
+ }
+ };
+ var finish = function finish(key) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!isTimingsEnabled()) {
+ return;
+ }
+
+ var now = performance.now();
+ var previous = records[key];
+
+ if (!previous) {
+ console.warn('cannot finish timing as no previous time found', key);
+ return;
+ }
+
+ var result = now - previous;
+ var rounded = result.toFixed(2);
+
+ var style = function () {
+ if (result < 12) {
+ return {
+ textColor: 'green',
+ symbol: '✅'
+ };
+ }
+
+ if (result < 40) {
+ return {
+ textColor: 'orange',
+ symbol: '⚠️'
+ };
+ }
+
+ return {
+ textColor: 'red',
+ symbol: '❌'
+ };
+ }();
+
+ console.log(style.symbol + " %cTiming %c" + rounded + " %cms %c" + key, 'color: blue; font-weight: bold;', "color: " + style.textColor + "; font-size: 1.1em;", 'color: grey;', 'color: purple; font-weight: bold;');
+ }
};
+ var whatIsDraggedOver = (function (impact) {
+ var merge = impact.merge,
+ destination = impact.destination;
+
+ if (destination) {
+ return destination.droppableId;
+ }
+
+ if (merge) {
+ return merge.combine.droppableId;
+ }
+
+ return null;
+ });
+
+ function values(map) {
+ return _Object$values(map);
+ }
+ function findIndex(list, predicate) {
+ if (list.findIndex) {
+ return list.findIndex(predicate);
+ }
+
+ for (var i = 0; i < list.length; i++) {
+ if (predicate(list[i])) {
+ return i;
+ }
+ }
+
+ return -1;
+ }
+ function find(list, predicate) {
+ if (list.find) {
+ return list.find(predicate);
+ }
+
+ var index = findIndex(list, predicate);
+
+ if (index !== -1) {
+ return list[index];
+ }
+
+ return undefined;
+ }
+
var toDroppableMap = memoizeOne(function (droppables) {
return droppables.reduce(function (previous, current) {
previous[current.descriptor.id] = current;
@@ -16726,27 +16874,15 @@
}, {});
});
var toDroppableList = memoizeOne(function (droppables) {
- return _Object$keys(droppables).map(function (id) {
- return droppables[id];
- });
+ return values(droppables);
});
var toDraggableList = memoizeOne(function (draggables) {
- return _Object$keys(draggables).map(function (id) {
- return draggables[id];
- });
- });
-
- var getDraggablesInsideDroppable = memoizeOne(function (droppable, draggables) {
- return toDraggableList(draggables).filter(function (draggable) {
- return droppable.descriptor.id === draggable.descriptor.droppableId;
- }).sort(function (a, b) {
- return a.descriptor.index - b.descriptor.index;
- });
+ return values(draggables);
});
var isWithin = (function (lowerBound, upperBound) {
return function (value) {
- return value <= upperBound && value >= lowerBound;
+ return lowerBound <= value && value <= upperBound;
};
});
@@ -16758,112 +16894,177 @@
};
});
- var getRequiredGrowth = memoizeOne(function (draggable, draggables, droppable) {
- var getResult = function getResult(existingSpace) {
- var requiredSpace = draggable.page.marginBox[droppable.axis.size];
+ var getDroppableOver = (function (_ref) {
+ var target = _ref.target,
+ droppables = _ref.droppables;
+ var maybe = find(toDroppableList(droppables), function (droppable) {
+ if (!droppable.isEnabled) {
+ return false;
+ }
+
+ var active = droppable.subject.active;
- if (requiredSpace <= existingSpace) {
- return null;
+ if (!active) {
+ return false;
}
- var requiredGrowth = patch(droppable.axis.line, requiredSpace - existingSpace);
- return requiredGrowth;
- };
+ return isPositionInFrame(active)(target);
+ });
+ return maybe ? maybe.descriptor.id : null;
+ });
+
+ var getDraggablesInsideDroppable = memoizeOne(function (droppableId, draggables) {
+ var result = toDraggableList(draggables).filter(function (draggable) {
+ return droppableId === draggable.descriptor.droppableId;
+ }).sort(function (a, b) {
+ return a.descriptor.index - b.descriptor.index;
+ });
+ return result;
+ });
- var dimensions = getDraggablesInsideDroppable(droppable, draggables);
+ var withDroppableScroll = (function (droppable, point) {
+ var frame = droppable.frame;
- if (!dimensions.length) {
- var _existingSpace = droppable.page.marginBox[droppable.axis.size];
- return getResult(_existingSpace);
+ if (!frame) {
+ return point;
}
- var endOfDraggables = dimensions[dimensions.length - 1].page.marginBox[droppable.axis.end];
- var endOfDroppable = droppable.page.marginBox[droppable.axis.end];
- var existingSpace = endOfDroppable - endOfDraggables;
- return getResult(existingSpace);
- });
- var getWithGrowth = memoizeOne(function (area, growth) {
- return cssBoxModel.getRect(expandByPosition(area, growth));
+ return add(point, frame.scroll.diff.value);
});
- var getClippedRectWithPlaceholder = function getClippedRectWithPlaceholder(_ref) {
- var draggable = _ref.draggable,
- draggables = _ref.draggables,
- droppable = _ref.droppable,
- previousDroppableOverId = _ref.previousDroppableOverId;
- var isHome = draggable.descriptor.droppableId === droppable.descriptor.id;
- var wasOver = Boolean(previousDroppableOverId && previousDroppableOverId === droppable.descriptor.id);
- var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;
+ var vertical = {
+ direction: 'vertical',
+ line: 'y',
+ crossAxisLine: 'x',
+ start: 'top',
+ end: 'bottom',
+ size: 'height',
+ crossAxisStart: 'left',
+ crossAxisEnd: 'right',
+ crossAxisSize: 'width'
+ };
+ var horizontal = {
+ direction: 'horizontal',
+ line: 'x',
+ crossAxisLine: 'y',
+ start: 'left',
+ end: 'right',
+ size: 'width',
+ crossAxisStart: 'top',
+ crossAxisEnd: 'bottom',
+ crossAxisSize: 'height'
+ };
- if (!clippedPageMarginBox) {
- return clippedPageMarginBox;
- }
+ var isUserMovingForward = (function (axis, direction) {
+ return axis === vertical ? direction.vertical === 'down' : direction.horizontal === 'right';
+ });
- if (isHome || !wasOver) {
- return clippedPageMarginBox;
- }
+ var didStartDisplaced = (function (draggableId, onLift) {
+ return Boolean(onLift.wasDisplaced[draggableId]);
+ });
- var requiredGrowth = getRequiredGrowth(draggable, draggables, droppable);
+ var getCombinedItemDisplacement = (function (_ref) {
+ var displaced = _ref.displaced,
+ onLift = _ref.onLift,
+ combineWith = _ref.combineWith,
+ displacedBy = _ref.displacedBy;
+ var isDisplaced = Boolean(displaced[combineWith]);
- if (!requiredGrowth) {
- return clippedPageMarginBox;
+ if (didStartDisplaced(combineWith, onLift)) {
+ return isDisplaced ? origin : negate(displacedBy.point);
}
- var subjectWithGrowth = getWithGrowth(clippedPageMarginBox, requiredGrowth);
- var closestScrollable = droppable.viewport.closestScrollable;
+ return isDisplaced ? displacedBy.point : origin;
+ });
- if (!closestScrollable) {
- return subjectWithGrowth;
+ var getWhenEntered = function getWhenEntered(id, current, oldMerge) {
+ if (!oldMerge) {
+ return current;
}
- if (!closestScrollable.shouldClipSubject) {
- return subjectWithGrowth;
+ if (id !== oldMerge.combine.draggableId) {
+ return current;
}
- return clip(closestScrollable.framePageMarginBox, subjectWithGrowth);
+ return oldMerge.whenEntered;
};
- var getDroppableOver = (function (_ref2) {
- var target = _ref2.target,
- draggable = _ref2.draggable,
- draggables = _ref2.draggables,
- droppables = _ref2.droppables,
- previousDroppableOverId = _ref2.previousDroppableOverId;
- var maybe = toDroppableList(droppables).filter(function (droppable) {
- return droppable.isEnabled;
- }).find(function (droppable) {
- var withPlaceholder = getClippedRectWithPlaceholder({
- draggable: draggable,
- draggables: draggables,
- droppable: droppable,
- previousDroppableOverId: previousDroppableOverId
- });
+ var isCombiningWith = function isCombiningWith(_ref) {
+ var id = _ref.id,
+ currentCenter = _ref.currentCenter,
+ axis = _ref.axis,
+ borderBox = _ref.borderBox,
+ displaceBy = _ref.displaceBy,
+ currentUserDirection = _ref.currentUserDirection,
+ oldMerge = _ref.oldMerge;
+ var start = borderBox[axis.start] + displaceBy[axis.line];
+ var end = borderBox[axis.end] + displaceBy[axis.line];
+ var size = borderBox[axis.size];
+ var twoThirdsOfSize = size * 0.666;
+ var whenEntered = getWhenEntered(id, currentUserDirection, oldMerge);
+ var isMovingForward = isUserMovingForward(axis, whenEntered);
+ var targetCenter = currentCenter[axis.line];
- if (!withPlaceholder) {
- return false;
- }
+ if (isMovingForward) {
+ return isWithin(start, start + twoThirdsOfSize)(targetCenter);
+ }
- return isPositionInFrame(withPlaceholder)(target);
- });
- return maybe ? maybe.descriptor.id : null;
- });
-
- var noMovement = {
- displaced: [],
- amount: origin,
- isBeyondStartPosition: false
- };
- var noImpact = {
- movement: noMovement,
- direction: null,
- destination: null
+ return isWithin(end - twoThirdsOfSize, end)(targetCenter);
};
- var getDisplacementMap = memoizeOne(function (displaced) {
- return displaced.reduce(function (map, displacement) {
- map[displacement.draggableId] = displacement;
- return map;
- }, {});
+ var getCombineImpact = (function (_ref2) {
+ var currentCenter = _ref2.pageBorderBoxCenterWithDroppableScrollChange,
+ previousImpact = _ref2.previousImpact,
+ destination = _ref2.destination,
+ insideDestinationWithoutDraggable = _ref2.insideDestinationWithoutDraggable,
+ userDirection = _ref2.userDirection,
+ onLift = _ref2.onLift;
+
+ if (!destination.isCombineEnabled) {
+ return null;
+ }
+
+ var axis = destination.axis;
+ var map = previousImpact.movement.map;
+ var canBeDisplacedBy = previousImpact.movement.displacedBy;
+ var oldMerge = previousImpact.merge;
+ var target = find(insideDestinationWithoutDraggable, function (child) {
+ var id = child.descriptor.id;
+ var displaceBy = getCombinedItemDisplacement({
+ displaced: map,
+ onLift: onLift,
+ combineWith: id,
+ displacedBy: canBeDisplacedBy
+ });
+ return isCombiningWith({
+ id: id,
+ currentCenter: currentCenter,
+ axis: axis,
+ borderBox: child.page.borderBox,
+ displaceBy: displaceBy,
+ currentUserDirection: userDirection,
+ oldMerge: oldMerge
+ });
+ });
+
+ if (!target) {
+ return null;
+ }
+
+ var merge = {
+ whenEntered: getWhenEntered(target.descriptor.id, userDirection, oldMerge),
+ combine: {
+ draggableId: target.descriptor.id,
+ droppableId: destination.descriptor.id
+ }
+ };
+
+ var withMerge = _extends({}, previousImpact, {
+ destination: null,
+ merge: merge
+ });
+
+ return withMerge;
});
var isPartiallyVisibleThroughFrame = (function (frame) {
@@ -16906,73 +17107,112 @@
};
});
+ var isTotallyVisibleThroughFrameOnAxis = (function (axis) {
+ return function (frame) {
+ var isWithinVertical = isWithin(frame.top, frame.bottom);
+ var isWithinHorizontal = isWithin(frame.left, frame.right);
+ return function (subject) {
+ if (axis === vertical) {
+ return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);
+ }
+
+ return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);
+ };
+ };
+ });
+
+ var getDroppableDisplaced = function getDroppableDisplaced(target, destination) {
+ var displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;
+ return offsetByPosition(target, displacement);
+ };
+
+ var isVisibleInDroppable = function isVisibleInDroppable(target, destination, isVisibleThroughFrameFn) {
+ if (!destination.subject.active) {
+ return false;
+ }
+
+ return isVisibleThroughFrameFn(destination.subject.active)(target);
+ };
+
+ var isVisibleInViewport = function isVisibleInViewport(target, viewport, isVisibleThroughFrameFn) {
+ return isVisibleThroughFrameFn(viewport)(target);
+ };
+
var isVisible = function isVisible(_ref) {
- var target = _ref.target,
+ var toBeDisplaced = _ref.target,
destination = _ref.destination,
viewport = _ref.viewport,
+ withDroppableDisplacement = _ref.withDroppableDisplacement,
isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;
- var displacement = destination.viewport.closestScrollable ? destination.viewport.closestScrollable.scroll.diff.displacement : origin;
- var withDisplacement = offsetByPosition(target, displacement);
+ var displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;
+ return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);
+ };
- if (!destination.viewport.clippedPageMarginBox) {
+ var isPartiallyVisible = function isPartiallyVisible(args) {
+ return isVisible(_extends({}, args, {
+ isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame
+ }));
+ };
+ var isTotallyVisible = function isTotallyVisible(args) {
+ return isVisible(_extends({}, args, {
+ isVisibleThroughFrameFn: isTotallyVisibleThroughFrame
+ }));
+ };
+ var isTotallyVisibleOnAxis = function isTotallyVisibleOnAxis(args) {
+ return isVisible(_extends({}, args, {
+ isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)
+ }));
+ };
+
+ var getShouldAnimate = function getShouldAnimate(forceShouldAnimate, isVisible, previous) {
+ if (typeof forceShouldAnimate === 'boolean') {
+ return forceShouldAnimate;
+ }
+
+ if (!isVisible) {
return false;
}
- var isVisibleInDroppable = isVisibleThroughFrameFn(destination.viewport.clippedPageMarginBox)(withDisplacement);
- var isVisibleInViewport = isVisibleThroughFrameFn(viewport)(withDisplacement);
- return isVisibleInDroppable && isVisibleInViewport;
- };
+ if (!previous) {
+ return true;
+ }
- var isPartiallyVisible = function isPartiallyVisible(_ref2) {
- var target = _ref2.target,
- destination = _ref2.destination,
- viewport = _ref2.viewport;
- return isVisible({
- target: target,
- destination: destination,
- viewport: viewport,
- isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame
- });
+ return previous.shouldAnimate;
};
- var isTotallyVisible = function isTotallyVisible(_ref3) {
- var target = _ref3.target,
- destination = _ref3.destination,
- viewport = _ref3.viewport;
- return isVisible({
- target: target,
- destination: destination,
- viewport: viewport,
- isVisibleThroughFrameFn: isTotallyVisibleThroughFrame
- });
+
+ var getTarget = function getTarget(draggable, onLift) {
+ var marginBox = draggable.page.marginBox;
+
+ if (!didStartDisplaced(draggable.descriptor.id, onLift)) {
+ return marginBox;
+ }
+
+ var expandBy = {
+ top: onLift.displacedBy.point.y,
+ right: 0,
+ bottom: 0,
+ left: onLift.displacedBy.point.x
+ };
+ return cssBoxModel.getRect(cssBoxModel.expand(marginBox, expandBy));
};
var getDisplacement = (function (_ref) {
var draggable = _ref.draggable,
destination = _ref.destination,
previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
+ viewport = _ref.viewport,
+ onLift = _ref.onLift,
+ forceShouldAnimate = _ref.forceShouldAnimate;
var id = draggable.descriptor.id;
- var map = getDisplacementMap(previousImpact.movement.displaced);
+ var map = previousImpact.movement.map;
+ var target = getTarget(draggable, onLift);
var isVisible = isPartiallyVisible({
- target: draggable.page.marginBox,
+ target: target,
destination: destination,
- viewport: viewport
+ viewport: viewport,
+ withDroppableDisplacement: true
});
-
- var shouldAnimate = function () {
- if (!isVisible) {
- return false;
- }
-
- var previous = map[id];
-
- if (!previous) {
- return true;
- }
-
- return previous.shouldAnimate;
- }();
-
+ var shouldAnimate = getShouldAnimate(forceShouldAnimate, isVisible, map[id]);
var displacement = {
draggableId: id,
isVisible: isVisible,
@@ -16981,140 +17221,113 @@
return displacement;
});
- var withDroppableScroll = (function (droppable, point) {
- var closestScrollable = droppable.viewport.closestScrollable;
-
- if (!closestScrollable) {
- return point;
- }
+ var getDisplacementMap = memoizeOne(function (displaced) {
+ return displaced.reduce(function (map, displacement) {
+ map[displacement.draggableId] = displacement;
+ return map;
+ }, {});
+ });
- return add(point, closestScrollable.scroll.diff.value);
+ var getDisplacedBy = memoizeOne(function (axis, displaceBy) {
+ var displacement = displaceBy[axis.line];
+ return {
+ value: displacement,
+ point: patch(axis.line, displacement)
+ };
});
- var inHomeList = (function (_ref) {
- var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ var getReorderImpact = (function (_ref) {
+ var currentCenter = _ref.pageBorderBoxCenterWithDroppableScrollChange,
draggable = _ref.draggable,
- home = _ref.home,
- insideHome = _ref.insideHome,
+ destination = _ref.destination,
+ insideDestinationWithoutDraggable = _ref.insideDestinationWithoutDraggable,
previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var axis = home.axis;
- var originalCenter = draggable.page.borderBox.center;
- var currentCenter = withDroppableScroll(home, pageBorderBoxCenter);
- var isBeyondStartPosition = currentCenter[axis.line] - originalCenter[axis.line] > 0;
- var amount = patch(axis.line, draggable.client.marginBox[axis.size]);
- var displaced = insideHome.filter(function (child) {
- if (child === draggable) {
- return false;
- }
-
+ viewport = _ref.viewport,
+ userDirection = _ref.userDirection,
+ onLift = _ref.onLift;
+ var axis = destination.axis;
+ var isMovingForward = isUserMovingForward(destination.axis, userDirection);
+ var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);
+ var targetCenter = currentCenter[axis.line];
+ var displacement = displacedBy.value;
+ var displaced = insideDestinationWithoutDraggable.filter(function (child) {
var borderBox = child.page.borderBox;
+ var start = borderBox[axis.start];
+ var end = borderBox[axis.end];
+ var didStartDisplaced$1 = didStartDisplaced(child.descriptor.id, onLift);
- if (isBeyondStartPosition) {
- if (borderBox.center[axis.line] < originalCenter[axis.line]) {
- return false;
+ if (isMovingForward) {
+ if (didStartDisplaced$1) {
+ return targetCenter < start;
}
- return currentCenter[axis.line] > borderBox[axis.start];
- }
-
- if (originalCenter[axis.line] < borderBox.center[axis.line]) {
- return false;
- }
-
- return currentCenter[axis.line] < borderBox[axis.end];
- }).map(function (dimension) {
- return getDisplacement({
- draggable: dimension,
- destination: home,
- previousImpact: previousImpact,
- viewport: viewport.frame
- });
- });
- var ordered = isBeyondStartPosition ? displaced.reverse() : displaced;
-
- var index = function () {
- var startIndex = draggable.descriptor.index;
- var length = ordered.length;
-
- if (!length) {
- return startIndex;
- }
-
- if (isBeyondStartPosition) {
- return startIndex + length;
+ return targetCenter < start + displacement;
}
- return startIndex - length;
- }();
-
- var movement = {
- amount: amount,
- displaced: ordered,
- isBeyondStartPosition: isBeyondStartPosition
- };
- var impact = {
- movement: movement,
- direction: axis.direction,
- destination: {
- droppableId: home.descriptor.id,
- index: index
+ if (didStartDisplaced$1) {
+ return targetCenter <= end - displacement;
}
- };
- return impact;
- });
- var inForeignList = (function (_ref) {
- var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- draggable = _ref.draggable,
- destination = _ref.destination,
- insideDestination = _ref.insideDestination,
- previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var axis = destination.axis;
- var currentCenter = withDroppableScroll(destination, pageBorderBoxCenter);
- var displaced = insideDestination.filter(function (child) {
- var threshold = child.page.borderBox[axis.end];
- return threshold > currentCenter[axis.line];
+ return targetCenter <= end;
}).map(function (dimension) {
return getDisplacement({
draggable: dimension,
destination: destination,
previousImpact: previousImpact,
- viewport: viewport.frame
+ viewport: viewport.frame,
+ onLift: onLift
});
});
- var newIndex = insideDestination.length - displaced.length;
+ var newIndex = insideDestinationWithoutDraggable.length - displaced.length;
var movement = {
- amount: patch(axis.line, draggable.page.marginBox[axis.size]),
+ displacedBy: displacedBy,
displaced: displaced,
- isBeyondStartPosition: false
+ map: getDisplacementMap(displaced)
};
var impact = {
movement: movement,
- direction: axis.direction,
destination: {
droppableId: destination.descriptor.id,
index: newIndex
- }
+ },
+ merge: null
};
return impact;
});
+ var noDisplacedBy = {
+ point: origin,
+ value: 0
+ };
+ var noMovement = {
+ displaced: [],
+ map: {},
+ displacedBy: noDisplacedBy
+ };
+ var noImpact = {
+ movement: noMovement,
+ destination: null,
+ merge: null
+ };
+
+ var removeDraggableFromList = memoizeOne(function (remove, list) {
+ return list.filter(function (item) {
+ return item.descriptor.id !== remove.descriptor.id;
+ });
+ });
+
var getDragImpact = (function (_ref) {
var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
draggable = _ref.draggable,
draggables = _ref.draggables,
droppables = _ref.droppables,
previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var previousDroppableOverId = previousImpact.destination && previousImpact.destination.droppableId;
+ viewport = _ref.viewport,
+ userDirection = _ref.userDirection,
+ onLift = _ref.onLift;
var destinationId = getDroppableOver({
target: pageBorderBoxCenter,
- draggable: draggable,
- draggables: draggables,
- droppables: droppables,
- previousDroppableOverId: previousDroppableOverId
+ droppables: droppables
});
if (!destinationId) {
@@ -17122,2864 +17335,3736 @@
}
var destination = droppables[destinationId];
+ var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);
+ var insideDestinationWithoutDraggable = removeDraggableFromList(draggable, insideDestination);
+ var pageBorderBoxCenterWithDroppableScrollChange = withDroppableScroll(destination, pageBorderBoxCenter);
+ var withMerge = getCombineImpact({
+ pageBorderBoxCenterWithDroppableScrollChange: pageBorderBoxCenterWithDroppableScrollChange,
+ previousImpact: previousImpact,
+ destination: destination,
+ insideDestinationWithoutDraggable: insideDestinationWithoutDraggable,
+ userDirection: userDirection,
+ onLift: onLift
+ });
- if (!destination.isEnabled) {
- return noImpact;
- }
-
- var home = droppables[draggable.descriptor.droppableId];
- var isWithinHomeDroppable = home.descriptor.id === destinationId;
- var insideDestination = getDraggablesInsideDroppable(destination, draggables);
-
- if (isWithinHomeDroppable) {
- return inHomeList({
- pageBorderBoxCenter: pageBorderBoxCenter,
- draggable: draggable,
- home: home,
- insideHome: insideDestination,
- previousImpact: previousImpact || noImpact,
- viewport: viewport
- });
+ if (withMerge) {
+ return withMerge;
}
- return inForeignList({
- pageBorderBoxCenter: pageBorderBoxCenter,
- draggable: draggable,
+ return getReorderImpact({
+ pageBorderBoxCenterWithDroppableScrollChange: pageBorderBoxCenterWithDroppableScrollChange,
destination: destination,
- insideDestination: insideDestination,
- previousImpact: previousImpact || noImpact,
- viewport: viewport
+ draggable: draggable,
+ insideDestinationWithoutDraggable: insideDestinationWithoutDraggable,
+ previousImpact: previousImpact,
+ viewport: viewport,
+ userDirection: userDirection,
+ onLift: onLift
});
});
- var getHomeLocation = (function (critical) {
+ var getHomeLocation = (function (descriptor) {
return {
- index: critical.draggable.index,
- droppableId: critical.droppable.id
+ index: descriptor.index,
+ droppableId: descriptor.droppableId
};
});
- var getSafeClipped = function getSafeClipped(droppable) {
- var rect = droppable.viewport.clippedPageMarginBox;
- !rect ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;
- return rect;
- };
+ var getHomeOnLift = (function (_ref) {
+ var draggable = _ref.draggable,
+ home = _ref.home,
+ draggables = _ref.draggables,
+ viewport = _ref.viewport;
+ var displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);
+ var insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);
+ var originallyDisplaced = insideHome.slice(draggable.descriptor.index + 1);
+ var wasDisplaced = originallyDisplaced.reduce(function (previous, item) {
+ previous[item.descriptor.id] = true;
+ return previous;
+ }, {});
+ var onLift = {
+ displacedBy: displacedBy,
+ wasDisplaced: wasDisplaced
+ };
+ var displaced = originallyDisplaced.map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: home,
+ previousImpact: noImpact,
+ viewport: viewport.frame,
+ forceShouldAnimate: false,
+ onLift: onLift
+ });
+ });
+ var movement = {
+ displaced: displaced,
+ map: getDisplacementMap(displaced),
+ displacedBy: displacedBy
+ };
+ var impact = {
+ movement: movement,
+ destination: getHomeLocation(draggable.descriptor),
+ merge: null
+ };
+ return {
+ impact: impact,
+ onLift: onLift
+ };
+ });
- var getBestCrossAxisDroppable = (function (_ref) {
- var isMovingForward = _ref.isMovingForward,
- pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- source = _ref.source,
- droppables = _ref.droppables,
+ var getDragPositions = (function (_ref) {
+ var oldInitial = _ref.initial,
+ oldCurrent = _ref.current,
+ oldClientBorderBoxCenter = _ref.oldClientBorderBoxCenter,
+ newClientBorderBoxCenter = _ref.newClientBorderBoxCenter,
viewport = _ref.viewport;
- var sourceClipped = source.viewport.clippedPageMarginBox;
+ var shift = subtract(newClientBorderBoxCenter, oldClientBorderBoxCenter);
- if (!sourceClipped) {
- return null;
- }
+ var initial = function () {
+ var client = {
+ selection: add(oldInitial.client.selection, shift),
+ borderBoxCenter: newClientBorderBoxCenter,
+ offset: origin
+ };
+ var page = {
+ selection: add(client.selection, viewport.scroll.initial),
+ borderBoxCenter: add(client.selection, viewport.scroll.initial)
+ };
+ return {
+ client: client,
+ page: page
+ };
+ }();
- var axis = source.axis;
- var isBetweenSourceClipped = isWithin(sourceClipped[axis.start], sourceClipped[axis.end]);
- var candidates = toDroppableList(droppables).filter(function (droppable) {
- return droppable !== source;
- }).filter(function (droppable) {
- return droppable.isEnabled;
- }).filter(function (droppable) {
- var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;
+ var current = function () {
+ var reverse = negate(shift);
+ var offset = add(oldCurrent.client.offset, reverse);
+ var client = {
+ selection: add(initial.client.selection, offset),
+ borderBoxCenter: add(initial.client.borderBoxCenter, offset),
+ offset: offset
+ };
+ var page = {
+ selection: add(client.selection, viewport.scroll.current),
+ borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current)
+ };
+ !isEqual(oldCurrent.client.borderBoxCenter, client.borderBoxCenter) ? process.env.NODE_ENV !== "production" ? invariant(false, "\n Incorrect new client center position.\n Expected (" + oldCurrent.client.borderBoxCenter.x + ", " + oldCurrent.client.borderBoxCenter.y + ")\n to equal (" + client.borderBoxCenter.x + ", " + client.borderBoxCenter.y + ")\n ") : invariant(false) : void 0;
+ return {
+ client: client,
+ page: page
+ };
+ }();
- if (!clippedPageMarginBox) {
- return false;
- }
+ return {
+ current: current,
+ initial: initial
+ };
+ });
- return isPartiallyVisibleThroughFrame(viewport.frame)(clippedPageMarginBox);
- }).filter(function (droppable) {
- var targetClipped = getSafeClipped(droppable);
+ var offsetDraggable = (function (_ref) {
+ var draggable = _ref.draggable,
+ offset = _ref.offset,
+ initialWindowScroll = _ref.initialWindowScroll;
+ var client = cssBoxModel.offset(draggable.client, offset);
+ var page = cssBoxModel.withScroll(client, initialWindowScroll);
+
+ var moved = _extends({}, draggable, {
+ placeholder: _extends({}, draggable.placeholder, {
+ client: client
+ }),
+ client: client,
+ page: page
+ });
- if (isMovingForward) {
- return sourceClipped[axis.crossAxisEnd] < targetClipped[axis.crossAxisEnd];
- }
+ return moved;
+ });
- return targetClipped[axis.crossAxisStart] < sourceClipped[axis.crossAxisStart];
- }).filter(function (droppable) {
- var targetClipped = getSafeClipped(droppable);
- var isBetweenDestinationClipped = isWithin(targetClipped[axis.start], targetClipped[axis.end]);
- return isBetweenSourceClipped(targetClipped[axis.start]) || isBetweenSourceClipped(targetClipped[axis.end]) || isBetweenDestinationClipped(sourceClipped[axis.start]) || isBetweenDestinationClipped(sourceClipped[axis.end]);
- }).sort(function (a, b) {
- var first = getSafeClipped(a)[axis.crossAxisStart];
- var second = getSafeClipped(b)[axis.crossAxisStart];
+ var adjustExistingForAdditionsAndRemovals = (function (_ref) {
+ var existing = _ref.existing,
+ droppables = _ref.droppables,
+ addedDraggables = _ref.additions,
+ removedDraggables = _ref.removals,
+ viewport = _ref.viewport;
+ var shifted = {};
+ toDroppableList(droppables).forEach(function (droppable) {
+ var axis = droppable.axis;
+ var original = getDraggablesInsideDroppable(droppable.descriptor.id, existing);
+ var toShift = {};
- if (isMovingForward) {
- return first - second;
- }
+ var addShift = function addShift(id, shift) {
+ var previous = toShift[id];
- return second - first;
- }).filter(function (droppable, index, array) {
- return getSafeClipped(droppable)[axis.crossAxisStart] === getSafeClipped(array[0])[axis.crossAxisStart];
- });
+ if (!previous) {
+ toShift[id] = shift;
+ return;
+ }
- if (!candidates.length) {
- return null;
- }
+ toShift[id] = {
+ indexChange: previous.indexChange + shift.indexChange,
+ offset: add(previous.offset, shift.offset)
+ };
+ };
- if (candidates.length === 1) {
- return candidates[0];
- }
+ var removals = toDraggableMap(removedDraggables.map(function (id) {
+ var item = existing[id];
+ !item ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not find removed draggable \"" + id + "\"") : invariant(false) : void 0;
+ return item;
+ }).filter(function (draggable) {
+ return draggable.descriptor.droppableId === droppable.descriptor.id;
+ }));
+ var withRemovals = original.filter(function (item, index) {
+ var isBeingRemoved = Boolean(removals[item.descriptor.id]);
- var contains = candidates.filter(function (droppable) {
- var isWithinDroppable = isWithin(getSafeClipped(droppable)[axis.start], getSafeClipped(droppable)[axis.end]);
- return isWithinDroppable(pageBorderBoxCenter[axis.line]);
- });
+ if (!isBeingRemoved) {
+ return true;
+ }
- if (contains.length === 1) {
- return contains[0];
- }
+ var offset = negate(patch(axis.line, item.displaceBy[axis.line]));
+ original.slice(index).forEach(function (sibling) {
+ if (removals[sibling.descriptor.id]) {
+ return;
+ }
- if (contains.length > 1) {
- return contains.sort(function (a, b) {
- return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];
- })[0];
- }
+ addShift(sibling.descriptor.id, {
+ indexChange: -1,
+ offset: offset
+ });
+ });
+ return false;
+ });
+ var additions = addedDraggables.filter(function (draggable) {
+ return draggable.descriptor.droppableId === droppable.descriptor.id;
+ });
+ var withAdditions = withRemovals.slice(0);
+ additions.forEach(function (item) {
+ withAdditions.splice(item.descriptor.index, 0, item);
+ });
+ var additionMap = toDraggableMap(additions);
+ withAdditions.forEach(function (item, index) {
+ var wasAdded = Boolean(additionMap[item.descriptor.id]);
- return candidates.sort(function (a, b) {
- var first = closest(pageBorderBoxCenter, getCorners(getSafeClipped(a)));
- var second = closest(pageBorderBoxCenter, getCorners(getSafeClipped(b)));
+ if (!wasAdded) {
+ return;
+ }
- if (first !== second) {
- return first - second;
- }
+ var offset = patch(axis.line, item.client.marginBox[axis.size]);
+ withAdditions.slice(index).forEach(function (sibling) {
+ if (additionMap[sibling.descriptor.id]) {
+ return;
+ }
- return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];
- })[0];
- });
+ addShift(sibling.descriptor.id, {
+ indexChange: 1,
+ offset: offset
+ });
+ });
+ });
+ withAdditions.forEach(function (item) {
+ if (additionMap[item.descriptor.id]) {
+ return;
+ }
- var withDroppableDisplacement = (function (droppable, point) {
- var closestScrollable = droppable.viewport.closestScrollable;
+ var shift = toShift[item.descriptor.id];
- if (!closestScrollable) {
- return point;
- }
+ if (!shift) {
+ return;
+ }
- return add(point, closestScrollable.scroll.diff.displacement);
- });
+ var moved = offsetDraggable({
+ draggable: item,
+ offset: shift.offset,
+ initialWindowScroll: viewport.scroll.initial
+ });
+ var index = item.descriptor.index + shift.indexChange;
- var getClosestDraggable = (function (_ref) {
- var axis = _ref.axis,
- viewport = _ref.viewport,
- pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- destination = _ref.destination,
- insideDestination = _ref.insideDestination;
+ var updated = _extends({}, moved, {
+ descriptor: _extends({}, item.descriptor, {
+ index: index
+ })
+ });
- if (!insideDestination.length) {
- return null;
- }
+ shifted[moved.descriptor.id] = updated;
+ });
+ });
- var result = insideDestination.filter(function (draggable) {
- return isTotallyVisible({
- target: draggable.page.borderBox,
- destination: destination,
- viewport: viewport.frame
+ var map = _extends({}, existing, shifted);
+
+ return map;
+ });
+
+ var adjustAdditionsForScrollChanges = (function (_ref) {
+ var additions = _ref.additions,
+ updatedDroppables = _ref.updatedDroppables,
+ viewport = _ref.viewport;
+ var windowScrollChange = viewport.scroll.diff.value;
+ return additions.map(function (draggable) {
+ var droppableId = draggable.descriptor.droppableId;
+ var modified = updatedDroppables[droppableId];
+ var frame = modified.frame;
+ !frame ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
+ var droppableScrollChange = frame.scroll.diff.value;
+ var totalChange = add(windowScrollChange, droppableScrollChange);
+ var moved = offsetDraggable({
+ draggable: draggable,
+ offset: totalChange,
+ initialWindowScroll: viewport.scroll.initial
});
- }).sort(function (a, b) {
- var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, a.page.borderBox.center));
- var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, b.page.borderBox.center));
+ return moved;
+ });
+ });
- if (distanceToA < distanceToB) {
- return -1;
+ var adjustAdditionsForCollapsedHome = (function (_ref) {
+ var additions = _ref.additions,
+ dragging = _ref.dragging,
+ home = _ref.home,
+ viewport = _ref.viewport;
+ var displacedBy = getDisplacedBy(home.axis, dragging.displaceBy);
+ return additions.map(function (draggable) {
+ if (draggable.descriptor.droppableId !== home.descriptor.id) {
+ return draggable;
}
- if (distanceToB < distanceToA) {
- return 1;
+ if (draggable.descriptor.index < dragging.descriptor.index) {
+ return draggable;
}
- return a.page.borderBox[axis.start] - b.page.borderBox[axis.start];
+ return offsetDraggable({
+ draggable: draggable,
+ offset: displacedBy.point,
+ initialWindowScroll: viewport.scroll.initial
+ });
});
- return result.length ? result[0] : null;
});
- var moveToEdge = (function (_ref) {
- var source = _ref.source,
- sourceEdge = _ref.sourceEdge,
- destination = _ref.destination,
- destinationEdge = _ref.destinationEdge,
- destinationAxis = _ref.destinationAxis;
+ var updateDraggables = (function (_ref) {
+ var updatedDroppables = _ref.updatedDroppables,
+ criticalId = _ref.criticalId,
+ unmodifiedExisting = _ref.existing,
+ unmodifiedAdditions = _ref.additions,
+ removals = _ref.removals,
+ viewport = _ref.viewport;
+ var existing = adjustExistingForAdditionsAndRemovals({
+ droppables: updatedDroppables,
+ existing: unmodifiedExisting,
+ additions: unmodifiedAdditions,
+ removals: removals,
+ viewport: viewport
+ });
+ var dragging = existing[criticalId];
+ var home = updatedDroppables[dragging.descriptor.droppableId];
+ var scrolledAdditions = adjustAdditionsForScrollChanges({
+ additions: unmodifiedAdditions,
+ updatedDroppables: updatedDroppables,
+ viewport: viewport
+ });
+ var additions = adjustAdditionsForCollapsedHome({
+ additions: scrolledAdditions,
+ dragging: dragging,
+ home: home,
+ viewport: viewport
+ });
- var getCorner = function getCorner(area) {
- return patch(destinationAxis.line, area[destinationAxis[destinationEdge]], area[destinationAxis.crossAxisStart]);
- };
+ var map = _extends({}, existing, toDraggableMap(additions));
- var corner = getCorner(destination);
- var centerDiff = absolute(subtract(source.center, getCorner(source)));
- var signed = patch(destinationAxis.line, (sourceEdge === 'end' ? -1 : 1) * centerDiff[destinationAxis.line], centerDiff[destinationAxis.crossAxisLine]);
- return add(corner, signed);
+ removals.forEach(function (id) {
+ delete map[id];
+ });
+ return map;
});
- var toHomeList = (function (_ref) {
- var amount = _ref.amount,
- homeIndex = _ref.homeIndex,
- movingRelativeTo = _ref.movingRelativeTo,
- insideDestination = _ref.insideDestination,
- draggable = _ref.draggable,
- destination = _ref.destination,
- previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var axis = destination.axis;
- var targetIndex = insideDestination.indexOf(movingRelativeTo);
- !(targetIndex !== -1) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unable to find target in destination droppable') : invariant(false) : void 0;
-
- if (targetIndex === homeIndex) {
- var _newCenter = draggable.page.borderBox.center;
- var _newImpact = {
- movement: {
- displaced: [],
- amount: amount,
- isBeyondStartPosition: false
- },
- direction: destination.axis.direction,
- destination: {
- droppableId: destination.descriptor.id,
- index: homeIndex
- }
- };
- return {
- pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),
- impact: _newImpact
- };
- }
-
- var isMovingPastOriginalIndex = targetIndex > homeIndex;
- var edge = isMovingPastOriginalIndex ? 'end' : 'start';
- var newCenter = moveToEdge({
- source: draggable.page.borderBox,
- sourceEdge: edge,
- destination: isMovingPastOriginalIndex ? movingRelativeTo.page.borderBox : movingRelativeTo.page.marginBox,
- destinationEdge: edge,
- destinationAxis: axis
+ var getMaxScroll = (function (_ref) {
+ var scrollHeight = _ref.scrollHeight,
+ scrollWidth = _ref.scrollWidth,
+ height = _ref.height,
+ width = _ref.width;
+ var maxScroll = subtract({
+ x: scrollWidth,
+ y: scrollHeight
+ }, {
+ x: width,
+ y: height
});
+ var adjustedMaxScroll = {
+ x: Math.max(0, maxScroll.x),
+ y: Math.max(0, maxScroll.y)
+ };
+ return adjustedMaxScroll;
+ });
+
+ var getDroppableDimension = (function (_ref) {
+ var descriptor = _ref.descriptor,
+ isEnabled = _ref.isEnabled,
+ isCombineEnabled = _ref.isCombineEnabled,
+ isFixedOnPage = _ref.isFixedOnPage,
+ direction = _ref.direction,
+ client = _ref.client,
+ page = _ref.page,
+ closest = _ref.closest;
- var modified = function () {
- if (!isMovingPastOriginalIndex) {
- return insideDestination.slice(targetIndex, homeIndex);
+ var frame = function () {
+ if (!closest) {
+ return null;
}
- var from = homeIndex + 1;
- var to = targetIndex + 1;
- return insideDestination.slice(from, to).reverse();
+ var scrollSize = closest.scrollSize,
+ frameClient = closest.client;
+ var maxScroll = getMaxScroll({
+ scrollHeight: scrollSize.scrollHeight,
+ scrollWidth: scrollSize.scrollWidth,
+ height: frameClient.paddingBox.height,
+ width: frameClient.paddingBox.width
+ });
+ return {
+ pageMarginBox: closest.page.marginBox,
+ frameClient: frameClient,
+ scrollSize: scrollSize,
+ shouldClipSubject: closest.shouldClipSubject,
+ scroll: {
+ initial: closest.scroll,
+ current: closest.scroll,
+ max: maxScroll,
+ diff: {
+ value: origin,
+ displacement: origin
+ }
+ }
+ };
}();
- var displaced = modified.map(function (dimension) {
- return getDisplacement({
- draggable: dimension,
- destination: destination,
- previousImpact: previousImpact,
- viewport: viewport.frame
- });
+ var axis = direction === 'vertical' ? vertical : horizontal;
+ var subject = getSubject({
+ page: page,
+ withPlaceholder: null,
+ axis: axis,
+ frame: frame
});
- var newImpact = {
- movement: {
- displaced: displaced,
- amount: amount,
- isBeyondStartPosition: isMovingPastOriginalIndex
- },
- direction: axis.direction,
- destination: {
- droppableId: destination.descriptor.id,
- index: targetIndex
- }
- };
- return {
- pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),
- impact: newImpact
+ var dimension = {
+ descriptor: descriptor,
+ isCombineEnabled: isCombineEnabled,
+ isFixedOnPage: isFixedOnPage,
+ axis: axis,
+ isEnabled: isEnabled,
+ client: client,
+ page: page,
+ frame: frame,
+ subject: subject
};
+ return dimension;
});
- var toForeignList = (function (_ref) {
- var amount = _ref.amount,
- pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- movingRelativeTo = _ref.movingRelativeTo,
- insideDestination = _ref.insideDestination,
- draggable = _ref.draggable,
- destination = _ref.destination,
- previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var axis = destination.axis;
- var isGoingBeforeTarget = Boolean(movingRelativeTo && pageBorderBoxCenter[destination.axis.line] < movingRelativeTo.page.borderBox.center[destination.axis.line]);
-
- if (!movingRelativeTo) {
- var _newCenter = moveToEdge({
- source: draggable.page.borderBox,
- sourceEdge: 'start',
- destination: destination.page.contentBox,
- destinationEdge: 'start',
- destinationAxis: axis
- });
+ var isHomeOf = (function (draggable, destination) {
+ return draggable.descriptor.droppableId === destination.descriptor.id;
+ });
- var _newImpact = {
- movement: {
- displaced: [],
- amount: amount,
- isBeyondStartPosition: false
- },
- direction: axis.direction,
- destination: {
- droppableId: destination.descriptor.id,
- index: 0
- }
- };
- return {
- pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),
- impact: _newImpact
- };
+ var getRequiredGrowthForPlaceholder = function getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables) {
+ var axis = droppable.axis;
+ var availableSpace = droppable.subject.page.contentBox[axis.size];
+ var insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);
+ var spaceUsed = insideDroppable.reduce(function (sum, dimension) {
+ return sum + dimension.client.marginBox[axis.size];
+ }, 0);
+ var requiredSpace = spaceUsed + placeholderSize[axis.line];
+ var needsToGrowBy = requiredSpace - availableSpace;
+
+ if (needsToGrowBy <= 0) {
+ return null;
}
- var targetIndex = insideDestination.indexOf(movingRelativeTo);
- !(targetIndex !== -1) ? process.env.NODE_ENV !== "production" ? invariant(false, 'The target was not found within its droppable') : invariant(false) : void 0;
- var proposedIndex = isGoingBeforeTarget ? targetIndex : targetIndex + 1;
- var newCenter = moveToEdge({
- source: draggable.page.borderBox,
- sourceEdge: 'start',
- destination: movingRelativeTo.page.marginBox,
- destinationEdge: isGoingBeforeTarget ? 'start' : 'end',
- destinationAxis: axis
+ return patch(axis.line, needsToGrowBy);
+ };
+
+ var withMaxScroll = function withMaxScroll(frame, max) {
+ return _extends({}, frame, {
+ scroll: _extends({}, frame.scroll, {
+ max: max
+ })
});
- var displaced = insideDestination.slice(proposedIndex, insideDestination.length).map(function (dimension) {
- return getDisplacement({
- draggable: dimension,
- destination: destination,
- viewport: viewport.frame,
- previousImpact: previousImpact
+ };
+
+ var addPlaceholder = function addPlaceholder(droppable, draggable, draggables) {
+ var frame = droppable.frame;
+ !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;
+ !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;
+ var placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;
+ var requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);
+ var added = {
+ placeholderSize: placeholderSize,
+ increasedBy: requiredGrowth,
+ oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null
+ };
+
+ if (!frame) {
+ var _subject = getSubject({
+ page: droppable.subject.page,
+ withPlaceholder: added,
+ axis: droppable.axis,
+ frame: droppable.frame
});
+
+ return _extends({}, droppable, {
+ subject: _subject
+ });
+ }
+
+ var maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;
+ var newFrame = withMaxScroll(frame, maxScroll);
+ var subject = getSubject({
+ page: droppable.subject.page,
+ withPlaceholder: added,
+ axis: droppable.axis,
+ frame: newFrame
});
- var newImpact = {
- movement: {
- displaced: displaced,
- amount: amount,
- isBeyondStartPosition: false
- },
- direction: axis.direction,
- destination: {
- droppableId: destination.descriptor.id,
- index: proposedIndex
- }
- };
- return {
- pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),
- impact: newImpact
- };
- });
+ return _extends({}, droppable, {
+ subject: subject,
+ frame: newFrame
+ });
+ };
+ var removePlaceholder = function removePlaceholder(droppable) {
+ var added = droppable.subject.withPlaceholder;
+ !added ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;
+ var frame = droppable.frame;
+
+ if (!frame) {
+ var _subject2 = getSubject({
+ page: droppable.subject.page,
+ axis: droppable.axis,
+ frame: null,
+ withPlaceholder: null
+ });
- var moveToNewDroppable = (function (_ref) {
- var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- destination = _ref.destination,
- insideDestination = _ref.insideDestination,
- draggable = _ref.draggable,
- movingRelativeTo = _ref.movingRelativeTo,
- home = _ref.home,
- previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var amount = patch(destination.axis.line, draggable.client.marginBox[destination.axis.size]);
-
- if (destination.descriptor.id === draggable.descriptor.droppableId) {
- !movingRelativeTo ? process.env.NODE_ENV !== "production" ? invariant(false, 'There will always be a target in the original list') : invariant(false) : void 0;
- return toHomeList({
- amount: amount,
- homeIndex: home.index,
- movingRelativeTo: movingRelativeTo,
- insideDestination: insideDestination,
- draggable: draggable,
- destination: destination,
- previousImpact: previousImpact,
- viewport: viewport
+ return _extends({}, droppable, {
+ subject: _subject2
});
}
- return toForeignList({
- amount: amount,
- pageBorderBoxCenter: pageBorderBoxCenter,
- movingRelativeTo: movingRelativeTo,
- insideDestination: insideDestination,
- draggable: draggable,
- destination: destination,
- previousImpact: previousImpact,
- viewport: viewport
+ var oldMaxScroll = added.oldFrameMaxScroll;
+ !oldMaxScroll ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;
+ var newFrame = withMaxScroll(frame, oldMaxScroll);
+ var subject = getSubject({
+ page: droppable.subject.page,
+ axis: droppable.axis,
+ frame: newFrame,
+ withPlaceholder: null
+ });
+ return _extends({}, droppable, {
+ subject: subject,
+ frame: newFrame
});
+ };
+
+ var getFrame = (function (droppable) {
+ var frame = droppable.frame;
+ !frame ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;
+ return frame;
});
- var moveCrossAxis = (function (_ref) {
- var isMovingForward = _ref.isMovingForward,
- pageBorderBoxCenter = _ref.pageBorderBoxCenter,
- draggableId = _ref.draggableId,
- droppableId = _ref.droppableId,
- home = _ref.home,
- draggables = _ref.draggables,
- droppables = _ref.droppables,
- previousImpact = _ref.previousImpact,
- viewport = _ref.viewport;
- var draggable = draggables[draggableId];
- var source = droppables[droppableId];
- var destination = getBestCrossAxisDroppable({
- isMovingForward: isMovingForward,
- pageBorderBoxCenter: pageBorderBoxCenter,
- source: source,
- droppables: droppables,
- viewport: viewport
- });
+ var throwIfSpacingChange = function throwIfSpacingChange(old, fresh) {
+ if (process.env.NODE_ENV !== 'production') {
+ var getMessage = function getMessage(spacingType) {
+ return "Cannot change the " + spacingType + " of a Droppable during a drag";
+ };
- if (!destination) {
- return null;
+ !isEqual$1(old.margin, fresh.margin) ? process.env.NODE_ENV !== "production" ? invariant(false, getMessage('margin')) : invariant(false) : void 0;
+ !isEqual$1(old.border, fresh.border) ? process.env.NODE_ENV !== "production" ? invariant(false, getMessage('border')) : invariant(false) : void 0;
+ !isEqual$1(old.padding, fresh.padding) ? process.env.NODE_ENV !== "production" ? invariant(false, getMessage('padding')) : invariant(false) : void 0;
}
+ };
- var insideDestination = getDraggablesInsideDroppable(destination, draggables);
- var movingRelativeTo = getClosestDraggable({
- axis: destination.axis,
- pageBorderBoxCenter: pageBorderBoxCenter,
- destination: destination,
- insideDestination: insideDestination,
- viewport: viewport
- });
+ var adjustBorderBoxSize = function adjustBorderBoxSize(axis, old, fresh) {
+ return {
+ top: old.top,
+ left: old.left,
+ right: old.left + fresh.width,
+ bottom: old.top + fresh.height
+ };
+ };
- if (insideDestination.length && !movingRelativeTo) {
- return null;
+ var updateDroppables = (function (_ref) {
+ var modified = _ref.modified,
+ existing = _ref.existing,
+ viewport = _ref.viewport;
+
+ if (!modified.length) {
+ return existing;
}
- return moveToNewDroppable({
- pageBorderBoxCenter: pageBorderBoxCenter,
- destination: destination,
- draggable: draggable,
- movingRelativeTo: movingRelativeTo,
- insideDestination: insideDestination,
- home: home,
- previousImpact: previousImpact || noImpact,
- viewport: viewport
- });
- });
+ var adjusted = modified.map(function (provided) {
+ var raw = existing[provided.descriptor.id];
+ !raw ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not locate droppable in existing droppables') : invariant(false) : void 0;
+ var hasPlaceholder = Boolean(raw.subject.withPlaceholder);
+ var dimension = hasPlaceholder ? removePlaceholder(raw) : raw;
+ var oldClient = dimension.client;
+ var newClient = provided.client;
+ var oldScrollable = getFrame(dimension);
+ var newScrollable = getFrame(provided);
- var isTotallyVisibleInNewLocation = (function (_ref) {
- var draggable = _ref.draggable,
- destination = _ref.destination,
- newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,
- viewport = _ref.viewport;
- var diff = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);
- var shifted = offsetByPosition(draggable.page.borderBox, diff);
- return isTotallyVisible({
- target: shifted,
- destination: destination,
- viewport: viewport
+ if (process.env.NODE_ENV !== 'production') {
+ throwIfSpacingChange(dimension.client, provided.client);
+ throwIfSpacingChange(oldScrollable.frameClient, newScrollable.frameClient);
+ var isFrameEqual = oldScrollable.frameClient.borderBox.height === newScrollable.frameClient.borderBox.height && oldScrollable.frameClient.borderBox.width === newScrollable.frameClient.borderBox.width;
+ !isFrameEqual ? process.env.NODE_ENV !== "production" ? invariant(false, 'The width and height of your Droppable scroll container cannot change when adding or removing Draggables during a drag') : invariant(false) : void 0;
+ }
+
+ var client = cssBoxModel.createBox({
+ borderBox: adjustBorderBoxSize(dimension.axis, oldClient.borderBox, newClient.borderBox),
+ margin: oldClient.margin,
+ border: oldClient.border,
+ padding: oldClient.padding
+ });
+ var closest = {
+ client: oldScrollable.frameClient,
+ page: cssBoxModel.withScroll(oldScrollable.frameClient, viewport.scroll.initial),
+ shouldClipSubject: oldScrollable.shouldClipSubject,
+ scrollSize: newScrollable.scrollSize,
+ scroll: oldScrollable.scroll.initial
+ };
+ var withSizeChanged = getDroppableDimension({
+ descriptor: provided.descriptor,
+ isEnabled: provided.isEnabled,
+ isCombineEnabled: provided.isCombineEnabled,
+ isFixedOnPage: provided.isFixedOnPage,
+ direction: provided.axis.direction,
+ client: client,
+ page: cssBoxModel.withScroll(client, viewport.scroll.initial),
+ closest: closest
+ });
+ var scrolled = scrollDroppable(withSizeChanged, newScrollable.scroll.current);
+ return scrolled;
});
+
+ var result = _extends({}, existing, toDroppableMap(adjusted));
+
+ return result;
});
- var withFirstAdded = function withFirstAdded(_ref) {
- var add = _ref.add,
- previousImpact = _ref.previousImpact,
- droppable = _ref.droppable,
- draggables = _ref.draggables,
- viewport = _ref.viewport;
- var newDisplacement = {
- draggableId: add,
- isVisible: true,
- shouldAnimate: true
- };
- var added = [newDisplacement].concat(previousImpact.movement.displaced);
- var withUpdatedVisibility = added.map(function (current) {
- if (current === newDisplacement) {
- return current;
+ var withNoAnimatedDisplacement = (function (impact) {
+ var displaced = impact.movement.displaced;
+
+ if (!displaced.length) {
+ return impact;
+ }
+
+ var withoutAnimation = displaced.map(function (displacement) {
+ if (!displacement.isVisible) {
+ return displacement;
}
- var updated = getDisplacement({
- draggable: draggables[current.draggableId],
- destination: droppable,
- previousImpact: previousImpact,
- viewport: viewport.frame
+ if (!displacement.shouldAnimate) {
+ return displacement;
+ }
+
+ return _extends({}, displacement, {
+ shouldAnimate: false
});
- return updated;
});
- return withUpdatedVisibility;
- };
- var forceVisibleDisplacement = function forceVisibleDisplacement(current) {
- if (current.isVisible) {
- return current;
- }
+ var result = _extends({}, impact, {
+ movement: _extends({}, impact.movement, {
+ displaced: withoutAnimation,
+ map: getDisplacementMap(withoutAnimation)
+ })
+ });
- return {
- draggableId: current.draggableId,
- isVisible: true,
- shouldAnimate: false
- };
- };
+ return result;
+ });
- var withFirstRemoved = function withFirstRemoved(_ref2) {
- var dragging = _ref2.dragging,
- isVisibleInNewLocation = _ref2.isVisibleInNewLocation,
- previousImpact = _ref2.previousImpact,
- droppable = _ref2.droppable,
- draggables = _ref2.draggables;
- var last = previousImpact.movement.displaced;
- !last.length ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot remove displacement from empty list') : invariant(false) : void 0;
- var withFirstRestored = last.slice(1, last.length);
+ var patchDroppableMap = (function (droppables, updated) {
+ var _extends2;
+
+ return _extends({}, droppables, (_extends2 = {}, _extends2[updated.descriptor.id] = updated, _extends2));
+ });
+
+ var clearUnusedPlaceholder = function clearUnusedPlaceholder(_ref) {
+ var previousImpact = _ref.previousImpact,
+ impact = _ref.impact,
+ droppables = _ref.droppables;
+ var last = whatIsDraggedOver(previousImpact);
+ var now = whatIsDraggedOver(impact);
- if (!withFirstRestored.length) {
- return withFirstRestored;
+ if (!last) {
+ return droppables;
}
- if (isVisibleInNewLocation) {
- return withFirstRestored;
+ if (last === now) {
+ return droppables;
}
- var axis = droppable.axis;
- var sizeOfRestored = draggables[last[0].draggableId].page.marginBox[axis.size];
- var sizeOfDragging = draggables[dragging].page.marginBox[axis.size];
- var buffer = sizeOfRestored + sizeOfDragging;
- var withUpdatedVisibility = withFirstRestored.map(function (displacement, index) {
- if (index === 0) {
- return forceVisibleDisplacement(displacement);
- }
+ var lastDroppable = droppables[last];
- if (buffer > 0) {
- var current = draggables[displacement.draggableId];
- var size = current.page.marginBox[axis.size];
- buffer -= size;
- return forceVisibleDisplacement(displacement);
- }
+ if (!lastDroppable.subject.withPlaceholder) {
+ return droppables;
+ }
- return {
- draggableId: displacement.draggableId,
- isVisible: false,
- shouldAnimate: false
- };
- });
- return withUpdatedVisibility;
+ var updated = removePlaceholder(lastDroppable);
+ return patchDroppableMap(droppables, updated);
};
- var inHomeList$1 = (function (_ref) {
- var isMovingForward = _ref.isMovingForward,
- draggableId = _ref.draggableId,
- previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
- previousImpact = _ref.previousImpact,
- droppable = _ref.droppable,
- draggables = _ref.draggables,
- viewport = _ref.viewport;
- var location = previousImpact.destination;
- !location ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot move to next index in home list when there is no previous destination') : invariant(false) : void 0;
- var draggable = draggables[draggableId];
- var axis = droppable.axis;
- var insideDroppable = getDraggablesInsideDroppable(droppable, draggables);
- var startIndex = draggable.descriptor.index;
- var currentIndex = location.index;
- var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
+ var recomputePlaceholders = (function (_ref2) {
+ var draggable = _ref2.draggable,
+ draggables = _ref2.draggables,
+ droppables = _ref2.droppables,
+ previousImpact = _ref2.previousImpact,
+ impact = _ref2.impact;
+ var cleaned = clearUnusedPlaceholder({
+ previousImpact: previousImpact,
+ impact: impact,
+ droppables: droppables
+ });
+ var isOver = whatIsDraggedOver(impact);
- if (proposedIndex > insideDroppable.length - 1) {
- return null;
+ if (!isOver) {
+ return cleaned;
}
- if (proposedIndex < 0) {
- return null;
+ var droppable = droppables[isOver];
+
+ if (isHomeOf(draggable, droppable)) {
+ return cleaned;
}
- var destination = insideDroppable[proposedIndex];
- var isMovingTowardStart = isMovingForward && proposedIndex <= startIndex || !isMovingForward && proposedIndex >= startIndex;
+ if (droppable.subject.withPlaceholder) {
+ return cleaned;
+ }
- var edge = function () {
- if (!isMovingTowardStart) {
- return isMovingForward ? 'end' : 'start';
- }
+ var patched = addPlaceholder(droppable, draggable, draggables);
+ return patchDroppableMap(cleaned, patched);
+ });
- return isMovingForward ? 'start' : 'end';
- }();
+ var timingsKey = 'Processing dynamic changes';
+ var publishWhileDragging = (function (_ref) {
+ var _extends2, _extends3;
- var newPageBorderBoxCenter = moveToEdge({
- source: draggable.page.borderBox,
- sourceEdge: edge,
- destination: destination.page.borderBox,
- destinationEdge: edge,
- destinationAxis: droppable.axis
+ var state = _ref.state,
+ published = _ref.published;
+ start(timingsKey);
+ var updatedDroppables = updateDroppables({
+ modified: published.modified,
+ existing: state.dimensions.droppables,
+ viewport: state.viewport
});
- var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
- draggable: draggable,
- destination: droppable,
- newPageBorderBoxCenter: newPageBorderBoxCenter,
- viewport: viewport.frame
+ var draggables = updateDraggables({
+ updatedDroppables: updatedDroppables,
+ criticalId: state.critical.draggable.id,
+ existing: state.dimensions.draggables,
+ additions: published.additions,
+ removals: published.removals,
+ viewport: state.viewport
});
- var displaced = isMovingTowardStart ? withFirstRemoved({
- dragging: draggableId,
- isVisibleInNewLocation: isVisibleInNewLocation,
- previousImpact: previousImpact,
- droppable: droppable,
- draggables: draggables
- }) : withFirstAdded({
- add: destination.descriptor.id,
- previousImpact: previousImpact,
- droppable: droppable,
+ var critical = {
+ draggable: draggables[state.critical.draggable.id].descriptor,
+ droppable: updatedDroppables[state.critical.droppable.id].descriptor
+ };
+ var original = state.dimensions.draggables[critical.draggable.id];
+ var updated = draggables[critical.draggable.id];
+ var droppables = recomputePlaceholders({
+ draggable: updated,
draggables: draggables,
- viewport: viewport
+ droppables: updatedDroppables,
+ previousImpact: state.impact,
+ impact: state.impact
});
- var newImpact = {
- movement: {
- displaced: displaced,
- amount: patch(axis.line, draggable.page.marginBox[axis.size]),
- isBeyondStartPosition: proposedIndex > startIndex
- },
- destination: {
- droppableId: droppable.descriptor.id,
- index: proposedIndex
- },
- direction: droppable.axis.direction
+ var dimensions = {
+ draggables: draggables,
+ droppables: droppables
};
- if (isVisibleInNewLocation) {
- return {
- pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),
- impact: newImpact,
- scrollJumpRequest: null
- };
+ var _getDragPositions = getDragPositions({
+ initial: state.initial,
+ current: state.current,
+ oldClientBorderBoxCenter: original.client.borderBox.center,
+ newClientBorderBoxCenter: updated.client.borderBox.center,
+ viewport: state.viewport
+ }),
+ initial = _getDragPositions.initial,
+ current = _getDragPositions.current;
+
+ var _getHomeOnLift = getHomeOnLift({
+ draggable: updated,
+ home: dimensions.droppables[critical.droppable.id],
+ draggables: dimensions.draggables,
+ viewport: state.viewport
+ }),
+ homeImpact = _getHomeOnLift.impact,
+ onLift = _getHomeOnLift.onLift;
+
+ var impact = withNoAnimatedDisplacement(getDragImpact({
+ pageBorderBoxCenter: current.page.borderBoxCenter,
+ draggable: updated,
+ draggables: dimensions.draggables,
+ droppables: dimensions.droppables,
+ previousImpact: homeImpact,
+ viewport: state.viewport,
+ userDirection: state.userDirection,
+ onLift: onLift
+ }));
+ var isOrphaned = Boolean(state.movementMode === 'SNAP' && !whatIsDraggedOver(impact));
+ !!isOrphaned ? process.env.NODE_ENV !== "production" ? invariant(false, 'Dragging item no longer has a valid merge/destination after a dynamic update. This is not supported') : invariant(false) : void 0;
+ finish(timingsKey);
+
+ var draggingState = _extends({
+ phase: 'DRAGGING'
+ }, state, (_extends2 = {}, _extends2["phase"] = 'DRAGGING', _extends2.critical = critical, _extends2.current = current, _extends2.initial = initial, _extends2.impact = impact, _extends2.dimensions = dimensions, _extends2.onLift = onLift, _extends2.onLiftImpact = homeImpact, _extends2.forceShouldAnimate = false, _extends2));
+
+ if (state.phase === 'COLLECTING') {
+ return draggingState;
}
- var distance$$1 = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);
- var distanceWithScroll = withDroppableDisplacement(droppable, distance$$1);
- return {
- pageBorderBoxCenter: previousPageBorderBoxCenter,
- impact: newImpact,
- scrollJumpRequest: distanceWithScroll
- };
+ var dropPending = _extends({
+ phase: 'DROP_PENDING'
+ }, draggingState, (_extends3 = {}, _extends3["phase"] = 'DROP_PENDING', _extends3.reason = state.reason, _extends3.isWaiting = false, _extends3));
+
+ return dropPending;
});
- var inForeignList$1 = (function (_ref) {
+ var forward = {
+ vertical: 'down',
+ horizontal: 'right'
+ };
+ var backward = {
+ vertical: 'up',
+ horizontal: 'left'
+ };
+
+ var moveToNextCombine = (function (_ref) {
var isMovingForward = _ref.isMovingForward,
- draggableId = _ref.draggableId,
- previousImpact = _ref.previousImpact,
- previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
- droppable = _ref.droppable,
- draggables = _ref.draggables,
- viewport = _ref.viewport;
- !previousImpact.destination ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot move to next index where there is no previous destination') : invariant(false) : void 0;
- var location = previousImpact.destination;
- var draggable = draggables[draggableId];
- var axis = droppable.axis;
- var insideForeignDroppable = getDraggablesInsideDroppable(droppable, draggables);
- var currentIndex = location.index;
- var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
- var lastIndex = insideForeignDroppable.length - 1;
+ isInHomeList = _ref.isInHomeList,
+ draggable = _ref.draggable,
+ destination = _ref.destination,
+ originalInsideDestination = _ref.insideDestination,
+ previousImpact = _ref.previousImpact;
- if (proposedIndex > insideForeignDroppable.length) {
+ if (!destination.isCombineEnabled) {
return null;
}
- if (proposedIndex < 0) {
+ if (previousImpact.merge) {
return null;
}
- var movingRelativeTo = insideForeignDroppable[Math.min(proposedIndex, lastIndex)];
- var isMovingPastLastIndex = proposedIndex > lastIndex;
- var sourceEdge = 'start';
+ var location = previousImpact.destination;
+ !location ? process.env.NODE_ENV !== "production" ? invariant(false, 'Need a previous location to move from into a combine') : invariant(false) : void 0;
+ var currentIndex = location.index;
+
+ var currentInsideDestination = function () {
+ var shallow = originalInsideDestination.slice();
- var destinationEdge = function () {
- if (isMovingPastLastIndex) {
- return 'end';
+ if (isInHomeList) {
+ shallow.splice(draggable.descriptor.index, 1);
}
- return 'start';
+ shallow.splice(location.index, 0, draggable);
+ return shallow;
}();
- var newPageBorderBoxCenter = moveToEdge({
- source: draggable.page.borderBox,
- sourceEdge: sourceEdge,
- destination: movingRelativeTo.page.marginBox,
- destinationEdge: destinationEdge,
- destinationAxis: droppable.axis
- });
- var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
- draggable: draggable,
- destination: droppable,
- newPageBorderBoxCenter: newPageBorderBoxCenter,
- viewport: viewport.frame
- });
+ var targetIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
- var displaced = function () {
- if (isMovingForward) {
- return withFirstRemoved({
- dragging: draggableId,
- isVisibleInNewLocation: isVisibleInNewLocation,
- previousImpact: previousImpact,
- droppable: droppable,
- draggables: draggables
- });
- }
+ if (targetIndex < 0) {
+ return null;
+ }
- return withFirstAdded({
- add: movingRelativeTo.descriptor.id,
- previousImpact: previousImpact,
- droppable: droppable,
- draggables: draggables,
- viewport: viewport
- });
- }();
+ if (targetIndex > currentInsideDestination.length - 1) {
+ return null;
+ }
- var newImpact = {
- movement: {
- displaced: displaced,
- amount: patch(axis.line, draggable.page.marginBox[axis.size]),
- isBeyondStartPosition: false
- },
- destination: {
- droppableId: droppable.descriptor.id,
- index: proposedIndex
- },
- direction: droppable.axis.direction
+ var target = currentInsideDestination[targetIndex];
+ !(target !== draggable) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot combine with self') : invariant(false) : void 0;
+ var merge = {
+ whenEntered: isMovingForward ? forward : backward,
+ combine: {
+ draggableId: target.descriptor.id,
+ droppableId: destination.descriptor.id
+ }
+ };
+ var impact = {
+ movement: previousImpact.movement,
+ destination: null,
+ merge: merge
};
+ return impact;
+ });
- if (isVisibleInNewLocation) {
- return {
- pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),
- impact: newImpact,
- scrollJumpRequest: null
- };
+ var addClosest = function addClosest(add, displaced) {
+ var added = {
+ draggableId: add.descriptor.id,
+ isVisible: true,
+ shouldAnimate: true
+ };
+ return [added].concat(displaced);
+ };
+ var removeClosest = function removeClosest(displaced) {
+ return displaced.slice(1);
+ };
+
+ var fromReorder = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ isInHomeList = _ref.isInHomeList,
+ draggable = _ref.draggable,
+ initialInside = _ref.insideDestination,
+ location = _ref.location;
+ var insideDestination = initialInside.slice();
+ var currentIndex = location.index;
+ var isInForeignList = !isInHomeList;
+
+ if (isInForeignList) {
+ insideDestination.splice(location.index, 0, draggable);
+ }
+
+ var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;
+
+ if (proposedIndex < 0) {
+ return null;
+ }
+
+ if (proposedIndex > insideDestination.length - 1) {
+ return null;
}
- var distanceMoving = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);
- var distanceWithScroll = withDroppableDisplacement(droppable, distanceMoving);
return {
- pageBorderBoxCenter: previousPageBorderBoxCenter,
- impact: newImpact,
- scrollJumpRequest: distanceWithScroll
+ proposedIndex: proposedIndex,
+ modifyDisplacement: true
};
});
- var moveToNextIndex = (function (args) {
- var draggableId = args.draggableId,
- draggables = args.draggables,
- droppable = args.droppable;
- var draggable = draggables[draggableId];
- var isInHomeList = draggable.descriptor.droppableId === droppable.descriptor.id;
+ var fromCombine = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ destination = _ref.destination,
+ previousImpact = _ref.previousImpact,
+ draggables = _ref.draggables,
+ merge = _ref.merge,
+ onLift = _ref.onLift;
- if (!droppable.isEnabled) {
+ if (!destination.isCombineEnabled) {
return null;
}
- if (isInHomeList) {
- return inHomeList$1(args);
- }
+ var movement = previousImpact.movement;
+ var combineId = merge.combine.draggableId;
+ var combine = draggables[combineId];
+ var combineIndex = combine.descriptor.index;
+ var wasDisplacedAtStart = didStartDisplaced(combineId, onLift);
- return inForeignList$1(args);
- });
+ if (wasDisplacedAtStart) {
+ var hasDisplacedFromStart = !movement.map[combineId];
- var getClientSelection = function getClientSelection(pageBorderBoxCenter, currentScroll) {
- return subtract(pageBorderBoxCenter, currentScroll);
- };
+ if (hasDisplacedFromStart) {
+ if (isMovingForward) {
+ return {
+ proposedIndex: combineIndex,
+ modifyDisplacement: false
+ };
+ }
- var moveInDirection = (function (_ref) {
- var state = _ref.state,
- type = _ref.type;
+ return {
+ proposedIndex: combineIndex - 1,
+ modifyDisplacement: true
+ };
+ }
- var _ref2 = function () {
- if (state.impact.destination) {
+ if (isMovingForward) {
return {
- droppable: state.dimensions.droppables[state.impact.destination.droppableId],
- isMainAxisMovementAllowed: true
+ proposedIndex: combineIndex,
+ modifyDisplacement: true
};
}
return {
- droppable: state.dimensions.droppables[state.critical.droppable.id],
- isMainAxisMovementAllowed: false
+ proposedIndex: combineIndex - 1,
+ modifyDisplacement: false
};
- }(),
- droppable = _ref2.droppable,
- isMainAxisMovementAllowed = _ref2.isMainAxisMovementAllowed;
-
- var direction = droppable.axis.direction;
- var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');
-
- if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {
- return null;
}
- var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';
-
- if (isMovingOnMainAxis) {
- var _result = moveToNextIndex({
- isMovingForward: isMovingForward,
- draggableId: state.critical.draggable.id,
- droppable: droppable,
- draggables: state.dimensions.draggables,
- previousPageBorderBoxCenter: state.current.page.borderBoxCenter,
- previousImpact: state.impact,
- viewport: state.viewport
- });
+ var isDisplaced = Boolean(movement.map[combineId]);
- if (!_result) {
- return null;
+ if (isDisplaced) {
+ if (isMovingForward) {
+ return {
+ proposedIndex: combineIndex + 1,
+ modifyDisplacement: true
+ };
}
return {
- impact: _result.impact,
- clientSelection: getClientSelection(_result.pageBorderBoxCenter, state.viewport.scroll.current),
- scrollJumpRequest: _result.scrollJumpRequest
+ proposedIndex: combineIndex,
+ modifyDisplacement: false
};
}
- var home = getHomeLocation(state.critical);
- var result = moveCrossAxis({
- isMovingForward: isMovingForward,
- pageBorderBoxCenter: state.current.page.borderBoxCenter,
- draggableId: state.critical.draggable.id,
- droppableId: droppable.descriptor.id,
- home: home,
- draggables: state.dimensions.draggables,
- droppables: state.dimensions.droppables,
- previousImpact: state.impact,
- viewport: state.viewport
- });
-
- if (!result) {
- return null;
+ if (isMovingForward) {
+ return {
+ proposedIndex: combineIndex + 1,
+ modifyDisplacement: false
+ };
}
return {
- clientSelection: getClientSelection(result.pageBorderBoxCenter, state.viewport.scroll.current),
- impact: result.impact,
- scrollJumpRequest: null
+ proposedIndex: combineIndex,
+ modifyDisplacement: true
};
});
- var scrollViewport = (function (viewport, newScroll) {
- var diff = subtract(newScroll, viewport.scroll.initial);
- var displacement = negate(diff);
- var frame = cssBoxModel.getRect({
- top: newScroll.y,
- bottom: newScroll.y + viewport.frame.height,
- left: newScroll.x,
- right: newScroll.x + viewport.frame.width
- });
- var updated = {
- frame: frame,
- scroll: {
- initial: viewport.scroll.initial,
- max: viewport.scroll.max,
- current: newScroll,
- diff: {
- value: diff,
- displacement: displacement
- }
+ var moveToNextIndex = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ isInHomeList = _ref.isInHomeList,
+ draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ destination = _ref.destination,
+ insideDestination = _ref.insideDestination,
+ previousImpact = _ref.previousImpact,
+ onLift = _ref.onLift;
+
+ var instruction = function () {
+ if (previousImpact.destination) {
+ return fromReorder({
+ isMovingForward: isMovingForward,
+ isInHomeList: isInHomeList,
+ draggable: draggable,
+ location: previousImpact.destination,
+ insideDestination: insideDestination
+ });
}
- };
- return updated;
- });
- var getHomeImpact = (function (critical, dimensions) {
- var home = dimensions.droppables[critical.droppable.id];
- var axis = home.axis;
- var draggable = dimensions.draggables[critical.draggable.id];
+ if (previousImpact.merge) {
+ return fromCombine({
+ isMovingForward: isMovingForward,
+ destination: destination,
+ previousImpact: previousImpact,
+ draggables: draggables,
+ merge: previousImpact.merge,
+ onLift: onLift
+ });
+ }
+ return null;
+ }();
+
+ if (instruction == null) {
+ return null;
+ }
+
+ var proposedIndex = instruction.proposedIndex,
+ modifyDisplacement = instruction.modifyDisplacement;
+ var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);
+
+ var displaced = function () {
+ var lastDisplaced = previousImpact.movement.displaced;
+
+ if (!modifyDisplacement) {
+ return lastDisplaced;
+ }
+
+ if (isMovingForward) {
+ return removeClosest(lastDisplaced);
+ }
+
+ var withoutDraggable = removeDraggableFromList(draggable, insideDestination);
+ var atProposedIndex = withoutDraggable[proposedIndex];
+ return addClosest(atProposedIndex, lastDisplaced);
+ }();
+
return {
movement: {
- displaced: [],
- isBeyondStartPosition: false,
- amount: patch(axis.line, draggable.client.marginBox[axis.size])
+ displacedBy: displacedBy,
+ displaced: displaced,
+ map: getDisplacementMap(displaced)
+ },
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: proposedIndex
},
- direction: axis.direction,
- destination: getHomeLocation(critical)
+ merge: null
};
});
- var getPageItemPositions = (function (client, windowScroll) {
- return {
- selection: add(client.selection, windowScroll),
- borderBoxCenter: add(client.borderBoxCenter, windowScroll),
- offset: add(client.offset, windowScroll)
- };
+ var whenCombining = (function (_ref) {
+ var combine = _ref.combine,
+ onLift = _ref.onLift,
+ movement = _ref.movement,
+ draggables = _ref.draggables;
+ var combineWith = combine.draggableId;
+ var center = draggables[combineWith].page.borderBox.center;
+ var displaceBy = getCombinedItemDisplacement({
+ displaced: movement.map,
+ onLift: onLift,
+ combineWith: combineWith,
+ displacedBy: movement.displacedBy
+ });
+ return add(center, displaceBy);
});
- function isMovementAllowed(state) {
- return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';
- }
-
- var idle = {
- phase: 'IDLE'
+ var distanceFromStartToBorderBoxCenter = function distanceFromStartToBorderBoxCenter(axis, box) {
+ return box.margin[axis.start] + box.borderBox[axis.size] / 2;
};
- var preparing = {
- phase: 'PREPARING'
+
+ var distanceFromEndToBorderBoxCenter = function distanceFromEndToBorderBoxCenter(axis, box) {
+ return box.margin[axis.end] + box.borderBox[axis.size] / 2;
};
- var moveWithPositionUpdates = function moveWithPositionUpdates(_ref) {
- var state = _ref.state,
- clientSelection = _ref.clientSelection,
- shouldAnimate = _ref.shouldAnimate,
- viewport = _ref.viewport,
- impact = _ref.impact,
- scrollJumpRequest = _ref.scrollJumpRequest;
- var newViewport = viewport || state.viewport;
- var currentWindowScroll = newViewport.scroll.current;
+ var getCrossAxisBorderBoxCenter = function getCrossAxisBorderBoxCenter(axis, target, isMoving) {
+ return target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;
+ };
- var client = function () {
- var offset = subtract(clientSelection, state.initial.client.selection);
- return {
- offset: offset,
- selection: clientSelection,
- borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)
- };
- }();
+ var goAfter = function goAfter(_ref) {
+ var axis = _ref.axis,
+ moveRelativeTo = _ref.moveRelativeTo,
+ isMoving = _ref.isMoving;
+ return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));
+ };
+ var goBefore = function goBefore(_ref2) {
+ var axis = _ref2.axis,
+ moveRelativeTo = _ref2.moveRelativeTo,
+ isMoving = _ref2.isMoving;
+ return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));
+ };
+ var goIntoStart = function goIntoStart(_ref3) {
+ var axis = _ref3.axis,
+ moveInto = _ref3.moveInto,
+ isMoving = _ref3.isMoving;
+ return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));
+ };
- var page = getPageItemPositions(client, currentWindowScroll);
- var current = {
- client: client,
- page: page
- };
+ var whenReordering = (function (_ref) {
+ var movement = _ref.movement,
+ draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ droppable = _ref.droppable,
+ onLift = _ref.onLift;
+ var insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);
+ var draggablePage = draggable.page;
+ var axis = droppable.axis;
- if (state.phase === 'COLLECTING') {
- return _extends({
- phase: 'COLLECTING'
- }, state, {
- current: current
+ if (!insideDestination.length) {
+ return goIntoStart({
+ axis: axis,
+ moveInto: droppable.page,
+ isMoving: draggablePage
});
}
- var newImpact = impact || getDragImpact({
- pageBorderBoxCenter: page.borderBoxCenter,
- draggable: state.dimensions.draggables[state.critical.draggable.id],
- draggables: state.dimensions.draggables,
- droppables: state.dimensions.droppables,
- previousImpact: state.impact,
- viewport: newViewport
- });
+ var displaced = movement.displaced,
+ displacedBy = movement.displacedBy;
- var result = _extends({}, state, {
- current: current,
- shouldAnimate: shouldAnimate,
- impact: newImpact,
- scrollJumpRequest: scrollJumpRequest || null,
- viewport: newViewport
- });
+ if (displaced.length) {
+ var closestAfter = draggables[displaced[0].draggableId];
- return result;
- };
+ if (didStartDisplaced(closestAfter.descriptor.id, onLift)) {
+ return goBefore({
+ axis: axis,
+ moveRelativeTo: closestAfter.page,
+ isMoving: draggablePage
+ });
+ }
- var reducer = (function (state, action) {
- if (state === void 0) {
- state = idle;
+ var withDisplacement = cssBoxModel.offset(closestAfter.page, displacedBy.point);
+ return goBefore({
+ axis: axis,
+ moveRelativeTo: withDisplacement,
+ isMoving: draggablePage
+ });
}
- if (action.type === 'CLEAN') {
- return idle;
- }
+ var last = insideDestination[insideDestination.length - 1];
- if (action.type === 'PREPARE') {
- return preparing;
+ if (last.descriptor.id === draggable.descriptor.id) {
+ return draggablePage.borderBox.center;
}
- if (action.type === 'INITIAL_PUBLISH') {
- !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'INITIAL_PUBLISH must come after a PREPARING phase') : invariant(false) : void 0;
- var _action$payload = action.payload,
- critical = _action$payload.critical,
- client = _action$payload.client,
- viewport = _action$payload.viewport,
- dimensions = _action$payload.dimensions,
- autoScrollMode = _action$payload.autoScrollMode;
- var initial = {
- client: client,
- page: {
- selection: add(client.selection, viewport.scroll.initial),
- borderBoxCenter: add(client.selection, viewport.scroll.initial),
- offset: origin
- }
- };
- var result = {
- phase: 'DRAGGING',
- isDragging: true,
- critical: critical,
- autoScrollMode: autoScrollMode,
- dimensions: dimensions,
- initial: initial,
- current: initial,
- impact: getHomeImpact(critical, dimensions),
- viewport: viewport,
- scrollJumpRequest: null,
- shouldAnimate: false
- };
- return result;
+ if (didStartDisplaced(last.descriptor.id, onLift)) {
+ var page = cssBoxModel.offset(last.page, negate(onLift.displacedBy.point));
+ return goAfter({
+ axis: axis,
+ moveRelativeTo: page,
+ isMoving: draggablePage
+ });
}
- if (action.type === 'COLLECTION_STARTING') {
- var _extends2;
-
- if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
- return state;
- }
-
- !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Collection cannot start from phase " + state.phase) : invariant(false) : void 0;
-
- var _result = _extends({
- phase: 'COLLECTING'
- }, state, (_extends2 = {}, _extends2["phase"] = 'COLLECTING', _extends2));
+ return goAfter({
+ axis: axis,
+ moveRelativeTo: last.page,
+ isMoving: draggablePage
+ });
+ });
- return _result;
- }
+ var withDroppableDisplacement = (function (droppable, point) {
+ var frame = droppable.frame;
- if (action.type === 'PUBLISH') {
- !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Unexpected " + action.type + " received in phase " + state.phase) : invariant(false) : void 0;
- process.env.NODE_ENV !== "production" ? invariant(false, "Dynamic additions and removals of Draggable and Droppable components\n is currently not supported. But will be soon!") : invariant(false);
+ if (!frame) {
+ return point;
}
- if (action.type === 'MOVE') {
- if (state.phase === 'PREPARING') {
- return state;
- }
-
- if (state.phase === 'DROP_PENDING') {
- return state;
- }
+ return add(point, frame.scroll.diff.displacement);
+ });
- !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " not permitted in phase " + state.phase) : invariant(false) : void 0;
- var _action$payload2 = action.payload,
- _client = _action$payload2.client,
- shouldAnimate = _action$payload2.shouldAnimate;
+ var getResultWithoutDroppableDisplacement = function getResultWithoutDroppableDisplacement(_ref) {
+ var impact = _ref.impact,
+ draggable = _ref.draggable,
+ droppable = _ref.droppable,
+ draggables = _ref.draggables,
+ onLift = _ref.onLift;
+ var merge = impact.merge;
+ var destination = impact.destination;
+ var original = draggable.page.borderBox.center;
- if (state.shouldAnimate === shouldAnimate && isEqual(_client, state.current.client.selection)) {
- return state;
- }
+ if (!droppable) {
+ return original;
+ }
- var impact = state.autoScrollMode === 'JUMP' ? state.impact : null;
- return moveWithPositionUpdates({
- state: state,
- clientSelection: _client,
- impact: impact,
- shouldAnimate: shouldAnimate
+ if (destination) {
+ return whenReordering({
+ movement: impact.movement,
+ draggable: draggable,
+ draggables: draggables,
+ droppable: droppable,
+ onLift: onLift
});
}
- if (action.type === 'UPDATE_DROPPABLE_SCROLL') {
- var _extends3, _extends4;
-
- if (state.phase === 'PREPARING') {
- return state;
- }
+ if (merge) {
+ return whenCombining({
+ movement: impact.movement,
+ combine: merge.combine,
+ draggables: draggables,
+ onLift: onLift
+ });
+ }
- if (state.phase === 'DROP_PENDING') {
- return state;
- }
+ return original;
+ };
- !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " not permitted in phase " + state.phase) : invariant(false) : void 0;
- var _action$payload3 = action.payload,
- id = _action$payload3.id,
- offset = _action$payload3.offset;
- var target = state.dimensions.droppables[id];
+ var getPageBorderBoxCenterFromImpact = (function (args) {
+ var withoutDisplacement = getResultWithoutDroppableDisplacement(args);
+ var droppable = args.droppable;
+ var withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;
+ return withDisplacement;
+ });
- if (!target) {
- return state;
+ var scrollViewport = (function (viewport, newScroll) {
+ var diff = subtract(newScroll, viewport.scroll.initial);
+ var displacement = negate(diff);
+ var frame = cssBoxModel.getRect({
+ top: newScroll.y,
+ bottom: newScroll.y + viewport.frame.height,
+ left: newScroll.x,
+ right: newScroll.x + viewport.frame.width
+ });
+ var updated = {
+ frame: frame,
+ scroll: {
+ initial: viewport.scroll.initial,
+ max: viewport.scroll.max,
+ current: newScroll,
+ diff: {
+ value: diff,
+ displacement: displacement
+ }
}
+ };
+ return updated;
+ });
- var updated = scrollDroppable(target, offset);
+ var withNewDisplacement = (function (impact, displaced) {
+ return _extends({}, impact, {
+ movement: _extends({}, impact.movement, {
+ displaced: displaced,
+ map: getDisplacementMap(displaced)
+ })
+ });
+ });
- var _dimensions = _extends({}, state.dimensions, {
- droppables: _extends({}, state.dimensions.droppables, (_extends3 = {}, _extends3[id] = updated, _extends3))
+ var speculativelyIncrease = (function (_ref) {
+ var impact = _ref.impact,
+ viewport = _ref.viewport,
+ destination = _ref.destination,
+ draggables = _ref.draggables,
+ maxScrollChange = _ref.maxScrollChange,
+ onLift = _ref.onLift;
+ var displaced = impact.movement.displaced;
+ var scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));
+ var scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;
+ var updated = displaced.map(function (entry) {
+ if (entry.isVisible) {
+ return entry;
+ }
+
+ var draggable = draggables[entry.draggableId];
+ var withScrolledViewport = getDisplacement({
+ draggable: draggable,
+ destination: destination,
+ previousImpact: impact,
+ viewport: scrolledViewport.frame,
+ onLift: onLift,
+ forceShouldAnimate: false
});
- var _impact = function () {
- !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
+ if (withScrolledViewport.isVisible) {
+ return withScrolledViewport;
+ }
- if (state.autoScrollMode === 'JUMP') {
- return state.impact;
- }
+ var withScrolledDroppable = getDisplacement({
+ draggable: draggable,
+ destination: scrolledDroppable,
+ previousImpact: impact,
+ viewport: viewport.frame,
+ onLift: onLift,
+ forceShouldAnimate: false
+ });
- return getDragImpact({
- pageBorderBoxCenter: state.current.page.borderBoxCenter,
- draggable: _dimensions.draggables[state.critical.draggable.id],
- draggables: _dimensions.draggables,
- droppables: _dimensions.droppables,
- previousImpact: state.impact,
- viewport: state.viewport
- });
- }();
+ if (withScrolledDroppable.isVisible) {
+ return withScrolledDroppable;
+ }
- return _extends({
- phase: 'DRAGGING'
- }, state, (_extends4 = {}, _extends4["phase"] = state.phase, _extends4.impact = _impact, _extends4.dimensions = _dimensions, _extends4.scrollJumpRequest = null, _extends4));
- }
+ return entry;
+ });
+ return withNewDisplacement(impact, updated);
+ });
- if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {
- var _extends5, _extends6;
+ var withViewportDisplacement = (function (viewport, point) {
+ return add(viewport.scroll.diff.displacement, point);
+ });
- if (state.phase === 'DROP_PENDING') {
- return state;
- }
+ var getClientFromPageBorderBoxCenter = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ draggable = _ref.draggable,
+ viewport = _ref.viewport;
+ var withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);
+ var offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);
+ return add(draggable.client.borderBox.center, offset);
+ });
- !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, "Attempting to move in an unsupported phase " + state.phase) : invariant(false) : void 0;
- var _action$payload4 = action.payload,
- _id = _action$payload4.id,
- isEnabled = _action$payload4.isEnabled;
- var _target = state.dimensions.droppables[_id];
- !_target ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot find Droppable[id: " + _id + "] to toggle its enabled state") : invariant(false) : void 0;
- !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== "production" ? invariant(false, "Trying to set droppable isEnabled to " + String(isEnabled) + "\n but it is already " + String(_target.isEnabled)) : invariant(false) : void 0;
+ var isTotallyVisibleInNewLocation = (function (_ref) {
+ var draggable = _ref.draggable,
+ destination = _ref.destination,
+ newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,
+ viewport = _ref.viewport,
+ withDroppableDisplacement = _ref.withDroppableDisplacement,
+ _ref$onlyOnMainAxis = _ref.onlyOnMainAxis,
+ onlyOnMainAxis = _ref$onlyOnMainAxis === void 0 ? false : _ref$onlyOnMainAxis;
+ var changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);
+ var shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);
+ var args = {
+ target: shifted,
+ destination: destination,
+ withDroppableDisplacement: withDroppableDisplacement,
+ viewport: viewport
+ };
+ return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);
+ });
- var _updated = _extends({}, _target, {
- isEnabled: isEnabled
- });
+ var moveToNextPlace = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ draggable = _ref.draggable,
+ destination = _ref.destination,
+ draggables = _ref.draggables,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport,
+ previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
+ previousClientSelection = _ref.previousClientSelection,
+ onLift = _ref.onLift;
- var _dimensions2 = _extends({}, state.dimensions, {
- droppables: _extends({}, state.dimensions.droppables, (_extends5 = {}, _extends5[_id] = _updated, _extends5))
- });
+ if (!destination.isEnabled) {
+ return null;
+ }
+
+ var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);
+ var isInHomeList = isHomeOf(draggable, destination);
+ var impact = moveToNextCombine({
+ isInHomeList: isInHomeList,
+ isMovingForward: isMovingForward,
+ draggable: draggable,
+ destination: destination,
+ insideDestination: insideDestination,
+ previousImpact: previousImpact
+ }) || moveToNextIndex({
+ isMovingForward: isMovingForward,
+ isInHomeList: isInHomeList,
+ draggable: draggable,
+ draggables: draggables,
+ destination: destination,
+ insideDestination: insideDestination,
+ previousImpact: previousImpact,
+ onLift: onLift
+ });
+
+ if (!impact) {
+ return null;
+ }
+
+ var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({
+ impact: impact,
+ draggable: draggable,
+ droppable: destination,
+ draggables: draggables,
+ onLift: onLift
+ });
+ var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
+ draggable: draggable,
+ destination: destination,
+ newPageBorderBoxCenter: pageBorderBoxCenter,
+ viewport: viewport.frame,
+ withDroppableDisplacement: false,
+ onlyOnMainAxis: true
+ });
- var _impact2 = getDragImpact({
- pageBorderBoxCenter: state.current.page.borderBoxCenter,
- draggable: _dimensions2.draggables[state.critical.draggable.id],
- draggables: _dimensions2.draggables,
- droppables: _dimensions2.droppables,
- previousImpact: state.impact,
- viewport: state.viewport
+ if (isVisibleInNewLocation) {
+ var clientSelection = getClientFromPageBorderBoxCenter({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ draggable: draggable,
+ viewport: viewport
});
+ return {
+ clientSelection: clientSelection,
+ impact: impact,
+ scrollJumpRequest: null
+ };
+ }
- return _extends({
- phase: 'DRAGGING'
- }, state, (_extends6 = {}, _extends6["phase"] = state.phase, _extends6.impact = _impact2, _extends6.dimensions = _dimensions2, _extends6));
+ var distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);
+ var cautious = speculativelyIncrease({
+ impact: impact,
+ viewport: viewport,
+ destination: destination,
+ draggables: draggables,
+ maxScrollChange: distance,
+ onLift: onLift
+ });
+ return {
+ clientSelection: previousClientSelection,
+ impact: cautious,
+ scrollJumpRequest: distance
+ };
+ });
+
+ var getKnownActive = function getKnownActive(droppable) {
+ var rect = droppable.subject.active;
+ !rect ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;
+ return rect;
+ };
+
+ var getBestCrossAxisDroppable = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ source = _ref.source,
+ droppables = _ref.droppables,
+ viewport = _ref.viewport;
+ var active = source.subject.active;
+
+ if (!active) {
+ return null;
}
- if (action.type === 'MOVE_BY_WINDOW_SCROLL') {
- if (state.phase === 'PREPARING') {
- return state;
- }
+ var axis = source.axis;
+ var isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);
+ var candidates = toDroppableList(droppables).filter(function (droppable) {
+ return droppable !== source;
+ }).filter(function (droppable) {
+ return droppable.isEnabled;
+ }).filter(function (droppable) {
+ return Boolean(droppable.subject.active);
+ }).filter(function (droppable) {
+ return isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable));
+ }).filter(function (droppable) {
+ var activeOfTarget = getKnownActive(droppable);
- if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {
- return state;
+ if (isMovingForward) {
+ return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];
}
- !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot move by window in phase " + state.phase) : invariant(false) : void 0;
- var newScroll = action.payload.scroll;
+ return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];
+ }).filter(function (droppable) {
+ var activeOfTarget = getKnownActive(droppable);
+ var isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);
+ return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);
+ }).sort(function (a, b) {
+ var first = getKnownActive(a)[axis.crossAxisStart];
+ var second = getKnownActive(b)[axis.crossAxisStart];
- if (isEqual(state.viewport.scroll.current, newScroll)) {
- return state;
+ if (isMovingForward) {
+ return first - second;
}
- var isJumpScrolling = state.autoScrollMode === 'JUMP';
+ return second - first;
+ }).filter(function (droppable, index, array) {
+ return getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart];
+ });
- var _impact3 = isJumpScrolling ? state.impact : null;
+ if (!candidates.length) {
+ return null;
+ }
- var _viewport = scrollViewport(state.viewport, newScroll);
+ if (candidates.length === 1) {
+ return candidates[0];
+ }
- return moveWithPositionUpdates({
- state: state,
- clientSelection: state.current.client.selection,
- viewport: _viewport,
- shouldAnimate: false,
- impact: _impact3
- });
+ var contains = candidates.filter(function (droppable) {
+ var isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);
+ return isWithinDroppable(pageBorderBoxCenter[axis.line]);
+ });
+
+ if (contains.length === 1) {
+ return contains[0];
}
- if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {
- var _extends7;
+ if (contains.length > 1) {
+ return contains.sort(function (a, b) {
+ return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];
+ })[0];
+ }
- !state.isDragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot update the max viewport scroll if not dragging') : invariant(false) : void 0;
- var existing = state.viewport;
+ return candidates.sort(function (a, b) {
+ var first = closest(pageBorderBoxCenter, getCorners(getKnownActive(a)));
+ var second = closest(pageBorderBoxCenter, getCorners(getKnownActive(b)));
- var _viewport2 = _extends({}, existing, {
- scroll: _extends({}, existing.scroll, {
- max: action.payload
- })
- });
+ if (first !== second) {
+ return first - second;
+ }
- return _extends({
- phase: 'DRAGGING'
- }, state, (_extends7 = {}, _extends7["phase"] = state.phase, _extends7.viewport = _viewport2, _extends7));
- }
+ return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];
+ })[0];
+ });
- if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {
- if (state.phase === 'PREPARING') {
- return state;
+ var getCurrentPageBorderBoxCenter = function getCurrentPageBorderBoxCenter(draggable, onLift) {
+ var original = draggable.page.borderBox.center;
+ return didStartDisplaced(draggable.descriptor.id, onLift) ? subtract(original, onLift.displacedBy.point) : original;
+ };
+ var getCurrentPageBorderBox = function getCurrentPageBorderBox(draggable, onLift) {
+ var original = draggable.page.borderBox;
+ return didStartDisplaced(draggable.descriptor.id, onLift) ? offsetByPosition(original, negate(onLift.displacedBy.point)) : original;
+ };
+
+ var getClosestDraggable = (function (_ref) {
+ var pageBorderBoxCenter = _ref.pageBorderBoxCenter,
+ viewport = _ref.viewport,
+ destination = _ref.destination,
+ insideDestination = _ref.insideDestination,
+ onLift = _ref.onLift;
+ var sorted = insideDestination.filter(function (draggable) {
+ return isTotallyVisible({
+ target: getCurrentPageBorderBox(draggable, onLift),
+ destination: destination,
+ viewport: viewport.frame,
+ withDroppableDisplacement: true
+ });
+ }).sort(function (a, b) {
+ var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, onLift)));
+ var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, onLift)));
+
+ if (distanceToA < distanceToB) {
+ return -1;
}
- if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
- return state;
+ if (distanceToB < distanceToA) {
+ return 1;
}
- !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " received while not in DRAGGING phase") : invariant(false) : void 0;
+ return a.descriptor.index - b.descriptor.index;
+ });
+ return sorted[0] || null;
+ });
- var _result2 = moveInDirection({
- state: state,
- type: action.type
- });
+ var moveToNewDroppable = (function (_ref) {
+ var previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
+ moveRelativeTo = _ref.moveRelativeTo,
+ insideDestination = _ref.insideDestination,
+ draggable = _ref.draggable,
+ draggables = _ref.draggables,
+ destination = _ref.destination,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport,
+ onLift = _ref.onLift;
- if (!_result2) {
- return state;
+ if (!moveRelativeTo) {
+ if (insideDestination.length) {
+ return null;
}
- return moveWithPositionUpdates({
- state: state,
- impact: _result2.impact,
- clientSelection: _result2.clientSelection,
- shouldAnimate: true,
- scrollJumpRequest: _result2.scrollJumpRequest
+ var proposed = {
+ movement: noMovement,
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: 0
+ },
+ merge: null
+ };
+ var proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({
+ impact: proposed,
+ draggable: draggable,
+ droppable: destination,
+ draggables: draggables,
+ onLift: onLift
});
+ var withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);
+ var isVisibleInNewLocation = isTotallyVisibleInNewLocation({
+ draggable: draggable,
+ destination: withPlaceholder,
+ newPageBorderBoxCenter: proposedPageBorderBoxCenter,
+ viewport: viewport.frame,
+ withDroppableDisplacement: false,
+ onlyOnMainAxis: true
+ });
+ return isVisibleInNewLocation ? proposed : null;
}
- if (action.type === 'DROP_PENDING') {
- var _extends8;
+ var isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] < moveRelativeTo.page.borderBox.center[destination.axis.line]);
+ var targetIndex = insideDestination.indexOf(moveRelativeTo);
+ !(targetIndex !== -1) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find target in list') : invariant(false) : void 0;
- var reason = action.payload.reason;
- !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;
+ var proposedIndex = function () {
+ if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {
+ return targetIndex;
+ }
- var newState = _extends({
- phase: 'DROP_PENDING'
- }, state, (_extends8 = {}, _extends8["phase"] = 'DROP_PENDING', _extends8.isWaiting = true, _extends8.reason = reason, _extends8));
+ if (isGoingBeforeTarget) {
+ return targetIndex;
+ }
- return newState;
- }
+ return targetIndex + 1;
+ }();
- if (action.type === 'DROP_ANIMATE') {
- var pending = action.payload;
- !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot animate drop from phase " + state.phase) : invariant(false) : void 0;
- var _result3 = {
- phase: 'DROP_ANIMATING',
- pending: pending,
- dimensions: state.dimensions
- };
- return _result3;
- }
+ var displaced = removeDraggableFromList(draggable, insideDestination).slice(proposedIndex).map(function (dimension) {
+ return getDisplacement({
+ draggable: dimension,
+ destination: destination,
+ viewport: viewport.frame,
+ previousImpact: previousImpact,
+ onLift: onLift
+ });
+ });
+ var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);
+ var impact = {
+ movement: {
+ displacedBy: displacedBy,
+ displaced: displaced,
+ map: getDisplacementMap(displaced)
+ },
+ destination: {
+ droppableId: destination.descriptor.id,
+ index: proposedIndex
+ },
+ merge: null
+ };
+ return impact;
+ });
- if (action.type === 'DROP_COMPLETE') {
- return idle;
- }
+ var moveCrossAxis = (function (_ref) {
+ var isMovingForward = _ref.isMovingForward,
+ previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,
+ draggable = _ref.draggable,
+ isOver = _ref.isOver,
+ draggables = _ref.draggables,
+ droppables = _ref.droppables,
+ previousImpact = _ref.previousImpact,
+ viewport = _ref.viewport,
+ onLift = _ref.onLift;
+ var destination = getBestCrossAxisDroppable({
+ isMovingForward: isMovingForward,
+ pageBorderBoxCenter: previousPageBorderBoxCenter,
+ source: isOver,
+ droppables: droppables,
+ viewport: viewport
+ });
- return state;
- });
+ if (!destination) {
+ return null;
+ }
- var lift = function lift(args) {
- return {
- type: 'LIFT',
- payload: args
- };
- };
- var initialPublish = function initialPublish(args) {
- return {
- type: 'INITIAL_PUBLISH',
- payload: args
- };
- };
- var publish = function publish(args) {
- return {
- type: 'PUBLISH',
- payload: args
- };
- };
- var collectionStarting = function collectionStarting() {
- return {
- type: 'COLLECTION_STARTING',
- payload: null
- };
- };
- var updateDroppableScroll = function updateDroppableScroll(args) {
- return {
- type: 'UPDATE_DROPPABLE_SCROLL',
- payload: args
- };
- };
- var updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {
- return {
- type: 'UPDATE_DROPPABLE_IS_ENABLED',
- payload: args
- };
- };
- var move = function move(args) {
- return {
- type: 'MOVE',
- payload: args
- };
- };
- var moveByWindowScroll = function moveByWindowScroll(args) {
- return {
- type: 'MOVE_BY_WINDOW_SCROLL',
- payload: args
- };
- };
- var updateViewportMaxScroll = function updateViewportMaxScroll(max) {
- return {
- type: 'UPDATE_VIEWPORT_MAX_SCROLL',
- payload: max
- };
- };
- var moveUp = function moveUp() {
- return {
- type: 'MOVE_UP',
- payload: null
- };
- };
- var moveDown = function moveDown() {
- return {
- type: 'MOVE_DOWN',
- payload: null
- };
- };
- var moveRight = function moveRight() {
- return {
- type: 'MOVE_RIGHT',
- payload: null
- };
- };
- var moveLeft = function moveLeft() {
- return {
- type: 'MOVE_LEFT',
- payload: null
- };
- };
- var clean = function clean() {
- return {
- type: 'CLEAN',
- payload: null
- };
- };
- var prepare = function prepare() {
- return {
- type: 'PREPARE',
- payload: null
- };
- };
- var animateDrop = function animateDrop(pending) {
- return {
- type: 'DROP_ANIMATE',
- payload: pending
- };
- };
- var completeDrop = function completeDrop(result) {
- return {
- type: 'DROP_COMPLETE',
- payload: result
- };
- };
- var drop = function drop(args) {
- return {
- type: 'DROP',
- payload: args
- };
- };
- var dropPending = function dropPending(args) {
- return {
- type: 'DROP_PENDING',
- payload: args
- };
- };
- var dropAnimationFinished = function dropAnimationFinished() {
- return {
- type: 'DROP_ANIMATION_FINISHED',
- payload: null
- };
- };
-
- var lift$1 = (function (getMarshal) {
- var timeoutId = null;
+ var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);
+ var moveRelativeTo = getClosestDraggable({
+ pageBorderBoxCenter: previousPageBorderBoxCenter,
+ viewport: viewport,
+ destination: destination,
+ insideDestination: insideDestination,
+ onLift: onLift
+ });
+ var impact = moveToNewDroppable({
+ previousPageBorderBoxCenter: previousPageBorderBoxCenter,
+ destination: destination,
+ draggable: draggable,
+ draggables: draggables,
+ moveRelativeTo: moveRelativeTo,
+ insideDestination: insideDestination,
+ previousImpact: previousImpact,
+ viewport: viewport,
+ onLift: onLift
+ });
- var tryAbortCriticalCollection = function tryAbortCriticalCollection() {
- if (timeoutId == null) {
- return;
- }
+ if (!impact) {
+ return null;
+ }
- clearTimeout(timeoutId);
- timeoutId = null;
+ var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({
+ impact: impact,
+ draggable: draggable,
+ droppable: destination,
+ draggables: draggables,
+ onLift: onLift
+ });
+ var clientSelection = getClientFromPageBorderBoxCenter({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ draggable: draggable,
+ viewport: viewport
+ });
+ return {
+ clientSelection: clientSelection,
+ impact: impact,
+ scrollJumpRequest: null
};
+ });
- return function (_ref) {
- var getState = _ref.getState,
- dispatch = _ref.dispatch;
- return function (next) {
- return function (action) {
- if (action.type === 'CLEAN') {
- tryAbortCriticalCollection();
- next(action);
- return;
- }
-
- if (action.type !== 'LIFT') {
- next(action);
- return;
- }
+ var getDroppableOver$1 = function getDroppableOver(impact, droppables) {
+ var id = whatIsDraggedOver(impact);
+ return id ? droppables[id] : null;
+ };
- !!timeoutId ? process.env.NODE_ENV !== "production" ? invariant(false, 'There should not be a pending complete lift phase when a lift action is fired') : invariant(false) : void 0;
- var marshal = getMarshal();
- var _action$payload = action.payload,
- id = _action$payload.id,
- client = _action$payload.client,
- autoScrollMode = _action$payload.autoScrollMode,
- viewport = _action$payload.viewport;
- var initial = getState();
+ var moveInDirection = (function (_ref) {
+ var state = _ref.state,
+ type = _ref.type;
+ var isActuallyOver = getDroppableOver$1(state.impact, state.dimensions.droppables);
+ var isMainAxisMovementAllowed = Boolean(isActuallyOver);
+ var home = state.dimensions.droppables[state.critical.droppable.id];
+ var isOver = isActuallyOver || home;
+ var direction = isOver.axis.direction;
+ var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');
- if (initial.phase === 'DROP_ANIMATING') {
- dispatch(completeDrop(initial.pending.result));
- }
+ if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {
+ return null;
+ }
- var postFlushState = getState();
- !(postFlushState.phase === 'IDLE') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Incorrect phase to start a drag') : invariant(false) : void 0;
- dispatch(prepare());
- timeoutId = setTimeout(function () {
- timeoutId = null;
- var state = getState();
- !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Invalid phase for completing lift') : invariant(false) : void 0;
- var scrollOptions = {
- shouldPublishImmediately: autoScrollMode === 'JUMP'
- };
- var request = {
- draggableId: id,
- scrollOptions: scrollOptions
- };
-
- var _marshal$startPublish = marshal.startPublishing(request, viewport.scroll.current),
- critical = _marshal$startPublish.critical,
- dimensions = _marshal$startPublish.dimensions;
-
- dispatch(initialPublish({
- critical: critical,
- dimensions: dimensions,
- client: client,
- autoScrollMode: autoScrollMode,
- viewport: viewport
- }));
- });
- };
- };
- };
+ var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';
+ var draggable = state.dimensions.draggables[state.critical.draggable.id];
+ var previousPageBorderBoxCenter = state.current.page.borderBoxCenter;
+ var _state$dimensions = state.dimensions,
+ draggables = _state$dimensions.draggables,
+ droppables = _state$dimensions.droppables;
+ return isMovingOnMainAxis ? moveToNextPlace({
+ isMovingForward: isMovingForward,
+ previousPageBorderBoxCenter: previousPageBorderBoxCenter,
+ draggable: draggable,
+ destination: isOver,
+ draggables: draggables,
+ viewport: state.viewport,
+ previousClientSelection: state.current.client.selection,
+ previousImpact: state.impact,
+ onLift: state.onLift
+ }) : moveCrossAxis({
+ isMovingForward: isMovingForward,
+ previousPageBorderBoxCenter: previousPageBorderBoxCenter,
+ draggable: draggable,
+ isOver: isOver,
+ draggables: draggables,
+ droppables: droppables,
+ previousImpact: state.impact,
+ viewport: state.viewport,
+ onLift: state.onLift
+ });
});
- var style = (function (marshal) {
- return function () {
- return function (next) {
- return function (action) {
- if (action.type === 'INITIAL_PUBLISH') {
- marshal.dragging();
- }
+ function isMovementAllowed(state) {
+ return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';
+ }
- if (action.type === 'COLLECTION_STARTING') {
- marshal.collecting();
- }
+ var getVertical = function getVertical(previous, diff) {
+ if (diff === 0) {
+ return previous;
+ }
- if (action.type === 'PUBLISH') {
- marshal.dragging();
- }
+ return diff > 0 ? 'down' : 'up';
+ };
- if (action.type === 'DROP_ANIMATE') {
- marshal.dropping(action.payload.result.reason);
- }
+ var getHorizontal = function getHorizontal(previous, diff) {
+ if (diff === 0) {
+ return previous;
+ }
- if (action.type === 'CLEAN' || action.type === 'DROP_COMPLETE') {
- marshal.resting();
- }
+ return diff > 0 ? 'right' : 'left';
+ };
- next(action);
- };
- };
+ var getUserDirection = (function (previous, oldPageBorderBoxCenter, newPageBorderBoxCenter) {
+ var diff = subtract(newPageBorderBoxCenter, oldPageBorderBoxCenter);
+ return {
+ horizontal: getHorizontal(previous.horizontal, diff.x),
+ vertical: getVertical(previous.vertical, diff.y)
};
});
- var getNewHomeClientBorderBoxCenter = (function (_ref) {
- var movement = _ref.movement,
- draggable = _ref.draggable,
- draggables = _ref.draggables,
- destination = _ref.destination;
- var originalCenter = draggable.client.borderBox.center;
-
- if (destination == null) {
- return originalCenter;
- }
-
- var displaced = movement.displaced,
- isBeyondStartPosition = movement.isBeyondStartPosition;
- var axis = destination.axis;
- var isWithinHomeDroppable = destination.descriptor.id === draggable.descriptor.droppableId;
+ var update = (function (_ref) {
+ var state = _ref.state,
+ forcedClientSelection = _ref.clientSelection,
+ forcedDimensions = _ref.dimensions,
+ forcedViewport = _ref.viewport,
+ forcedImpact = _ref.impact,
+ scrollJumpRequest = _ref.scrollJumpRequest;
+ var viewport = forcedViewport || state.viewport;
+ var currentWindowScroll = viewport.scroll.current;
+ var dimensions = forcedDimensions || state.dimensions;
+ var clientSelection = forcedClientSelection || state.current.client.selection;
+ var offset = subtract(clientSelection, state.initial.client.selection);
+ var client = {
+ offset: offset,
+ selection: clientSelection,
+ borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)
+ };
+ var page = {
+ selection: add(client.selection, currentWindowScroll),
+ borderBoxCenter: add(client.borderBoxCenter, currentWindowScroll)
+ };
+ var current = {
+ client: client,
+ page: page
+ };
+ var userDirection = getUserDirection(state.userDirection, state.current.page.borderBoxCenter, current.page.borderBoxCenter);
- if (isWithinHomeDroppable && !displaced.length) {
- return originalCenter;
+ if (state.phase === 'COLLECTING') {
+ return _extends({
+ phase: 'COLLECTING'
+ }, state, {
+ dimensions: dimensions,
+ viewport: viewport,
+ current: current,
+ userDirection: userDirection
+ });
}
- var draggablesInDestination = getDraggablesInsideDroppable(destination, draggables);
-
- var movingRelativeTo = function () {
- if (isWithinHomeDroppable) {
- return draggables[displaced[0].draggableId].client.borderBox;
- }
+ var draggable = dimensions.draggables[state.critical.draggable.id];
+ var newImpact = forcedImpact || getDragImpact({
+ pageBorderBoxCenter: page.borderBoxCenter,
+ draggable: draggable,
+ draggables: dimensions.draggables,
+ droppables: dimensions.droppables,
+ previousImpact: state.impact,
+ viewport: viewport,
+ userDirection: userDirection,
+ onLift: state.onLift
+ });
+ var withUpdatedPlaceholders = recomputePlaceholders({
+ draggable: draggable,
+ impact: newImpact,
+ previousImpact: state.impact,
+ draggables: dimensions.draggables,
+ droppables: dimensions.droppables
+ });
- if (displaced.length) {
- return draggables[displaced[0].draggableId].client.borderBox;
- }
+ var result = _extends({}, state, {
+ current: current,
+ userDirection: userDirection,
+ dimensions: {
+ draggables: dimensions.draggables,
+ droppables: withUpdatedPlaceholders
+ },
+ impact: newImpact,
+ viewport: viewport,
+ scrollJumpRequest: scrollJumpRequest || null,
+ forceShouldAnimate: scrollJumpRequest ? false : null
+ });
- if (draggablesInDestination.length) {
- return draggablesInDestination[draggablesInDestination.length - 1].client.marginBox;
- }
+ return result;
+ });
- return destination.client.contentBox;
- }();
+ var recompute = (function (_ref) {
+ var impact = _ref.impact,
+ viewport = _ref.viewport,
+ destination = _ref.destination,
+ draggables = _ref.draggables,
+ onLift = _ref.onLift,
+ forceShouldAnimate = _ref.forceShouldAnimate;
+ var updated = impact.movement.displaced.map(function (entry) {
+ return getDisplacement({
+ draggable: draggables[entry.draggableId],
+ destination: destination,
+ previousImpact: impact,
+ viewport: viewport.frame,
+ onLift: onLift,
+ forceShouldAnimate: forceShouldAnimate
+ });
+ });
+ return withNewDisplacement(impact, updated);
+ });
- var _ref2 = function () {
- if (isWithinHomeDroppable) {
- if (isBeyondStartPosition) {
- return {
- sourceEdge: 'end',
- destinationEdge: 'end'
- };
- }
-
- return {
- sourceEdge: 'start',
- destinationEdge: 'start'
- };
- }
-
- if (!displaced.length && draggablesInDestination.length) {
- return {
- sourceEdge: 'start',
- destinationEdge: 'end'
- };
- }
+ var getClientBorderBoxCenter = (function (_ref) {
+ var impact = _ref.impact,
+ draggable = _ref.draggable,
+ droppable = _ref.droppable,
+ draggables = _ref.draggables,
+ viewport = _ref.viewport,
+ onLift = _ref.onLift;
+ var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({
+ impact: impact,
+ draggable: draggable,
+ draggables: draggables,
+ droppable: droppable,
+ onLift: onLift
+ });
+ return getClientFromPageBorderBoxCenter({
+ pageBorderBoxCenter: pageBorderBoxCenter,
+ draggable: draggable,
+ viewport: viewport
+ });
+ });
- return {
- sourceEdge: 'start',
- destinationEdge: 'start'
- };
- }(),
- sourceEdge = _ref2.sourceEdge,
- destinationEdge = _ref2.destinationEdge;
-
- var source = draggable.client.borderBox;
- var targetCenter = moveToEdge({
- source: source,
- sourceEdge: sourceEdge,
- destination: movingRelativeTo,
- destinationEdge: destinationEdge,
- destinationAxis: axis
+ var refreshSnap = (function (_ref) {
+ var state = _ref.state,
+ forcedDimensions = _ref.dimensions,
+ forcedViewport = _ref.viewport;
+ !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
+ var needsVisibilityCheck = state.impact;
+ var viewport = forcedViewport || state.viewport;
+ var dimensions = forcedDimensions || state.dimensions;
+ var draggables = dimensions.draggables,
+ droppables = dimensions.droppables;
+ var draggable = draggables[state.critical.draggable.id];
+ var isOver = whatIsDraggedOver(needsVisibilityCheck);
+ !isOver ? process.env.NODE_ENV !== "production" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;
+ var destination = droppables[isOver];
+ var impact = recompute({
+ impact: needsVisibilityCheck,
+ viewport: viewport,
+ destination: destination,
+ draggables: draggables,
+ onLift: state.onLift
+ });
+ var clientSelection = getClientBorderBoxCenter({
+ impact: impact,
+ draggable: draggable,
+ droppable: destination,
+ draggables: draggables,
+ viewport: viewport,
+ onLift: state.onLift
+ });
+ return update({
+ impact: impact,
+ clientSelection: clientSelection,
+ state: state,
+ dimensions: dimensions,
+ viewport: viewport
});
- return targetCenter;
});
- var getScrollDisplacement = function getScrollDisplacement(droppable, viewport) {
- return withDroppableDisplacement(droppable, viewport.scroll.diff.displacement);
+ var patchDimensionMap = (function (dimensions, updated) {
+ return {
+ draggables: dimensions.draggables,
+ droppables: patchDroppableMap(dimensions.droppables, updated)
+ };
+ });
+
+ var isSnapping = function isSnapping(state) {
+ return state.movementMode === 'SNAP';
};
- var drop$1 = (function (_ref) {
- var getState = _ref.getState,
- dispatch = _ref.dispatch;
- return function (next) {
- return function (action) {
- if (action.type !== 'DROP') {
- next(action);
- return;
- }
+ var postDroppableChange = function postDroppableChange(state, updated, isEnabledChanging) {
+ var dimensions = patchDimensionMap(state.dimensions, updated);
- var state = getState();
- var reason = action.payload.reason;
+ if (!isSnapping(state) || isEnabledChanging) {
+ return update({
+ state: state,
+ dimensions: dimensions
+ });
+ }
- if (state.phase === 'COLLECTING') {
- dispatch(dropPending({
- reason: reason
- }));
- return;
- }
+ return refreshSnap({
+ state: state,
+ dimensions: dimensions
+ });
+ };
- if (state.phase === 'PREPARING') {
- dispatch(clean());
- return;
- }
+ var idle = {
+ phase: 'IDLE',
+ completed: null,
+ shouldFlush: false
+ };
+ var reducer = (function (state, action) {
+ if (state === void 0) {
+ state = idle;
+ }
- if (state.phase === 'IDLE') {
- return;
- }
+ if (action.type === 'CLEAN') {
+ return _extends({}, idle, {
+ shouldFlush: action.payload.shouldFlush
+ });
+ }
- var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;
- !!isWaitingForDrop ? process.env.NODE_ENV !== "production" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;
- !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot drop in phase: " + state.phase) : invariant(false) : void 0;
- var critical = state.critical;
- var dimensions = state.dimensions;
- var impact = reason === 'DROP' ? state.impact : noImpact;
- var home = dimensions.droppables[state.critical.droppable.id];
- var draggable = dimensions.draggables[state.critical.draggable.id];
- var droppable = impact && impact.destination ? dimensions.droppables[impact.destination.droppableId] : null;
- var source = {
- index: critical.draggable.index,
- droppableId: critical.droppable.id
- };
- var destination = reason === 'DROP' ? impact.destination : null;
- var result = {
- draggableId: draggable.descriptor.id,
- type: home.descriptor.type,
- source: source,
- destination: destination,
- reason: reason
- };
+ if (action.type === 'INITIAL_PUBLISH') {
+ !(state.phase === 'IDLE') ? process.env.NODE_ENV !== "production" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;
+ var _action$payload = action.payload,
+ critical = _action$payload.critical,
+ clientSelection = _action$payload.clientSelection,
+ viewport = _action$payload.viewport,
+ dimensions = _action$payload.dimensions,
+ movementMode = _action$payload.movementMode;
+ var draggable = dimensions.draggables[critical.draggable.id];
+ var home = dimensions.droppables[critical.droppable.id];
+ var client = {
+ selection: clientSelection,
+ borderBoxCenter: draggable.client.borderBox.center,
+ offset: origin
+ };
+ var initial = {
+ client: client,
+ page: {
+ selection: add(client.selection, viewport.scroll.initial),
+ borderBoxCenter: add(client.selection, viewport.scroll.initial)
+ }
+ };
+ var isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(function (item) {
+ return !item.isFixedOnPage;
+ });
- var clientOffset = function () {
- if (reason === 'CANCEL') {
- return origin;
- }
+ var _getHomeOnLift = getHomeOnLift({
+ draggable: draggable,
+ home: home,
+ draggables: dimensions.draggables,
+ viewport: viewport
+ }),
+ impact = _getHomeOnLift.impact,
+ onLift = _getHomeOnLift.onLift;
- var newBorderBoxClientCenter = getNewHomeClientBorderBoxCenter({
- movement: impact.movement,
- draggable: draggable,
- draggables: dimensions.draggables,
- destination: droppable
- });
- return subtract(newBorderBoxClientCenter, draggable.client.borderBox.center);
- }();
+ var result = {
+ phase: 'DRAGGING',
+ isDragging: true,
+ critical: critical,
+ movementMode: movementMode,
+ dimensions: dimensions,
+ initial: initial,
+ current: initial,
+ isWindowScrollAllowed: isWindowScrollAllowed,
+ impact: impact,
+ onLift: onLift,
+ onLiftImpact: impact,
+ viewport: viewport,
+ userDirection: forward,
+ scrollJumpRequest: null,
+ forceShouldAnimate: null
+ };
+ return result;
+ }
- var newHomeOffset = add(clientOffset, getScrollDisplacement(droppable || home, state.viewport));
- var isAnimationRequired = !isEqual(state.current.client.offset, newHomeOffset);
- var pending = {
- newHomeOffset: newHomeOffset,
- result: result,
- impact: impact
- };
+ if (action.type === 'COLLECTION_STARTING') {
+ var _extends2;
- if (isAnimationRequired) {
- dispatch(animateDrop(pending));
- return;
- }
+ if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
+ return state;
+ }
- dispatch(completeDrop(result));
- };
- };
- });
+ !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Collection cannot start from phase " + state.phase) : invariant(false) : void 0;
- var onDragStart = function onDragStart(start) {
- return "\n You have lifted an item in position " + (start.source.index + 1) + ".\n Use the arrow keys to move, space bar to drop, and escape to cancel.\n";
- };
+ var _result = _extends({
+ phase: 'COLLECTING'
+ }, state, (_extends2 = {}, _extends2["phase"] = 'COLLECTING', _extends2));
- var onDragUpdate = function onDragUpdate(update) {
- if (!update.destination) {
- return 'You are currently not dragging over a droppable area';
+ return _result;
}
- if (update.source.droppableId === update.destination.droppableId) {
- return "You have moved the item to position " + (update.destination.index + 1);
+ if (action.type === 'PUBLISH_WHILE_DRAGGING') {
+ !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Unexpected " + action.type + " received in phase " + state.phase) : invariant(false) : void 0;
+ return publishWhileDragging({
+ state: state,
+ published: action.payload
+ });
}
- return "\n You have moved the item from list " + update.source.droppableId + " in position " + (update.source.index + 1) + "\n to list " + update.destination.droppableId + " in position " + (update.destination.index + 1) + "\n ";
- };
-
- var onDragEnd = function onDragEnd(result) {
- if (result.reason === 'CANCEL') {
- return "\n Movement cancelled.\n The item has returned to its starting position of " + (result.source.index + 1) + "\n ";
- }
+ if (action.type === 'MOVE') {
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
- if (!result.destination) {
- return "\n The item has been dropped while not over a droppable location.\n The item has returned to its starting position of " + (result.source.index + 1) + "\n ";
- }
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " not permitted in phase " + state.phase) : invariant(false) : void 0;
+ var _clientSelection = action.payload.client;
- if (result.source.droppableId === result.destination.droppableId) {
- if (result.source.index === result.destination.index) {
- return "\n You have dropped the item.\n It has been dropped on its starting position of " + (result.source.index + 1) + "\n ";
+ if (isEqual(_clientSelection, state.current.client.selection)) {
+ return state;
}
- return "\n You have dropped the item.\n It has moved from position " + (result.source.index + 1) + " to " + (result.destination.index + 1) + "\n ";
+ return update({
+ state: state,
+ clientSelection: _clientSelection,
+ impact: isSnapping(state) ? state.impact : null
+ });
}
- return "\n You have dropped the item.\n It has moved from position " + (result.source.index + 1) + " in list " + result.source.droppableId + "\n to position " + (result.destination.index + 1) + " in list " + result.destination.droppableId + "\n ";
- };
-
- var preset = {
- onDragStart: onDragStart,
- onDragUpdate: onDragUpdate,
- onDragEnd: onDragEnd
- };
+ if (action.type === 'UPDATE_DROPPABLE_SCROLL') {
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
- var records = {};
- var flag = '__react-beautiful-dnd-debug-timings-hook__';
+ if (state.phase === 'COLLECTING') {
+ return state;
+ }
- var isTimingsEnabled = function isTimingsEnabled() {
- return Boolean(window[flag]);
- };
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " not permitted in phase " + state.phase) : invariant(false) : void 0;
+ var _action$payload2 = action.payload,
+ id = _action$payload2.id,
+ offset = _action$payload2.offset;
+ var target = state.dimensions.droppables[id];
- var start = function start(key) {
- if (process.env.NODE_ENV !== 'production') {
- if (!isTimingsEnabled()) {
- return;
+ if (!target) {
+ return state;
}
- var now = performance.now();
- records[key] = now;
+ var scrolled = scrollDroppable(target, offset);
+ return postDroppableChange(state, scrolled, false);
}
- };
- var finish = function finish(key) {
- if (process.env.NODE_ENV !== 'production') {
- if (!isTimingsEnabled()) {
- return;
- }
-
- var now = performance.now();
- var previous = records[key];
- !previous ? process.env.NODE_ENV !== "production" ? invariant(false, 'cannot finish timing as no previous time found') : invariant(false) : void 0;
- var result = now - previous;
- var rounded = result.toFixed(2);
- var style = function () {
- if (result < 12) {
- return {
- textColor: 'green',
- symbol: '✅'
- };
- }
+ if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
- if (result < 40) {
- return {
- textColor: 'orange',
- symbol: '⚠️'
- };
- }
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, "Attempting to move in an unsupported phase " + state.phase) : invariant(false) : void 0;
+ var _action$payload3 = action.payload,
+ _id = _action$payload3.id,
+ isEnabled = _action$payload3.isEnabled;
+ var _target = state.dimensions.droppables[_id];
+ !_target ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot find Droppable[id: " + _id + "] to toggle its enabled state") : invariant(false) : void 0;
+ !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== "production" ? invariant(false, "Trying to set droppable isEnabled to " + String(isEnabled) + "\n but it is already " + String(_target.isEnabled)) : invariant(false) : void 0;
- return {
- textColor: 'red',
- symbol: '❌'
- };
- }();
+ var updated = _extends({}, _target, {
+ isEnabled: isEnabled
+ });
- console.log(style.symbol + " %cTiming %c" + rounded + " %cms %c" + key, 'color: blue; font-weight: bold; ', "color: " + style.textColor + "; font-size: 1.1em;", 'color: grey;', 'color: purple; font-weight: bold;');
+ return postDroppableChange(state, updated, true);
}
- };
- var withTimings = function withTimings(key, fn) {
- start(key);
- fn();
- finish(key);
- };
+ if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {
+ if (state.phase === 'DROP_PENDING') {
+ return state;
+ }
- var areLocationsEqual = function areLocationsEqual(first, second) {
- if (first == null && second == null) {
- return true;
- }
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, "Attempting to move in an unsupported phase " + state.phase) : invariant(false) : void 0;
+ var _action$payload4 = action.payload,
+ _id2 = _action$payload4.id,
+ isCombineEnabled = _action$payload4.isCombineEnabled;
+ var _target2 = state.dimensions.droppables[_id2];
+ !_target2 ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot find Droppable[id: " + _id2 + "] to toggle its isCombineEnabled state") : invariant(false) : void 0;
+ !(_target2.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== "production" ? invariant(false, "Trying to set droppable isCombineEnabled to " + String(isCombineEnabled) + "\n but it is already " + String(_target2.isCombineEnabled)) : invariant(false) : void 0;
+
+ var _updated = _extends({}, _target2, {
+ isCombineEnabled: isCombineEnabled
+ });
- if (first == null || second == null) {
- return false;
+ return postDroppableChange(state, _updated, true);
}
- return first.droppableId === second.droppableId && first.index === second.index;
- };
+ if (action.type === 'MOVE_BY_WINDOW_SCROLL') {
+ if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {
+ return state;
+ }
- var isCriticalEqual = function isCriticalEqual(first, second) {
- if (first === second) {
- return true;
- }
-
- var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;
- var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;
- return isDraggableEqual && isDroppableEqual;
- };
-
- var getExpiringAnnounce = function getExpiringAnnounce(announce) {
- var wasCalled = false;
- var isExpired = false;
- setTimeout(function () {
- isExpired = true;
- });
-
- var result = function result(message) {
- if (wasCalled) {
- if (process.env.NODE_ENV !== 'production') {
- console.warn('Announcement already made. Not making a second announcement');
- }
+ !isMovementAllowed(state) ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot move by window in phase " + state.phase) : invariant(false) : void 0;
+ !state.isWindowScrollAllowed ? process.env.NODE_ENV !== "production" ? invariant(false, 'Window scrolling is currently not supported for fixed lists. Aborting drag') : invariant(false) : void 0;
+ var newScroll = action.payload.newScroll;
- return;
+ if (isEqual(state.viewport.scroll.current, newScroll)) {
+ return state;
}
- if (isExpired) {
- if (process.env.NODE_ENV !== 'production') {
- console.warn("\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n ");
- }
+ var _viewport = scrollViewport(state.viewport, newScroll);
- return;
+ if (isSnapping(state)) {
+ return refreshSnap({
+ state: state,
+ viewport: _viewport
+ });
}
- wasCalled = true;
- announce(message);
- };
+ return update({
+ state: state,
+ viewport: _viewport
+ });
+ }
- result.wasCalled = function () {
- return wasCalled;
- };
+ if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {
+ if (!isMovementAllowed(state)) {
+ return state;
+ }
- return result;
- };
+ var maxScroll = action.payload.maxScroll;
- var getDragStart = function getDragStart(critical) {
- return {
- draggableId: critical.draggable.id,
- type: critical.droppable.type,
- source: {
- droppableId: critical.droppable.id,
- index: critical.draggable.index
+ if (isEqual(maxScroll, state.viewport.scroll.max)) {
+ return state;
}
- };
- };
- var hooks = (function (getHooks, announce) {
- var execute = function execute(hook, data, getDefaultMessage) {
- if (!hook) {
- announce(getDefaultMessage(data));
- return;
- }
+ var withMaxScroll = _extends({}, state.viewport, {
+ scroll: _extends({}, state.viewport.scroll, {
+ max: maxScroll
+ })
+ });
- var willExpire = getExpiringAnnounce(announce);
- var provided = {
- announce: willExpire
- };
- hook(data, provided);
+ return _extends({
+ phase: 'DRAGGING'
+ }, state, {
+ viewport: withMaxScroll
+ });
+ }
- if (!willExpire.wasCalled()) {
- announce(getDefaultMessage(data));
+ if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {
+ if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {
+ return state;
}
- };
-
- var publisher = function () {
- var lastLocation = null;
- var lastCritical = null;
- var _isDragStartPublished = false;
- var beforeStart = function beforeStart(critical) {
- !!_isDragStartPublished ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;
- withTimings('onBeforeDragStart', function () {
- var fn = getHooks().onBeforeDragStart;
-
- if (fn) {
- fn(getDragStart(critical));
- }
- });
- };
+ !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? invariant(false, action.type + " received while not in DRAGGING phase") : invariant(false) : void 0;
- var start$$1 = function start$$1(critical) {
- !!_isDragStartPublished ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;
- var data = getDragStart(critical);
- lastCritical = critical;
- lastLocation = data.source;
- _isDragStartPublished = true;
- withTimings('onDragStart', function () {
- return execute(getHooks().onDragStart, data, preset.onDragStart);
- });
- };
+ var _result2 = moveInDirection({
+ state: state,
+ type: action.type
+ });
- var move = function move(critical, location) {
- !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;
- var hasCriticalChanged = !isCriticalEqual(critical, lastCritical);
+ if (!_result2) {
+ return state;
+ }
- if (hasCriticalChanged) {
- lastCritical = critical;
- }
+ return update({
+ state: state,
+ impact: _result2.impact,
+ clientSelection: _result2.clientSelection,
+ scrollJumpRequest: _result2.scrollJumpRequest
+ });
+ }
- var hasLocationChanged = !areLocationsEqual(lastLocation, location);
+ if (action.type === 'DROP_PENDING') {
+ var _extends3;
- if (hasLocationChanged) {
- lastLocation = location;
- }
+ var reason = action.payload.reason;
+ !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;
- if (!hasCriticalChanged && !hasLocationChanged) {
- return;
- }
+ var newState = _extends({
+ phase: 'DROP_PENDING'
+ }, state, (_extends3 = {}, _extends3["phase"] = 'DROP_PENDING', _extends3.isWaiting = true, _extends3.reason = reason, _extends3));
- var data = _extends({}, getDragStart(critical), {
- destination: location
- });
+ return newState;
+ }
- withTimings('onDragUpdate', function () {
- return execute(getHooks().onDragUpdate, data, preset.onDragUpdate);
- });
+ if (action.type === 'DROP_ANIMATE') {
+ var _action$payload5 = action.payload,
+ completed = _action$payload5.completed,
+ dropDuration = _action$payload5.dropDuration,
+ newHomeClientOffset = _action$payload5.newHomeClientOffset;
+ !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot animate drop from phase " + state.phase) : invariant(false) : void 0;
+ var _result3 = {
+ phase: 'DROP_ANIMATING',
+ dimensions: state.dimensions,
+ completed: completed,
+ dropDuration: dropDuration,
+ newHomeClientOffset: newHomeClientOffset
};
+ return _result3;
+ }
- var drop = function drop(result) {
- !_isDragStartPublished ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;
- _isDragStartPublished = false;
- lastLocation = null;
- lastCritical = null;
- withTimings('onDragEnd', function () {
- return execute(getHooks().onDragEnd, result, preset.onDragEnd);
- });
+ if (action.type === 'DROP_COMPLETE') {
+ var _action$payload6 = action.payload,
+ _completed = _action$payload6.completed,
+ shouldFlush = _action$payload6.shouldFlush;
+ return {
+ phase: 'IDLE',
+ completed: _completed,
+ shouldFlush: shouldFlush
};
+ }
- var abort = function abort() {
- !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot cancel when onDragStart not fired') : invariant(false) : void 0;
-
- var result = _extends({}, getDragStart(lastCritical), {
- destination: null,
- reason: 'CANCEL'
- });
+ return state;
+ });
- drop(result);
+ var lift = function lift(args) {
+ return {
+ type: 'LIFT',
+ payload: args
+ };
+ };
+ var initialPublish = function initialPublish(args) {
+ return {
+ type: 'INITIAL_PUBLISH',
+ payload: args
+ };
+ };
+ var publishWhileDragging$1 = function publishWhileDragging(args) {
+ return {
+ type: 'PUBLISH_WHILE_DRAGGING',
+ payload: args
+ };
+ };
+ var collectionStarting = function collectionStarting() {
+ return {
+ type: 'COLLECTION_STARTING',
+ payload: null
+ };
+ };
+ var updateDroppableScroll = function updateDroppableScroll(args) {
+ return {
+ type: 'UPDATE_DROPPABLE_SCROLL',
+ payload: args
+ };
+ };
+ var updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {
+ return {
+ type: 'UPDATE_DROPPABLE_IS_ENABLED',
+ payload: args
+ };
+ };
+ var updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(args) {
+ return {
+ type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',
+ payload: args
+ };
+ };
+ var move = function move(args) {
+ return {
+ type: 'MOVE',
+ payload: args
+ };
+ };
+ var moveByWindowScroll = function moveByWindowScroll(args) {
+ return {
+ type: 'MOVE_BY_WINDOW_SCROLL',
+ payload: args
+ };
+ };
+ var updateViewportMaxScroll = function updateViewportMaxScroll(args) {
+ return {
+ type: 'UPDATE_VIEWPORT_MAX_SCROLL',
+ payload: args
+ };
+ };
+ var moveUp = function moveUp() {
+ return {
+ type: 'MOVE_UP',
+ payload: null
+ };
+ };
+ var moveDown = function moveDown() {
+ return {
+ type: 'MOVE_DOWN',
+ payload: null
+ };
+ };
+ var moveRight = function moveRight() {
+ return {
+ type: 'MOVE_RIGHT',
+ payload: null
+ };
+ };
+ var moveLeft = function moveLeft() {
+ return {
+ type: 'MOVE_LEFT',
+ payload: null
+ };
+ };
+ var clean$1 = function clean(args) {
+ if (args === void 0) {
+ args = {
+ shouldFlush: false
};
+ }
- return {
- beforeStart: beforeStart,
- start: start$$1,
- move: move,
- drop: drop,
- abort: abort,
- isDragStartPublished: function isDragStartPublished() {
- return _isDragStartPublished;
- }
- };
- }();
+ return {
+ type: 'CLEAN',
+ payload: args
+ };
+ };
+ var animateDrop = function animateDrop(args) {
+ return {
+ type: 'DROP_ANIMATE',
+ payload: args
+ };
+ };
+ var completeDrop = function completeDrop(args) {
+ return {
+ type: 'DROP_COMPLETE',
+ payload: args
+ };
+ };
+ var drop = function drop(args) {
+ return {
+ type: 'DROP',
+ payload: args
+ };
+ };
+ var dropPending = function dropPending(args) {
+ return {
+ type: 'DROP_PENDING',
+ payload: args
+ };
+ };
+ var dropAnimationFinished = function dropAnimationFinished() {
+ return {
+ type: 'DROP_ANIMATION_FINISHED',
+ payload: null
+ };
+ };
- return function (store) {
+ var lift$1 = (function (marshal) {
+ return function (_ref) {
+ var getState = _ref.getState,
+ dispatch = _ref.dispatch;
return function (next) {
return function (action) {
- if (action.type === 'INITIAL_PUBLISH') {
- var critical = action.payload.critical;
- publisher.beforeStart(critical);
+ if (action.type !== 'LIFT') {
next(action);
- publisher.start(critical);
return;
}
- next(action);
+ var _action$payload = action.payload,
+ id = _action$payload.id,
+ clientSelection = _action$payload.clientSelection,
+ movementMode = _action$payload.movementMode;
+ var initial = getState();
- if (action.type === 'DROP_COMPLETE') {
- var result = action.payload;
- publisher.drop(result);
- return;
+ if (initial.phase === 'DROP_ANIMATING') {
+ dispatch(completeDrop({
+ completed: initial.completed,
+ shouldFlush: true
+ }));
}
- if (action.type === 'CLEAN') {
- if (publisher.isDragStartPublished()) {
- publisher.abort();
- }
-
- return;
- }
+ !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Incorrect phase to start a drag') : invariant(false) : void 0;
+ var scrollOptions = {
+ shouldPublishImmediately: movementMode === 'SNAP'
+ };
+ var request = {
+ draggableId: id,
+ scrollOptions: scrollOptions
+ };
- if (!publisher.isDragStartPublished()) {
- return;
- }
-
- var state = store.getState();
-
- if (state.phase === 'DRAGGING') {
- publisher.move(state.critical, state.impact.destination);
- }
+ var _marshal$startPublish = marshal.startPublishing(request),
+ critical = _marshal$startPublish.critical,
+ dimensions = _marshal$startPublish.dimensions,
+ viewport = _marshal$startPublish.viewport;
+
+ dispatch(initialPublish({
+ critical: critical,
+ dimensions: dimensions,
+ clientSelection: clientSelection,
+ movementMode: movementMode,
+ viewport: viewport
+ }));
};
};
};
});
- var dropAnimationFinish = (function (store) {
- return function (next) {
- return function (action) {
- if (action.type !== 'DROP_ANIMATION_FINISHED') {
- next(action);
- return;
- }
-
- var state = store.getState();
- !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;
- store.dispatch(completeDrop(state.pending.result));
- };
- };
- });
-
- var dimensionMarshalStopper = (function (getMarshal) {
+ var style = (function (marshal) {
return function () {
return function (next) {
return function (action) {
- if (action.type === 'DROP_COMPLETE' || action.type === 'CLEAN' || action.type === 'DROP_ANIMATE') {
- var marshal = getMarshal();
- marshal.stopPublishing();
- }
-
- next(action);
- };
- };
- };
- });
-
- var shouldCancel = function shouldCancel(action) {
- return action.type === 'CANCEL' || action.type === 'DROP_ANIMATE' || action.type === 'DROP' || action.type === 'DROP_COMPLETE' || action.type === 'COLLECTION_STARTING';
- };
-
- var autoScroll = (function (getScroller) {
- return function (store) {
- return function (next) {
- return function (action) {
- if (shouldCancel(action)) {
- getScroller().cancel();
- next(action);
- return;
- }
-
- next(action);
- var state = store.getState();
-
- if (state.phase !== 'DRAGGING') {
- return;
+ if (action.type === 'INITIAL_PUBLISH') {
+ marshal.dragging();
}
- if (state.autoScrollMode === 'FLUID') {
- getScroller().fluidScroll(state);
- return;
+ if (action.type === 'DROP_ANIMATE') {
+ marshal.dropping(action.payload.completed.result.reason);
}
- if (!state.scrollJumpRequest) {
- return;
+ if (action.type === 'CLEAN' || action.type === 'DROP_COMPLETE') {
+ marshal.resting();
}
- getScroller().jumpScroll(state);
+ next(action);
};
};
};
});
- var shouldCheckOnAction = function shouldCheckOnAction(action) {
- return action.type === 'MOVE' || action.type === 'MOVE_UP' || action.type === 'MOVE_RIGHT' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_BY_WINDOW_SCROLL';
+ var curves = {
+ outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',
+ drop: 'cubic-bezier(.2,1,.1,1)'
+ };
+ var combine = {
+ opacity: {
+ drop: 0,
+ combining: 0.7
+ },
+ scale: {
+ drop: 0.75
+ }
+ };
+ var timings = {
+ outOfTheWay: 0.2,
+ minDropTime: 0.33,
+ maxDropTime: 0.55
+ };
+ var outOfTheWayTiming = timings.outOfTheWay + "s " + curves.outOfTheWay;
+ var transitions = {
+ fluid: "opacity " + outOfTheWayTiming,
+ snap: "transform " + outOfTheWayTiming + ", opacity " + outOfTheWayTiming,
+ drop: function drop(duration) {
+ var timing = duration + "s " + curves.drop;
+ return "transform " + timing + ", opacity " + timing;
+ },
+ outOfTheWay: "transform " + outOfTheWayTiming,
+ placeholder: "height " + outOfTheWayTiming + ", width " + outOfTheWayTiming + ", margin " + outOfTheWayTiming
};
- var hasDroppableOverChanged = function hasDroppableOverChanged(previous, current) {
- if (!previous) {
- return Boolean(current);
- }
+ var moveTo = function moveTo(offset) {
+ return isEqual(offset, origin) ? null : "translate(" + offset.x + "px, " + offset.y + "px)";
+ };
- if (!current) {
- return Boolean(previous);
- }
+ var transforms = {
+ moveTo: moveTo,
+ drop: function drop(offset, isCombining) {
+ var translate = moveTo(offset);
- return previous.droppableId !== current.droppableId;
- };
+ if (!translate) {
+ return null;
+ }
- var getNewMaxScroll = function getNewMaxScroll(previous, current, action) {
- if (!shouldCheckOnAction(action)) {
- return null;
+ if (!isCombining) {
+ return translate;
+ }
+
+ return translate + " scale(" + combine.scale.drop + ")";
}
+ };
- if (!isMovementAllowed(previous) || !isMovementAllowed(current)) {
- return null;
+ var minDropTime = timings.minDropTime,
+ maxDropTime = timings.maxDropTime;
+ var dropTimeRange = maxDropTime - minDropTime;
+ var maxDropTimeAtDistance = 1500;
+ var cancelDropModifier = 0.6;
+ var getDropDuration = (function (_ref) {
+ var current = _ref.current,
+ destination = _ref.destination,
+ reason = _ref.reason;
+ var distance$1 = distance(current, destination);
+
+ if (distance$1 <= 0) {
+ return minDropTime;
}
- if (!hasDroppableOverChanged(previous.impact.destination, current.impact.destination)) {
- return null;
+ if (distance$1 >= maxDropTimeAtDistance) {
+ return maxDropTime;
}
- var viewport = current.viewport;
- var doc = document.documentElement;
- !doc ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find document.documentElement') : invariant(false) : void 0;
- var maxScroll = getMaxScroll({
- scrollHeight: doc.scrollHeight,
- scrollWidth: doc.scrollWidth,
- width: viewport.frame.width,
- height: viewport.frame.height
+ var percentage = distance$1 / maxDropTimeAtDistance;
+ var duration = minDropTime + dropTimeRange * percentage;
+ var withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;
+ return Number(withDuration.toFixed(2));
+ });
+
+ var getNewHomeClientOffset = (function (_ref) {
+ var impact = _ref.impact,
+ draggable = _ref.draggable,
+ dimensions = _ref.dimensions,
+ viewport = _ref.viewport,
+ onLift = _ref.onLift;
+ var draggables = dimensions.draggables,
+ droppables = dimensions.droppables;
+ var droppableId = whatIsDraggedOver(impact);
+ var destination = droppableId ? droppables[droppableId] : null;
+ var home = droppables[draggable.descriptor.droppableId];
+ var newClientCenter = getClientBorderBoxCenter({
+ impact: impact,
+ draggable: draggable,
+ draggables: draggables,
+ onLift: onLift,
+ droppable: destination || home,
+ viewport: viewport
});
+ var offset = subtract(newClientCenter, draggable.client.borderBox.center);
+ var merge = impact.merge;
- if (isEqual(maxScroll, viewport.scroll.max)) {
- return null;
+ if (merge && didStartDisplaced(merge.combine.draggableId, onLift)) {
+ return subtract(offset, onLift.displacedBy.point);
}
- return maxScroll;
- };
+ return offset;
+ });
- var maxScrollUpdater = (function (store) {
- return function (next) {
- return function (action) {
- var previous = store.getState();
- next(action);
- var current = store.getState();
- var maxScroll = getNewMaxScroll(previous, current, action);
+ var getDropImpact = (function (_ref) {
+ var reason = _ref.reason,
+ lastImpact = _ref.lastImpact,
+ home = _ref.home,
+ viewport = _ref.viewport,
+ draggables = _ref.draggables,
+ onLiftImpact = _ref.onLiftImpact,
+ onLift = _ref.onLift;
+ var didDropInsideDroppable = reason === 'DROP' && Boolean(whatIsDraggedOver(lastImpact));
- if (maxScroll) {
- next(updateViewportMaxScroll(maxScroll));
- }
+ if (!didDropInsideDroppable) {
+ var impact = recompute({
+ impact: onLiftImpact,
+ destination: home,
+ viewport: viewport,
+ draggables: draggables,
+ onLift: onLift,
+ forceShouldAnimate: true
+ });
+ return {
+ impact: impact,
+ didDropInsideDroppable: didDropInsideDroppable
};
- };
- });
+ }
- var composeEnhancers = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : redux.compose;
- var createStore = (function (_ref) {
- var getDimensionMarshal = _ref.getDimensionMarshal,
- styleMarshal = _ref.styleMarshal,
- getHooks = _ref.getHooks,
- announce = _ref.announce,
- getScroller = _ref.getScroller;
- return redux.createStore(reducer, composeEnhancers(redux.applyMiddleware(style(styleMarshal), dimensionMarshalStopper(getDimensionMarshal), lift$1(getDimensionMarshal), drop$1, dropAnimationFinish, maxScrollUpdater, autoScroll(getScroller), hooks(getHooks, announce))));
- });
+ if (lastImpact.destination) {
+ return {
+ impact: lastImpact,
+ didDropInsideDroppable: didDropInsideDroppable
+ };
+ }
+
+ var withoutMovement = _extends({}, lastImpact, {
+ movement: noMovement
+ });
- var getEmptyMap = function getEmptyMap() {
return {
- draggables: {},
- droppables: {}
+ impact: withoutMovement,
+ didDropInsideDroppable: didDropInsideDroppable
};
- };
+ });
- var timingKey = 'Publish collection from DOM';
- var createPublisher = (function (_ref) {
- var getProvided = _ref.getProvided,
- callbacks = _ref.callbacks;
+ var drop$1 = (function (_ref) {
+ var getState = _ref.getState,
+ dispatch = _ref.dispatch;
+ return function (next) {
+ return function (action) {
+ if (action.type !== 'DROP') {
+ next(action);
+ return;
+ }
- var advancedUsageWarning = function () {
- if (process.env.NODE_ENV === 'production') {
- return function () {};
- }
+ var state = getState();
+ var reason = action.payload.reason;
- var hasAnnounced = false;
- return function () {
- if (hasAnnounced) {
+ if (state.phase === 'COLLECTING') {
+ dispatch(dropPending({
+ reason: reason
+ }));
return;
}
- hasAnnounced = true;
+ if (state.phase === 'IDLE') {
+ return;
+ }
+
+ var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;
+ !!isWaitingForDrop ? process.env.NODE_ENV !== "production" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;
+ !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot drop in phase: " + state.phase) : invariant(false) : void 0;
+ var critical = state.critical;
+ var dimensions = state.dimensions;
+
+ var _getDropImpact = getDropImpact({
+ reason: reason,
+ lastImpact: state.impact,
+ onLift: state.onLift,
+ onLiftImpact: state.onLiftImpact,
+ home: state.dimensions.droppables[state.critical.droppable.id],
+ viewport: state.viewport,
+ draggables: state.dimensions.draggables
+ }),
+ impact = _getDropImpact.impact,
+ didDropInsideDroppable = _getDropImpact.didDropInsideDroppable;
+
+ var draggable = dimensions.draggables[state.critical.draggable.id];
+ var destination = didDropInsideDroppable ? impact.destination : null;
+ var combine = didDropInsideDroppable && impact.merge ? impact.merge.combine : null;
+ var source = {
+ index: critical.draggable.index,
+ droppableId: critical.droppable.id
+ };
+ var result = {
+ draggableId: draggable.descriptor.id,
+ type: draggable.descriptor.type,
+ source: source,
+ reason: reason,
+ mode: state.movementMode,
+ destination: destination,
+ combine: combine
+ };
+ var newHomeClientOffset = getNewHomeClientOffset({
+ impact: impact,
+ draggable: draggable,
+ dimensions: dimensions,
+ viewport: state.viewport,
+ onLift: state.onLift
+ });
+ var completed = {
+ critical: state.critical,
+ result: result,
+ impact: impact
+ };
+ var isAnimationRequired = !isEqual(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);
- if (process.env.NODE_ENV === 'production') {
+ if (!isAnimationRequired) {
+ dispatch(completeDrop({
+ completed: completed,
+ shouldFlush: false
+ }));
return;
}
- console.warn("\n Advanced usage warning: you are adding or removing a dimension during a drag\n This an advanced feature used to support dynamic interactions such as lazy loading lists.\n\n Keep in mind the following restrictions:\n\n - Draggable's can only be added to Droppable's that are scroll containers\n - Adding a Droppable cannot impact the placement of other Droppables\n (it cannot push a Droppable on the page)\n\n (This warning will be stripped in production builds)\n ".trim());
+ var dropDuration = getDropDuration({
+ current: state.current.client.offset,
+ destination: newHomeClientOffset,
+ reason: reason
+ });
+ var args = {
+ newHomeClientOffset: newHomeClientOffset,
+ dropDuration: dropDuration,
+ completed: completed
+ };
+ dispatch(animateDrop(args));
};
- }();
+ };
+ });
- var additions = getEmptyMap();
- var removals = getEmptyMap();
- var frameId = null;
+ var position = function position(index) {
+ return index + 1;
+ };
- var reset = function reset() {
- additions = getEmptyMap();
- removals = getEmptyMap();
- };
+ var onDragStart = function onDragStart(start) {
+ return "\n You have lifted an item in position " + position(start.source.index) + ".\n Use the arrow keys to move, space bar to drop, and escape to cancel.\n";
+ };
- var collect = function collect() {
- advancedUsageWarning();
+ var withLocation = function withLocation(source, destination) {
+ var isInHomeList = source.droppableId === destination.droppableId;
+ var startPosition = position(source.index);
+ var endPosition = position(destination.index);
- if (frameId) {
- return;
- }
+ if (isInHomeList) {
+ return "\n You have moved the item from position " + startPosition + "\n to position " + endPosition + "\n ";
+ }
- frameId = requestAnimationFrame(function () {
- frameId = null;
- callbacks.collectionStarting();
- start(timingKey);
+ return "\n You have moved the item from position " + startPosition + "\n in list " + source.droppableId + "\n to list " + destination.droppableId + "\n in position " + endPosition + "\n ";
+ };
- var _getProvided = getProvided(),
- entries = _getProvided.entries,
- collection = _getProvided.collection;
+ var withCombine = function withCombine(id, source, combine) {
+ var inHomeList = source.droppableId === combine.droppableId;
- var windowScroll = collection.initialWindowScroll;
+ if (inHomeList) {
+ return "\n The item " + id + "\n has been combined with " + combine.draggableId;
+ }
- var draggables = _Object$keys(additions.draggables).map(function (id) {
- return entries.draggables[id].getDimension(windowScroll);
- });
+ return "\n The item " + id + "\n in list " + source.droppableId + "\n has been combined with " + combine.draggableId + "\n in list " + combine.droppableId + "\n ";
+ };
- var droppables = _Object$keys(additions.droppables).map(function (id) {
- return entries.droppables[id].callbacks.getDimensionAndWatchScroll(windowScroll, collection.scrollOptions);
- });
+ var onDragUpdate = function onDragUpdate(update) {
+ var location = update.destination;
- var result = {
- additions: {
- draggables: draggables,
- droppables: droppables
- },
- removals: {
- draggables: _Object$keys(removals.draggables),
- droppables: _Object$keys(removals.droppables)
- }
- };
- reset();
- finish(timingKey);
- callbacks.publish(result);
- });
- };
+ if (location) {
+ return withLocation(update.source, location);
+ }
- var addDraggable = function addDraggable(id) {
- additions.draggables[id] = true;
+ var combine = update.combine;
- if (removals.draggables[id]) {
- delete removals.draggables[id];
- }
+ if (combine) {
+ return withCombine(update.draggableId, update.source, combine);
+ }
- collect();
- };
+ return 'You are over an area that cannot be dropped on';
+ };
- var removeDraggable = function removeDraggable(id) {
- removals.draggables[id] = true;
+ var returnedToStart = function returnedToStart(source) {
+ return "\n The item has returned to its starting position\n of " + position(source.index) + "\n";
+ };
- if (additions.draggables[id]) {
- delete additions.draggables[id];
- }
+ var onDragEnd = function onDragEnd(result) {
+ if (result.reason === 'CANCEL') {
+ return "\n Movement cancelled.\n " + returnedToStart(result.source) + "\n ";
+ }
- collect();
- };
+ var location = result.destination;
+ var combine = result.combine;
- var addDroppable = function addDroppable(id) {
- additions.droppables[id] = true;
+ if (location) {
+ return "\n You have dropped the item.\n " + withLocation(result.source, location) + "\n ";
+ }
- if (removals.droppables[id]) {
- delete removals.droppables[id];
- }
+ if (combine) {
+ return "\n You have dropped the item.\n " + withCombine(result.draggableId, result.source, combine) + "\n ";
+ }
- collect();
- };
+ return "\n The item has been dropped while not over a drop area.\n " + returnedToStart(result.source) + "\n ";
+ };
- var removeDroppable = function removeDroppable(id) {
- removals.droppables[id] = true;
+ var preset = {
+ onDragStart: onDragStart,
+ onDragUpdate: onDragUpdate,
+ onDragEnd: onDragEnd
+ };
- if (additions.droppables[id]) {
- delete additions.droppables[id];
- }
+ var getExpiringAnnounce = (function (announce) {
+ var wasCalled = false;
+ var isExpired = false;
+ var timeoutId = setTimeout(function () {
+ isExpired = true;
+ });
- collect();
- };
+ var result = function result(message) {
+ if (wasCalled) {
+ process.env.NODE_ENV !== "production" ? warning('Announcement already made. Not making a second announcement') : void 0;
+ return;
+ }
- var stop = function stop() {
- if (!frameId) {
+ if (isExpired) {
+ process.env.NODE_ENV !== "production" ? warning("\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n ") : void 0;
return;
}
- cancelAnimationFrame(frameId);
- frameId = null;
- reset();
+ wasCalled = true;
+ announce(message);
+ clearTimeout(timeoutId);
};
- return {
- addDraggable: addDraggable,
- removeDraggable: removeDraggable,
- addDroppable: addDroppable,
- removeDroppable: removeDroppable,
- stop: stop
+ result.wasCalled = function () {
+ return wasCalled;
};
+
+ return result;
});
- var createDimensionMarshal = (function (callbacks) {
- var entries = {
- droppables: {},
- draggables: {}
+ var getAsyncMarshal = (function () {
+ var entries = [];
+
+ var execute = function execute(timerId) {
+ var index = findIndex(entries, function (item) {
+ return item.timerId === timerId;
+ });
+ !(index !== -1) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;
+
+ var _entries$splice = entries.splice(index, 1),
+ entry = _entries$splice[0];
+
+ entry.callback();
};
- var collection = null;
- var publisher = createPublisher({
- callbacks: {
- publish: callbacks.publish,
- collectionStarting: callbacks.collectionStarting
- },
- getProvided: function getProvided() {
- !collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get scroll options when there is no collection') : invariant(false) : void 0;
- return {
- entries: entries,
- collection: collection
- };
- }
- });
- var registerDraggable = function registerDraggable(descriptor, getDimension) {
+ var add = function add(fn) {
+ var timerId = setTimeout(function () {
+ return execute(timerId);
+ });
var entry = {
- descriptor: descriptor,
- getDimension: getDimension
+ timerId: timerId,
+ callback: fn
};
- entries.draggables[descriptor.id] = entry;
-
- if (!collection) {
- return;
- }
+ entries.push(entry);
+ };
- if (collection.critical.draggable.type !== descriptor.type) {
+ var flush = function flush() {
+ if (!entries.length) {
return;
}
- publisher.addDraggable(descriptor.id);
+ var shallow = [].concat(entries);
+ entries.length = 0;
+ shallow.forEach(function (entry) {
+ clearTimeout(entry.timerId);
+ entry.callback();
+ });
};
- var updateDraggable = function updateDraggable(previous, descriptor, getDimension) {
- !entries.draggables[previous.id] ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot update draggable registration as no previous registration was found') : invariant(false) : void 0;
- delete entries.draggables[previous.id];
- var entry = {
- descriptor: descriptor,
- getDimension: getDimension
- };
- entries.draggables[descriptor.id] = entry;
+ return {
+ add: add,
+ flush: flush
};
+ });
- var unregisterDraggable = function unregisterDraggable(descriptor) {
- var entry = entries.draggables[descriptor.id];
- !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot unregister Draggable with id " + descriptor.id + " as it is not registered") : invariant(false) : void 0;
+ var areLocationsEqual = function areLocationsEqual(first, second) {
+ if (first == null && second == null) {
+ return true;
+ }
- if (entry.descriptor !== descriptor) {
- return;
- }
+ if (first == null || second == null) {
+ return false;
+ }
- delete entries.draggables[descriptor.id];
+ return first.droppableId === second.droppableId && first.index === second.index;
+ };
+ var isCombineEqual = function isCombineEqual(first, second) {
+ if (first == null && second == null) {
+ return true;
+ }
- if (!collection) {
- return;
- }
+ if (first == null || second == null) {
+ return false;
+ }
- !(collection.critical.draggable.id !== descriptor.id) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot remove the dragging item during a drag') : invariant(false) : void 0;
+ return first.draggableId === second.draggableId && first.droppableId === second.droppableId;
+ };
+ var isCriticalEqual = function isCriticalEqual(first, second) {
+ if (first === second) {
+ return true;
+ }
- if (descriptor.type !== collection.critical.draggable.type) {
- return;
- }
+ var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;
+ var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;
+ return isDraggableEqual && isDroppableEqual;
+ };
+
+ var withTimings = function withTimings(key, fn) {
+ start(key);
+ fn();
+ finish(key);
+ };
- publisher.removeDraggable(descriptor.id);
+ var getDragStart = function getDragStart(critical, mode) {
+ return {
+ draggableId: critical.draggable.id,
+ type: critical.droppable.type,
+ source: {
+ droppableId: critical.droppable.id,
+ index: critical.draggable.index
+ },
+ mode: mode
};
+ };
- var registerDroppable = function registerDroppable(descriptor, droppableCallbacks) {
- var id = descriptor.id;
- entries.droppables[id] = {
- descriptor: descriptor,
- callbacks: droppableCallbacks
- };
+ var execute = function execute(responder, data, announce, getDefaultMessage) {
+ if (!responder) {
+ announce(getDefaultMessage(data));
+ return;
+ }
- if (!collection) {
- return;
- }
+ var willExpire = getExpiringAnnounce(announce);
+ var provided = {
+ announce: willExpire
+ };
+ responder(data, provided);
- if (descriptor.type !== collection.critical.droppable.type) {
- return;
- }
+ if (!willExpire.wasCalled()) {
+ announce(getDefaultMessage(data));
+ }
+ };
+
+ var getPublisher = (function (getResponders, announce) {
+ var asyncMarshal = getAsyncMarshal();
+ var dragging = null;
- publisher.addDroppable(id);
+ var beforeStart = function beforeStart(critical, mode) {
+ !!dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;
+ withTimings('onBeforeDragStart', function () {
+ var fn = getResponders().onBeforeDragStart;
+
+ if (fn) {
+ fn(getDragStart(critical, mode));
+ }
+ });
};
- var updateDroppable = function updateDroppable(previous, descriptor, droppableCallbacks) {
- !entries.droppables[previous.id] ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot update droppable registration as no previous registration was found') : invariant(false) : void 0;
- delete entries.droppables[previous.id];
- var entry = {
- descriptor: descriptor,
- callbacks: droppableCallbacks
+ var start = function start(critical, mode) {
+ !!dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;
+ var data = getDragStart(critical, mode);
+ dragging = {
+ mode: mode,
+ lastCritical: critical,
+ lastLocation: data.source,
+ lastCombine: null
};
- entries.droppables[descriptor.id] = entry;
-
- if (collection) {
- process.env.NODE_ENV !== "production" ? invariant(false, 'You are not able to update the id or type of a droppable during a drag') : invariant(false);
- }
+ asyncMarshal.add(function () {
+ withTimings('onDragStart', function () {
+ return execute(getResponders().onDragStart, data, announce, preset.onDragStart);
+ });
+ });
};
- var unregisterDroppable = function unregisterDroppable(descriptor) {
- var entry = entries.droppables[descriptor.id];
- !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot unregister Droppable with id " + descriptor.id + " as as it is not registered") : invariant(false) : void 0;
+ var update = function update(critical, impact) {
+ var location = impact.destination;
+ var combine = impact.merge ? impact.merge.combine : null;
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;
+ var hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);
- if (entry.descriptor !== descriptor) {
- return;
+ if (hasCriticalChanged) {
+ dragging.lastCritical = critical;
}
- delete entries.droppables[descriptor.id];
+ var hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);
- if (!collection) {
- return;
+ if (hasLocationChanged) {
+ dragging.lastLocation = location;
}
- !(collection.critical.droppable.id !== descriptor.id) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot remove the home Droppable during a drag') : invariant(false) : void 0;
+ var hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);
- if (collection.critical.droppable.type !== descriptor.type) {
- return;
+ if (hasGroupingChanged) {
+ dragging.lastCombine = combine;
}
- publisher.removeDroppable(descriptor.id);
- };
-
- var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {
- !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot update the scroll on Droppable " + id + " as it is not registered") : invariant(false) : void 0;
-
- if (!collection) {
+ if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {
return;
}
- callbacks.updateDroppableIsEnabled({
- id: id,
- isEnabled: isEnabled
+ var data = _extends({}, getDragStart(critical, dragging.mode), {
+ combine: combine,
+ destination: location
});
- };
- var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {
- !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot update the scroll on Droppable " + id + " as it is not registered") : invariant(false) : void 0;
+ asyncMarshal.add(function () {
+ withTimings('onDragUpdate', function () {
+ return execute(getResponders().onDragUpdate, data, announce, preset.onDragUpdate);
+ });
+ });
+ };
- if (!collection) {
- return;
- }
+ var flush = function flush() {
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;
+ asyncMarshal.flush();
+ };
- callbacks.updateDroppableScroll({
- id: id,
- offset: newScroll
+ var drop = function drop(result) {
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;
+ dragging = null;
+ withTimings('onDragEnd', function () {
+ return execute(getResponders().onDragEnd, result, announce, preset.onDragEnd);
});
};
- var scrollDroppable = function scrollDroppable(id, change) {
- var entry = entries.droppables[id];
- !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot scroll Droppable " + id + " as it is not registered") : invariant(false) : void 0;
-
- if (!collection) {
+ var abort = function abort() {
+ if (!dragging) {
return;
}
- entry.callbacks.scroll(change);
- };
+ var result = _extends({}, getDragStart(dragging.lastCritical, dragging.mode), {
+ combine: null,
+ destination: null,
+ reason: 'CANCEL'
+ });
- var getInitialPublish = function getInitialPublish(args) {
- var critical = args.critical,
- scrollOptions = args.scrollOptions,
- windowScroll = args.initialWindowScroll;
- var timingKey = 'Initial collection from DOM';
- start(timingKey);
- var home = critical.droppable;
+ drop(result);
+ };
- var droppables = _Object$keys(entries.droppables).map(function (id) {
- return entries.droppables[id];
- }).filter(function (entry) {
- return entry.descriptor.type === home.type;
- }).map(function (entry) {
- return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);
- }).reduce(function (previous, dimension) {
- previous[dimension.descriptor.id] = dimension;
- return previous;
- }, {});
-
- var draggables = _Object$keys(entries.draggables).map(function (id) {
- return entries.draggables[id];
- }).filter(function (entry) {
- return entry.descriptor.type === critical.draggable.type;
- }).map(function (entry) {
- return entry.getDimension(windowScroll);
- }).reduce(function (previous, dimension) {
- previous[dimension.descriptor.id] = dimension;
- return previous;
- }, {});
-
- finish(timingKey);
- var dimensions = {
- draggables: draggables,
- droppables: droppables
- };
- var result = {
- dimensions: dimensions,
- critical: critical
- };
- return result;
+ return {
+ beforeStart: beforeStart,
+ start: start,
+ update: update,
+ flush: flush,
+ drop: drop,
+ abort: abort
};
+ });
- var stopPublishing = function stopPublishing() {
- if (!collection) {
- return;
- }
+ var responders = (function (getResponders, announce) {
+ var publisher = getPublisher(getResponders, announce);
+ return function (store) {
+ return function (next) {
+ return function (action) {
+ if (action.type === 'INITIAL_PUBLISH') {
+ var critical = action.payload.critical;
+ publisher.beforeStart(critical, action.payload.movementMode);
+ next(action);
+ publisher.start(critical, action.payload.movementMode);
+ return;
+ }
- publisher.stop();
- var home = collection.critical.droppable;
+ if (action.type === 'DROP_COMPLETE') {
+ var result = action.payload.completed.result;
+ publisher.flush();
+ next(action);
+ publisher.drop(result);
+ return;
+ }
- _Object$keys(entries.droppables).filter(function (id) {
- return entries.droppables[id].descriptor.type === home.type;
- }).forEach(function (id) {
- return entries.droppables[id].callbacks.unwatchScroll();
- });
+ next(action);
- collection = null;
- };
+ if (action.type === 'CLEAN') {
+ publisher.abort();
+ return;
+ }
- var startPublishing = function startPublishing(request, windowScroll) {
- !!collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;
- var entry = entries.draggables[request.draggableId];
- !entry ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find critical draggable entry') : invariant(false) : void 0;
- var home = entries.droppables[entry.descriptor.droppableId];
- !home ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find critical droppable entry') : invariant(false) : void 0;
- var critical = {
- draggable: entry.descriptor,
- droppable: home.descriptor
- };
- collection = {
- scrollOptions: request.scrollOptions,
- critical: critical,
- initialWindowScroll: windowScroll
- };
- return getInitialPublish(collection);
- };
+ var state = store.getState();
- var marshal = {
- registerDraggable: registerDraggable,
- updateDraggable: updateDraggable,
- unregisterDraggable: unregisterDraggable,
- registerDroppable: registerDroppable,
- updateDroppable: updateDroppable,
- unregisterDroppable: unregisterDroppable,
- updateDroppableIsEnabled: updateDroppableIsEnabled,
- scrollDroppable: scrollDroppable,
- updateDroppableScroll: updateDroppableScroll,
- startPublishing: startPublishing,
- stopPublishing: stopPublishing
+ if (state.phase === 'DRAGGING') {
+ publisher.update(state.critical, state.impact);
+ }
+ };
+ };
};
- return marshal;
});
- var physics = function () {
- var base = {
- stiffness: 1000,
- damping: 60,
- precision: 0.99
- };
-
- var standard = _extends({}, base);
-
- var fast = _extends({}, base, {
- stiffness: base.stiffness * 2
- });
+ var dropAnimationFinish = (function (store) {
+ return function (next) {
+ return function (action) {
+ if (action.type !== 'DROP_ANIMATION_FINISHED') {
+ next(action);
+ return;
+ }
- return {
- standard: standard,
- fast: fast
+ var state = store.getState();
+ !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;
+ store.dispatch(completeDrop({
+ completed: state.completed,
+ shouldFlush: false
+ }));
+ };
};
- }();
- var css = {
- outOfTheWay: 'transform 0.2s cubic-bezier(0.2, 0, 0, 1)'
- };
+ });
- var prefix = 'data-react-beautiful-dnd';
- var dragHandle = prefix + "-drag-handle";
- var draggable = prefix + "-draggable";
- var droppable = prefix + "-droppable";
+ var dimensionMarshalStopper = (function (marshal) {
+ return function () {
+ return function (next) {
+ return function (action) {
+ if (action.type === 'DROP_COMPLETE' || action.type === 'CLEAN' || action.type === 'DROP_ANIMATE') {
+ marshal.stopPublishing();
+ }
- var getStyles = (function (styleContext) {
- var dragHandleSelector = "[" + dragHandle + "=\"" + styleContext + "\"]";
- var draggableSelector = "[" + draggable + "=\"" + styleContext + "\"]";
- var droppableSelector = "[" + droppable + "=\"" + styleContext + "\"]";
- var dragHandleStyles = {
- base: "\n " + dragHandleSelector + " {\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n }\n ",
- grabCursor: "\n " + dragHandleSelector + " {\n cursor: -webkit-grab;\n cursor: grab;\n }\n ",
- blockPointerEvents: "\n " + dragHandleSelector + " {\n pointer-events: none;\n }\n "
- };
- var draggableStyles = {
- animateMovement: "\n " + draggableSelector + " {\n transition: " + css.outOfTheWay + ";\n }\n "
- };
- var droppableStyles = {
- base: "\n " + droppableSelector + " {\n overflow-anchor: none;\n }\n "
- };
- var bodyStyles = {
- whileActiveDragging: "\n body {\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n }\n "
- };
- var base = [dragHandleStyles.base, droppableStyles.base];
- var resting = base.concat([dragHandleStyles.grabCursor]);
- var collecting = base.concat([dragHandleStyles.blockPointerEvents, bodyStyles.whileActiveDragging]);
- var dragging = collecting.concat([draggableStyles.animateMovement]);
- var dropAnimating = base.concat([dragHandleStyles.grabCursor, draggableStyles.animateMovement]);
- var userCancel = base.concat([draggableStyles.animateMovement]);
- return {
- resting: resting.join(''),
- dragging: dragging.join(''),
- dropAnimating: dropAnimating.join(''),
- collecting: collecting.join(''),
- userCancel: userCancel.join('')
+ next(action);
+ };
+ };
};
});
- var count = 0;
- var resetStyleContext = function resetStyleContext() {
- count = 0;
+ var shouldEnd = function shouldEnd(action) {
+ return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'CLEAN';
};
- var getHead = function getHead() {
- var head = document.querySelector('head');
- !head ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;
- return head;
+ var shouldCancelPending = function shouldCancelPending(action) {
+ return action.type === 'COLLECTION_STARTING';
};
- var createStyleMarshal = (function () {
- var context = "" + count++;
- var styles = getStyles(context);
- var el = null;
- var setStyle = memoizeOne(function (proposed) {
- !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot set style of style tag if not mounted') : invariant(false) : void 0;
- el.innerHTML = proposed;
- });
+ var autoScroll = (function (autoScroller) {
+ return function (store) {
+ return function (next) {
+ return function (action) {
+ if (shouldEnd(action)) {
+ autoScroller.stop();
+ next(action);
+ return;
+ }
- var mount = function mount() {
- !!el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Style marshal already mounted') : invariant(false) : void 0;
- el = document.createElement('style');
- el.type = 'text/css';
- el.setAttribute(prefix, context);
- getHead().appendChild(el);
- setStyle(styles.resting);
- };
+ if (shouldCancelPending(action)) {
+ autoScroller.cancelPending();
+ next(action);
+ return;
+ }
- var collecting = function collecting() {
- return setStyle(styles.collecting);
- };
+ if (action.type === 'INITIAL_PUBLISH') {
+ next(action);
+ var state = store.getState();
+ !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;
+ autoScroller.start(state);
+ return;
+ }
- var dragging = function dragging() {
- return setStyle(styles.dragging);
+ next(action);
+ autoScroller.scroll(store.getState());
+ };
+ };
};
+ });
- var dropping = function dropping(reason) {
- if (reason === 'DROP') {
- setStyle(styles.dropAnimating);
- return;
- }
+ var pendingDrop = (function (store) {
+ return function (next) {
+ return function (action) {
+ next(action);
- setStyle(styles.userCancel);
- };
+ if (action.type !== 'PUBLISH_WHILE_DRAGGING') {
+ return;
+ }
- var resting = function resting() {
- return setStyle(styles.resting);
- };
+ var postActionState = store.getState();
- var unmount = function unmount() {
- !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot unmount style marshal as it is already unmounted') : invariant(false) : void 0;
- getHead().removeChild(el);
- el = null;
- };
+ if (postActionState.phase !== 'DROP_PENDING') {
+ return;
+ }
- var marshal = {
- collecting: collecting,
- dragging: dragging,
- dropping: dropping,
- resting: resting,
- styleContext: context,
- mount: mount,
- unmount: unmount
+ if (postActionState.isWaiting) {
+ return;
+ }
+
+ store.dispatch(drop({
+ reason: postActionState.reason
+ }));
+ };
};
- return marshal;
});
- var canStartDrag = (function (state, id) {
- if (state.phase === 'IDLE') {
- return true;
- }
+ var composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : redux.compose;
+ var createStore = (function (_ref) {
+ var dimensionMarshal = _ref.dimensionMarshal,
+ styleMarshal = _ref.styleMarshal,
+ getResponders = _ref.getResponders,
+ announce = _ref.announce,
+ autoScroller = _ref.autoScroller;
+ return redux.createStore(reducer, composeEnhancers(redux.applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift$1(dimensionMarshal), drop$1, dropAnimationFinish, pendingDrop, autoScroll(autoScroller), responders(getResponders, announce))));
+ });
- if (state.phase !== 'DROP_ANIMATING') {
- return false;
- }
+ var clean$2 = function clean() {
+ return {
+ additions: {},
+ removals: {},
+ modified: {}
+ };
+ };
- if (state.pending.result.draggableId === id) {
- return false;
- }
+ var timingKey = 'Publish collection from DOM';
+ var createPublisher = (function (_ref) {
+ var getEntries = _ref.getEntries,
+ callbacks = _ref.callbacks;
- return state.pending.result.reason === 'DROP';
- });
+ var advancedUsageWarning = function () {
+ if (process.env.NODE_ENV === 'production') {
+ return function () {};
+ }
- var scrollWindow = (function (change) {
- window.scrollBy(change.x, change.y);
- });
+ var hasAnnounced = false;
+ return function () {
+ if (hasAnnounced) {
+ return;
+ }
- var count$1 = 0;
- var visuallyHidden = {
- position: 'absolute',
- width: '1px',
- height: '1px',
- margin: '-1px',
- border: '0',
- padding: '0',
- overflow: 'hidden',
- clip: 'rect(0 0 0 0)',
- 'clip-path': 'inset(100%)'
- };
+ hasAnnounced = true;
+ process.env.NODE_ENV !== "production" ? warning("\n Advanced usage warning: you are adding or removing a dimension during a drag\n This an advanced feature.\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/changes-while-dragging.md\n ") : void 0;
+ };
+ }();
- var getBody = function getBody() {
- !document.body ? process.env.NODE_ENV !== "production" ? invariant(false, 'Announcer cannot find document.body') : invariant(false) : void 0;
- return document.body;
- };
+ var staging = clean$2();
+ var frameId = null;
+
+ var collect = function collect() {
+ advancedUsageWarning();
+
+ if (frameId) {
+ return;
+ }
+
+ frameId = requestAnimationFrame(function () {
+ frameId = null;
+ callbacks.collectionStarting();
+ var critical = callbacks.getCritical();
+ start(timingKey);
+ var entries = getEntries();
+ var _staging = staging,
+ additions = _staging.additions,
+ removals = _staging.removals,
+ modified = _staging.modified;
+
+ var added = _Object$keys(additions).map(function (id) {
+ return entries.draggables[id].getDimension(origin);
+ }).sort(function (a, b) {
+ return a.descriptor.index - b.descriptor.index;
+ });
- var createAnnouncer = (function () {
- var id = "react-beautiful-dnd-announcement-" + count$1++;
- var el = null;
+ var updated = _Object$keys(modified).map(function (id) {
+ var entry = entries.droppables[id];
+ !entry ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find dynamically added droppable in cache') : invariant(false) : void 0;
+ var isHome = entry.descriptor.id === critical.droppable.id;
+ var options = {
+ withoutPlaceholder: !isHome
+ };
+ return entry.callbacks.recollect(options);
+ });
- var announce = function announce(message) {
- !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot announce to unmounted node') : invariant(false) : void 0;
- el.textContent = message;
+ var result = {
+ additions: added,
+ removals: _Object$keys(removals),
+ modified: updated
+ };
+ staging = clean$2();
+ finish(timingKey);
+ callbacks.publish(result);
+ });
};
- var mount = function mount() {
- !!el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Announcer already mounted') : invariant(false) : void 0;
- el = document.createElement('div');
- el.id = id;
- el.setAttribute('aria-live', 'assertive');
- el.setAttribute('role', 'log');
- el.setAttribute('aria-atomic', 'true');
+ var add = function add(descriptor) {
+ staging.additions[descriptor.id] = descriptor;
+ staging.modified[descriptor.droppableId] = true;
- _Object$assign(el.style, visuallyHidden);
+ if (staging.removals[descriptor.id]) {
+ delete staging.removals[descriptor.id];
+ }
+
+ collect();
+ };
+
+ var remove = function remove(descriptor) {
+ staging.removals[descriptor.id] = descriptor;
+ staging.modified[descriptor.droppableId] = true;
+
+ if (staging.additions[descriptor.id]) {
+ delete staging.additions[descriptor.id];
+ }
- getBody().appendChild(el);
+ collect();
};
- var unmount = function unmount() {
- !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Will not unmount annoucer as it is already unmounted') : invariant(false) : void 0;
- getBody().removeChild(el);
- el = null;
+ var stop = function stop() {
+ if (!frameId) {
+ return;
+ }
+
+ cancelAnimationFrame(frameId);
+ frameId = null;
+ staging = clean$2();
};
- var announcer = {
- announce: announce,
- id: id,
- mount: mount,
- unmount: unmount
+ return {
+ add: add,
+ remove: remove,
+ stop: stop
};
- return announcer;
});
- var getScrollableDroppables = memoizeOne(function (droppables) {
- return toDroppableList(droppables).filter(function (droppable) {
- if (!droppable.isEnabled) {
- return false;
- }
+ var getWindowScroll = (function () {
+ return {
+ x: window.pageXOffset,
+ y: window.pageYOffset
+ };
+ });
- if (!droppable.viewport.closestScrollable) {
- return false;
- }
+ var getDocumentElement = (function () {
+ var doc = document.documentElement;
+ !doc ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;
+ return doc;
+ });
- return true;
+ var getMaxWindowScroll = (function () {
+ var doc = getDocumentElement();
+ var maxScroll = getMaxScroll({
+ scrollHeight: doc.scrollHeight,
+ scrollWidth: doc.scrollWidth,
+ width: doc.clientWidth,
+ height: doc.clientHeight
});
+ return maxScroll;
});
- var getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {
- var maybe = getScrollableDroppables(droppables).find(function (droppable) {
- !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== "production" ? invariant(false, 'Invalid result') : invariant(false) : void 0;
- return isPositionInFrame(droppable.viewport.closestScrollable.framePageMarginBox)(target);
+ var getViewport = (function () {
+ var scroll = getWindowScroll();
+ var maxScroll = getMaxWindowScroll();
+ var top = scroll.y;
+ var left = scroll.x;
+ var doc = getDocumentElement();
+ var width = doc.clientWidth;
+ var height = doc.clientHeight;
+ var right = left + width;
+ var bottom = top + height;
+ var frame = cssBoxModel.getRect({
+ top: top,
+ left: left,
+ right: right,
+ bottom: bottom
});
- return maybe;
- };
+ var viewport = {
+ frame: frame,
+ scroll: {
+ initial: scroll,
+ current: scroll,
+ max: maxScroll,
+ diff: {
+ value: origin,
+ displacement: origin
+ }
+ }
+ };
+ return viewport;
+ });
- var getBestScrollableDroppable = (function (_ref) {
- var center = _ref.center,
- destination = _ref.destination,
- droppables = _ref.droppables;
+ var getInitialPublish = (function (_ref) {
+ var critical = _ref.critical,
+ scrollOptions = _ref.scrollOptions,
+ entries = _ref.entries;
+ var timingKey = 'Initial collection from DOM';
+ start(timingKey);
+ var viewport = getViewport();
+ var windowScroll = viewport.scroll.current;
+ var home = critical.droppable;
+ var droppables = values(entries.droppables).filter(function (entry) {
+ return entry.descriptor.type === home.type;
+ }).map(function (entry) {
+ return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);
+ });
+ var draggables = values(entries.draggables).filter(function (entry) {
+ return entry.descriptor.type === critical.draggable.type;
+ }).map(function (entry) {
+ return entry.getDimension(windowScroll);
+ });
+ var dimensions = {
+ draggables: toDraggableMap(draggables),
+ droppables: toDroppableMap(droppables)
+ };
+ finish(timingKey);
+ var result = {
+ dimensions: dimensions,
+ critical: critical,
+ viewport: viewport
+ };
+ return result;
+ });
- if (destination) {
- var _dimension = droppables[destination.droppableId];
+ var throwIfAddOrRemoveOfWrongType = function throwIfAddOrRemoveOfWrongType(collection, descriptor) {
+ !(collection.critical.draggable.type === descriptor.type) ? process.env.NODE_ENV !== "production" ? invariant(false, "We have detected that you have added a Draggable during a drag.\n This is not of the same type as the dragging item\n\n Dragging type: " + collection.critical.draggable.type + ".\n Added type: " + descriptor.type + "\n\n We are not allowing this as you can run into problems if your change\n has shifted the positioning of other Droppables, or has changed the size of the page") : invariant(false) : void 0;
+ };
- if (!_dimension.viewport.closestScrollable) {
- return null;
+ var createDimensionMarshal = (function (callbacks) {
+ var entries = {
+ droppables: {},
+ draggables: {}
+ };
+ var collection = null;
+ var publisher = createPublisher({
+ callbacks: {
+ publish: callbacks.publishWhileDragging,
+ collectionStarting: callbacks.collectionStarting,
+ getCritical: function getCritical() {
+ !collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get critical when there is no collection') : invariant(false) : void 0;
+ return collection.critical;
+ }
+ },
+ getEntries: function getEntries() {
+ return entries;
}
+ });
- return _dimension;
- }
+ var registerDraggable = function registerDraggable(descriptor, getDimension) {
+ var entry = {
+ descriptor: descriptor,
+ getDimension: getDimension
+ };
+ entries.draggables[descriptor.id] = entry;
- var dimension = getScrollableDroppableOver(center, droppables);
- return dimension;
- });
+ if (!collection) {
+ return;
+ }
- var smallestSigned = apply(function (value) {
- if (value === 0) {
- return 0;
- }
+ throwIfAddOrRemoveOfWrongType(collection, descriptor);
+ publisher.add(descriptor);
+ };
- return value > 0 ? 1 : -1;
- });
- var getOverlap = function () {
- var getRemainder = function getRemainder(target, max) {
- if (target < 0) {
- return target;
- }
+ var updateDraggable = function updateDraggable(published, descriptor, getDimension) {
+ var existing = entries.draggables[published.id];
+ !existing ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot update draggable registration as no published registration was found') : invariant(false) : void 0;
- if (target > max) {
- return target - max;
+ if (existing.descriptor === published) {
+ delete entries.draggables[published.id];
+ } else {
+ process.env.NODE_ENV !== "production" ? warning("\n Detected incorrect usage of 'key' on ' \n\n Your 'key' should be:\n - Unique for each Draggable in a list\n - Not be based on the index of the Draggable\n\n Usually you want your 'key' to just be the 'draggableId'\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/draggable.md#keys-for-a-list-of-draggable-\n ") : void 0;
}
- return 0;
+ var entry = {
+ descriptor: descriptor,
+ getDimension: getDimension
+ };
+ entries.draggables[descriptor.id] = entry;
};
- return function (_ref) {
- var current = _ref.current,
- max = _ref.max,
- change = _ref.change;
- var targetScroll = add(current, change);
- var overlap = {
- x: getRemainder(targetScroll.x, max.x),
- y: getRemainder(targetScroll.y, max.y)
- };
+ var unregisterDraggable = function unregisterDraggable(descriptor) {
+ var entry = entries.draggables[descriptor.id];
+ !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot unregister Draggable with id:\n " + descriptor.id + " as it is not registered") : invariant(false) : void 0;
- if (isEqual(overlap, origin)) {
- return null;
+ if (entry.descriptor !== descriptor) {
+ return;
}
- return overlap;
- };
- }();
- var canPartiallyScroll = function canPartiallyScroll(_ref2) {
- var rawMax = _ref2.max,
- current = _ref2.current,
- change = _ref2.change;
- var max = {
- x: Math.max(current.x, rawMax.x),
- y: Math.max(current.y, rawMax.y)
+ delete entries.draggables[descriptor.id];
+
+ if (!collection) {
+ return;
+ }
+
+ !(collection.critical.draggable.id !== descriptor.id) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot remove the dragging item during a drag') : invariant(false) : void 0;
+ throwIfAddOrRemoveOfWrongType(collection, descriptor);
+ publisher.remove(descriptor);
};
- var smallestChange = smallestSigned(change);
- var overlap = getOverlap({
- max: max,
- current: current,
- change: smallestChange
- });
- if (!overlap) {
+ var registerDroppable = function registerDroppable(descriptor, droppableCallbacks) {
+ var id = descriptor.id;
+ entries.droppables[id] = {
+ descriptor: descriptor,
+ callbacks: droppableCallbacks
+ };
+ !!collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot add a Droppable during a drag') : invariant(false) : void 0;
+ };
+
+ var unregisterDroppable = function unregisterDroppable(descriptor) {
+ var entry = entries.droppables[descriptor.id];
+ !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot unregister Droppable with id " + descriptor.id + " as as it is not registered") : invariant(false) : void 0;
+
+ if (entry.descriptor !== descriptor) {
+ return;
+ }
+
+ delete entries.droppables[descriptor.id];
+ !!collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot add a Droppable during a drag') : invariant(false) : void 0;
+ };
+
+ var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {
+ !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot update is enabled flag of Droppable " + id + " as it is not registered") : invariant(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ callbacks.updateDroppableIsEnabled({
+ id: id,
+ isEnabled: isEnabled
+ });
+ };
+
+ var updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(id, isCombineEnabled) {
+ !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot update isCombineEnabled flag of Droppable " + id + " as it is not registered") : invariant(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ callbacks.updateDroppableIsCombineEnabled({
+ id: id,
+ isCombineEnabled: isCombineEnabled
+ });
+ };
+
+ var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {
+ !entries.droppables[id] ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot update the scroll on Droppable " + id + " as it is not registered") : invariant(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ callbacks.updateDroppableScroll({
+ id: id,
+ offset: newScroll
+ });
+ };
+
+ var scrollDroppable = function scrollDroppable(id, change) {
+ var entry = entries.droppables[id];
+ !entry ? process.env.NODE_ENV !== "production" ? invariant(false, "Cannot scroll Droppable " + id + " as it is not registered") : invariant(false) : void 0;
+
+ if (!collection) {
+ return;
+ }
+
+ entry.callbacks.scroll(change);
+ };
+
+ var stopPublishing = function stopPublishing() {
+ if (!collection) {
+ return;
+ }
+
+ publisher.stop();
+ var home = collection.critical.droppable;
+ values(entries.droppables).filter(function (entry) {
+ return entry.descriptor.type === home.type;
+ }).forEach(function (entry) {
+ return entry.callbacks.dragStopped();
+ });
+ collection = null;
+ };
+
+ var startPublishing = function startPublishing(request) {
+ !!collection ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;
+ var entry = entries.draggables[request.draggableId];
+ !entry ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find critical draggable entry') : invariant(false) : void 0;
+ var home = entries.droppables[entry.descriptor.droppableId];
+ !home ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find critical droppable entry') : invariant(false) : void 0;
+ var critical = {
+ draggable: entry.descriptor,
+ droppable: home.descriptor
+ };
+ collection = {
+ critical: critical
+ };
+ return getInitialPublish({
+ critical: critical,
+ entries: entries,
+ scrollOptions: request.scrollOptions
+ });
+ };
+
+ var marshal = {
+ registerDraggable: registerDraggable,
+ updateDraggable: updateDraggable,
+ unregisterDraggable: unregisterDraggable,
+ registerDroppable: registerDroppable,
+ unregisterDroppable: unregisterDroppable,
+ updateDroppableIsEnabled: updateDroppableIsEnabled,
+ updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,
+ scrollDroppable: scrollDroppable,
+ updateDroppableScroll: updateDroppableScroll,
+ startPublishing: startPublishing,
+ stopPublishing: stopPublishing
+ };
+ return marshal;
+ });
+
+ var canStartDrag = (function (state, id) {
+ if (state.phase === 'IDLE') {
return true;
}
- if (smallestChange.x !== 0 && overlap.x === 0) {
- return true;
+ if (state.phase !== 'DROP_ANIMATING') {
+ return false;
}
- if (smallestChange.y !== 0 && overlap.y === 0) {
- return true;
+ if (state.completed.result.draggableId === id) {
+ return false;
}
- return false;
- };
- var canScrollWindow = function canScrollWindow(viewport, change) {
- return canPartiallyScroll({
- current: viewport.scroll.current,
- max: viewport.scroll.max,
- change: change
+ return state.completed.result.reason === 'DROP';
+ });
+
+ var scrollWindow = (function (change) {
+ window.scrollBy(change.x, change.y);
+ });
+
+ var getScrollableDroppables = memoizeOne(function (droppables) {
+ return toDroppableList(droppables).filter(function (droppable) {
+ if (!droppable.isEnabled) {
+ return false;
+ }
+
+ if (!droppable.frame) {
+ return false;
+ }
+
+ return true;
});
- };
- var getWindowOverlap = function getWindowOverlap(viewport, change) {
- if (!canScrollWindow(viewport, change)) {
- return null;
- }
+ });
- var max = viewport.scroll.max;
- var current = viewport.scroll.current;
- return getOverlap({
- current: current,
- max: max,
- change: change
+ var getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {
+ var maybe = find(getScrollableDroppables(droppables), function (droppable) {
+ !droppable.frame ? process.env.NODE_ENV !== "production" ? invariant(false, 'Invalid result') : invariant(false) : void 0;
+ return isPositionInFrame(droppable.frame.pageMarginBox)(target);
});
+ return maybe;
};
- var canScrollDroppable = function canScrollDroppable(droppable, change) {
- var closest$$1 = droppable.viewport.closestScrollable;
- if (!closest$$1) {
- return false;
- }
+ var getBestScrollableDroppable = (function (_ref) {
+ var center = _ref.center,
+ destination = _ref.destination,
+ droppables = _ref.droppables;
- return canPartiallyScroll({
- current: closest$$1.scroll.current,
- max: closest$$1.scroll.max,
- change: change
- });
- };
- var getDroppableOverlap = function getDroppableOverlap(droppable, change) {
- var closest$$1 = droppable.viewport.closestScrollable;
+ if (destination) {
+ var _dimension = droppables[destination];
- if (!closest$$1) {
- return null;
- }
+ if (!_dimension.frame) {
+ return null;
+ }
- if (!canScrollDroppable(droppable, change)) {
- return null;
+ return _dimension;
}
- return getOverlap({
- current: closest$$1.scroll.current,
- max: closest$$1.scroll.max,
- change: change
- });
- };
+ var dimension = getScrollableDroppableOver(center, droppables);
+ return dimension;
+ });
var config = {
- startFrom: 0.25,
- maxSpeedAt: 0.05,
- maxScrollSpeed: 28,
+ startFromPercentage: 0.25,
+ maxScrollAtPercentage: 0.05,
+ maxPixelScroll: 28,
ease: function ease(percentage) {
return Math.pow(percentage, 2);
+ },
+ durationDampening: {
+ stopDampeningAt: 1200,
+ accelerateAt: 360
}
};
- var clean$1 = apply(function (value) {
- return value === 0 ? 0 : value;
- });
- var getPixelThresholds = function getPixelThresholds(container, axis) {
- var startFrom = container[axis.size] * config.startFrom;
- var maxSpeedAt = container[axis.size] * config.maxSpeedAt;
- var accelerationPlane = startFrom - maxSpeedAt;
+
+ var getDistanceThresholds = (function (container, axis) {
+ var startScrollingFrom = container[axis.size] * config.startFromPercentage;
+ var maxScrollValueAt = container[axis.size] * config.maxScrollAtPercentage;
var thresholds = {
- startFrom: startFrom,
- maxSpeedAt: maxSpeedAt,
- accelerationPlane: accelerationPlane
+ startScrollingFrom: startScrollingFrom,
+ maxScrollValueAt: maxScrollValueAt
};
return thresholds;
- };
+ });
- var getSpeed = function getSpeed(distance$$1, thresholds) {
- if (distance$$1 >= thresholds.startFrom) {
+ var getPercentage = (function (_ref) {
+ var startOfRange = _ref.startOfRange,
+ endOfRange = _ref.endOfRange,
+ current = _ref.current;
+ var range = endOfRange - startOfRange;
+
+ if (range === 0) {
+ process.env.NODE_ENV !== "production" ? warning("\n Detected distance range of 0 in the fluid auto scroller\n This is unexpected and would cause a divide by 0 issue.\n Not allowing an auto scroll\n ") : void 0;
+ return 0;
+ }
+
+ var currentInRange = current - startOfRange;
+ var percentage = currentInRange / range;
+ return percentage;
+ });
+
+ var minScroll = 1;
+
+ var getValueFromDistance = (function (distanceToEdge, thresholds) {
+ if (distanceToEdge > thresholds.startScrollingFrom) {
return 0;
}
- if (distance$$1 <= thresholds.maxSpeedAt) {
- return config.maxScrollSpeed;
+ if (distanceToEdge <= thresholds.maxScrollValueAt) {
+ return config.maxPixelScroll;
}
- var distancePastStart = thresholds.startFrom - distance$$1;
- var percentage = distancePastStart / thresholds.accelerationPlane;
- var transformed = config.ease(percentage);
- var speed = config.maxScrollSpeed * transformed;
- return speed;
- };
+ if (distanceToEdge === thresholds.startScrollingFrom) {
+ return minScroll;
+ }
+
+ var percentageFromMaxScrollValueAt = getPercentage({
+ startOfRange: thresholds.maxScrollValueAt,
+ endOfRange: thresholds.startScrollingFrom,
+ current: distanceToEdge
+ });
+ var percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;
+ var scroll = config.maxPixelScroll * config.ease(percentageFromStartScrollingFrom);
+ return Math.ceil(scroll);
+ });
+
+ var accelerateAt = config.durationDampening.accelerateAt;
+ var stopAt = config.durationDampening.stopDampeningAt;
+ var dampenValueByTime = (function (proposedScroll, dragStartTime) {
+ var startOfRange = dragStartTime;
+ var endOfRange = stopAt;
+
+ var now = _Date$now();
+
+ var runTime = now - startOfRange;
+
+ if (runTime >= stopAt) {
+ return proposedScroll;
+ }
+
+ if (runTime < accelerateAt) {
+ return minScroll;
+ }
+
+ var betweenAccelerateAtAndStopAtPercentage = getPercentage({
+ startOfRange: accelerateAt,
+ endOfRange: endOfRange,
+ current: runTime
+ });
+ var scroll = proposedScroll * config.ease(betweenAccelerateAtAndStopAtPercentage);
+ return Math.ceil(scroll);
+ });
+
+ var getValue = (function (_ref) {
+ var distanceToEdge = _ref.distanceToEdge,
+ thresholds = _ref.thresholds,
+ dragStartTime = _ref.dragStartTime,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening;
+ var scroll = getValueFromDistance(distanceToEdge, thresholds);
+
+ if (scroll === 0) {
+ return 0;
+ }
+
+ if (!shouldUseTimeDampening) {
+ return scroll;
+ }
+
+ return Math.max(dampenValueByTime(scroll, dragStartTime), minScroll);
+ });
+
+ var getScrollOnAxis = (function (_ref) {
+ var container = _ref.container,
+ distanceToEdges = _ref.distanceToEdges,
+ dragStartTime = _ref.dragStartTime,
+ axis = _ref.axis,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening;
+ var thresholds = getDistanceThresholds(container, axis);
+ var isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];
+
+ if (isCloserToEnd) {
+ return getValue({
+ distanceToEdge: distanceToEdges[axis.end],
+ thresholds: thresholds,
+ dragStartTime: dragStartTime,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ }
+
+ return -1 * getValue({
+ distanceToEdge: distanceToEdges[axis.start],
+ thresholds: thresholds,
+ dragStartTime: dragStartTime,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ });
- var adjustForSizeLimits = function adjustForSizeLimits(_ref) {
+ var adjustForSizeLimits = (function (_ref) {
var container = _ref.container,
subject = _ref.subject,
proposedScroll = _ref.proposedScroll;
@@ -19998,42 +21083,38 @@
x: isTooBigHorizontally ? 0 : proposedScroll.x,
y: isTooBigVertically ? 0 : proposedScroll.y
};
- };
+ });
- var getRequiredScroll = function getRequiredScroll(_ref2) {
- var container = _ref2.container,
- subject = _ref2.subject,
- center = _ref2.center;
- var distance$$1 = {
+ var clean$3 = apply(function (value) {
+ return value === 0 ? 0 : value;
+ });
+ var getScroll = (function (_ref) {
+ var dragStartTime = _ref.dragStartTime,
+ container = _ref.container,
+ subject = _ref.subject,
+ center = _ref.center,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening;
+ var distanceToEdges = {
top: center.y - container.top,
right: container.right - center.x,
bottom: container.bottom - center.y,
left: center.x - container.left
};
-
- var y = function () {
- var thresholds = getPixelThresholds(container, vertical);
- var isCloserToBottom = distance$$1.bottom < distance$$1.top;
-
- if (isCloserToBottom) {
- return getSpeed(distance$$1.bottom, thresholds);
- }
-
- return -1 * getSpeed(distance$$1.top, thresholds);
- }();
-
- var x = function () {
- var thresholds = getPixelThresholds(container, horizontal);
- var isCloserToRight = distance$$1.right < distance$$1.left;
-
- if (isCloserToRight) {
- return getSpeed(distance$$1.right, thresholds);
- }
-
- return -1 * getSpeed(distance$$1.left, thresholds);
- }();
-
- var required = clean$1({
+ var y = getScrollOnAxis({
+ container: container,
+ distanceToEdges: distanceToEdges,
+ dragStartTime: dragStartTime,
+ axis: vertical,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ var x = getScrollOnAxis({
+ container: container,
+ distanceToEdges: distanceToEdges,
+ dragStartTime: dragStartTime,
+ axis: horizontal,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ var required = clean$3({
x: x,
y: y
});
@@ -20053,115 +21134,285 @@
}
return isEqual(limited, origin) ? null : limited;
- };
-
- var withPlaceholder = function withPlaceholder(droppable, draggable) {
- var closest$$1 = droppable.viewport.closestScrollable;
+ });
- if (!closest$$1) {
- return null;
+ var smallestSigned = apply(function (value) {
+ if (value === 0) {
+ return 0;
}
- var isOverHome = droppable.descriptor.id === draggable.descriptor.droppableId;
- var max = closest$$1.scroll.max;
- var current = closest$$1.scroll.current;
+ return value > 0 ? 1 : -1;
+ });
+ var getOverlap = function () {
+ var getRemainder = function getRemainder(target, max) {
+ if (target < 0) {
+ return target;
+ }
+
+ if (target > max) {
+ return target - max;
+ }
+
+ return 0;
+ };
- if (isOverHome) {
- return {
- max: max,
- current: current
+ return function (_ref) {
+ var current = _ref.current,
+ max = _ref.max,
+ change = _ref.change;
+ var targetScroll = add(current, change);
+ var overlap = {
+ x: getRemainder(targetScroll.x, max.x),
+ y: getRemainder(targetScroll.y, max.y)
};
- }
- var spaceForPlaceholder = patch(droppable.axis.line, draggable.placeholder.client.borderBox[droppable.axis.size]);
- var newMax = add(max, spaceForPlaceholder);
- var newCurrent = {
- x: Math.min(current.x, newMax.x),
- y: Math.min(current.y, newMax.y)
+ if (isEqual(overlap, origin)) {
+ return null;
+ }
+
+ return overlap;
};
- return {
- max: newMax,
- current: newCurrent
+ }();
+ var canPartiallyScroll = function canPartiallyScroll(_ref2) {
+ var rawMax = _ref2.max,
+ current = _ref2.current,
+ change = _ref2.change;
+ var max = {
+ x: Math.max(current.x, rawMax.x),
+ y: Math.max(current.y, rawMax.y)
};
+ var smallestChange = smallestSigned(change);
+ var overlap = getOverlap({
+ max: max,
+ current: current,
+ change: smallestChange
+ });
+
+ if (!overlap) {
+ return true;
+ }
+
+ if (smallestChange.x !== 0 && overlap.x === 0) {
+ return true;
+ }
+
+ if (smallestChange.y !== 0 && overlap.y === 0) {
+ return true;
+ }
+
+ return false;
+ };
+ var canScrollWindow = function canScrollWindow(viewport, change) {
+ return canPartiallyScroll({
+ current: viewport.scroll.current,
+ max: viewport.scroll.max,
+ change: change
+ });
};
+ var getWindowOverlap = function getWindowOverlap(viewport, change) {
+ if (!canScrollWindow(viewport, change)) {
+ return null;
+ }
- var createFluidScroller = (function (_ref3) {
- var scrollWindow = _ref3.scrollWindow,
- scrollDroppable = _ref3.scrollDroppable;
- var scheduleWindowScroll = rafSchd(scrollWindow);
- var scheduleDroppableScroll = rafSchd(scrollDroppable);
+ var max = viewport.scroll.max;
+ var current = viewport.scroll.current;
+ return getOverlap({
+ current: current,
+ max: max,
+ change: change
+ });
+ };
+ var canScrollDroppable = function canScrollDroppable(droppable, change) {
+ var frame = droppable.frame;
+
+ if (!frame) {
+ return false;
+ }
+
+ return canPartiallyScroll({
+ current: frame.scroll.current,
+ max: frame.scroll.max,
+ change: change
+ });
+ };
+ var getDroppableOverlap = function getDroppableOverlap(droppable, change) {
+ var frame = droppable.frame;
+
+ if (!frame) {
+ return null;
+ }
+
+ if (!canScrollDroppable(droppable, change)) {
+ return null;
+ }
+
+ return getOverlap({
+ current: frame.scroll.current,
+ max: frame.scroll.max,
+ change: change
+ });
+ };
+
+ var getWindowScrollChange = (function (_ref) {
+ var viewport = _ref.viewport,
+ subject = _ref.subject,
+ center = _ref.center,
+ dragStartTime = _ref.dragStartTime,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening;
+ var scroll = getScroll({
+ dragStartTime: dragStartTime,
+ container: viewport.frame,
+ subject: subject,
+ center: center,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ return scroll && canScrollWindow(viewport, scroll) ? scroll : null;
+ });
+
+ var getDroppableScrollChange = (function (_ref) {
+ var droppable = _ref.droppable,
+ subject = _ref.subject,
+ center = _ref.center,
+ dragStartTime = _ref.dragStartTime,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening;
+ var frame = droppable.frame;
+
+ if (!frame) {
+ return null;
+ }
- var scroller = function scroller(state) {
- var center = state.current.page.borderBoxCenter;
- var draggable = state.dimensions.draggables[state.critical.draggable.id];
- var subject = draggable.page.marginBox;
+ var scroll = getScroll({
+ dragStartTime: dragStartTime,
+ container: frame.pageMarginBox,
+ subject: subject,
+ center: center,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
+ return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;
+ });
+
+ var scroll$1 = (function (_ref) {
+ var state = _ref.state,
+ dragStartTime = _ref.dragStartTime,
+ shouldUseTimeDampening = _ref.shouldUseTimeDampening,
+ scrollWindow = _ref.scrollWindow,
+ scrollDroppable = _ref.scrollDroppable;
+ var center = state.current.page.borderBoxCenter;
+ var draggable = state.dimensions.draggables[state.critical.draggable.id];
+ var subject = draggable.page.marginBox;
+
+ if (state.isWindowScrollAllowed) {
var viewport = state.viewport;
- var requiredWindowScroll = getRequiredScroll({
- container: viewport.frame,
+
+ var _change = getWindowScrollChange({
+ dragStartTime: dragStartTime,
+ viewport: viewport,
subject: subject,
- center: center
+ center: center,
+ shouldUseTimeDampening: shouldUseTimeDampening
});
- if (requiredWindowScroll && canScrollWindow(viewport, requiredWindowScroll)) {
- scheduleWindowScroll(requiredWindowScroll);
+ if (_change) {
+ scrollWindow(_change);
return;
}
+ }
- var droppable = getBestScrollableDroppable({
- center: center,
- destination: state.impact.destination,
- droppables: state.dimensions.droppables
- });
+ var droppable = getBestScrollableDroppable({
+ center: center,
+ destination: whatIsDraggedOver(state.impact),
+ droppables: state.dimensions.droppables
+ });
- if (!droppable) {
- return;
- }
+ if (!droppable) {
+ return;
+ }
- var closestScrollable = droppable.viewport.closestScrollable;
+ var change = getDroppableScrollChange({
+ dragStartTime: dragStartTime,
+ droppable: droppable,
+ subject: subject,
+ center: center,
+ shouldUseTimeDampening: shouldUseTimeDampening
+ });
- if (!closestScrollable) {
- return;
- }
+ if (change) {
+ scrollDroppable(droppable.descriptor.id, change);
+ }
+ });
- var requiredFrameScroll = getRequiredScroll({
- container: closestScrollable.framePageMarginBox,
- subject: subject,
- center: center
+ var createFluidScroller = (function (_ref) {
+ var scrollWindow = _ref.scrollWindow,
+ scrollDroppable = _ref.scrollDroppable;
+ var scheduleWindowScroll = rafSchd(scrollWindow);
+ var scheduleDroppableScroll = rafSchd(scrollDroppable);
+ var dragging = null;
+
+ var tryScroll = function tryScroll(state) {
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;
+ var _dragging = dragging,
+ shouldUseTimeDampening = _dragging.shouldUseTimeDampening,
+ dragStartTime = _dragging.dragStartTime;
+ scroll$1({
+ state: state,
+ scrollWindow: scheduleWindowScroll,
+ scrollDroppable: scheduleDroppableScroll,
+ dragStartTime: dragStartTime,
+ shouldUseTimeDampening: shouldUseTimeDampening
});
+ };
- if (!requiredFrameScroll) {
- return;
- }
+ var cancelPending = function cancelPending() {
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot cancel pending fluid scroll when not started') : invariant(false) : void 0;
+ scheduleWindowScroll.cancel();
+ scheduleDroppableScroll.cancel();
+ };
- var result = withPlaceholder(droppable, draggable);
+ var start$1 = function start$1(state) {
+ start('starting fluid scroller');
+ !!dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;
- if (!result) {
- return;
- }
+ var dragStartTime = _Date$now();
- var closest$$1 = droppable.viewport.closestScrollable;
+ var wasScrollNeeded = false;
- if (!closest$$1) {
- return;
- }
+ var fakeScrollCallback = function fakeScrollCallback() {
+ wasScrollNeeded = true;
+ };
- var canScrollDroppable$$1 = canPartiallyScroll({
- current: result.current,
- max: result.max,
- change: requiredFrameScroll
+ scroll$1({
+ state: state,
+ dragStartTime: 0,
+ shouldUseTimeDampening: false,
+ scrollWindow: fakeScrollCallback,
+ scrollDroppable: fakeScrollCallback
});
+ dragging = {
+ dragStartTime: dragStartTime,
+ shouldUseTimeDampening: wasScrollNeeded
+ };
+ finish('starting fluid scroller');
- if (canScrollDroppable$$1) {
- scheduleDroppableScroll(droppable.descriptor.id, requiredFrameScroll);
+ if (wasScrollNeeded) {
+ tryScroll(state);
}
};
- scroller.cancel = function () {
- scheduleWindowScroll.cancel();
- scheduleDroppableScroll.cancel();
+ var stop = function stop() {
+ if (!dragging) {
+ return;
+ }
+
+ cancelPending();
+ dragging = null;
};
- return scroller;
+ return {
+ start: start$1,
+ stop: stop,
+ cancelPending: cancelPending,
+ scroll: tryScroll
+ };
});
var createJumpScroller = (function (_ref) {
@@ -20172,8 +21423,7 @@
var moveByOffset = function moveByOffset(state, offset) {
var client = add(state.current.client.selection, offset);
move({
- client: client,
- shouldAnimate: true
+ client: client
});
};
@@ -20195,7 +21445,11 @@
return remainder;
};
- var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(viewport, change) {
+ var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(isWindowScrollAllowed, viewport, change) {
+ if (!isWindowScrollAllowed) {
+ return change;
+ }
+
if (!canScrollWindow(viewport, change)) {
return change;
}
@@ -20220,16 +21474,16 @@
return;
}
- var destination = state.impact.destination;
+ var destination = whatIsDraggedOver(state.impact);
!destination ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;
- var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination.droppableId], request);
+ var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);
if (!droppableRemainder) {
return;
}
var viewport = state.viewport;
- var windowRemainder = scrollWindowAsMuchAsItCan(viewport, droppableRemainder);
+ var windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);
if (!windowRemainder) {
return;
@@ -20245,7 +21499,7 @@
var scrollDroppable = _ref.scrollDroppable,
scrollWindow = _ref.scrollWindow,
move = _ref.move;
- var fluidScroll = createFluidScroller({
+ var fluidScroller = createFluidScroller({
scrollWindow: scrollWindow,
scrollDroppable: scrollDroppable
});
@@ -20254,1051 +21508,1449 @@
scrollWindow: scrollWindow,
scrollDroppable: scrollDroppable
});
- var marshal = {
- cancel: fluidScroll.cancel,
- fluidScroll: fluidScroll,
- jumpScroll: jumpScroll
- };
- return marshal;
- });
- var prefix$1 = function prefix(key) {
- return "private-react-beautiful-dnd-key-do-not-use-" + key;
- };
+ var scroll = function scroll(state) {
+ if (state.phase !== 'DRAGGING') {
+ return;
+ }
+
+ if (state.movementMode === 'FLUID') {
+ fluidScroller.scroll(state);
+ return;
+ }
- var storeKey = prefix$1('store');
- var droppableIdKey = prefix$1('droppable-id');
- var droppableTypeKey = prefix$1('droppable-type');
- var dimensionMarshalKey = prefix$1('dimension-marshal');
- var styleContextKey = prefix$1('style-context');
- var canLiftContextKey = prefix$1('can-lift');
+ if (!state.scrollJumpRequest) {
+ return;
+ }
- var _DragDropContext$chil;
- var resetServerContext = function resetServerContext() {
- resetStyleContext();
- };
+ jumpScroll(state);
+ };
- var printFatalDevError = function printFatalDevError(error) {
- if (process.env.NODE_ENV === 'production') {
- return;
- }
+ var scroller = {
+ scroll: scroll,
+ cancelPending: fluidScroller.cancelPending,
+ start: fluidScroller.start,
+ stop: fluidScroller.stop
+ };
+ return scroller;
+ });
- console.warn("\n An error has occurred while a drag is occurring.\n Any existing drag will be cancelled.\n\n Raw error:\n ");
- console.error(error);
- };
+ var prefix = 'data-react-beautiful-dnd';
+ var dragHandle = prefix + "-drag-handle";
+ var draggable = prefix + "-draggable";
+ var droppable = prefix + "-droppable";
- var DragDropContext = function (_React$Component) {
- _inheritsLoose(DragDropContext, _React$Component);
+ var makeGetSelector = function makeGetSelector(context) {
+ return function (attribute) {
+ return "[" + attribute + "=\"" + context + "\"]";
+ };
+ };
- function DragDropContext(props, context) {
- var _this;
+ var getStyles = function getStyles(rules, property) {
+ return rules.map(function (rule) {
+ var value = rule.styles[property];
- _this = _React$Component.call(this, props, context) || this;
- _this.store = void 0;
- _this.dimensionMarshal = void 0;
- _this.styleMarshal = void 0;
- _this.autoScroller = void 0;
- _this.announcer = void 0;
- _this.unsubscribe = void 0;
-
- _this.canLift = function (id) {
- return canStartDrag(_this.store.getState(), id);
- };
+ if (!value) {
+ return '';
+ }
- _this.onFatalError = function (error) {
- printFatalDevError(error);
+ return rule.selector + " { " + value + " }";
+ }).join(' ');
+ };
- var state = _this.store.getState();
+ var noPointerEvents = 'pointer-events: none;';
+ var getStyles$1 = (function (uniqueContext) {
+ var getSelector = makeGetSelector(uniqueContext);
- if (state.phase !== 'IDLE') {
- _this.store.dispatch(clean());
+ var dragHandle$1 = function () {
+ var grabCursor = "\n cursor: -webkit-grab;\n cursor: grab;\n ";
+ return {
+ selector: getSelector(dragHandle),
+ styles: {
+ always: "\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n ",
+ resting: grabCursor,
+ dragging: noPointerEvents,
+ dropAnimating: grabCursor
}
};
+ }();
- _this.onWindowError = function (error) {
- return _this.onFatalError(error);
- };
-
- _this.announcer = createAnnouncer();
- _this.styleMarshal = createStyleMarshal();
- _this.store = createStore({
- getDimensionMarshal: function getDimensionMarshal() {
- return _this.dimensionMarshal;
- },
- styleMarshal: _this.styleMarshal,
- getHooks: function getHooks() {
- return {
- onBeforeDragStart: _this.props.onBeforeDragStart,
- onDragStart: _this.props.onDragStart,
- onDragEnd: _this.props.onDragEnd,
- onDragUpdate: _this.props.onDragUpdate
- };
- },
- announce: _this.announcer.announce,
- getScroller: function getScroller() {
- return _this.autoScroller;
+ var draggable$1 = function () {
+ var transition = "\n transition: " + transitions.outOfTheWay + ";\n ";
+ return {
+ selector: getSelector(draggable),
+ styles: {
+ dragging: transition,
+ dropAnimating: transition,
+ userCancel: transition
}
- });
- var callbacks = redux.bindActionCreators({
- collectionStarting: collectionStarting,
- publish: publish,
- updateDroppableScroll: updateDroppableScroll,
- updateDroppableIsEnabled: updateDroppableIsEnabled
- }, _this.store.dispatch);
- _this.dimensionMarshal = createDimensionMarshal(callbacks);
- _this.autoScroller = createAutoScroller(_extends({
- scrollWindow: scrollWindow,
- scrollDroppable: _this.dimensionMarshal.scrollDroppable
- }, redux.bindActionCreators({
- move: move
- }, _this.store.dispatch)));
- return _this;
- }
-
- var _proto = DragDropContext.prototype;
-
- _proto.getChildContext = function getChildContext() {
- var _ref;
-
- return _ref = {}, _ref[storeKey] = this.store, _ref[dimensionMarshalKey] = this.dimensionMarshal, _ref[styleContextKey] = this.styleMarshal.styleContext, _ref[canLiftContextKey] = this.canLift, _ref;
- };
+ };
+ }();
- _proto.componentDidMount = function componentDidMount() {
- window.addEventListener('error', this.onWindowError);
- this.styleMarshal.mount();
- this.announcer.mount();
+ var droppable$1 = {
+ selector: getSelector(droppable),
+ styles: {
+ always: "overflow-anchor: none;"
+ }
};
-
- _proto.componentDidCatch = function componentDidCatch(error) {
- this.onFatalError(error);
-
- if (error.message.indexOf('Invariant failed') !== -1) {
- this.setState({});
- return;
+ var body = {
+ selector: 'body',
+ styles: {
+ dragging: "\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n overflow-anchor: none;\n "
}
-
- throw error;
};
+ var rules = [draggable$1, dragHandle$1, droppable$1, body];
+ return {
+ always: getStyles(rules, 'always'),
+ resting: getStyles(rules, 'resting'),
+ dragging: getStyles(rules, 'dragging'),
+ dropAnimating: getStyles(rules, 'dropAnimating'),
+ userCancel: getStyles(rules, 'userCancel')
+ };
+ });
- _proto.componentWillUnmount = function componentWillUnmount() {
- window.removeEventListener('error', this.onWindowError);
- var state = this.store.getState();
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
- if (state.phase !== 'IDLE') {
- this.store.dispatch(clean());
- }
+ var getHead = function getHead() {
+ var head = document.querySelector('head');
+ !head ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;
+ return head;
+ };
- this.styleMarshal.unmount();
- this.announcer.unmount();
- };
+ var createStyleEl = function createStyleEl() {
+ var el = document.createElement('style');
+ el.type = 'text/css';
+ return el;
+ };
- _proto.render = function render() {
- return this.props.children;
- };
+ function useStyleMarshal(uniqueId) {
+ var uniqueContext = useMemoOne.useMemo(function () {
+ return "" + uniqueId;
+ }, [uniqueId]);
+ var styles = useMemoOne.useMemo(function () {
+ return getStyles$1(uniqueContext);
+ }, [uniqueContext]);
+ var alwaysRef = React.useRef(null);
+ var dynamicRef = React.useRef(null);
+ var setDynamicStyle = useMemoOne.useCallback(memoizeOne(function (proposed) {
+ var el = dynamicRef.current;
+ !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;
+ el.textContent = proposed;
+ }), []);
+ var setAlwaysStyle = useMemoOne.useCallback(function (proposed) {
+ var el = alwaysRef.current;
+ !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;
+ el.textContent = proposed;
+ }, []);
+ useIsomorphicLayoutEffect(function () {
+ !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== "production" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;
+ var always = createStyleEl();
+ var dynamic = createStyleEl();
+ alwaysRef.current = always;
+ dynamicRef.current = dynamic;
+ always.setAttribute(prefix + "-always", uniqueContext);
+ dynamic.setAttribute(prefix + "-dynamic", uniqueContext);
+ getHead().appendChild(always);
+ getHead().appendChild(dynamic);
+ setAlwaysStyle(styles.always);
+ setDynamicStyle(styles.resting);
+ return function () {
+ var remove = function remove(ref) {
+ var current = ref.current;
+ !current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;
+ getHead().removeChild(current);
+ ref.current = null;
+ };
- return DragDropContext;
- }(React__default.Component);
+ remove(alwaysRef);
+ remove(dynamicRef);
+ };
+ }, [setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, uniqueContext]);
+ var dragging = useMemoOne.useCallback(function () {
+ return setDynamicStyle(styles.dragging);
+ }, [setDynamicStyle, styles.dragging]);
+ var dropping = useMemoOne.useCallback(function (reason) {
+ if (reason === 'DROP') {
+ setDynamicStyle(styles.dropAnimating);
+ return;
+ }
- DragDropContext.childContextTypes = (_DragDropContext$chil = {}, _DragDropContext$chil[storeKey] = PropTypes.shape({
- dispatch: PropTypes.func.isRequired,
- subscribe: PropTypes.func.isRequired,
- getState: PropTypes.func.isRequired
- }).isRequired, _DragDropContext$chil[dimensionMarshalKey] = PropTypes.object.isRequired, _DragDropContext$chil[styleContextKey] = PropTypes.string.isRequired, _DragDropContext$chil[canLiftContextKey] = PropTypes.func.isRequired, _DragDropContext$chil);
+ setDynamicStyle(styles.userCancel);
+ }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);
+ var resting = useMemoOne.useCallback(function () {
+ if (!dynamicRef.current) {
+ return;
+ }
- var isScrollable = function isScrollable() {
- for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
- values[_key] = arguments[_key];
- }
+ setDynamicStyle(styles.resting);
+ }, [setDynamicStyle, styles.resting]);
+ var marshal = useMemoOne.useMemo(function () {
+ return {
+ dragging: dragging,
+ dropping: dropping,
+ resting: resting,
+ styleContext: uniqueContext
+ };
+ }, [dragging, dropping, resting, uniqueContext]);
+ return marshal;
+ }
- return values.some(function (value) {
- return value === 'auto' || value === 'scroll';
- });
- };
+ var StoreContext = React__default.createContext(null);
- var isElementScrollable = function isElementScrollable(el) {
- var style = window.getComputedStyle(el);
- return isScrollable(style.overflow, style.overflowY, style.overflowX);
+ var getBodyElement = (function () {
+ var body = document.body;
+ !body ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;
+ return body;
+ });
+
+ var visuallyHidden = {
+ position: 'absolute',
+ width: '1px',
+ height: '1px',
+ margin: '-1px',
+ border: '0',
+ padding: '0',
+ overflow: 'hidden',
+ clip: 'rect(0 0 0 0)',
+ 'clip-path': 'inset(100%)'
};
+ var getId = function getId(uniqueId) {
+ return "react-beautiful-dnd-announcement-" + uniqueId;
+ };
+ function useAnnouncer(uniqueId) {
+ var id = useMemoOne.useMemo(function () {
+ return getId(uniqueId);
+ }, [uniqueId]);
+ var ref = React.useRef(null);
+ React.useEffect(function () {
+ !!ref.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Announcement node already mounted') : invariant(false) : void 0;
+ var el = document.createElement('div');
+ ref.current = el;
+ el.id = id;
+ el.setAttribute('aria-live', 'assertive');
+ el.setAttribute('role', 'log');
+ el.setAttribute('aria-atomic', 'true');
- var getClosestScrollable = function getClosestScrollable(el) {
- if (el == null) {
- return null;
- }
+ _Object$assign(el.style, visuallyHidden);
- if (!isElementScrollable(el)) {
- return getClosestScrollable(el.parentElement);
- }
+ getBodyElement().appendChild(el);
+ return function () {
+ var toBeRemoved = ref.current;
+ !toBeRemoved ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot unmount announcement node') : invariant(false) : void 0;
+ getBodyElement().removeChild(toBeRemoved);
+ ref.current = null;
+ };
+ }, [id]);
+ var announce = useMemoOne.useCallback(function (message) {
+ var el = ref.current;
- return el;
+ if (el) {
+ el.textContent = message;
+ return;
+ }
+
+ process.env.NODE_ENV !== "production" ? warning("\n A screen reader message was trying to be announced but it was unable to do so.\n This can occur if you unmount your in your onDragEnd.\n Consider calling provided.announce() before the unmount so that the instruction will\n not be lost for users relying on a screen reader.\n\n Message not passed to screen reader:\n\n \"" + message + "\"\n ") : void 0;
+ }, []);
+ return announce;
+ }
+
+ var AppContext = React__default.createContext(null);
+
+ var peerDependencies = {
+ react: "^16.8.5"
};
- var _DroppableDimensionPu;
+ var semver = /(\d+)\.(\d+)\.(\d+)/;
- var getScroll = function getScroll(el) {
+ var getVersion = function getVersion(value) {
+ var result = semver.exec(value);
+ !(result != null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Unable to parse React version " + value) : invariant(false) : void 0;
+ var major = Number(result[1]);
+ var minor = Number(result[2]);
+ var patch = Number(result[3]);
return {
- x: el.scrollLeft,
- y: el.scrollTop
+ major: major,
+ minor: minor,
+ patch: patch,
+ raw: value
};
};
- var checkForNestedScrollContainers = function checkForNestedScrollContainers(scrollable) {
- if (process.env.NODE_ENV === 'production') {
- return;
+ var isSatisfied = function isSatisfied(expected, actual) {
+ if (actual.major > expected.major) {
+ return true;
}
- if (!scrollable) {
- return;
+ if (actual.major < expected.major) {
+ return false;
}
- var anotherScrollParent = getClosestScrollable(scrollable.parentElement);
-
- if (!anotherScrollParent) {
- return;
+ if (actual.minor > expected.minor) {
+ return true;
}
- console.warn("\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n ");
- };
+ if (actual.minor < expected.minor) {
+ return false;
+ }
- var listenerOptions = {
- passive: true
+ return actual.patch >= expected.patch;
};
- var DroppableDimensionPublisher = function (_React$Component) {
- _inheritsLoose(DroppableDimensionPublisher, _React$Component);
+ var checkReactVersion = (function (peerDepValue, actualValue) {
+ var peerDep = getVersion(peerDepValue);
+ var actual = getVersion(actualValue);
- function DroppableDimensionPublisher(props, context) {
- var _this;
-
- _this = _React$Component.call(this, props, context) || this;
- _this.watchingScroll = null;
- _this.callbacks = void 0;
- _this.publishedDescriptor = null;
-
- _this.getClosestScroll = function () {
- if (!_this.watchingScroll) {
- return origin;
- }
-
- return getScroll(_this.watchingScroll.closestScrollable);
- };
+ if (isSatisfied(peerDep, actual)) {
+ return;
+ }
- _this.memoizedUpdateScroll = memoizeOne(function (x, y) {
- !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot update scroll on unpublished droppable') : invariant(false) : void 0;
- var newScroll = {
- x: x,
- y: y
- };
- var marshal = _this.context[dimensionMarshalKey];
- marshal.updateDroppableScroll(_this.publishedDescriptor.id, newScroll);
- });
+ process.env.NODE_ENV !== "production" ? warning("\n React version: [" + actual.raw + "]\n does not satisfy expected peer dependency version: [" + peerDep.raw + "]\n\n This can result in run time bugs, and even fatal crashes\n ") : void 0;
+ });
- _this.updateScroll = function () {
- var offset = _this.getClosestScroll();
+ var suffix = "\n We expect a html5 doctype: \n This is to ensure consistent browser layout and measurement\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\n";
+ var checkDoctype = (function (doc) {
+ var doctype = doc.doctype;
- _this.memoizedUpdateScroll(offset.x, offset.y);
- };
+ if (!doctype) {
+ process.env.NODE_ENV !== "production" ? warning("\n No found.\n\n " + suffix + "\n ") : void 0;
+ return;
+ }
- _this.scheduleScrollUpdate = rafSchd(_this.updateScroll);
+ if (doctype.name.toLowerCase() !== 'html') {
+ process.env.NODE_ENV !== "production" ? warning("\n Unexpected found: (" + doctype.name + ")\n\n " + suffix + "\n ") : void 0;
+ }
- _this.onClosestScroll = function () {
- !_this.watchingScroll ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;
- var options = _this.watchingScroll.options;
+ if (doctype.publicId !== '') {
+ process.env.NODE_ENV !== "production" ? warning("\n Unexpected publicId found: (" + doctype.publicId + ")\n A html5 doctype does not have a publicId\n\n " + suffix + "\n ") : void 0;
+ }
+ });
- if (options.shouldPublishImmediately) {
- _this.updateScroll();
+ function useStartupValidation() {
+ React.useEffect(function () {
+ if (process.env.NODE_ENV === 'production') {
+ return;
+ }
- return;
- }
+ checkReactVersion(peerDependencies.react, React__default.version);
+ checkDoctype(document);
+ }, []);
+ }
- _this.scheduleScrollUpdate();
- };
+ function usePrevious(current) {
+ var ref = React.useRef(current);
+ React.useEffect(function () {
+ ref.current = current;
+ });
+ return ref;
+ }
- _this.scroll = function (change) {
- !_this.watchingScroll ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;
- var closestScrollable = _this.watchingScroll.closestScrollable;
- closestScrollable.scrollTop += change.y;
- closestScrollable.scrollLeft += change.x;
- };
+ var createResponders = function createResponders(props) {
+ return {
+ onBeforeDragStart: props.onBeforeDragStart,
+ onDragStart: props.onDragStart,
+ onDragEnd: props.onDragEnd,
+ onDragUpdate: props.onDragUpdate
+ };
+ };
+
+ function getStore(lazyRef) {
+ !lazyRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;
+ return lazyRef.current;
+ }
+
+ function App(props) {
+ var uniqueId = props.uniqueId,
+ setOnError = props.setOnError;
+ var lazyStoreRef = React.useRef(null);
+ useStartupValidation();
+ var lastPropsRef = usePrevious(props);
+ var getResponders = useMemoOne.useCallback(function () {
+ return createResponders(lastPropsRef.current);
+ }, [lastPropsRef]);
+ var announce = useAnnouncer(uniqueId);
+ var styleMarshal = useStyleMarshal(uniqueId);
+ var lazyDispatch = useMemoOne.useCallback(function (action) {
+ getStore(lazyStoreRef).dispatch(action);
+ }, []);
+ var callbacks = useMemoOne.useMemo(function () {
+ return redux.bindActionCreators({
+ publishWhileDragging: publishWhileDragging$1,
+ updateDroppableScroll: updateDroppableScroll,
+ updateDroppableIsEnabled: updateDroppableIsEnabled,
+ updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,
+ collectionStarting: collectionStarting
+ }, lazyDispatch);
+ }, [lazyDispatch]);
+ var dimensionMarshal = useMemoOne.useMemo(function () {
+ return createDimensionMarshal(callbacks);
+ }, [callbacks]);
+ var autoScroller = useMemoOne.useMemo(function () {
+ return createAutoScroller(_extends({
+ scrollWindow: scrollWindow,
+ scrollDroppable: dimensionMarshal.scrollDroppable
+ }, redux.bindActionCreators({
+ move: move
+ }, lazyDispatch)));
+ }, [dimensionMarshal.scrollDroppable, lazyDispatch]);
+ var store = useMemoOne.useMemo(function () {
+ return createStore({
+ dimensionMarshal: dimensionMarshal,
+ styleMarshal: styleMarshal,
+ announce: announce,
+ autoScroller: autoScroller,
+ getResponders: getResponders
+ });
+ }, [announce, autoScroller, dimensionMarshal, getResponders, styleMarshal]);
- _this.watchScroll = function (closestScrollable, options) {
- !!_this.watchingScroll ? process.env.NODE_ENV !== "production" ? invariant(false, 'Droppable cannot watch scroll as it is already watching scroll') : invariant(false) : void 0;
+ if (process.env.NODE_ENV !== 'production') {
+ if (lazyStoreRef.current && lazyStoreRef.current !== store) {
+ process.env.NODE_ENV !== "production" ? warning('unexpected store change') : void 0;
+ }
+ }
- if (!closestScrollable) {
- return;
- }
+ lazyStoreRef.current = store;
+ var tryResetStore = useMemoOne.useCallback(function () {
+ var current = getStore(lazyStoreRef);
+ var state = current.getState();
- _this.watchingScroll = {
- options: options,
- closestScrollable: closestScrollable
- };
- closestScrollable.addEventListener('scroll', _this.onClosestScroll, listenerOptions);
+ if (state.phase !== 'IDLE') {
+ current.dispatch(clean$1({
+ shouldFlush: true
+ }));
+ }
+ }, []);
+ setOnError(tryResetStore);
+ var getCanLift = useMemoOne.useCallback(function (id) {
+ return canStartDrag(getStore(lazyStoreRef).getState(), id);
+ }, []);
+ var getIsMovementAllowed = useMemoOne.useCallback(function () {
+ return isMovementAllowed(getStore(lazyStoreRef).getState());
+ }, []);
+ var appContext = useMemoOne.useMemo(function () {
+ return {
+ marshal: dimensionMarshal,
+ style: styleMarshal.styleContext,
+ canLift: getCanLift,
+ isMovementAllowed: getIsMovementAllowed
};
+ }, [dimensionMarshal, getCanLift, getIsMovementAllowed, styleMarshal.styleContext]);
+ React.useEffect(function () {
+ return tryResetStore;
+ }, [tryResetStore]);
+ return React__default.createElement(AppContext.Provider, {
+ value: appContext
+ }, React__default.createElement(reactRedux.Provider, {
+ context: StoreContext,
+ store: store
+ }, props.children));
+ }
+
+ var instanceCount = 0;
+ function resetServerContext() {
+ instanceCount = 0;
+ }
+ function DragDropContext(props) {
+ var uniqueId = useMemoOne.useMemo(function () {
+ return instanceCount++;
+ }, []);
+ return React__default.createElement(ErrorBoundary, null, function (setOnError) {
+ return React__default.createElement(App, _extends({
+ setOnError: setOnError,
+ uniqueId: uniqueId
+ }, props), props.children);
+ });
+ }
- _this.unwatchScroll = function () {
- var watching = _this.watchingScroll;
+ var isEqual$2 = function isEqual(base) {
+ return function (value) {
+ return base === value;
+ };
+ };
- if (!watching) {
- return;
- }
+ var isScroll = isEqual$2('scroll');
+ var isAuto = isEqual$2('auto');
+ var isVisible$1 = isEqual$2('visible');
- _this.scheduleScrollUpdate.cancel();
+ var isEither = function isEither(overflow, fn) {
+ return fn(overflow.overflowX) || fn(overflow.overflowY);
+ };
- watching.closestScrollable.removeEventListener('scroll', _this.onClosestScroll, listenerOptions);
- _this.watchingScroll = null;
- };
+ var isBoth = function isBoth(overflow, fn) {
+ return fn(overflow.overflowX) && fn(overflow.overflowY);
+ };
- _this.getMemoizedDescriptor = memoizeOne(function (id, type) {
- return {
- id: id,
- type: type
- };
- });
+ var isElementScrollable = function isElementScrollable(el) {
+ var style = window.getComputedStyle(el);
+ var overflow = {
+ overflowX: style.overflowX,
+ overflowY: style.overflowY
+ };
+ return isEither(overflow, isScroll) || isEither(overflow, isAuto);
+ };
- _this.publish = function () {
- var marshal = _this.context[dimensionMarshalKey];
+ var isBodyScrollable = function isBodyScrollable() {
+ if (process.env.NODE_ENV === 'production') {
+ return false;
+ }
- var descriptor = _this.getMemoizedDescriptor(_this.props.droppableId, _this.props.type);
+ var body = getBodyElement();
+ var html = document.documentElement;
+ !html ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
- if (!_this.publishedDescriptor) {
- marshal.registerDroppable(descriptor, _this.callbacks);
- _this.publishedDescriptor = descriptor;
- return;
- }
+ if (!isElementScrollable(body)) {
+ return false;
+ }
- if (_this.publishedDescriptor === descriptor) {
- return;
- }
+ var htmlStyle = window.getComputedStyle(html);
+ var htmlOverflow = {
+ overflowX: htmlStyle.overflowX,
+ overflowY: htmlStyle.overflowY
+ };
- marshal.updateDroppable(_this.publishedDescriptor, descriptor, _this.callbacks);
- _this.publishedDescriptor = descriptor;
- };
+ if (isBoth(htmlOverflow, isVisible$1)) {
+ return false;
+ }
- _this.unpublish = function () {
- !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot unpublish descriptor when none is published') : invariant(false) : void 0;
- var marshal = _this.context[dimensionMarshalKey];
- marshal.unregisterDroppable(_this.publishedDescriptor);
- _this.publishedDescriptor = null;
- };
+ process.env.NODE_ENV !== "production" ? warning("\n We have detected that your element might be a scroll container.\n We have found no reliable way of detecting whether the element is a scroll container.\n Under most circumstances a scroll bar will be on the element (document.documentElement)\n\n Because we cannot determine if the is a scroll container, and generally it is not one,\n we will be treating the as *not* a scroll container\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\n ") : void 0;
+ return false;
+ };
- _this.getDimensionAndWatchScroll = function (windowScroll, options) {
- var _this$props = _this.props,
- direction = _this$props.direction,
- ignoreContainerClipping = _this$props.ignoreContainerClipping,
- isDropDisabled = _this$props.isDropDisabled,
- getDroppableRef = _this$props.getDroppableRef;
- var targetRef = getDroppableRef();
- var descriptor = _this.publishedDescriptor;
- !targetRef ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot calculate a dimension when not attached to the DOM') : invariant(false) : void 0;
- !descriptor ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get dimension for unpublished droppable') : invariant(false) : void 0;
- var scrollableRef = getClosestScrollable(targetRef);
- checkForNestedScrollContainers(scrollableRef);
-
- _this.watchScroll(scrollableRef, options);
-
- var client = function () {
- var base = cssBoxModel.getBox(targetRef);
-
- if (!scrollableRef) {
- return base;
- }
+ var getClosestScrollable = function getClosestScrollable(el) {
+ if (el == null) {
+ return null;
+ }
- if (targetRef !== scrollableRef) {
- return base;
- }
+ if (el === document.body) {
+ return isBodyScrollable() ? el : null;
+ }
- var top = base.paddingBox.top - scrollableRef.scrollTop;
- var left = base.paddingBox.left - scrollableRef.scrollLeft;
- var bottom = top + scrollableRef.scrollHeight;
- var right = left + scrollableRef.scrollWidth;
- var paddingBox = {
- top: top,
- right: right,
- bottom: bottom,
- left: left
- };
- var borderBox = {
- top: paddingBox.top - base.border.top,
- right: paddingBox.right + base.border.right,
- bottom: paddingBox.bottom + base.border.bottom,
- left: paddingBox.left - base.border.left
- };
- return cssBoxModel.createBox({
- borderBox: borderBox,
- margin: base.margin,
- border: base.border,
- padding: base.padding
- });
- }();
+ if (el === document.documentElement) {
+ return null;
+ }
- var page = cssBoxModel.withScroll(client, windowScroll);
+ if (!isElementScrollable(el)) {
+ return getClosestScrollable(el.parentElement);
+ }
- var closest$$1 = function () {
- if (!scrollableRef) {
- return null;
- }
+ return el;
+ };
- var frameClient = cssBoxModel.getBox(scrollableRef);
- return {
- client: frameClient,
- page: cssBoxModel.withScroll(frameClient),
- scrollHeight: scrollableRef.scrollHeight,
- scrollWidth: scrollableRef.scrollWidth,
- scroll: getScroll(scrollableRef),
- shouldClipSubject: !ignoreContainerClipping
- };
- }();
+ var checkForNestedScrollContainers = (function (scrollable) {
+ if (!scrollable) {
+ return;
+ }
- return getDroppableDimension({
- descriptor: descriptor,
- isEnabled: !isDropDisabled,
- direction: direction,
- client: client,
- page: page,
- closest: closest$$1
- });
- };
+ var anotherScrollParent = getClosestScrollable(scrollable.parentElement);
- var callbacks = {
- getDimensionAndWatchScroll: _this.getDimensionAndWatchScroll,
- unwatchScroll: _this.unwatchScroll,
- scroll: _this.scroll
- };
- _this.callbacks = callbacks;
- return _this;
+ if (!anotherScrollParent) {
+ return;
}
- var _proto = DroppableDimensionPublisher.prototype;
+ process.env.NODE_ENV !== "production" ? warning("\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n ") : void 0;
+ });
- _proto.componentDidMount = function componentDidMount() {
- this.publish();
+ var getScroll$1 = (function (el) {
+ return {
+ x: el.scrollLeft,
+ y: el.scrollTop
};
+ });
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
- this.publish();
-
- if (this.props.isDropDisabled === prevProps.isDropDisabled) {
- return;
- }
-
- var marshal = this.context[dimensionMarshalKey];
- marshal.updateDroppableIsEnabled(this.props.droppableId, !this.props.isDropDisabled);
- };
+ var getIsFixed = function getIsFixed(el) {
+ if (!el) {
+ return false;
+ }
- _proto.componentWillUnmount = function componentWillUnmount() {
- if (this.watchingScroll) {
- if (process.env.NODE_ENV !== 'production') {
- console.warn('Unmounting droppable while it was watching scroll');
- }
+ var style = window.getComputedStyle(el);
- this.unwatchScroll();
- }
+ if (style.position === 'fixed') {
+ return true;
+ }
- this.unpublish();
- };
+ return getIsFixed(el.parentElement);
+ };
- _proto.render = function render() {
- return this.props.children;
+ var getEnv = (function (start) {
+ var closestScrollable = getClosestScrollable(start);
+ var isFixedOnPage = getIsFixed(start);
+ return {
+ closestScrollable: closestScrollable,
+ isFixedOnPage: isFixedOnPage
};
+ });
- return DroppableDimensionPublisher;
- }(React__default.Component);
-
- DroppableDimensionPublisher.contextTypes = (_DroppableDimensionPu = {}, _DroppableDimensionPu[dimensionMarshalKey] = PropTypes.object.isRequired, _DroppableDimensionPu);
-
- var Placeholder = function (_PureComponent) {
- _inheritsLoose(Placeholder, _PureComponent);
+ var getClient = function getClient(targetRef, closestScrollable) {
+ var base = cssBoxModel.getBox(targetRef);
- function Placeholder() {
- return _PureComponent.apply(this, arguments) || this;
+ if (!closestScrollable) {
+ return base;
}
- var _proto = Placeholder.prototype;
+ if (targetRef !== closestScrollable) {
+ return base;
+ }
- _proto.componentDidMount = function componentDidMount() {
- if (this.props.onMount) {
- this.props.onMount();
- }
+ var top = base.paddingBox.top - closestScrollable.scrollTop;
+ var left = base.paddingBox.left - closestScrollable.scrollLeft;
+ var bottom = top + closestScrollable.scrollHeight;
+ var right = left + closestScrollable.scrollWidth;
+ var paddingBox = {
+ top: top,
+ right: right,
+ bottom: bottom,
+ left: left
};
+ var borderBox = cssBoxModel.expand(paddingBox, base.border);
+ var client = cssBoxModel.createBox({
+ borderBox: borderBox,
+ margin: base.margin,
+ border: base.border,
+ padding: base.padding
+ });
+ return client;
+ };
- _proto.componentWillUnmount = function componentWillUnmount() {
- if (this.props.onUnmount) {
- this.props.onUnmount();
+ var getDimension = (function (_ref) {
+ var ref = _ref.ref,
+ descriptor = _ref.descriptor,
+ env = _ref.env,
+ windowScroll = _ref.windowScroll,
+ direction = _ref.direction,
+ isDropDisabled = _ref.isDropDisabled,
+ isCombineEnabled = _ref.isCombineEnabled,
+ shouldClipSubject = _ref.shouldClipSubject;
+ var closestScrollable = env.closestScrollable;
+ var client = getClient(ref, closestScrollable);
+ var page = cssBoxModel.withScroll(client, windowScroll);
+
+ var closest = function () {
+ if (!closestScrollable) {
+ return null;
}
- };
- _proto.render = function render() {
- var placeholder = this.props.placeholder;
- var client = placeholder.client,
- display = placeholder.display,
- tagName = placeholder.tagName;
- var style = {
- display: display,
- boxSizing: 'border-box',
- width: client.borderBox.width,
- height: client.borderBox.height,
- marginTop: client.margin.top,
- marginRight: client.margin.right,
- marginBottom: client.margin.bottom,
- marginLeft: client.margin.left,
- flexShrink: '0',
- flexGrow: '0',
- pointerEvents: 'none'
+ var frameClient = cssBoxModel.getBox(closestScrollable);
+ var scrollSize = {
+ scrollHeight: closestScrollable.scrollHeight,
+ scrollWidth: closestScrollable.scrollWidth
};
- return React__default.createElement(tagName, {
- style: style
- });
- };
-
- return Placeholder;
- }(React.PureComponent);
+ return {
+ client: frameClient,
+ page: cssBoxModel.withScroll(frameClient, windowScroll),
+ scroll: getScroll$1(closestScrollable),
+ scrollSize: scrollSize,
+ shouldClipSubject: shouldClipSubject
+ };
+ }();
- var throwIfRefIsInvalid = (function (ref) {
- !(ref && ref instanceof HTMLElement) ? process.env.NODE_ENV !== "production" ? invariant(false, "\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\n ") : invariant(false) : void 0;
+ var dimension = getDroppableDimension({
+ descriptor: descriptor,
+ isEnabled: !isDropDisabled,
+ isCombineEnabled: isCombineEnabled,
+ isFixedOnPage: env.isFixedOnPage,
+ direction: direction,
+ client: client,
+ page: page,
+ closest: closest
+ });
+ return dimension;
});
- var _Droppable$contextTyp, _Droppable$childConte;
+ function withoutPlaceholder(placeholder, fn) {
+ if (!placeholder) {
+ return fn();
+ }
- var Droppable = function (_Component) {
- _inheritsLoose(Droppable, _Component);
+ var last = placeholder.style.display;
+ placeholder.style.display = 'none';
+ var result = fn();
+ placeholder.style.display = last;
+ return result;
+ }
- function Droppable(props, context) {
- var _this;
-
- _this = _Component.call(this, props, context) || this;
- _this.styleContext = void 0;
- _this.ref = null;
- _this.isPlaceholderMounted = false;
-
- _this.onPlaceholderMount = function () {
- _this.isPlaceholderMounted = true;
- };
-
- _this.onPlaceholderUnmount = function () {
- _this.isPlaceholderMounted = false;
- };
+ var immediate = {
+ passive: false
+ };
+ var delayed = {
+ passive: true
+ };
+ var getListenerOptions = (function (options) {
+ return options.shouldPublishImmediately ? immediate : delayed;
+ });
- _this.setRef = function (ref) {
- if (ref === null) {
- return;
- }
+ function useRequiredContext(Context) {
+ var result = React.useContext(Context);
+ !result ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;
+ return result;
+ }
- if (ref === _this.ref) {
- return;
- }
+ var getClosestScrollableFromDrag = function getClosestScrollableFromDrag(dragging) {
+ return dragging && dragging.env.closestScrollable || null;
+ };
- _this.ref = ref;
- throwIfRefIsInvalid(ref);
+ function useDroppableDimensionPublisher(args) {
+ var whileDraggingRef = React.useRef(null);
+ var appContext = useRequiredContext(AppContext);
+ var marshal = appContext.marshal;
+ var previousRef = usePrevious(args);
+ var descriptor = useMemoOne.useMemo(function () {
+ return {
+ id: args.droppableId,
+ type: args.type
};
+ }, [args.droppableId, args.type]);
+ var publishedDescriptorRef = React.useRef(descriptor);
+ var memoizedUpdateScroll = useMemoOne.useMemo(function () {
+ return memoizeOne(function (x, y) {
+ !whileDraggingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;
+ var scroll = {
+ x: x,
+ y: y
+ };
+ marshal.updateDroppableScroll(descriptor.id, scroll);
+ });
+ }, [descriptor.id, marshal]);
+ var getClosestScroll = useMemoOne.useCallback(function () {
+ var dragging = whileDraggingRef.current;
+
+ if (!dragging || !dragging.env.closestScrollable) {
+ return origin;
+ }
+
+ return getScroll$1(dragging.env.closestScrollable);
+ }, []);
+ var updateScroll = useMemoOne.useCallback(function () {
+ var scroll = getClosestScroll();
+ memoizedUpdateScroll(scroll.x, scroll.y);
+ }, [getClosestScroll, memoizedUpdateScroll]);
+ var scheduleScrollUpdate = useMemoOne.useMemo(function () {
+ return rafSchd(updateScroll);
+ }, [updateScroll]);
+ var onClosestScroll = useMemoOne.useCallback(function () {
+ var dragging = whileDraggingRef.current;
+ var closest = getClosestScrollableFromDrag(dragging);
+ !(dragging && closest) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;
+ var options = dragging.scrollOptions;
+
+ if (options.shouldPublishImmediately) {
+ updateScroll();
+ return;
+ }
- _this.getDroppableRef = function () {
- return _this.ref;
+ scheduleScrollUpdate();
+ }, [scheduleScrollUpdate, updateScroll]);
+ var getDimensionAndWatchScroll = useMemoOne.useCallback(function (windowScroll, options) {
+ !!whileDraggingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;
+ var previous = previousRef.current;
+ var ref = previous.getDroppableRef();
+ !ref ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;
+ var env = getEnv(ref);
+ var dragging = {
+ ref: ref,
+ descriptor: descriptor,
+ env: env,
+ scrollOptions: options
};
+ whileDraggingRef.current = dragging;
+ var dimension = getDimension({
+ ref: ref,
+ descriptor: descriptor,
+ env: env,
+ windowScroll: windowScroll,
+ direction: previous.direction,
+ isDropDisabled: previous.isDropDisabled,
+ isCombineEnabled: previous.isCombineEnabled,
+ shouldClipSubject: !previous.ignoreContainerClipping
+ });
- _this.styleContext = context[styleContextKey];
- return _this;
- }
-
- var _proto = Droppable.prototype;
-
- _proto.getChildContext = function getChildContext() {
- var _value;
+ if (env.closestScrollable) {
+ env.closestScrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));
- var value = (_value = {}, _value[droppableIdKey] = this.props.droppableId, _value[droppableTypeKey] = this.props.type, _value);
- return value;
- };
+ if (process.env.NODE_ENV !== 'production') {
+ checkForNestedScrollContainers(env.closestScrollable);
+ }
+ }
+
+ return dimension;
+ }, [descriptor, onClosestScroll, previousRef]);
+ var recollect = useMemoOne.useCallback(function (options) {
+ var dragging = whileDraggingRef.current;
+ var closest = getClosestScrollableFromDrag(dragging);
+ !(dragging && closest) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;
+ var previous = previousRef.current;
+
+ var execute = function execute() {
+ return getDimension({
+ ref: dragging.ref,
+ descriptor: dragging.descriptor,
+ env: dragging.env,
+ windowScroll: origin,
+ direction: previous.direction,
+ isDropDisabled: previous.isDropDisabled,
+ isCombineEnabled: previous.isCombineEnabled,
+ shouldClipSubject: !previous.ignoreContainerClipping
+ });
+ };
- _proto.componentDidMount = function componentDidMount() {
- throwIfRefIsInvalid(this.ref);
- this.warnIfPlaceholderNotMounted();
- };
+ if (!options.withoutPlaceholder) {
+ return execute();
+ }
- _proto.componentDidUpdate = function componentDidUpdate() {
- this.warnIfPlaceholderNotMounted();
- };
+ return withoutPlaceholder(previous.getPlaceholderRef(), execute);
+ }, [previousRef]);
+ var dragStopped = useMemoOne.useCallback(function () {
+ var dragging = whileDraggingRef.current;
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;
+ var closest = getClosestScrollableFromDrag(dragging);
+ whileDraggingRef.current = null;
- _proto.warnIfPlaceholderNotMounted = function warnIfPlaceholderNotMounted() {
- if (process.env.NODE_ENV === 'production') {
+ if (!closest) {
return;
}
- if (!this.props.placeholder) {
+ scheduleScrollUpdate.cancel();
+ closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));
+ }, [onClosestScroll, scheduleScrollUpdate]);
+ var scroll = useMemoOne.useCallback(function (change) {
+ var dragging = whileDraggingRef.current;
+ !dragging ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;
+ var closest = getClosestScrollableFromDrag(dragging);
+ !closest ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;
+ closest.scrollTop += change.y;
+ closest.scrollLeft += change.x;
+ }, []);
+ var callbacks = useMemoOne.useMemo(function () {
+ return {
+ getDimensionAndWatchScroll: getDimensionAndWatchScroll,
+ recollect: recollect,
+ dragStopped: dragStopped,
+ scroll: scroll
+ };
+ }, [dragStopped, getDimensionAndWatchScroll, recollect, scroll]);
+ useIsomorphicLayoutEffect(function () {
+ publishedDescriptorRef.current = descriptor;
+ marshal.registerDroppable(descriptor, callbacks);
+ return function () {
+ if (whileDraggingRef.current) {
+ process.env.NODE_ENV !== "production" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;
+ dragStopped();
+ }
+
+ marshal.unregisterDroppable(descriptor);
+ };
+ }, [callbacks, descriptor, dragStopped, marshal]);
+ useIsomorphicLayoutEffect(function () {
+ if (!whileDraggingRef.current) {
return;
}
- if (this.isPlaceholderMounted) {
+ marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);
+ }, [args.isDropDisabled, marshal]);
+ useIsomorphicLayoutEffect(function () {
+ if (!whileDraggingRef.current) {
return;
}
- console.warn("\n Droppable setup issue: DroppableProvided > placeholder could not be found.\n Please be sure to add the {provided.placeholder} Node as a child of your Droppable\n\n More information: https://github.com/atlassian/react-beautiful-dnd#1-provided-droppableprovided\n ");
- };
+ marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);
+ }, [args.isCombineEnabled, marshal]);
+ }
- _proto.getPlaceholder = function getPlaceholder() {
- if (!this.props.placeholder) {
- return null;
- }
+ function noop() {}
- return React__default.createElement(Placeholder, {
- placeholder: this.props.placeholder,
- onMount: this.onPlaceholderMount,
- onUnmount: this.onPlaceholderUnmount
- });
- };
+ var empty = {
+ width: 0,
+ height: 0,
+ margin: noSpacing
+ };
- _proto.render = function render() {
- var _this$props = this.props,
- children = _this$props.children,
- direction = _this$props.direction,
- droppableId = _this$props.droppableId,
- ignoreContainerClipping = _this$props.ignoreContainerClipping,
- isDraggingOver = _this$props.isDraggingOver,
- isDropDisabled = _this$props.isDropDisabled,
- draggingOverWith = _this$props.draggingOverWith,
- type = _this$props.type;
- var provided = {
- innerRef: this.setRef,
- placeholder: this.getPlaceholder(),
- droppableProps: {
- 'data-react-beautiful-dnd-droppable': this.styleContext
- }
- };
- var snapshot = {
- isDraggingOver: isDraggingOver,
- draggingOverWith: draggingOverWith
- };
- return React__default.createElement(DroppableDimensionPublisher, {
- droppableId: droppableId,
- type: type,
- direction: direction,
- ignoreContainerClipping: ignoreContainerClipping,
- isDropDisabled: isDropDisabled,
- getDroppableRef: this.getDroppableRef
- }, children(provided, snapshot));
- };
+ var getSize = function getSize(_ref) {
+ var isAnimatingOpenOnMount = _ref.isAnimatingOpenOnMount,
+ placeholder = _ref.placeholder,
+ animate = _ref.animate;
- return Droppable;
- }(React.Component);
+ if (isAnimatingOpenOnMount) {
+ return empty;
+ }
- Droppable.contextTypes = (_Droppable$contextTyp = {}, _Droppable$contextTyp[styleContextKey] = PropTypes.string.isRequired, _Droppable$contextTyp);
- Droppable.childContextTypes = (_Droppable$childConte = {}, _Droppable$childConte[droppableIdKey] = PropTypes.string.isRequired, _Droppable$childConte[droppableTypeKey] = PropTypes.string.isRequired, _Droppable$childConte);
+ if (animate === 'close') {
+ return empty;
+ }
- var isStrictEqual = (function (a, b) {
- return a === b;
- });
+ return {
+ height: placeholder.client.borderBox.height,
+ width: placeholder.client.borderBox.width,
+ margin: placeholder.client.margin
+ };
+ };
- var makeMapStateToProps = function makeMapStateToProps() {
- var getIsDraggingOver = function getIsDraggingOver(id, destination) {
- if (!destination) {
- return false;
+ var getStyle = function getStyle(_ref2) {
+ var isAnimatingOpenOnMount = _ref2.isAnimatingOpenOnMount,
+ placeholder = _ref2.placeholder,
+ animate = _ref2.animate;
+ var size = getSize({
+ isAnimatingOpenOnMount: isAnimatingOpenOnMount,
+ placeholder: placeholder,
+ animate: animate
+ });
+ return {
+ display: placeholder.display,
+ boxSizing: 'border-box',
+ width: size.width,
+ height: size.height,
+ marginTop: size.margin.top,
+ marginRight: size.margin.right,
+ marginBottom: size.margin.bottom,
+ marginLeft: size.margin.left,
+ flexShrink: '0',
+ flexGrow: '0',
+ pointerEvents: 'none',
+ transition: transitions.placeholder
+ };
+ };
+
+ function Placeholder(props) {
+ var animateOpenTimerRef = React.useRef(null);
+ var tryClearAnimateOpenTimer = useMemoOne.useCallback(function () {
+ if (!animateOpenTimerRef.current) {
+ return;
}
- return destination.droppableId === id;
- };
+ clearTimeout(animateOpenTimerRef.current);
+ animateOpenTimerRef.current = null;
+ }, []);
+ var animate = props.animate,
+ onTransitionEnd = props.onTransitionEnd,
+ onClose = props.onClose,
+ styleContext = props.styleContext;
- var shouldUsePlaceholder = function shouldUsePlaceholder(id, descriptor, destination) {
- if (!destination) {
- return false;
- }
+ var _useState = React.useState(props.animate === 'open'),
+ isAnimatingOpenOnMount = _useState[0],
+ setIsAnimatingOpenOnMount = _useState[1];
- if (id === descriptor.droppableId) {
- return false;
+ React.useEffect(function () {
+ if (!isAnimatingOpenOnMount) {
+ return noop;
}
- return id === destination.droppableId;
- };
-
- var getMapProps = memoizeOne(function (isDraggingOver, draggingOverWith, placeholder) {
- return {
- isDraggingOver: isDraggingOver,
- draggingOverWith: draggingOverWith,
- placeholder: placeholder
- };
- });
+ if (animate !== 'open') {
+ tryClearAnimateOpenTimer();
+ setIsAnimatingOpenOnMount(false);
+ return noop;
+ }
- var getDefault = function getDefault() {
- return getMapProps(false, null, null);
- };
+ if (animateOpenTimerRef.current) {
+ return noop;
+ }
- var selector = function selector(state, ownProps) {
- if (ownProps.isDropDisabled) {
- return getDefault();
+ animateOpenTimerRef.current = setTimeout(function () {
+ animateOpenTimerRef.current = null;
+ setIsAnimatingOpenOnMount(false);
+ });
+ return tryClearAnimateOpenTimer;
+ }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);
+ var onSizeChangeEnd = useMemoOne.useCallback(function (event) {
+ if (event.propertyName !== 'height') {
+ return;
}
- var id = ownProps.droppableId;
+ onTransitionEnd();
- if (state.isDragging) {
- var destination = state.impact.destination;
- var isDraggingOver = getIsDraggingOver(id, destination);
- var draggableId = state.critical.draggable.id;
- var draggingOverWith = isDraggingOver ? draggableId : null;
- var draggable = state.dimensions.draggables[draggableId];
- var placeholder = shouldUsePlaceholder(id, draggable.descriptor, destination) ? draggable.placeholder : null;
- return getMapProps(isDraggingOver, draggingOverWith, placeholder);
+ if (animate === 'close') {
+ onClose();
}
+ }, [animate, onClose, onTransitionEnd]);
+ var style = getStyle({
+ isAnimatingOpenOnMount: isAnimatingOpenOnMount,
+ animate: props.animate,
+ placeholder: props.placeholder
+ });
+ return React__default.createElement(props.placeholder.tagName, {
+ style: style,
+ 'data-react-beautiful-dnd-placeholder': styleContext,
+ onTransitionEnd: onSizeChangeEnd,
+ ref: props.innerRef
+ });
+ }
- if (state.phase === 'DROP_ANIMATING') {
- var _destination = state.pending.impact.destination;
+ var Placeholder$1 = React__default.memo(Placeholder);
- var _isDraggingOver = getIsDraggingOver(id, _destination);
+ var DroppableContext = React__default.createContext(null);
- var _draggableId = state.pending.result.draggableId;
+ var getWindowFromEl = (function (el) {
+ return el && el.ownerDocument ? el.ownerDocument.defaultView : window;
+ });
- var _draggingOverWith = _isDraggingOver ? _draggableId : null;
+ function isHtmlElement(el) {
+ return el instanceof getWindowFromEl(el).HTMLElement;
+ }
- var _draggable = state.dimensions.draggables[_draggableId];
+ function checkIsValidInnerRef(el) {
+ !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== "production" ? invariant(false, "\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\n ") : invariant(false) : void 0;
+ }
- var _placeholder = shouldUsePlaceholder(id, _draggable.descriptor, _destination) ? _draggable.placeholder : null;
+ function checkOwnProps(props) {
+ !props.droppableId ? process.env.NODE_ENV !== "production" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;
+ !(typeof props.isDropDisabled === 'boolean') ? process.env.NODE_ENV !== "production" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;
+ !(typeof props.isCombineEnabled === 'boolean') ? process.env.NODE_ENV !== "production" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;
+ !(typeof props.ignoreContainerClipping === 'boolean') ? process.env.NODE_ENV !== "production" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;
+ }
- return getMapProps(_isDraggingOver, _draggingOverWith, _placeholder);
- }
+ function checkPlaceholderRef(props, placeholderEl) {
+ if (!props.placeholder) {
+ return;
+ }
- return getDefault();
- };
+ if (placeholderEl) {
+ return;
+ }
- return selector;
- };
- var connectedDroppable = reactRedux.connect(makeMapStateToProps, null, null, {
- storeKey: storeKey,
- pure: true,
- areStatePropsEqual: isStrictEqual
- })(Droppable);
- connectedDroppable.defaultProps = {
- type: 'DEFAULT',
- isDropDisabled: false,
- direction: 'vertical',
- ignoreContainerClipping: false
- };
+ process.env.NODE_ENV !== "production" ? warning("\n Droppable setup issue [droppableId: \"" + props.droppableId + "\"]:\n DroppableProvided > placeholder could not be found.\n\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\n ") : void 0;
+ }
- var _DraggableDimensionPu;
+ function useValidation(_ref) {
+ var props = _ref.props,
+ getDroppableRef = _ref.getDroppableRef,
+ getPlaceholderRef = _ref.getPlaceholderRef;
+ React.useEffect(function () {
+ if (process.env.NODE_ENV !== 'production') {
+ checkOwnProps(props);
+ checkIsValidInnerRef(getDroppableRef());
+ checkPlaceholderRef(props, getPlaceholderRef());
+ }
+ });
+ }
- var DraggableDimensionPublisher = function (_Component) {
- _inheritsLoose(DraggableDimensionPublisher, _Component);
+ var AnimateInOut = function (_React$PureComponent) {
+ _inheritsLoose(AnimateInOut, _React$PureComponent);
- function DraggableDimensionPublisher() {
+ function AnimateInOut() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
- _this = _Component.call.apply(_Component, [this].concat(args)) || this;
- _this.publishedDescriptor = null;
- _this.getMemoizedDescriptor = memoizeOne(function (id, index, droppableId, type) {
- return {
- id: id,
- index: index,
- droppableId: droppableId,
- type: type
- };
- });
-
- _this.publish = function () {
- var marshal = _this.context[dimensionMarshalKey];
-
- var descriptor = _this.getMemoizedDescriptor(_this.props.draggableId, _this.props.index, _this.props.droppableId, _this.props.type);
-
- if (!_this.publishedDescriptor) {
- marshal.registerDraggable(descriptor, _this.getDimension);
- _this.publishedDescriptor = descriptor;
- return;
- }
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
+ _this.state = {
+ isVisible: Boolean(_this.props.on),
+ data: _this.props.on,
+ animate: _this.props.shouldAnimate && _this.props.on ? 'open' : 'none'
+ };
- if (descriptor === _this.publishedDescriptor) {
+ _this.onClose = function () {
+ if (_this.state.animate !== 'close') {
return;
}
- marshal.updateDraggable(_this.publishedDescriptor, descriptor, _this.getDimension);
- _this.publishedDescriptor = descriptor;
- };
-
- _this.unpublish = function () {
- !_this.publishedDescriptor ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot unpublish descriptor when none is published') : invariant(false) : void 0;
- var marshal = _this.context[dimensionMarshalKey];
- marshal.unregisterDraggable(_this.publishedDescriptor);
- _this.publishedDescriptor = null;
- };
-
- _this.getDimension = function (windowScroll) {
- var targetRef = _this.props.getDraggableRef();
-
- var descriptor = _this.publishedDescriptor;
- !targetRef ? process.env.NODE_ENV !== "production" ? invariant(false, 'DraggableDimensionPublisher cannot calculate a dimension when not attached to the DOM') : invariant(false) : void 0;
- !descriptor ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get dimension for unpublished draggable') : invariant(false) : void 0;
- var computedStyles = window.getComputedStyle(targetRef);
- var borderBox = targetRef.getBoundingClientRect();
- var client = cssBoxModel.calculateBox(borderBox, computedStyles);
- var page = cssBoxModel.withScroll(client, windowScroll);
- var placeholder = {
- client: client,
- tagName: targetRef.tagName.toLowerCase(),
- display: computedStyles.display
- };
- var dimension = {
- descriptor: descriptor,
- placeholder: placeholder,
- client: client,
- page: page
- };
- return dimension;
+ _this.setState({
+ isVisible: false
+ });
};
return _this;
}
- var _proto = DraggableDimensionPublisher.prototype;
+ AnimateInOut.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {
+ if (!props.shouldAnimate) {
+ return {
+ isVisible: Boolean(props.on),
+ data: props.on,
+ animate: 'none'
+ };
+ }
- _proto.componentDidMount = function componentDidMount() {
- this.publish();
- };
+ if (props.on) {
+ return {
+ isVisible: true,
+ data: props.on,
+ animate: 'open'
+ };
+ }
- _proto.componentDidUpdate = function componentDidUpdate() {
- this.publish();
- };
+ if (state.isVisible) {
+ return {
+ isVisible: true,
+ data: state.data,
+ animate: 'close'
+ };
+ }
- _proto.componentWillUnmount = function componentWillUnmount() {
- this.unpublish();
+ return {
+ isVisible: false,
+ animate: 'close',
+ data: null
+ };
};
+ var _proto = AnimateInOut.prototype;
+
_proto.render = function render() {
- return this.props.children;
- };
+ if (!this.state.isVisible) {
+ return null;
+ }
- return DraggableDimensionPublisher;
- }(React.Component);
+ var provided = {
+ onClose: this.onClose,
+ data: this.state.data,
+ animate: this.state.animate
+ };
+ return this.props.children(provided);
+ };
+
+ return AnimateInOut;
+ }(React__default.PureComponent);
+
+ function Droppable(props) {
+ var appContext = React.useContext(AppContext);
+ !appContext ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;
+ var styleContext = appContext.style,
+ isMovementAllowed = appContext.isMovementAllowed;
+ var droppableRef = React.useRef(null);
+ var placeholderRef = React.useRef(null);
+ var children = props.children,
+ droppableId = props.droppableId,
+ type = props.type,
+ direction = props.direction,
+ ignoreContainerClipping = props.ignoreContainerClipping,
+ isDropDisabled = props.isDropDisabled,
+ isCombineEnabled = props.isCombineEnabled,
+ snapshot = props.snapshot,
+ updateViewportMaxScroll = props.updateViewportMaxScroll;
+ var getDroppableRef = useMemoOne.useCallback(function () {
+ return droppableRef.current;
+ }, []);
+ var getPlaceholderRef = useMemoOne.useCallback(function () {
+ return placeholderRef.current;
+ }, []);
+ var setDroppableRef = useMemoOne.useCallback(function (value) {
+ droppableRef.current = value;
+ }, []);
+ var setPlaceholderRef = useMemoOne.useCallback(function (value) {
+ placeholderRef.current = value;
+ }, []);
+ var onPlaceholderTransitionEnd = useMemoOne.useCallback(function () {
+ if (isMovementAllowed()) {
+ updateViewportMaxScroll({
+ maxScroll: getMaxWindowScroll()
+ });
+ }
+ }, [isMovementAllowed, updateViewportMaxScroll]);
+ useDroppableDimensionPublisher({
+ droppableId: droppableId,
+ type: type,
+ direction: direction,
+ isDropDisabled: isDropDisabled,
+ isCombineEnabled: isCombineEnabled,
+ ignoreContainerClipping: ignoreContainerClipping,
+ getDroppableRef: getDroppableRef,
+ getPlaceholderRef: getPlaceholderRef
+ });
+ var placeholder = React__default.createElement(AnimateInOut, {
+ on: props.placeholder,
+ shouldAnimate: props.shouldAnimatePlaceholder
+ }, function (_ref) {
+ var onClose = _ref.onClose,
+ data = _ref.data,
+ animate = _ref.animate;
+ return React__default.createElement(Placeholder$1, {
+ placeholder: data,
+ onClose: onClose,
+ innerRef: setPlaceholderRef,
+ animate: animate,
+ styleContext: styleContext,
+ onTransitionEnd: onPlaceholderTransitionEnd
+ });
+ });
+ var provided = useMemoOne.useMemo(function () {
+ return {
+ innerRef: setDroppableRef,
+ placeholder: placeholder,
+ droppableProps: {
+ 'data-react-beautiful-dnd-droppable': styleContext
+ }
+ };
+ }, [placeholder, setDroppableRef, styleContext]);
+ var droppableContext = useMemoOne.useMemo(function () {
+ return {
+ droppableId: droppableId,
+ type: type
+ };
+ }, [droppableId, type]);
+ useValidation({
+ props: props,
+ getDroppableRef: function getDroppableRef() {
+ return droppableRef.current;
+ },
+ getPlaceholderRef: function getPlaceholderRef() {
+ return placeholderRef.current;
+ }
+ });
+ return React__default.createElement(DroppableContext.Provider, {
+ value: droppableContext
+ }, children(provided, snapshot));
+ }
- DraggableDimensionPublisher.contextTypes = (_DraggableDimensionPu = {}, _DraggableDimensionPu[dimensionMarshalKey] = PropTypes.object.isRequired, _DraggableDimensionPu);
+ var isStrictEqual = (function (a, b) {
+ return a === b;
+ });
- var DoubleRenderBlocker = function (_React$Component) {
- _inheritsLoose(DoubleRenderBlocker, _React$Component);
+ var whatIsDraggedOverFromResult = (function (result) {
+ var combine = result.combine,
+ destination = result.destination;
- function DoubleRenderBlocker() {
- return _React$Component.apply(this, arguments) || this;
+ if (destination) {
+ return destination.droppableId;
}
- var _proto = DoubleRenderBlocker.prototype;
+ if (combine) {
+ return combine.droppableId;
+ }
- _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
- if (isEqual(origin, nextProps.change)) {
- return true;
- }
+ return null;
+ });
- if (isEqual(this.props.change, nextProps.change)) {
- return false;
- }
+ var isMatchingType = function isMatchingType(type, critical) {
+ return type === critical.droppable.type;
+ };
- return true;
- };
+ var getDraggable = function getDraggable(critical, dimensions) {
+ return dimensions.draggables[critical.draggable.id];
+ };
- _proto.render = function render() {
- return this.props.children(this.props.change);
+ var makeMapStateToProps = function makeMapStateToProps() {
+ var idle = {
+ placeholder: null,
+ shouldAnimatePlaceholder: true,
+ snapshot: {
+ isDraggingOver: false,
+ draggingOverWith: null,
+ draggingFromThisWith: null
+ }
};
- return DoubleRenderBlocker;
- }(React__default.Component);
-
- var Moveable = function (_Component) {
- _inheritsLoose(Moveable, _Component);
-
- function Moveable() {
- return _Component.apply(this, arguments) || this;
- }
+ var idleWithoutAnimation = _extends({}, idle, {
+ shouldAnimatePlaceholder: false
+ });
- var _proto2 = Moveable.prototype;
+ var getMapProps = memoizeOne(function (id, isDraggingOver, dragging, snapshot) {
+ var isHome = dragging.descriptor.droppableId === id;
- _proto2.getFinal = function getFinal() {
- var destination = this.props.destination;
- var speed = this.props.speed;
+ if (isHome) {
+ return {
+ placeholder: dragging.placeholder,
+ shouldAnimatePlaceholder: false,
+ snapshot: snapshot
+ };
+ }
- if (speed === 'INSTANT') {
- return destination;
+ if (!isDraggingOver) {
+ return idle;
}
- var config = speed === 'FAST' ? physics.fast : physics.standard;
return {
- x: reactMotion.spring(destination.x, config),
- y: reactMotion.spring(destination.y, config)
+ placeholder: dragging.placeholder,
+ shouldAnimatePlaceholder: true,
+ snapshot: snapshot
};
- };
+ });
+ var getSnapshot = memoizeOne(function (id, isDraggingOver, dragging) {
+ var draggableId = dragging.descriptor.id;
+ var isHome = dragging.descriptor.droppableId === id;
+ var draggingOverWith = isDraggingOver ? draggableId : null;
+ var draggingFromThisWith = isHome ? draggableId : null;
+ return {
+ isDraggingOver: isDraggingOver,
+ draggingOverWith: draggingOverWith,
+ draggingFromThisWith: draggingFromThisWith
+ };
+ });
- _proto2.render = function render() {
- var _this = this;
-
- var final = this.getFinal();
- return React__default.createElement(reactMotion.Motion, {
- defaultStyle: origin,
- style: final,
- onRest: this.props.onMoveEnd
- }, function (current) {
- var _this$props = _this.props,
- speed = _this$props.speed,
- destination = _this$props.destination,
- children = _this$props.children;
- var target = speed === 'INSTANT' ? destination : current;
- return React__default.createElement(DoubleRenderBlocker, {
- change: target
- }, children);
- });
- };
+ var selector = function selector(state, ownProps) {
+ var id = ownProps.droppableId;
+ var type = ownProps.type;
- return Moveable;
- }(React.Component);
+ if (state.isDragging) {
+ var critical = state.critical;
- Moveable.defaultProps = {
- destination: origin
- };
+ if (!isMatchingType(type, critical)) {
+ return idle;
+ }
- var getWindowFromRef = (function (ref) {
- return ref ? ref.ownerDocument.defaultView : window;
- });
+ var dragging = getDraggable(critical, state.dimensions);
+ var isDraggingOver = whatIsDraggedOver(state.impact) === id;
+ var snapshot = getSnapshot(id, isDraggingOver, dragging);
+ return getMapProps(id, isDraggingOver, dragging, snapshot);
+ }
- var selector = "[" + dragHandle + "]";
+ if (state.phase === 'DROP_ANIMATING') {
+ var completed = state.completed;
- var isSVG = function isSVG(el) {
- if (typeof SVGElement === 'undefined') {
- return false;
- }
+ if (!isMatchingType(type, completed.critical)) {
+ return idle;
+ }
- return el instanceof SVGElement;
- };
+ var _dragging = getDraggable(completed.critical, state.dimensions);
- var throwIfSVG = function throwIfSVG(el) {
- !!isSVG(el) ? process.env.NODE_ENV !== "production" ? invariant(false, "A drag handle cannot be an SVGElement: it has inconsistent focus support.\n\n More information: https://github.com/atlassian/react-beautiful-dnd/tree/master/docs/guides/dragging-svgs.md") : invariant(false) : void 0;
- };
+ var _snapshot = getSnapshot(id, whatIsDraggedOverFromResult(completed.result) === id, _dragging);
- var getDragHandleRef = function getDragHandleRef(draggableRef) {
- if (draggableRef.hasAttribute(dragHandle)) {
- throwIfSVG(draggableRef);
- return draggableRef;
- }
+ return getMapProps(id, whatIsDraggedOver(completed.impact) === id, _dragging, _snapshot);
+ }
- var el = draggableRef.querySelector(selector);
- throwIfSVG(draggableRef);
- !el ? process.env.NODE_ENV !== "production" ? invariant(false, "\n Cannot find drag handle element inside of Draggable.\n Please be sure to apply the {...provided.dragHandleProps} to your Draggable\n\n More information: https://github.com/atlassian/react-beautiful-dnd#draggable\n ") : invariant(false) : void 0;
- !(el instanceof HTMLElement) ? process.env.NODE_ENV !== "production" ? invariant(false, 'A drag handle must be a HTMLElement') : invariant(false) : void 0;
- return el;
- };
+ if (state.phase === 'IDLE' && !state.completed && state.shouldFlush) {
+ return idleWithoutAnimation;
+ }
- var retainingFocusFor = null;
- var listenerOptions$1 = {
- capture: true
- };
+ if (state.phase === 'IDLE' && state.completed) {
+ var _completed = state.completed;
- var clearRetentionOnFocusChange = function () {
- var isBound = false;
+ if (!isMatchingType(type, _completed.critical)) {
+ return idle;
+ }
- var bind = function bind() {
- if (isBound) {
- return;
- }
-
- isBound = true;
- window.addEventListener('focus', onWindowFocusChange, listenerOptions$1);
- };
-
- var unbind = function unbind() {
- if (!isBound) {
- return;
- }
+ var wasOver = whatIsDraggedOver(_completed.impact) === id;
+ var wasCombining = Boolean(_completed.impact.merge);
- isBound = false;
- window.removeEventListener('focus', onWindowFocusChange, listenerOptions$1);
- };
+ if (state.shouldFlush) {
+ return idleWithoutAnimation;
+ }
- var onWindowFocusChange = function onWindowFocusChange() {
- unbind();
- retainingFocusFor = null;
- };
+ if (wasOver) {
+ return wasCombining ? idle : idleWithoutAnimation;
+ }
- var result = function result() {
- return bind();
- };
+ return idle;
+ }
- result.cancel = function () {
- return unbind();
+ return idle;
};
- return result;
- }();
+ return selector;
+ };
+ var mapDispatchToProps = {
+ updateViewportMaxScroll: updateViewportMaxScroll
+ };
+ var defaultProps = {
+ type: 'DEFAULT',
+ direction: 'vertical',
+ isDropDisabled: false,
+ isCombineEnabled: false,
+ ignoreContainerClipping: false
+ };
+ var ConnectedDroppable = reactRedux.connect(makeMapStateToProps, mapDispatchToProps, null, {
+ context: StoreContext,
+ pure: true,
+ areStatePropsEqual: isStrictEqual
+ })(Droppable);
+ ConnectedDroppable.defaultProps = defaultProps;
- var retain = function retain(id) {
- retainingFocusFor = id;
- clearRetentionOnFocusChange();
+ var zIndexOptions = {
+ dragging: 5000,
+ dropAnimating: 4500
};
- var tryRestoreFocus = function tryRestoreFocus(id, draggableRef) {
- if (!retainingFocusFor) {
- return;
+ var getDraggingTransition = function getDraggingTransition(shouldAnimateDragMovement, dropping) {
+ if (dropping) {
+ return transitions.drop(dropping.duration);
}
- if (id !== retainingFocusFor) {
- return;
+ if (shouldAnimateDragMovement) {
+ return transitions.snap;
}
- retainingFocusFor = null;
- clearRetentionOnFocusChange.cancel();
- var dragHandleRef = getDragHandleRef(draggableRef);
+ return transitions.fluid;
+ };
- if (!dragHandleRef) {
- console.warn('Could not find drag handle in the DOM to focus on it');
- return;
+ var getDraggingOpacity = function getDraggingOpacity(isCombining, isDropAnimating) {
+ if (!isCombining) {
+ return null;
}
- dragHandleRef.focus();
+ return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;
};
- var retainer = {
- retain: retain,
- tryRestoreFocus: tryRestoreFocus
- };
+ var getShouldDraggingAnimate = function getShouldDraggingAnimate(dragging) {
+ if (dragging.forceShouldAnimate != null) {
+ return dragging.forceShouldAnimate;
+ }
- var interactiveTagNames = {
- input: true,
- button: true,
- textarea: true,
- select: true,
- option: true,
- optgroup: true,
- video: true,
- audio: true
+ return dragging.mode === 'SNAP';
};
- var isAnInteractiveElement = function isAnInteractiveElement(parent, current) {
- if (current == null) {
- return false;
- }
-
- var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);
+ function getDraggingStyle(dragging) {
+ var dimension = dragging.dimension;
+ var box = dimension.client;
+ var offset = dragging.offset,
+ combineWith = dragging.combineWith,
+ dropping = dragging.dropping;
+ var isCombining = Boolean(combineWith);
+ var shouldAnimate = getShouldDraggingAnimate(dragging);
+ var isDropAnimating = Boolean(dropping);
+ var transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);
+ var style = {
+ position: 'fixed',
+ top: box.marginBox.top,
+ left: box.marginBox.left,
+ boxSizing: 'border-box',
+ width: box.borderBox.width,
+ height: box.borderBox.height,
+ transition: getDraggingTransition(shouldAnimate, dropping),
+ transform: transform,
+ opacity: getDraggingOpacity(isCombining, isDropAnimating),
+ zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,
+ pointerEvents: 'none'
+ };
+ return style;
+ }
- if (hasAnInteractiveTag) {
- return true;
- }
+ function getSecondaryStyle(secondary) {
+ return {
+ transform: transforms.moveTo(secondary.offset),
+ transition: secondary.shouldAnimateDisplacement ? null : 'none'
+ };
+ }
- var attribute = current.getAttribute('contenteditable');
+ function getStyle$1(mapped) {
+ return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);
+ }
- if (attribute === 'true' || attribute === '') {
- return true;
- }
+ var createEventMarshal = (function () {
+ var isMouseDownHandled = false;
- if (current === parent) {
- return false;
- }
+ var handle = function handle() {
+ !!isMouseDownHandled ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot handle mouse down as it is already handled') : invariant(false) : void 0;
+ isMouseDownHandled = true;
+ };
- return isAnInteractiveElement(parent, current.parentElement);
- };
+ var isHandled = function isHandled() {
+ return isMouseDownHandled;
+ };
- var shouldAllowDraggingFromTarget = (function (event, props) {
- if (props.canDragInteractiveElements) {
- return true;
- }
+ var reset = function reset() {
+ isMouseDownHandled = false;
+ };
- var target = event.target,
- currentTarget = event.currentTarget;
+ return {
+ handle: handle,
+ isHandled: isHandled,
+ reset: reset
+ };
+ });
- if (!(target instanceof Element) || !(currentTarget instanceof Element)) {
- return true;
- }
+ var getOptions = function getOptions(shared, fromBinding) {
+ return _extends({}, shared, fromBinding);
+ };
- return !isAnInteractiveElement(currentTarget, target);
- });
+ var bindEvents = function bindEvents(el, bindings, sharedOptions) {
+ bindings.forEach(function (binding) {
+ var options = getOptions(sharedOptions, binding.options);
+ el.addEventListener(binding.eventName, binding.fn, options);
+ });
+ };
+ var unbindEvents = function unbindEvents(el, bindings, sharedOptions) {
+ bindings.forEach(function (binding) {
+ var options = getOptions(sharedOptions, binding.options);
+ el.removeEventListener(binding.eventName, binding.fn, options);
+ });
+ };
var createScheduler = (function (callbacks) {
var memoizedMove = memoizeOne(function (x, y) {
@@ -21337,11 +22989,6 @@
};
});
- var sloppyClickThreshold = 5;
- var isSloppyClickThresholdExceeded = (function (original, current) {
- return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;
- });
-
var tab = 9;
var enter = 13;
var escape = 27;
@@ -21355,30 +23002,19 @@
var arrowRight = 39;
var arrowDown = 40;
- var _preventedKeys;
- var preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);
- var preventStandardKeyEvents = (function (event) {
- if (preventedKeys[event.keyCode]) {
- event.preventDefault();
- }
- });
+ var supportedEventName = function () {
+ var base = 'visibilitychange';
- var getOptions = function getOptions(shared, fromBinding) {
- return _extends({}, shared, fromBinding);
- };
+ if (typeof document === 'undefined') {
+ return base;
+ }
- var bindEvents = function bindEvents(el, bindings, sharedOptions) {
- bindings.forEach(function (binding) {
- var options = getOptions(sharedOptions, binding.options);
- el.addEventListener(binding.eventName, binding.fn, options);
- });
- };
- var unbindEvents = function unbindEvents(el, bindings, sharedOptions) {
- bindings.forEach(function (binding) {
- var options = getOptions(sharedOptions, binding.options);
- el.removeEventListener(binding.eventName, binding.fn, options);
+ var candidates = [base, "ms" + base, "webkit" + base, "moz" + base, "o" + base];
+ var supported = find(candidates, function (eventName) {
+ return "on" + eventName in document;
});
- };
+ return supported || base;
+ }();
var sharedOptions = {
capture: true
@@ -21433,277 +23069,210 @@
return preventer;
});
- var createEventMarshal = (function () {
- var isMouseDownHandled = false;
-
- var handle = function handle() {
- !!isMouseDownHandled ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot handle mouse down as it is already handled') : invariant(false) : void 0;
- isMouseDownHandled = true;
- };
-
- var isHandled = function isHandled() {
- return isMouseDownHandled;
- };
-
- var reset = function reset() {
- isMouseDownHandled = false;
- };
-
- return {
- handle: handle,
- isHandled: isHandled,
- reset: reset
- };
+ var sloppyClickThreshold = 5;
+ var isSloppyClickThresholdExceeded = (function (original, current) {
+ return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;
});
- var supportedEventName = function () {
- var base = 'visibilitychange';
-
- if (typeof document === 'undefined') {
- return base;
+ var _preventedKeys;
+ var preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);
+ var preventStandardKeyEvents = (function (event) {
+ if (preventedKeys[event.keyCode]) {
+ event.preventDefault();
}
-
- var candidates = [base, "ms" + base, "webkit" + base, "moz" + base, "o" + base];
- var supported = candidates.find(function (eventName) {
- return "on" + eventName in document;
- });
- return supported || base;
- }();
+ });
var primaryButton = 0;
- var noop = function noop() {};
+ var noop$1 = function noop() {};
var mouseDownMarshal = createEventMarshal();
- var createMouseSensor = (function (_ref) {
- var callbacks = _ref.callbacks,
- getWindow = _ref.getWindow,
- canStartCapturing = _ref.canStartCapturing;
- var state = {
- isDragging: false,
- pending: null
- };
-
- var setState = function setState(newState) {
- state = newState;
- };
-
- var isDragging = function isDragging() {
- return state.isDragging;
- };
-
- var isCapturing = function isCapturing() {
- return Boolean(state.pending || state.isDragging);
- };
-
- var schedule = createScheduler(callbacks);
- var postDragEventPreventer = createPostDragEventPreventer(getWindow);
-
- var startDragging = function startDragging(fn) {
- if (fn === void 0) {
- fn = noop;
- }
-
- setState({
- pending: null,
- isDragging: true
- });
- fn();
- };
-
- var stopDragging = function stopDragging(fn, shouldBlockClick) {
- if (fn === void 0) {
- fn = noop;
- }
-
- if (shouldBlockClick === void 0) {
- shouldBlockClick = true;
+ function useMouseSensor(args) {
+ var canStartCapturing = args.canStartCapturing,
+ getWindow = args.getWindow,
+ callbacks = args.callbacks,
+ onCaptureStart = args.onCaptureStart,
+ onCaptureEnd = args.onCaptureEnd;
+ var pendingRef = React.useRef(null);
+ var isDraggingRef = React.useRef(false);
+ var unbindWindowEventsRef = React.useRef(noop$1);
+ var getIsCapturing = useMemoOne.useCallback(function () {
+ return Boolean(pendingRef.current || isDraggingRef.current);
+ }, []);
+ var schedule = useMemoOne.useMemo(function () {
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;
+ return createScheduler(callbacks);
+ }, [callbacks, getIsCapturing]);
+ var postDragEventPreventer = useMemoOne.useMemo(function () {
+ return createPostDragEventPreventer(getWindow);
+ }, [getWindow]);
+ var stop = useMemoOne.useCallback(function () {
+ if (!getIsCapturing()) {
+ return;
}
schedule.cancel();
- unbindWindowEvents();
+ unbindWindowEventsRef.current();
+ var shouldBlockClick = isDraggingRef.current;
mouseDownMarshal.reset();
if (shouldBlockClick) {
postDragEventPreventer.preventNext();
}
- setState({
- isDragging: false,
- pending: null
+ pendingRef.current = null;
+ isDraggingRef.current = false;
+ onCaptureEnd();
+ }, [getIsCapturing, onCaptureEnd, postDragEventPreventer, schedule]);
+ var cancel = useMemoOne.useCallback(function () {
+ var wasDragging = isDraggingRef.current;
+ stop();
+
+ if (wasDragging) {
+ callbacks.onCancel();
+ }
+ }, [callbacks, stop]);
+ var startDragging = useMemoOne.useCallback(function () {
+ !!isDraggingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a drag while dragging') : invariant(false) : void 0;
+ var pending = pendingRef.current;
+ !pending ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a drag without a pending drag') : invariant(false) : void 0;
+ pendingRef.current = null;
+ isDraggingRef.current = true;
+ callbacks.onLift({
+ clientSelection: pending,
+ movementMode: 'FLUID'
});
- fn();
- };
+ }, [callbacks]);
+ var windowBindings = useMemoOne.useMemo(function () {
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate window bindings while capturing') : invariant(false) : void 0;
+ var bindings = [{
+ eventName: 'mousemove',
+ fn: function fn(event) {
+ var button = event.button,
+ clientX = event.clientX,
+ clientY = event.clientY;
+
+ if (button !== primaryButton) {
+ return;
+ }
- var startPendingDrag = function startPendingDrag(point) {
- setState({
- pending: point,
- isDragging: false
- });
- bindWindowEvents();
- };
+ var point = {
+ x: clientX,
+ y: clientY
+ };
- var stopPendingDrag = function stopPendingDrag() {
- stopDragging(noop, false);
- };
+ if (isDraggingRef.current) {
+ event.preventDefault();
+ schedule.move(point);
+ return;
+ }
- var kill = function kill(fn) {
- if (fn === void 0) {
- fn = noop;
- }
+ var pending = pendingRef.current;
- if (state.pending) {
- stopPendingDrag();
- return;
- }
+ if (!pending) {
+ stop();
+ process.env.NODE_ENV !== "production" ? invariant(false, 'Expected there to be an active or pending drag when window mousemove event is received') : invariant(false);
+ }
- stopDragging(fn);
- };
+ if (!isSloppyClickThresholdExceeded(pending, point)) {
+ return;
+ }
- var unmount = function unmount() {
- kill();
- postDragEventPreventer.abort();
- };
+ event.preventDefault();
+ startDragging();
+ }
+ }, {
+ eventName: 'mouseup',
+ fn: function fn(event) {
+ var wasDragging = isDraggingRef.current;
+ stop();
- var cancel = function cancel() {
- kill(callbacks.onCancel);
- };
-
- var windowBindings = [{
- eventName: 'mousemove',
- fn: function fn(event) {
- var button = event.button,
- clientX = event.clientX,
- clientY = event.clientY;
-
- if (button !== primaryButton) {
- return;
- }
-
- var point = {
- x: clientX,
- y: clientY
- };
-
- if (state.isDragging) {
- event.preventDefault();
- schedule.move(point);
- return;
- }
-
- if (!state.pending) {
- kill();
- process.env.NODE_ENV !== "production" ? invariant(false, 'Expected there to be a pending drag') : invariant(false);
- }
-
- if (!isSloppyClickThresholdExceeded(state.pending, point)) {
- return;
- }
-
- event.preventDefault();
- startDragging(function () {
- return callbacks.onLift({
- clientSelection: point,
- autoScrollMode: 'FLUID'
- });
- });
- }
- }, {
- eventName: 'mouseup',
- fn: function fn(event) {
- if (state.pending) {
- stopPendingDrag();
- return;
- }
-
- event.preventDefault();
- stopDragging(callbacks.onDrop);
- }
- }, {
- eventName: 'mousedown',
- fn: function fn(event) {
- if (state.isDragging) {
- event.preventDefault();
+ if (wasDragging) {
+ event.preventDefault();
+ callbacks.onDrop();
+ }
}
+ }, {
+ eventName: 'mousedown',
+ fn: function fn(event) {
+ if (isDraggingRef.current) {
+ event.preventDefault();
+ }
- stopDragging(callbacks.onCancel);
- }
- }, {
- eventName: 'keydown',
- fn: function fn(event) {
- if (!state.isDragging) {
cancel();
- return;
}
+ }, {
+ eventName: 'keydown',
+ fn: function fn(event) {
+ if (pendingRef.current) {
+ stop();
+ return;
+ }
- if (event.keyCode === escape) {
- event.preventDefault();
- cancel();
- return;
- }
+ if (event.keyCode === escape) {
+ event.preventDefault();
+ cancel();
+ return;
+ }
- preventStandardKeyEvents(event);
- }
- }, {
- eventName: 'resize',
- fn: cancel
- }, {
- eventName: 'scroll',
- options: {
- passive: true,
- capture: false
- },
- fn: function fn() {
- if (state.pending) {
- stopPendingDrag();
- return;
+ preventStandardKeyEvents(event);
}
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'scroll',
+ options: {
+ passive: true,
+ capture: false
+ },
+ fn: function fn(event) {
+ if (event.currentTarget !== getWindow()) {
+ return;
+ }
- schedule.windowScrollMove();
- }
- }, {
- eventName: 'webkitmouseforcechanged',
- fn: function fn(event) {
- if (event.webkitForce == null || MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN == null) {
- if (process.env.NODE_ENV !== 'production') {
- console.warn('handling a mouse force changed event when it is not supported');
+ if (pendingRef.current) {
+ stop();
+ return;
}
- return;
+ schedule.windowScrollMove();
}
-
- var forcePressThreshold = MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN;
- var isForcePressing = event.webkitForce >= forcePressThreshold;
-
- if (isForcePressing) {
+ }, {
+ eventName: 'webkitmouseforcedown',
+ fn: function fn() {
cancel();
}
- }
- }, {
- eventName: supportedEventName,
- fn: cancel
- }];
-
- var bindWindowEvents = function bindWindowEvents() {
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+ return bindings;
+ }, [getIsCapturing, cancel, startDragging, schedule, stop, callbacks, getWindow]);
+ var bindWindowEvents = useMemoOne.useCallback(function () {
var win = getWindow();
- bindEvents(win, windowBindings, {
+ var options = {
capture: true
- });
- };
+ };
- var unbindWindowEvents = function unbindWindowEvents() {
- var win = getWindow();
- unbindEvents(win, windowBindings, {
- capture: true
- });
- };
+ unbindWindowEventsRef.current = function () {
+ return unbindEvents(win, windowBindings, options);
+ };
- var onMouseDown = function onMouseDown(event) {
+ bindEvents(win, windowBindings, options);
+ }, [getWindow, windowBindings]);
+ var startPendingDrag = useMemoOne.useCallback(function (point) {
+ !!pendingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected there to be no pending drag') : invariant(false) : void 0;
+ pendingRef.current = point;
+ onCaptureStart(stop);
+ bindWindowEvents();
+ }, [bindWindowEvents, onCaptureStart, stop]);
+ var onMouseDown = useMemoOne.useCallback(function (event) {
if (mouseDownMarshal.isHandled()) {
return;
}
- !!isCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not be able to perform a mouse down while a drag or pending drag is occurring') : invariant(false) : void 0;
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not be able to perform a mouse down while a drag or pending drag is occurring') : invariant(false) : void 0;
if (!canStartCapturing(event)) {
return;
@@ -21724,16 +23293,62 @@
y: event.clientY
};
startPendingDrag(point);
- };
+ }, [canStartCapturing, getIsCapturing, startPendingDrag]);
+ return onMouseDown;
+ }
- var sensor = {
- onMouseDown: onMouseDown,
- kill: kill,
- isCapturing: isCapturing,
- isDragging: isDragging,
- unmount: unmount
- };
- return sensor;
+ function isElement(el) {
+ return el instanceof getWindowFromEl(el).Element;
+ }
+
+ var interactiveTagNames = {
+ input: true,
+ button: true,
+ textarea: true,
+ select: true,
+ option: true,
+ optgroup: true,
+ video: true,
+ audio: true
+ };
+
+ var isAnInteractiveElement = function isAnInteractiveElement(parent, current) {
+ if (current == null) {
+ return false;
+ }
+
+ var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);
+
+ if (hasAnInteractiveTag) {
+ return true;
+ }
+
+ var attribute = current.getAttribute('contenteditable');
+
+ if (attribute === 'true' || attribute === '') {
+ return true;
+ }
+
+ if (current === parent) {
+ return false;
+ }
+
+ return isAnInteractiveElement(parent, current.parentElement);
+ };
+
+ var shouldAllowDraggingFromTarget = (function (event, canDragInteractiveElements) {
+ if (canDragInteractiveElements) {
+ return true;
+ }
+
+ var target = event.target,
+ currentTarget = event.currentTarget;
+
+ if (!isElement(target) || !isElement(currentTarget)) {
+ return true;
+ }
+
+ return !isAnInteractiveElement(currentTarget, target);
});
var getBorderBoxCenterPosition = (function (el) {
@@ -21743,62 +23358,109 @@
var _scrollJumpKeys;
var scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);
- var noop$1 = function noop() {};
-
- var createKeyboardSensor = (function (_ref) {
- var callbacks = _ref.callbacks,
- getWindow = _ref.getWindow,
- getDraggableRef = _ref.getDraggableRef,
- canStartCapturing = _ref.canStartCapturing;
- var state = {
- isDragging: false
- };
-
- var setState = function setState(newState) {
- state = newState;
- };
-
- var startDragging = function startDragging(fn) {
- if (fn === void 0) {
- fn = noop$1;
- }
-
- setState({
- isDragging: true
- });
- bindWindowEvents();
- fn();
- };
-
- var stopDragging = function stopDragging(fn) {
- if (fn === void 0) {
- fn = noop$1;
+ function noop$2() {}
+
+ function useKeyboardSensor(args) {
+ var canStartCapturing = args.canStartCapturing,
+ getWindow = args.getWindow,
+ callbacks = args.callbacks,
+ onCaptureStart = args.onCaptureStart,
+ onCaptureEnd = args.onCaptureEnd,
+ getDraggableRef = args.getDraggableRef;
+ var isDraggingRef = React.useRef(false);
+ var unbindWindowEventsRef = React.useRef(noop$2);
+ var getIsDragging = useMemoOne.useCallback(function () {
+ return isDraggingRef.current;
+ }, []);
+ var schedule = useMemoOne.useMemo(function () {
+ !!getIsDragging() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;
+ return createScheduler(callbacks);
+ }, [callbacks, getIsDragging]);
+ var stop = useMemoOne.useCallback(function () {
+ if (!getIsDragging()) {
+ return;
}
schedule.cancel();
- unbindWindowEvents();
- setState({
- isDragging: false
- });
- fn();
- };
-
- var kill = function kill() {
- return stopDragging();
- };
-
- var cancel = function cancel() {
- stopDragging(callbacks.onCancel);
- };
+ unbindWindowEventsRef.current();
+ isDraggingRef.current = false;
+ onCaptureEnd();
+ }, [getIsDragging, onCaptureEnd, schedule]);
+ var cancel = useMemoOne.useCallback(function () {
+ var wasDragging = isDraggingRef.current;
+ stop();
+
+ if (wasDragging) {
+ callbacks.onCancel();
+ }
+ }, [callbacks, stop]);
+ var windowBindings = useMemoOne.useMemo(function () {
+ !!getIsDragging() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate window bindings when dragging') : invariant(false) : void 0;
+ return [{
+ eventName: 'mousedown',
+ fn: cancel
+ }, {
+ eventName: 'mouseup',
+ fn: cancel
+ }, {
+ eventName: 'click',
+ fn: cancel
+ }, {
+ eventName: 'touchstart',
+ fn: cancel
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'wheel',
+ fn: cancel,
+ options: {
+ passive: true
+ }
+ }, {
+ eventName: 'scroll',
+ options: {
+ capture: false
+ },
+ fn: function fn(event) {
+ if (event.currentTarget !== getWindow()) {
+ return;
+ }
- var isDragging = function isDragging() {
- return state.isDragging;
- };
+ callbacks.onWindowScroll();
+ }
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+ }, [callbacks, cancel, getIsDragging, getWindow]);
+ var bindWindowEvents = useMemoOne.useCallback(function () {
+ var win = getWindow();
+ var options = {
+ capture: true
+ };
- var schedule = createScheduler(callbacks);
+ unbindWindowEventsRef.current = function () {
+ return unbindEvents(win, windowBindings, options);
+ };
- var onKeyDown = function onKeyDown(event) {
- if (!isDragging()) {
+ bindEvents(win, windowBindings, options);
+ }, [getWindow, windowBindings]);
+ var startDragging = useMemoOne.useCallback(function () {
+ !!isDraggingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a drag while dragging') : invariant(false) : void 0;
+ var ref = getDraggableRef();
+ !ref ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a keyboard drag without a draggable ref') : invariant(false) : void 0;
+ isDraggingRef.current = true;
+ onCaptureStart(stop);
+ bindWindowEvents();
+ var center = getBorderBoxCenterPosition(ref);
+ callbacks.onLift({
+ clientSelection: center,
+ movementMode: 'SNAP'
+ });
+ }, [bindWindowEvents, callbacks, getDraggableRef, onCaptureStart, stop]);
+ var onKeyDown = useMemoOne.useCallback(function (event) {
+ if (!getIsDragging()) {
if (event.defaultPrevented) {
return;
}
@@ -21811,16 +23473,8 @@
return;
}
- var ref = getDraggableRef();
- !ref ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a keyboard drag without a draggable ref') : invariant(false) : void 0;
- var center = getBorderBoxCenterPosition(ref);
event.preventDefault();
- startDragging(function () {
- return callbacks.onLift({
- clientSelection: center,
- autoScrollMode: 'JUMP'
- });
- });
+ startDragging();
return;
}
@@ -21832,7 +23486,8 @@
if (event.keyCode === space) {
event.preventDefault();
- stopDragging(callbacks.onDrop);
+ stop();
+ callbacks.onDrop();
return;
}
@@ -21866,927 +23521,908 @@
}
preventStandardKeyEvents(event);
- };
-
- var windowBindings = [{
- eventName: 'mousedown',
- fn: cancel
- }, {
- eventName: 'mouseup',
- fn: cancel
- }, {
- eventName: 'click',
- fn: cancel
- }, {
- eventName: 'touchstart',
- fn: cancel
- }, {
- eventName: 'resize',
- fn: cancel
- }, {
- eventName: 'wheel',
- fn: cancel
- }, {
- eventName: 'scroll',
- options: {
- capture: false
- },
- fn: callbacks.onWindowScroll
- }, {
- eventName: supportedEventName,
- fn: cancel
- }];
-
- var bindWindowEvents = function bindWindowEvents() {
- bindEvents(getWindow(), windowBindings, {
- capture: true
- });
- };
-
- var unbindWindowEvents = function unbindWindowEvents() {
- unbindEvents(getWindow(), windowBindings, {
- capture: true
- });
- };
-
- var sensor = {
- onKeyDown: onKeyDown,
- kill: kill,
- isDragging: isDragging,
- isCapturing: isDragging,
- unmount: kill
- };
- return sensor;
- });
+ }, [callbacks, canStartCapturing, cancel, getIsDragging, schedule, startDragging, stop]);
+ return onKeyDown;
+ }
- var timeForLongPress = 150;
+ var timeForLongPress = 120;
var forcePressThreshold = 0.15;
var touchStartMarshal = createEventMarshal();
- var noop$2 = function noop() {};
-
- var webkitHack = function () {
- var stub = {
- preventTouchMove: noop$2,
- releaseTouchMove: noop$2
- };
-
- if (typeof window === 'undefined') {
- return stub;
- }
-
- if (!('ontouchstart' in window)) {
- return stub;
- }
-
- var isBlocking = false;
- window.addEventListener('touchmove', function (event) {
- if (!isBlocking) {
+ var noop$3 = function noop() {};
+
+ function useTouchSensor(args) {
+ var callbacks = args.callbacks,
+ getWindow = args.getWindow,
+ canStartCapturing = args.canStartCapturing,
+ getShouldRespectForcePress = args.getShouldRespectForcePress,
+ onCaptureStart = args.onCaptureStart,
+ onCaptureEnd = args.onCaptureEnd;
+ var pendingRef = React.useRef(null);
+ var isDraggingRef = React.useRef(false);
+ var hasMovedRef = React.useRef(false);
+ var unbindWindowEventsRef = React.useRef(noop$3);
+ var getIsCapturing = useMemoOne.useCallback(function () {
+ return Boolean(pendingRef.current || isDraggingRef.current);
+ }, []);
+ var postDragClickPreventer = useMemoOne.useMemo(function () {
+ return createPostDragEventPreventer(getWindow);
+ }, [getWindow]);
+ var schedule = useMemoOne.useMemo(function () {
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;
+ return createScheduler(callbacks);
+ }, [callbacks, getIsCapturing]);
+ var stop = useMemoOne.useCallback(function () {
+ if (!getIsCapturing()) {
return;
}
- if (event.defaultPrevented) {
+ schedule.cancel();
+ unbindWindowEventsRef.current();
+ touchStartMarshal.reset();
+ hasMovedRef.current = false;
+ onCaptureEnd();
+
+ if (isDraggingRef.current) {
+ postDragClickPreventer.preventNext();
+ isDraggingRef.current = false;
return;
}
- event.preventDefault();
- }, {
- passive: false,
- capture: false
- });
+ var pending = pendingRef.current;
+ !pending ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected a pending drag') : invariant(false) : void 0;
+ clearTimeout(pending.longPressTimerId);
+ pendingRef.current = null;
+ }, [getIsCapturing, onCaptureEnd, postDragClickPreventer, schedule]);
+ var cancel = useMemoOne.useCallback(function () {
+ var wasDragging = isDraggingRef.current;
+ stop();
+
+ if (wasDragging) {
+ callbacks.onCancel();
+ }
+ }, [callbacks, stop]);
+ var windowBindings = useMemoOne.useMemo(function () {
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not recreate window bindings while capturing') : invariant(false) : void 0;
+ var bindings = [{
+ eventName: 'touchmove',
+ options: {
+ passive: false,
+ capture: false
+ },
+ fn: function fn(event) {
+ if (!isDraggingRef.current) {
+ stop();
+ return;
+ }
- var preventTouchMove = function preventTouchMove() {
- isBlocking = true;
- };
+ if (!hasMovedRef.current) {
+ hasMovedRef.current = true;
+ }
- var releaseTouchMove = function releaseTouchMove() {
- isBlocking = false;
- };
+ var touch = event.touches[0];
- return {
- preventTouchMove: preventTouchMove,
- releaseTouchMove: releaseTouchMove
- };
- }();
+ if (!touch) {
+ return;
+ }
- var initial = {
- isDragging: false,
- pending: null,
- hasMoved: false,
- longPressTimerId: null
- };
- var createTouchSensor = (function (_ref) {
- var callbacks = _ref.callbacks,
- getWindow = _ref.getWindow,
- canStartCapturing = _ref.canStartCapturing;
- var state = initial;
+ var point = {
+ x: touch.clientX,
+ y: touch.clientY
+ };
+ event.preventDefault();
+ schedule.move(point);
+ }
+ }, {
+ eventName: 'touchend',
+ fn: function fn(event) {
+ if (!isDraggingRef.current) {
+ stop();
+ return;
+ }
- var setState = function setState(partial) {
- state = _extends({}, state, partial);
- };
+ event.preventDefault();
+ stop();
+ callbacks.onDrop();
+ }
+ }, {
+ eventName: 'touchcancel',
+ fn: function fn(event) {
+ if (!isDraggingRef.current) {
+ stop();
+ return;
+ }
- var isDragging = function isDragging() {
- return state.isDragging;
- };
+ event.preventDefault();
+ cancel();
+ }
+ }, {
+ eventName: 'touchstart',
+ fn: cancel
+ }, {
+ eventName: 'orientationchange',
+ fn: cancel
+ }, {
+ eventName: 'resize',
+ fn: cancel
+ }, {
+ eventName: 'scroll',
+ options: {
+ passive: true,
+ capture: false
+ },
+ fn: function fn() {
+ if (pendingRef.current) {
+ stop();
+ return;
+ }
- var isCapturing = function isCapturing() {
- return Boolean(state.pending || state.isDragging || state.longPressTimerId);
- };
+ schedule.windowScrollMove();
+ }
+ }, {
+ eventName: 'contextmenu',
+ fn: function fn(event) {
+ event.preventDefault();
+ }
+ }, {
+ eventName: 'keydown',
+ fn: function fn(event) {
+ if (!isDraggingRef.current) {
+ cancel();
+ return;
+ }
- var schedule = createScheduler(callbacks);
- var postDragEventPreventer = createPostDragEventPreventer(getWindow);
+ if (event.keyCode === escape) {
+ event.preventDefault();
+ }
- var startDragging = function startDragging() {
- var pending = state.pending;
+ cancel();
+ }
+ }, {
+ eventName: 'touchforcechange',
+ fn: function fn(event) {
+ var touch = event.touches[0];
+ var isForcePress = touch.force >= forcePressThreshold;
- if (!pending) {
- kill();
- process.env.NODE_ENV !== "production" ? invariant(false, 'cannot start a touch drag without a pending position') : invariant(false);
- }
+ if (!isForcePress) {
+ return;
+ }
- setState({
- isDragging: true,
- hasMoved: false,
- pending: null,
- longPressTimerId: null
- });
- callbacks.onLift({
- clientSelection: pending,
- autoScrollMode: 'FLUID'
- });
- };
+ var shouldRespect = getShouldRespectForcePress();
- var stopDragging = function stopDragging(fn) {
- if (fn === void 0) {
- fn = noop$2;
- }
+ if (pendingRef.current) {
+ if (shouldRespect) {
+ cancel();
+ }
- schedule.cancel();
- touchStartMarshal.reset();
- webkitHack.releaseTouchMove();
- unbindWindowEvents();
- postDragEventPreventer.preventNext();
- setState(initial);
- fn();
- };
+ return;
+ }
- var startPendingDrag = function startPendingDrag(event) {
- var touch = event.touches[0];
- var clientX = touch.clientX,
- clientY = touch.clientY;
+ if (shouldRespect) {
+ if (hasMovedRef.current) {
+ event.preventDefault();
+ return;
+ }
+
+ cancel();
+ return;
+ }
+
+ event.preventDefault();
+ }
+ }, {
+ eventName: supportedEventName,
+ fn: cancel
+ }];
+ return bindings;
+ }, [callbacks, cancel, getIsCapturing, getShouldRespectForcePress, schedule, stop]);
+ var bindWindowEvents = useMemoOne.useCallback(function () {
+ var win = getWindow();
+ var options = {
+ capture: true
+ };
+
+ unbindWindowEventsRef.current = function () {
+ return unbindEvents(win, windowBindings, options);
+ };
+
+ bindEvents(win, windowBindings, options);
+ }, [getWindow, windowBindings]);
+ var startDragging = useMemoOne.useCallback(function () {
+ var pending = pendingRef.current;
+ !pending ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start a drag without a pending drag') : invariant(false) : void 0;
+ isDraggingRef.current = true;
+ pendingRef.current = null;
+ hasMovedRef.current = false;
+ callbacks.onLift({
+ clientSelection: pending.point,
+ movementMode: 'FLUID'
+ });
+ }, [callbacks]);
+ var startPendingDrag = useMemoOne.useCallback(function (event) {
+ !!pendingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected there to be no pending drag') : invariant(false) : void 0;
+ var touch = event.touches[0];
+ var clientX = touch.clientX,
+ clientY = touch.clientY;
var point = {
x: clientX,
y: clientY
};
var longPressTimerId = setTimeout(startDragging, timeForLongPress);
- setState({
- longPressTimerId: longPressTimerId,
- pending: point,
- isDragging: false,
- hasMoved: false
- });
+ var pending = {
+ point: point,
+ longPressTimerId: longPressTimerId
+ };
+ pendingRef.current = pending;
+ onCaptureStart(stop);
bindWindowEvents();
- };
+ }, [bindWindowEvents, onCaptureStart, startDragging, stop]);
- var stopPendingDrag = function stopPendingDrag() {
- if (state.longPressTimerId) {
- clearTimeout(state.longPressTimerId);
+ var onTouchStart = function onTouchStart(event) {
+ if (touchStartMarshal.isHandled()) {
+ return;
}
- schedule.cancel();
- touchStartMarshal.reset();
- webkitHack.releaseTouchMove();
- unbindWindowEvents();
- setState(initial);
- };
-
- var kill = function kill(fn) {
- if (fn === void 0) {
- fn = noop$2;
- }
+ !!getIsCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not be able to perform a touch start while a drag or pending drag is occurring') : invariant(false) : void 0;
- if (state.pending) {
- stopPendingDrag();
+ if (!canStartCapturing(event)) {
return;
}
- stopDragging(fn);
+ touchStartMarshal.handle();
+ startPendingDrag(event);
};
- var unmount = function unmount() {
- kill();
- postDragEventPreventer.abort();
- };
+ useIsomorphicLayoutEffect(function webkitHack() {
+ var unbind = bindEvents(window, [{
+ eventName: 'touchmove',
+ fn: noop$3,
+ options: {
+ capture: false,
+ passive: false
+ }
+ }]);
+ return unbind;
+ }, []);
+ return onTouchStart;
+ }
- var cancel = function cancel() {
- kill(callbacks.onCancel);
- };
+ function isSvgElement(el) {
+ return Boolean(getWindowFromEl(el).SVGElement) && el instanceof getWindowFromEl(el).SVGElement;
+ }
- var windowBindings = [{
- eventName: 'touchmove',
- options: {
- passive: false
- },
- fn: function fn(event) {
- if (!state.isDragging) {
- stopPendingDrag();
- return;
- }
+ var selector = "[" + dragHandle + "]";
- if (!state.hasMoved) {
- setState({
- hasMoved: true
- });
- }
+ var throwIfSVG = function throwIfSVG(el) {
+ !!isSvgElement(el) ? process.env.NODE_ENV !== "production" ? invariant(false, "A drag handle cannot be an SVGElement: it has inconsistent focus support.\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/dragging-svgs.md") : invariant(false) : void 0;
+ };
- var _event$touches$ = event.touches[0],
- clientX = _event$touches$.clientX,
- clientY = _event$touches$.clientY;
- var point = {
- x: clientX,
- y: clientY
- };
- event.preventDefault();
- schedule.move(point);
- }
- }, {
- eventName: 'touchend',
- fn: function fn(event) {
- if (!state.isDragging) {
- stopPendingDrag();
- return;
- }
+ var getDragHandleRef = function getDragHandleRef(draggableRef) {
+ if (draggableRef.hasAttribute(dragHandle)) {
+ throwIfSVG(draggableRef);
+ return draggableRef;
+ }
- event.preventDefault();
- stopDragging(callbacks.onDrop);
- }
- }, {
- eventName: 'touchcancel',
- fn: function fn(event) {
- if (!state.isDragging) {
- stopPendingDrag();
- return;
- }
+ var el = draggableRef.querySelector(selector);
+ throwIfSVG(draggableRef);
+ !el ? process.env.NODE_ENV !== "production" ? invariant(false, "\n Cannot find drag handle element inside of Draggable.\n Please be sure to apply the {...provided.dragHandleProps} to your Draggable\n\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/draggable.md\n ") : invariant(false) : void 0;
+ !isHtmlElement(el) ? process.env.NODE_ENV !== "production" ? invariant(false, 'A drag handle must be a HTMLElement') : invariant(false) : void 0;
+ return el;
+ };
- event.preventDefault();
- stopDragging(callbacks.onCancel);
- }
- }, {
- eventName: 'touchstart',
- fn: cancel
- }, {
- eventName: 'orientationchange',
- fn: cancel
- }, {
- eventName: 'resize',
- fn: cancel
- }, {
- eventName: 'scroll',
- options: {
- passive: true,
- capture: false
- },
- fn: function fn() {
- if (state.pending) {
- stopPendingDrag();
+ function useValidation$1(_ref) {
+ var isEnabled = _ref.isEnabled,
+ getDraggableRef = _ref.getDraggableRef;
+ React.useEffect(function () {
+ if (process.env.NODE_ENV !== 'production') {
+ if (!isEnabled) {
return;
}
- schedule.windowScrollMove();
- }
- }, {
- eventName: 'contextmenu',
- fn: function fn(event) {
- event.preventDefault();
+ var draggableRef = getDraggableRef();
+ !draggableRef ? process.env.NODE_ENV !== "production" ? invariant(false, 'Drag handle was unable to find draggable ref') : invariant(false) : void 0;
+ getDragHandleRef(draggableRef);
}
- }, {
- eventName: 'keydown',
- fn: function fn(event) {
- if (!state.isDragging) {
- cancel();
- return;
- }
-
- if (event.keyCode === escape) {
- event.preventDefault();
- }
+ }, [getDraggableRef, isEnabled]);
+ }
- cancel();
- }
- }, {
- eventName: 'touchforcechange',
- fn: function fn(event) {
- if (state.hasMoved) {
- event.preventDefault();
- return;
- }
+ var retainingFocusFor = null;
+ var listenerOptions = {
+ capture: true
+ };
- var touch = event.touches[0];
+ var clearRetentionOnFocusChange = function () {
+ var isBound = false;
- if (touch.force >= forcePressThreshold) {
- cancel();
- }
+ var bind = function bind() {
+ if (isBound) {
+ return;
}
- }, {
- eventName: supportedEventName,
- fn: cancel
- }];
-
- var bindWindowEvents = function bindWindowEvents() {
- bindEvents(getWindow(), windowBindings, {
- capture: true
- });
- };
- var unbindWindowEvents = function unbindWindowEvents() {
- unbindEvents(getWindow(), windowBindings, {
- capture: true
- });
+ isBound = true;
+ window.addEventListener('focus', onWindowFocusChange, listenerOptions);
};
- var onTouchStart = function onTouchStart(event) {
- if (touchStartMarshal.isHandled()) {
+ var unbind = function unbind() {
+ if (!isBound) {
return;
}
- !!isCapturing() ? process.env.NODE_ENV !== "production" ? invariant(false, 'Should not be able to perform a touch start while a drag or pending drag is occurring') : invariant(false) : void 0;
+ isBound = false;
+ window.removeEventListener('focus', onWindowFocusChange, listenerOptions);
+ };
- if (!canStartCapturing(event)) {
- return;
- }
+ var onWindowFocusChange = function onWindowFocusChange() {
+ unbind();
+ retainingFocusFor = null;
+ };
- touchStartMarshal.handle();
- webkitHack.preventTouchMove();
- startPendingDrag(event);
+ var result = function result() {
+ return bind();
};
- var sensor = {
- onTouchStart: onTouchStart,
- kill: kill,
- isCapturing: isCapturing,
- isDragging: isDragging,
- unmount: unmount
+ result.cancel = function () {
+ return unbind();
};
- return sensor;
- });
- var _DragHandle$contextTy;
+ return result;
+ }();
- var preventHtml5Dnd = function preventHtml5Dnd(event) {
- event.preventDefault();
+ var retain = function retain(id) {
+ retainingFocusFor = id;
+ clearRetentionOnFocusChange();
};
- var DragHandle = function (_Component) {
- _inheritsLoose(DragHandle, _Component);
-
- function DragHandle(props, context) {
- var _this;
+ var tryRestoreFocus = function tryRestoreFocus(id, draggableRef) {
+ if (!retainingFocusFor) {
+ return;
+ }
- _this = _Component.call(this, props, context) || this;
- _this.mouseSensor = void 0;
- _this.keyboardSensor = void 0;
- _this.touchSensor = void 0;
- _this.sensors = void 0;
- _this.styleContext = void 0;
- _this.canLift = void 0;
- _this.isFocused = false;
- _this.lastDraggableRef = void 0;
-
- _this.onFocus = function () {
- _this.isFocused = true;
- };
+ if (id !== retainingFocusFor) {
+ return;
+ }
- _this.onBlur = function () {
- _this.isFocused = false;
- };
+ retainingFocusFor = null;
+ clearRetentionOnFocusChange.cancel();
+ var dragHandleRef = getDragHandleRef(draggableRef);
- _this.onKeyDown = function (event) {
- if (_this.mouseSensor.isCapturing() || _this.touchSensor.isCapturing()) {
- return;
- }
+ if (!dragHandleRef) {
+ process.env.NODE_ENV !== "production" ? warning('Could not find drag handle in the DOM to focus on it') : void 0;
+ return;
+ }
- _this.keyboardSensor.onKeyDown(event);
- };
+ dragHandleRef.focus();
+ };
- _this.onMouseDown = function (event) {
- if (_this.keyboardSensor.isCapturing() || _this.mouseSensor.isCapturing()) {
- return;
- }
+ var retainer = {
+ retain: retain,
+ tryRestoreFocus: tryRestoreFocus
+ };
- _this.mouseSensor.onMouseDown(event);
- };
+ function noop$4() {}
- _this.onTouchStart = function (event) {
- if (_this.mouseSensor.isCapturing() || _this.keyboardSensor.isCapturing()) {
- return;
- }
+ function useFocusRetainer(args) {
+ var isFocusedRef = React.useRef(false);
+ var lastArgsRef = usePrevious(args);
+ var getDraggableRef = args.getDraggableRef;
+ var onFocus = useMemoOne.useCallback(function () {
+ isFocusedRef.current = true;
+ }, []);
+ var onBlur = useMemoOne.useCallback(function () {
+ isFocusedRef.current = false;
+ }, []);
+ useIsomorphicLayoutEffect(function () {
+ var first = lastArgsRef.current;
- _this.touchSensor.onTouchStart(event);
- };
+ if (!first.isEnabled) {
+ return noop$4;
+ }
- _this.canStartCapturing = function (event) {
- if (_this.isAnySensorCapturing()) {
- return false;
- }
+ var draggable = getDraggableRef();
+ !draggable ? process.env.NODE_ENV !== "production" ? invariant(false, 'Drag handle could not obtain draggable ref') : invariant(false) : void 0;
+ var dragHandle = getDragHandleRef(draggable);
+ retainer.tryRestoreFocus(first.draggableId, dragHandle);
+ return function () {
+ var last = lastArgsRef.current;
- if (!_this.canLift(_this.props.draggableId)) {
- return false;
- }
+ var shouldRetainFocus = function () {
+ if (!last.isEnabled) {
+ return false;
+ }
- return shouldAllowDraggingFromTarget(event, _this.props);
- };
+ if (!isFocusedRef.current) {
+ return false;
+ }
- _this.isAnySensorCapturing = function () {
- return _this.sensors.some(function (sensor) {
- return sensor.isCapturing();
- });
- };
+ return last.isDragging || last.isDropAnimating;
+ }();
- _this.getProvided = memoizeOne(function (isEnabled) {
- if (!isEnabled) {
- return null;
+ if (shouldRetainFocus) {
+ retainer.retain(last.draggableId);
}
-
- var provided = {
- onMouseDown: _this.onMouseDown,
- onKeyDown: _this.onKeyDown,
- onTouchStart: _this.onTouchStart,
- onFocus: _this.onFocus,
- onBlur: _this.onBlur,
- tabIndex: 0,
- 'data-react-beautiful-dnd-drag-handle': _this.styleContext,
- 'aria-roledescription': 'Draggable item. Press space bar to lift',
- draggable: false,
- onDragStart: preventHtml5Dnd
- };
- return provided;
- });
-
- var getWindow = function getWindow() {
- return getWindowFromRef(_this.props.getDraggableRef());
- };
-
- var args = {
- callbacks: _this.props.callbacks,
- getDraggableRef: _this.props.getDraggableRef,
- getWindow: getWindow,
- canStartCapturing: _this.canStartCapturing
};
- _this.mouseSensor = createMouseSensor(args);
- _this.keyboardSensor = createKeyboardSensor(args);
- _this.touchSensor = createTouchSensor(args);
- _this.sensors = [_this.mouseSensor, _this.keyboardSensor, _this.touchSensor];
- _this.styleContext = context[styleContextKey];
- _this.canLift = context[canLiftContextKey];
- return _this;
- }
+ }, [getDraggableRef, lastArgsRef]);
+ var lastDraggableRef = React.useRef(null);
+ useIsomorphicLayoutEffect(function () {
+ if (!lastDraggableRef.current) {
+ return;
+ }
- var _proto = DragHandle.prototype;
+ var draggableRef = getDraggableRef();
- _proto.componentDidMount = function componentDidMount() {
- var draggableRef = this.props.getDraggableRef();
- this.lastDraggableRef = draggableRef;
- !draggableRef ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get draggable ref from drag handle') : invariant(false) : void 0;
+ if (!draggableRef) {
+ return;
+ }
- if (!this.props.isEnabled) {
+ if (draggableRef === lastDraggableRef.current) {
return;
}
- var dragHandleRef = getDragHandleRef(draggableRef);
- retainer.tryRestoreFocus(this.props.draggableId, dragHandleRef);
+ if (isFocusedRef.current && lastArgsRef.current.isEnabled) {
+ getDragHandleRef(draggableRef).focus();
+ }
+ });
+ useIsomorphicLayoutEffect(function () {
+ lastDraggableRef.current = getDraggableRef();
+ });
+ return {
+ onBlur: onBlur,
+ onFocus: onFocus
};
+ }
- _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
- var _this2 = this;
-
- var ref = this.props.getDraggableRef();
-
- if (ref !== this.lastDraggableRef) {
- this.lastDraggableRef = ref;
-
- if (!ref || !this.isFocused) {
- return;
- }
-
- if (!this.props.isEnabled) {
- return;
- }
+ function preventHtml5Dnd(event) {
+ event.preventDefault();
+ }
- getDragHandleRef(ref).focus();
+ function useDragHandle(args) {
+ var capturingRef = React.useRef(null);
+ var onCaptureStart = useMemoOne.useCallback(function (abort) {
+ !!capturingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot start capturing while something else is') : invariant(false) : void 0;
+ capturingRef.current = {
+ abort: abort
+ };
+ }, []);
+ var onCaptureEnd = useMemoOne.useCallback(function () {
+ !capturingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot stop capturing while nothing is capturing') : invariant(false) : void 0;
+ capturingRef.current = null;
+ }, []);
+ var abortCapture = useMemoOne.useCallback(function () {
+ !capturingRef.current ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot abort capture when there is none') : invariant(false) : void 0;
+ capturingRef.current.abort();
+ }, []);
+
+ var _useRequiredContext = useRequiredContext(AppContext),
+ canLift = _useRequiredContext.canLift,
+ styleContext = _useRequiredContext.style;
+
+ var isDragging = args.isDragging,
+ isEnabled = args.isEnabled,
+ draggableId = args.draggableId,
+ callbacks = args.callbacks,
+ getDraggableRef = args.getDraggableRef,
+ getShouldRespectForcePress = args.getShouldRespectForcePress,
+ canDragInteractiveElements = args.canDragInteractiveElements;
+ var lastArgsRef = usePrevious(args);
+ useValidation$1({
+ isEnabled: isEnabled,
+ getDraggableRef: getDraggableRef
+ });
+ var getWindow = useMemoOne.useCallback(function () {
+ return getWindowFromEl(getDraggableRef());
+ }, [getDraggableRef]);
+ var canStartCapturing = useMemoOne.useCallback(function (event) {
+ if (!isEnabled) {
+ return false;
}
- var isCapturing = this.isAnySensorCapturing();
-
- if (!isCapturing) {
- return;
+ if (capturingRef.current) {
+ return false;
}
- var isDragStopping = prevProps.isDragging && !this.props.isDragging;
-
- if (isDragStopping) {
- this.sensors.forEach(function (sensor) {
- if (sensor.isCapturing()) {
- sensor.kill();
- }
- });
+ if (!canLift(draggableId)) {
+ return false;
}
- if (this.props.isEnabled) {
- return;
- }
+ return shouldAllowDraggingFromTarget(event, canDragInteractiveElements);
+ }, [canDragInteractiveElements, canLift, draggableId, isEnabled]);
+
+ var _useFocusRetainer = useFocusRetainer(args),
+ onBlur = _useFocusRetainer.onBlur,
+ onFocus = _useFocusRetainer.onFocus;
- this.sensors.forEach(function (sensor) {
- if (!sensor.isCapturing()) {
+ var mouseArgs = useMemoOne.useMemo(function () {
+ return {
+ callbacks: callbacks,
+ getDraggableRef: getDraggableRef,
+ getWindow: getWindow,
+ canStartCapturing: canStartCapturing,
+ onCaptureStart: onCaptureStart,
+ onCaptureEnd: onCaptureEnd,
+ getShouldRespectForcePress: getShouldRespectForcePress
+ };
+ }, [callbacks, getDraggableRef, getWindow, canStartCapturing, onCaptureStart, onCaptureEnd, getShouldRespectForcePress]);
+ var onMouseDown = useMouseSensor(mouseArgs);
+ var keyboardArgs = useMemoOne.useMemo(function () {
+ return {
+ callbacks: callbacks,
+ getDraggableRef: getDraggableRef,
+ getWindow: getWindow,
+ canStartCapturing: canStartCapturing,
+ onCaptureStart: onCaptureStart,
+ onCaptureEnd: onCaptureEnd
+ };
+ }, [callbacks, canStartCapturing, getDraggableRef, getWindow, onCaptureEnd, onCaptureStart]);
+ var onKeyDown = useKeyboardSensor(keyboardArgs);
+ var touchArgs = useMemoOne.useMemo(function () {
+ return {
+ callbacks: callbacks,
+ getDraggableRef: getDraggableRef,
+ getWindow: getWindow,
+ canStartCapturing: canStartCapturing,
+ getShouldRespectForcePress: getShouldRespectForcePress,
+ onCaptureStart: onCaptureStart,
+ onCaptureEnd: onCaptureEnd
+ };
+ }, [callbacks, getDraggableRef, getWindow, canStartCapturing, getShouldRespectForcePress, onCaptureStart, onCaptureEnd]);
+ var onTouchStart = useTouchSensor(touchArgs);
+ useIsomorphicLayoutEffect(function () {
+ return function () {
+ if (!capturingRef.current) {
return;
}
- var wasDragging = sensor.isDragging();
- sensor.kill();
-
- if (wasDragging) {
- if (process.env.NODE_ENV !== 'production') {
- console.warn('You have disabled dragging on a Draggable while it was dragging. The drag has been cancelled');
- }
+ abortCapture();
- _this2.props.callbacks.onCancel();
+ if (lastArgsRef.current.isDragging) {
+ lastArgsRef.current.callbacks.onCancel();
}
- });
- };
+ };
+ }, []);
- _proto.componentWillUnmount = function componentWillUnmount() {
- var _this3 = this;
-
- this.sensors.forEach(function (sensor) {
- var wasDragging = sensor.isDragging();
- sensor.unmount();
+ if (!isEnabled && capturingRef.current) {
+ abortCapture();
- if (wasDragging) {
- _this3.props.callbacks.onCancel();
- }
- });
+ if (lastArgsRef.current.isDragging) {
+ process.env.NODE_ENV !== "production" ? warning('You have disabled dragging on a Draggable while it was dragging. The drag has been cancelled') : void 0;
+ callbacks.onCancel();
+ }
+ }
- var shouldRetainFocus = function () {
- if (!_this3.props.isEnabled) {
- return false;
- }
+ useIsomorphicLayoutEffect(function () {
+ if (!isDragging && capturingRef.current) {
+ abortCapture();
+ }
+ }, [abortCapture, isDragging]);
+ var props = useMemoOne.useMemo(function () {
+ if (!isEnabled) {
+ return null;
+ }
- if (!_this3.isFocused) {
- return false;
- }
+ return {
+ onMouseDown: onMouseDown,
+ onKeyDown: onKeyDown,
+ onTouchStart: onTouchStart,
+ onFocus: onFocus,
+ onBlur: onBlur,
+ tabIndex: 0,
+ 'data-react-beautiful-dnd-drag-handle': styleContext,
+ 'aria-roledescription': 'Draggable item. Press space bar to lift',
+ draggable: false,
+ onDragStart: preventHtml5Dnd
+ };
+ }, [isEnabled, onBlur, onFocus, onKeyDown, onMouseDown, onTouchStart, styleContext]);
+ return props;
+ }
- return _this3.props.isDragging || _this3.props.isDropAnimating;
- }();
+ function getDimension$1(descriptor, el, windowScroll) {
+ if (windowScroll === void 0) {
+ windowScroll = origin;
+ }
- if (shouldRetainFocus) {
- retainer.retain(this.props.draggableId);
- }
+ var computedStyles = window.getComputedStyle(el);
+ var borderBox = el.getBoundingClientRect();
+ var client = cssBoxModel.calculateBox(borderBox, computedStyles);
+ var page = cssBoxModel.withScroll(client, windowScroll);
+ var placeholder = {
+ client: client,
+ tagName: el.tagName.toLowerCase(),
+ display: computedStyles.display
};
-
- _proto.render = function render() {
- var _this$props = this.props,
- children = _this$props.children,
- isEnabled = _this$props.isEnabled;
- return children(this.getProvided(isEnabled));
+ var displaceBy = {
+ x: client.marginBox.width,
+ y: client.marginBox.height
};
-
- return DragHandle;
- }(React.Component);
-
- DragHandle.contextTypes = (_DragHandle$contextTy = {}, _DragHandle$contextTy[styleContextKey] = PropTypes.string.isRequired, _DragHandle$contextTy[canLiftContextKey] = PropTypes.func.isRequired, _DragHandle$contextTy);
-
- var getWindowScroll = (function () {
- return {
- x: window.pageXOffset,
- y: window.pageYOffset
+ var dimension = {
+ descriptor: descriptor,
+ placeholder: placeholder,
+ displaceBy: displaceBy,
+ client: client,
+ page: page
};
- });
+ return dimension;
+ }
- var getViewport = (function () {
- var scroll = getWindowScroll();
- var top = scroll.y;
- var left = scroll.x;
- var doc = document.documentElement;
- !doc ? process.env.NODE_ENV !== "production" ? invariant(false, 'Could not find document.documentElement') : invariant(false) : void 0;
- var width = doc.clientWidth;
- var height = doc.clientHeight;
- var right = left + width;
- var bottom = top + height;
- var frame = cssBoxModel.getRect({
- top: top,
- left: left,
- right: right,
- bottom: bottom
- });
- var maxScroll = getMaxScroll({
- scrollHeight: doc.scrollHeight,
- scrollWidth: doc.scrollWidth,
- width: frame.width,
- height: frame.height
- });
- var viewport = {
- frame: frame,
- scroll: {
- initial: scroll,
- current: scroll,
- max: maxScroll,
- diff: {
- value: origin,
- displacement: origin
- }
+ function useDraggableDimensionPublisher(args) {
+ var draggableId = args.draggableId,
+ index = args.index,
+ getDraggableRef = args.getDraggableRef;
+ var appContext = useRequiredContext(AppContext);
+ var marshal = appContext.marshal;
+ var droppableContext = useRequiredContext(DroppableContext);
+ var droppableId = droppableContext.droppableId,
+ type = droppableContext.type;
+ var descriptor = useMemoOne.useMemo(function () {
+ var result = {
+ id: draggableId,
+ droppableId: droppableId,
+ type: type,
+ index: index
+ };
+ return result;
+ }, [draggableId, droppableId, index, type]);
+ var publishedDescriptorRef = React.useRef(descriptor);
+ var makeDimension = useMemoOne.useCallback(function (windowScroll) {
+ var latest = publishedDescriptorRef.current;
+ var el = getDraggableRef();
+ !el ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;
+ return getDimension$1(latest, el, windowScroll);
+ }, [getDraggableRef]);
+ useIsomorphicLayoutEffect(function () {
+ marshal.registerDraggable(publishedDescriptorRef.current, makeDimension);
+ return function () {
+ return marshal.unregisterDraggable(publishedDescriptorRef.current);
+ };
+ }, [makeDimension, marshal]);
+ useIsomorphicLayoutEffect(function () {
+ if (publishedDescriptorRef.current === descriptor) {
+ return;
}
- };
- return viewport;
- });
-
- var _Draggable$contextTyp;
- var zIndexOptions = {
- dragging: 5000,
- dropAnimating: 4500
- };
-
- var getTranslate = function getTranslate(offset) {
- if (isEqual(offset, origin)) {
- return null;
- }
- return "translate(" + offset.x + "px, " + offset.y + "px)";
- };
+ var previous = publishedDescriptorRef.current;
+ publishedDescriptorRef.current = descriptor;
+ marshal.updateDraggable(previous, descriptor, makeDimension);
+ }, [descriptor, makeDimension, marshal]);
+ }
- var getSpeed$1 = function getSpeed(isDragging, shouldAnimateDragMovement, isDropAnimating) {
- if (isDropAnimating) {
- return 'STANDARD';
- }
+ function checkOwnProps$1(props) {
+ !_Number$isInteger(props.index) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Draggable requires an integer index prop') : invariant(false) : void 0;
+ !props.draggableId ? process.env.NODE_ENV !== "production" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;
+ !(typeof props.isDragDisabled === 'boolean') ? process.env.NODE_ENV !== "production" ? invariant(false, 'isDragDisabled must be a boolean') : invariant(false) : void 0;
+ }
- if (isDragging && shouldAnimateDragMovement) {
- return 'FAST';
+ function checkForOutdatedProps(props) {
+ if (Object.prototype.hasOwnProperty.call(props, 'shouldRespectForceTouch')) {
+ process.env.NODE_ENV !== "production" ? warning('shouldRespectForceTouch has been renamed to shouldRespectForcePress') : void 0;
}
+ }
- return 'INSTANT';
- };
-
- var Draggable = function (_Component) {
- _inheritsLoose(Draggable, _Component);
-
- function Draggable(props, context) {
- var _this;
-
- _this = _Component.call(this, props, context) || this;
- _this.callbacks = void 0;
- _this.styleContext = void 0;
- _this.ref = null;
-
- _this.onMoveEnd = function () {
- if (_this.props.isDropAnimating) {
- _this.props.dropAnimationFinished();
- }
- };
-
- _this.onLift = function (options) {
- start('LIFT');
- var ref = _this.ref;
- !ref ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
- !!_this.props.isDragDisabled ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot lift a Draggable when it is disabled') : invariant(false) : void 0;
- var clientSelection = options.clientSelection,
- autoScrollMode = options.autoScrollMode;
- var _this$props = _this.props,
- lift = _this$props.lift,
- draggableId = _this$props.draggableId;
- var client = {
- selection: clientSelection,
- borderBoxCenter: getBorderBoxCenterPosition(ref),
- offset: origin
- };
- lift({
- id: draggableId,
- client: client,
- autoScrollMode: autoScrollMode,
- viewport: getViewport()
- });
- finish('LIFT');
- };
-
- _this.setRef = function (ref) {
- if (ref === null) {
- return;
- }
-
- if (ref === _this.ref) {
- return;
- }
-
- _this.ref = ref;
- throwIfRefIsInvalid(ref);
- };
+ function useValidation$2(props, getRef) {
+ React.useEffect(function () {
+ if (process.env.NODE_ENV !== 'production') {
+ checkOwnProps$1(props);
+ checkForOutdatedProps(props);
+ checkIsValidInnerRef(getRef());
+ }
+ });
+ }
- _this.getDraggableRef = function () {
- return _this.ref;
+ function Draggable(props) {
+ var ref = React.useRef(null);
+ var setRef = useMemoOne.useCallback(function (el) {
+ ref.current = el;
+ }, []);
+ var getRef = useMemoOne.useCallback(function () {
+ return ref.current;
+ }, []);
+ var appContext = useRequiredContext(AppContext);
+ useValidation$2(props, getRef);
+ var children = props.children,
+ draggableId = props.draggableId,
+ isDragDisabled = props.isDragDisabled,
+ shouldRespectForcePress = props.shouldRespectForcePress,
+ canDragInteractiveElements = props.disableInteractiveElementBlocking,
+ index = props.index,
+ mapped = props.mapped,
+ moveUpAction = props.moveUp,
+ moveAction = props.move,
+ dropAction = props.drop,
+ moveDownAction = props.moveDown,
+ moveRightAction = props.moveRight,
+ moveLeftAction = props.moveLeft,
+ moveByWindowScrollAction = props.moveByWindowScroll,
+ liftAction = props.lift,
+ dropAnimationFinishedAction = props.dropAnimationFinished;
+ var forPublisher = useMemoOne.useMemo(function () {
+ return {
+ draggableId: draggableId,
+ index: index,
+ getDraggableRef: getRef
};
-
- _this.getDraggingStyle = memoizeOne(function (change, dimension, isDropAnimating) {
- var box = dimension.client;
- var style = {
- position: 'fixed',
- top: box.marginBox.top,
- left: box.marginBox.left,
- boxSizing: 'border-box',
- width: box.borderBox.width,
- height: box.borderBox.height,
- transition: 'none',
- zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,
- transform: getTranslate(change),
- pointerEvents: 'none'
- };
- return style;
- });
- _this.getNotDraggingStyle = memoizeOne(function (current, shouldAnimateDisplacement) {
- var style = {
- transform: getTranslate(current),
- transition: shouldAnimateDisplacement ? null : 'none'
- };
- return style;
- });
- _this.getProvided = memoizeOne(function (change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps) {
- var useDraggingStyle = isDragging || isDropAnimating;
-
- var draggableStyle = function () {
- if (!useDraggingStyle) {
- return _this.getNotDraggingStyle(change, shouldAnimateDisplacement);
- }
-
- !dimension ? process.env.NODE_ENV !== "production" ? invariant(false, 'draggable dimension required for dragging') : invariant(false) : void 0;
- return _this.getDraggingStyle(change, dimension, isDropAnimating);
- }();
-
- var provided = {
- innerRef: _this.setRef,
- draggableProps: {
- 'data-react-beautiful-dnd-draggable': _this.styleContext,
- style: draggableStyle
- },
- dragHandleProps: dragHandleProps
- };
- return provided;
- });
- _this.getSnapshot = memoizeOne(function (isDragging, isDropAnimating, draggingOver) {
- return {
- isDragging: isDragging || isDropAnimating,
- isDropAnimating: isDropAnimating,
- draggingOver: draggingOver
- };
+ }, [draggableId, getRef, index]);
+ useDraggableDimensionPublisher(forPublisher);
+ var onLift = useMemoOne.useCallback(function (options) {
+ start('LIFT');
+ var el = ref.current;
+ !el ? process.env.NODE_ENV !== "production" ? invariant(false) : invariant(false) : void 0;
+ !!isDragDisabled ? process.env.NODE_ENV !== "production" ? invariant(false, 'Cannot lift a Draggable when it is disabled') : invariant(false) : void 0;
+ var clientSelection = options.clientSelection,
+ movementMode = options.movementMode;
+ liftAction({
+ id: draggableId,
+ clientSelection: clientSelection,
+ movementMode: movementMode
});
-
- _this.renderChildren = function (change, dragHandleProps) {
- var _this$props2 = _this.props,
- isDragging = _this$props2.isDragging,
- isDropAnimating = _this$props2.isDropAnimating,
- dimension = _this$props2.dimension,
- draggingOver = _this$props2.draggingOver,
- shouldAnimateDisplacement = _this$props2.shouldAnimateDisplacement,
- children = _this$props2.children;
- var child = children(_this.getProvided(change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps), _this.getSnapshot(isDragging, isDropAnimating, draggingOver));
- var isDraggingOrDropping = isDragging || isDropAnimating;
-
- var placeholder = function () {
- if (!isDraggingOrDropping) {
- return null;
- }
-
- !dimension ? process.env.NODE_ENV !== "production" ? invariant(false, 'Draggable: Dimension is required for dragging') : invariant(false) : void 0;
- return React__default.createElement(Placeholder, {
- placeholder: dimension.placeholder
- });
- }();
-
- return React__default.createElement(React.Fragment, null, child, placeholder);
- };
-
- var callbacks = {
- onLift: _this.onLift,
+ finish('LIFT');
+ }, [draggableId, isDragDisabled, liftAction]);
+ var getShouldRespectForcePress = useMemoOne.useCallback(function () {
+ return shouldRespectForcePress;
+ }, [shouldRespectForcePress]);
+ var callbacks = useMemoOne.useMemo(function () {
+ return {
+ onLift: onLift,
onMove: function onMove(clientSelection) {
- return props.move({
- client: clientSelection,
- shouldAnimate: false
+ return moveAction({
+ client: clientSelection
});
},
onDrop: function onDrop() {
- return props.drop({
+ return dropAction({
reason: 'DROP'
});
},
onCancel: function onCancel() {
- return props.drop({
+ return dropAction({
reason: 'CANCEL'
});
},
- onMoveUp: props.moveUp,
- onMoveDown: props.moveDown,
- onMoveRight: props.moveRight,
- onMoveLeft: props.moveLeft,
+ onMoveUp: moveUpAction,
+ onMoveDown: moveDownAction,
+ onMoveRight: moveRightAction,
+ onMoveLeft: moveLeftAction,
onWindowScroll: function onWindowScroll() {
- return props.moveByWindowScroll({
- scroll: getWindowScroll()
+ return moveByWindowScrollAction({
+ newScroll: getWindowScroll()
});
}
};
- _this.callbacks = callbacks;
- _this.styleContext = context[styleContextKey];
- return _this;
- }
-
- var _proto = Draggable.prototype;
-
- _proto.componentWillUnmount = function componentWillUnmount() {
- this.ref = null;
- };
+ }, [dropAction, moveAction, moveByWindowScrollAction, moveDownAction, moveLeftAction, moveRightAction, moveUpAction, onLift]);
+ var isDragging = mapped.type === 'DRAGGING';
+ var isDropAnimating = mapped.type === 'DRAGGING' && Boolean(mapped.dropping);
+ var dragHandleArgs = useMemoOne.useMemo(function () {
+ return {
+ draggableId: draggableId,
+ isDragging: isDragging,
+ isDropAnimating: isDropAnimating,
+ isEnabled: !isDragDisabled,
+ callbacks: callbacks,
+ getDraggableRef: getRef,
+ canDragInteractiveElements: canDragInteractiveElements,
+ getShouldRespectForcePress: getShouldRespectForcePress
+ };
+ }, [callbacks, canDragInteractiveElements, draggableId, getRef, getShouldRespectForcePress, isDragDisabled, isDragging, isDropAnimating]);
+ var dragHandleProps = useDragHandle(dragHandleArgs);
+ var onMoveEnd = useMemoOne.useCallback(function (event) {
+ if (mapped.type !== 'DRAGGING') {
+ return;
+ }
- _proto.render = function render() {
- var _this2 = this;
+ if (!mapped.dropping) {
+ return;
+ }
- var _this$props3 = this.props,
- draggableId = _this$props3.draggableId,
- index = _this$props3.index,
- offset = _this$props3.offset,
- isDragging = _this$props3.isDragging,
- isDropAnimating = _this$props3.isDropAnimating,
- isDragDisabled = _this$props3.isDragDisabled,
- shouldAnimateDragMovement = _this$props3.shouldAnimateDragMovement,
- disableInteractiveElementBlocking = _this$props3.disableInteractiveElementBlocking;
- var droppableId = this.context[droppableIdKey];
- var type = this.context[droppableTypeKey];
- var speed = getSpeed$1(isDragging, shouldAnimateDragMovement, isDropAnimating);
- return React__default.createElement(DraggableDimensionPublisher, {
- key: draggableId,
- draggableId: draggableId,
- droppableId: droppableId,
- type: type,
- index: index,
- getDraggableRef: this.getDraggableRef
- }, React__default.createElement(Moveable, {
- speed: speed,
- destination: offset,
- onMoveEnd: this.onMoveEnd
- }, function (change) {
- return React__default.createElement(DragHandle, {
- draggableId: draggableId,
- isDragging: isDragging,
- isDropAnimating: isDropAnimating,
- isEnabled: !isDragDisabled,
- callbacks: _this2.callbacks,
- getDraggableRef: _this2.getDraggableRef,
- canDragInteractiveElements: disableInteractiveElementBlocking
- }, function (dragHandleProps) {
- return _this2.renderChildren(change, dragHandleProps);
- });
- }));
- };
+ if (event.propertyName !== 'transform') {
+ return;
+ }
- return Draggable;
- }(React.Component);
+ dropAnimationFinishedAction();
+ }, [dropAnimationFinishedAction, mapped]);
+ var provided = useMemoOne.useMemo(function () {
+ var style = getStyle$1(mapped);
+ var onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : null;
+ var result = {
+ innerRef: setRef,
+ draggableProps: {
+ 'data-react-beautiful-dnd-draggable': appContext.style,
+ style: style,
+ onTransitionEnd: onTransitionEnd
+ },
+ dragHandleProps: dragHandleProps
+ };
+ return result;
+ }, [appContext.style, dragHandleProps, mapped, onMoveEnd, setRef]);
+ return children(provided, mapped.snapshot);
+ }
- Draggable.contextTypes = (_Draggable$contextTyp = {}, _Draggable$contextTyp[droppableIdKey] = PropTypes.string.isRequired, _Draggable$contextTyp[droppableTypeKey] = PropTypes.string.isRequired, _Draggable$contextTyp[styleContextKey] = PropTypes.string.isRequired, _Draggable$contextTyp);
+ var getCombineWithFromResult = function getCombineWithFromResult(result) {
+ return result.combine ? result.combine.draggableId : null;
+ };
- var defaultMapProps = {
- isDropAnimating: false,
- isDragging: false,
- offset: origin,
- shouldAnimateDragMovement: false,
- shouldAnimateDisplacement: true,
- dimension: null,
- draggingOver: null
+ var getCombineWithFromImpact = function getCombineWithFromImpact(impact) {
+ return impact.merge ? impact.merge.combine.draggableId : null;
};
+
var makeMapStateToProps$1 = function makeMapStateToProps() {
+ var getDraggingSnapshot = memoizeOne(function (mode, draggingOver, combineWith, dropping) {
+ return {
+ isDragging: true,
+ isDropAnimating: Boolean(dropping),
+ dropAnimation: dropping,
+ mode: mode,
+ draggingOver: draggingOver,
+ combineWith: combineWith,
+ combineTargetFor: null
+ };
+ });
+ var getSecondarySnapshot = memoizeOne(function (combineTargetFor) {
+ return {
+ isDragging: false,
+ isDropAnimating: false,
+ dropAnimation: null,
+ mode: null,
+ draggingOver: null,
+ combineTargetFor: combineTargetFor,
+ combineWith: null
+ };
+ });
+ var defaultMapProps = {
+ mapped: {
+ type: 'SECONDARY',
+ offset: origin,
+ combineTargetFor: null,
+ shouldAnimateDisplacement: true,
+ snapshot: getSecondarySnapshot(null)
+ }
+ };
var memoizedOffset = memoizeOne(function (x, y) {
return {
x: x,
y: y
};
});
- var getNotDraggingProps = memoizeOne(function (offset, shouldAnimateDisplacement) {
+ var getDraggingProps = memoizeOne(function (offset, mode, dimension, draggingOver, combineWith, forceShouldAnimate) {
return {
- isDropAnimating: false,
- isDragging: false,
- offset: offset,
- shouldAnimateDisplacement: shouldAnimateDisplacement,
- shouldAnimateDragMovement: false,
- dimension: null,
- draggingOver: null
+ mapped: {
+ type: 'DRAGGING',
+ dropping: null,
+ draggingOver: draggingOver,
+ combineWith: combineWith,
+ mode: mode,
+ offset: offset,
+ dimension: dimension,
+ forceShouldAnimate: forceShouldAnimate,
+ snapshot: getDraggingSnapshot(mode, draggingOver, combineWith, null)
+ }
};
});
- var getDraggingProps = memoizeOne(function (offset, shouldAnimateDragMovement, dimension, draggingOver) {
+ var getSecondaryProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {
+ if (combineTargetFor === void 0) {
+ combineTargetFor = null;
+ }
+
return {
- isDragging: true,
- isDropAnimating: false,
- shouldAnimateDisplacement: false,
- offset: offset,
- shouldAnimateDragMovement: shouldAnimateDragMovement,
- dimension: dimension,
- draggingOver: draggingOver
+ mapped: {
+ type: 'SECONDARY',
+ offset: offset,
+ combineTargetFor: combineTargetFor,
+ shouldAnimateDisplacement: shouldAnimateDisplacement,
+ snapshot: getSecondarySnapshot(combineTargetFor)
+ }
};
});
- var getOutOfTheWayMovement = function getOutOfTheWayMovement(id, movement) {
- var map = getDisplacementMap(movement.displaced);
- var displacement = map[id];
+ var getSecondaryMovement = function getSecondaryMovement(ownId, draggingId, impact) {
+ var map = impact.movement.map;
+ var displacement = map[ownId];
+ var movement = impact.movement;
+ var merge = impact.merge;
+ var isCombinedWith = Boolean(merge && merge.combine.draggableId === ownId);
+ var displacedBy = movement.displacedBy.point;
+ var offset = memoizedOffset(displacedBy.x, displacedBy.y);
+
+ if (isCombinedWith) {
+ return getSecondaryProps(displacement ? offset : origin, draggingId, displacement ? displacement.shouldAnimate : true);
+ }
if (!displacement) {
return null;
@@ -22796,8 +24432,7 @@
return null;
}
- var amount = movement.isBeyondStartPosition ? negate(movement.amount) : movement.amount;
- return getNotDraggingProps(memoizedOffset(amount.x, amount.y), displacement.shouldAnimate);
+ return getSecondaryProps(offset, null, displacement.shouldAnimate);
};
var draggingSelector = function draggingSelector(state, ownProps) {
@@ -22808,73 +24443,83 @@
var offset = state.current.client.offset;
var dimension = state.dimensions.draggables[ownProps.draggableId];
- var shouldAnimateDragMovement = state.shouldAnimate;
- var draggingOver = state.impact.destination ? state.impact.destination.droppableId : null;
- return getDraggingProps(memoizedOffset(offset.x, offset.y), shouldAnimateDragMovement, dimension, draggingOver);
+ var mode = state.movementMode;
+ var draggingOver = whatIsDraggedOver(state.impact);
+ var combineWith = getCombineWithFromImpact(state.impact);
+ var forceShouldAnimate = state.forceShouldAnimate;
+ return getDraggingProps(memoizedOffset(offset.x, offset.y), mode, dimension, draggingOver, combineWith, forceShouldAnimate);
}
if (state.phase === 'DROP_ANIMATING') {
- var pending = state.pending;
+ var completed = state.completed;
- if (pending.result.draggableId !== ownProps.draggableId) {
+ if (completed.result.draggableId !== ownProps.draggableId) {
return null;
}
- var _draggingOver = pending.result.destination ? pending.result.destination.droppableId : null;
+ var _dimension = state.dimensions.draggables[ownProps.draggableId];
+ var result = completed.result;
+ var _mode = result.mode;
+
+ var _draggingOver = whatIsDraggedOverFromResult(result);
+ var _combineWith = getCombineWithFromResult(result);
+
+ var duration = state.dropDuration;
+ var dropping = {
+ duration: duration,
+ curve: curves.drop,
+ moveTo: state.newHomeClientOffset,
+ opacity: _combineWith ? combine.opacity.drop : null,
+ scale: _combineWith ? combine.scale.drop : null
+ };
return {
- isDragging: false,
- isDropAnimating: true,
- offset: pending.newHomeOffset,
- dimension: state.dimensions.draggables[ownProps.draggableId],
- draggingOver: _draggingOver,
- shouldAnimateDragMovement: false,
- shouldAnimateDisplacement: false
+ mapped: {
+ type: 'DRAGGING',
+ offset: state.newHomeClientOffset,
+ dimension: _dimension,
+ dropping: dropping,
+ draggingOver: _draggingOver,
+ combineWith: _combineWith,
+ mode: _mode,
+ forceShouldAnimate: null,
+ snapshot: getDraggingSnapshot(_mode, _draggingOver, _combineWith, dropping)
+ }
};
}
return null;
};
- var movingOutOfTheWaySelector = function movingOutOfTheWaySelector(state, ownProps) {
+ var secondarySelector = function secondarySelector(state, ownProps) {
if (state.isDragging) {
if (state.critical.draggable.id === ownProps.draggableId) {
return null;
}
- return getOutOfTheWayMovement(ownProps.draggableId, state.impact.movement);
+ return getSecondaryMovement(ownProps.draggableId, state.critical.draggable.id, state.impact);
}
if (state.phase === 'DROP_ANIMATING') {
- if (state.pending.result.draggableId === ownProps.draggableId) {
+ var completed = state.completed;
+
+ if (completed.result.draggableId === ownProps.draggableId) {
return null;
}
- return getOutOfTheWayMovement(ownProps.draggableId, state.pending.impact.movement);
+ return getSecondaryMovement(ownProps.draggableId, completed.result.draggableId, completed.impact);
}
return null;
};
var selector = function selector(state, ownProps) {
- var dragging = draggingSelector(state, ownProps);
-
- if (dragging) {
- return dragging;
- }
-
- var movingOutOfTheWay = movingOutOfTheWaySelector(state, ownProps);
-
- if (movingOutOfTheWay) {
- return movingOutOfTheWay;
- }
-
- return defaultMapProps;
+ return draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || defaultMapProps;
};
return selector;
};
- var mapDispatchToProps = {
+ var mapDispatchToProps$1 = {
lift: lift,
move: move,
moveUp: moveUp,
@@ -22885,19 +24530,21 @@
drop: drop,
dropAnimationFinished: dropAnimationFinished
};
- var ConnectedDraggable = reactRedux.connect(makeMapStateToProps$1, mapDispatchToProps, null, {
- storeKey: storeKey,
+ var defaultProps$1 = {
+ isDragDisabled: false,
+ disableInteractiveElementBlocking: false,
+ shouldRespectForcePress: false
+ };
+ var ConnectedDraggable = reactRedux.connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {
+ context: StoreContext,
pure: true,
areStatePropsEqual: isStrictEqual
})(Draggable);
- ConnectedDraggable.defaultProps = {
- isDragDisabled: false,
- disableInteractiveElementBlocking: false
- };
+ ConnectedDraggable.defaultProps = defaultProps$1;
exports.DragDropContext = DragDropContext;
- exports.Droppable = connectedDroppable;
exports.Draggable = ConnectedDraggable;
+ exports.Droppable = ConnectedDroppable;
exports.resetServerContext = resetServerContext;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
@@ -23247,1313 +24894,309 @@
var aLen = arguments.length;
var index = 1;
var getSymbols = gOPS.f;
- var isEnum = pIE.f;
- while (aLen > index) {
- var S = IObject(arguments[index++]);
- var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
- var length = keys.length;
- var j = 0;
- var key;
- while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
- } return T;
- } : $assign;
-
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
- var $keys = __webpack_require__(182);
- var enumBugKeys = __webpack_require__(195);
-
- module.exports = Object.keys || function keys(O) {
- return $keys(O, enumBugKeys);
- };
-
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var has = __webpack_require__(179);
- var toIObject = __webpack_require__(183);
- var arrayIndexOf = __webpack_require__(187)(false);
- var IE_PROTO = __webpack_require__(191)('IE_PROTO');
-
- module.exports = function (object, names) {
- var O = toIObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
- // Don't enum bug & hidden keys
- while (names.length > i) if (has(O, key = names[i++])) {
- ~arrayIndexOf(result, key) || result.push(key);
- }
- return result;
- };
-
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // to indexed object, toObject with fallback for non-array-like ES3 strings
- var IObject = __webpack_require__(184);
- var defined = __webpack_require__(186);
- module.exports = function (it) {
- return IObject(defined(it));
- };
-
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // fallback for non-array-like ES3 and non-enumerable old V8 strings
- var cof = __webpack_require__(185);
- // eslint-disable-next-line no-prototype-builtins
- module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
- return cof(it) == 'String' ? it.split('') : Object(it);
- };
-
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports) {
-
- var toString = {}.toString;
-
- module.exports = function (it) {
- return toString.call(it).slice(8, -1);
- };
-
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports) {
-
- // 7.2.1 RequireObjectCoercible(argument)
- module.exports = function (it) {
- if (it == undefined) throw TypeError("Can't call method on " + it);
- return it;
- };
-
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // false -> Array#indexOf
- // true -> Array#includes
- var toIObject = __webpack_require__(183);
- var toLength = __webpack_require__(188);
- var toAbsoluteIndex = __webpack_require__(190);
- module.exports = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIObject($this);
- var length = toLength(O.length);
- var index = toAbsoluteIndex(fromIndex, length);
- var value;
- // Array#includes uses SameValueZero equality algorithm
- // eslint-disable-next-line no-self-compare
- if (IS_INCLUDES && el != el) while (length > index) {
- value = O[index++];
- // eslint-disable-next-line no-self-compare
- if (value != value) return true;
- // Array#indexOf ignores holes, Array#includes - not
- } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
- if (O[index] === el) return IS_INCLUDES || index || 0;
- } return !IS_INCLUDES && -1;
- };
- };
-
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 7.1.15 ToLength
- var toInteger = __webpack_require__(189);
- var min = Math.min;
- module.exports = function (it) {
- return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
- };
-
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports) {
-
- // 7.1.4 ToInteger
- var ceil = Math.ceil;
- var floor = Math.floor;
- module.exports = function (it) {
- return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
- };
-
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var toInteger = __webpack_require__(189);
- var max = Math.max;
- var min = Math.min;
- module.exports = function (index, length) {
- index = toInteger(index);
- return index < 0 ? max(index + length, 0) : min(index, length);
- };
-
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var shared = __webpack_require__(192)('keys');
- var uid = __webpack_require__(194);
- module.exports = function (key) {
- return shared[key] || (shared[key] = uid(key));
- };
-
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __webpack_require__) {
-
- var core = __webpack_require__(166);
- var global = __webpack_require__(165);
- var SHARED = '__core-js_shared__';
- var store = global[SHARED] || (global[SHARED] = {});
-
- (module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
- })('versions', []).push({
- version: core.version,
- mode: __webpack_require__(193) ? 'pure' : 'global',
- copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
- });
-
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports) {
-
- module.exports = true;
-
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports) {
-
- var id = 0;
- var px = Math.random();
- module.exports = function (key) {
- return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
- };
-
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports) {
-
- // IE 8- don't enum bug keys
- module.exports = (
- 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
- ).split(',');
-
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports) {
-
- exports.f = Object.getOwnPropertySymbols;
-
-
-/***/ }),
-/* 197 */
-/***/ (function(module, exports) {
-
- exports.f = {}.propertyIsEnumerable;
-
-
-/***/ }),
-/* 198 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 7.1.13 ToObject(argument)
- var defined = __webpack_require__(186);
- module.exports = function (it) {
- return Object(defined(it));
- };
-
-
-/***/ }),
-/* 199 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {'use strict';
-
- var isProduction = process.env.NODE_ENV === 'production';
- var prefix = 'Invariant failed';
- function invariant(condition, message) {
- if (condition) {
- return;
- }
-
- if (isProduction) {
- throw new Error(prefix);
- } else {
- throw new Error(prefix + ": " + (message || ''));
- }
- }
-
- module.exports = invariant;
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 200 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {'use strict';
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
-
- var invariant = _interopDefault(__webpack_require__(199));
-
- var getRect = function getRect(_ref) {
- var top = _ref.top,
- right = _ref.right,
- bottom = _ref.bottom,
- left = _ref.left;
- var width = right - left;
- var height = bottom - top;
- var rect = {
- top: top,
- right: right,
- bottom: bottom,
- left: left,
- width: width,
- height: height,
- x: left,
- y: top,
- center: {
- x: (right + left) / 2,
- y: (bottom + top) / 2
- }
- };
- return rect;
- };
- var expand = function expand(target, expandBy) {
- return {
- top: target.top - expandBy.top,
- left: target.left - expandBy.left,
- bottom: target.bottom + expandBy.bottom,
- right: target.right + expandBy.right
- };
- };
- var shrink = function shrink(target, shrinkBy) {
- return {
- top: target.top + shrinkBy.top,
- left: target.left + shrinkBy.left,
- bottom: target.bottom - shrinkBy.bottom,
- right: target.right - shrinkBy.right
- };
- };
-
- var shift = function shift(target, shiftBy) {
- return {
- top: target.top + shiftBy.y,
- left: target.left + shiftBy.x,
- bottom: target.bottom + shiftBy.y,
- right: target.right + shiftBy.x
- };
- };
-
- var noSpacing = {
- top: 0,
- right: 0,
- bottom: 0,
- left: 0
- };
- var createBox = function createBox(_ref2) {
- var borderBox = _ref2.borderBox,
- _ref2$margin = _ref2.margin,
- margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,
- _ref2$border = _ref2.border,
- border = _ref2$border === void 0 ? noSpacing : _ref2$border,
- _ref2$padding = _ref2.padding,
- padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
- var marginBox = getRect(expand(borderBox, margin));
- var paddingBox = getRect(shrink(borderBox, border));
- var contentBox = getRect(shrink(paddingBox, padding));
- return {
- marginBox: marginBox,
- borderBox: getRect(borderBox),
- paddingBox: paddingBox,
- contentBox: contentBox,
- margin: margin,
- border: border,
- padding: padding
- };
- };
-
- var parse = function parse(raw) {
- var value = raw.slice(0, -2);
- var suffix = raw.slice(-2);
- !(suffix === 'px') ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected value to be a pixel value.\n Expected form: 10px\n Actual value: " + raw + "\n ") : invariant(false) : void 0;
- var result = Number(value);
- !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
- return result;
- };
-
- var getWindowScroll = function getWindowScroll() {
- return {
- x: window.pageXOffset,
- y: window.pageYOffset
- };
- };
-
- var offset = function offset(original, change) {
- var borderBox = original.borderBox,
- border = original.border,
- margin = original.margin,
- padding = original.padding;
- var shifted = shift(borderBox, change);
- return createBox({
- borderBox: shifted,
- border: border,
- margin: margin,
- padding: padding
- });
- };
- var withScroll = function withScroll(original, scroll) {
- if (scroll === void 0) {
- scroll = getWindowScroll();
- }
-
- return offset(original, scroll);
- };
- var calculateBox = function calculateBox(borderBox, styles) {
- var margin = {
- top: parse(styles.marginTop),
- right: parse(styles.marginRight),
- bottom: parse(styles.marginBottom),
- left: parse(styles.marginLeft)
- };
- var padding = {
- top: parse(styles.paddingTop),
- right: parse(styles.paddingRight),
- bottom: parse(styles.paddingBottom),
- left: parse(styles.paddingLeft)
- };
- var border = {
- top: parse(styles.borderTopWidth),
- right: parse(styles.borderRightWidth),
- bottom: parse(styles.borderBottomWidth),
- left: parse(styles.borderLeftWidth)
- };
- return createBox({
- borderBox: borderBox,
- margin: margin,
- padding: padding,
- border: border
- });
- };
- var getBox = function getBox(el) {
- var borderBox = el.getBoundingClientRect();
- var styles = window.getComputedStyle(el);
- return calculateBox(borderBox, styles);
- };
-
- exports.getRect = getRect;
- exports.expand = expand;
- exports.shrink = shrink;
- exports.createBox = createBox;
- exports.offset = offset;
- exports.withScroll = withScroll;
- exports.calculateBox = calculateBox;
- exports.getBox = getBox;
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 201 */
-/***/ (function(module, exports, __webpack_require__) {
-
- module.exports = __webpack_require__(202);
-
-/***/ }),
-/* 202 */
-/***/ (function(module, exports, __webpack_require__) {
-
- __webpack_require__(203);
- module.exports = __webpack_require__(166).Object.keys;
-
-
-/***/ }),
-/* 203 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // 19.1.2.14 Object.keys(O)
- var toObject = __webpack_require__(198);
- var $keys = __webpack_require__(181);
-
- __webpack_require__(204)('keys', function () {
- return function keys(it) {
- return $keys(toObject(it));
- };
- });
-
-
-/***/ }),
-/* 204 */
-/***/ (function(module, exports, __webpack_require__) {
-
- // most Object methods by ES6 should accept primitives
- var $export = __webpack_require__(164);
- var core = __webpack_require__(166);
- var fails = __webpack_require__(175);
- module.exports = function (KEY, exec) {
- var fn = (core.Object || {})[KEY] || Object[KEY];
- var exp = {};
- exp[KEY] = exec(fn);
- $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
- };
-
-
-/***/ }),
-/* 205 */
-/***/ (function(module, exports) {
-
- 'use strict';
-
- var simpleIsEqual = function simpleIsEqual(a, b) {
- return a === b;
- };
-
- function index (resultFn, isEqual) {
- if (isEqual === void 0) {
- isEqual = simpleIsEqual;
- }
-
- var lastThis;
- var lastArgs = [];
- var lastResult;
- var calledOnce = false;
-
- var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {
- return isEqual(newArg, lastArgs[index]);
- };
-
- var result = function result() {
- for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {
- newArgs[_key] = arguments[_key];
- }
-
- if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {
- return lastResult;
- }
-
- lastResult = resultFn.apply(this, newArgs);
- calledOnce = true;
- lastThis = this;
- lastArgs = newArgs;
- return lastResult;
- };
-
- return result;
- }
-
- module.exports = index;
-
-
-/***/ }),
-/* 206 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {'use strict';
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
-
- var $$observable = _interopDefault(__webpack_require__(207));
-
- /**
- * These are private action types reserved by Redux.
- * For any unknown actions, you must return the current state.
- * If the current state is undefined, you must return the initial state.
- * Do not reference these action types directly in your code.
- */
- var randomString = function randomString() {
- return Math.random().toString(36).substring(7).split('').join('.');
- };
-
- var ActionTypes = {
- INIT: "@@redux/INIT" + randomString(),
- REPLACE: "@@redux/REPLACE" + randomString(),
- PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
- return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
- }
- };
-
- /**
- * @param {any} obj The object to inspect.
- * @returns {boolean} True if the argument appears to be a plain object.
- */
- function isPlainObject(obj) {
- if (typeof obj !== 'object' || obj === null) return false;
- var proto = obj;
-
- while (Object.getPrototypeOf(proto) !== null) {
- proto = Object.getPrototypeOf(proto);
- }
-
- return Object.getPrototypeOf(obj) === proto;
- }
-
- /**
- * Creates a Redux store that holds the state tree.
- * The only way to change the data in the store is to call `dispatch()` on it.
- *
- * There should only be a single store in your app. To specify how different
- * parts of the state tree respond to actions, you may combine several reducers
- * into a single reducer function by using `combineReducers`.
- *
- * @param {Function} reducer A function that returns the next state tree, given
- * the current state tree and the action to handle.
- *
- * @param {any} [preloadedState] The initial state. You may optionally specify it
- * to hydrate the state from the server in universal apps, or to restore a
- * previously serialized user session.
- * If you use `combineReducers` to produce the root reducer function, this must be
- * an object with the same shape as `combineReducers` keys.
- *
- * @param {Function} [enhancer] The store enhancer. You may optionally specify it
- * to enhance the store with third-party capabilities such as middleware,
- * time travel, persistence, etc. The only store enhancer that ships with Redux
- * is `applyMiddleware()`.
- *
- * @returns {Store} A Redux store that lets you read the state, dispatch actions
- * and subscribe to changes.
- */
-
- function createStore(reducer, preloadedState, enhancer) {
- var _ref2;
-
- if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
- throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');
- }
-
- if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
- enhancer = preloadedState;
- preloadedState = undefined;
- }
-
- if (typeof enhancer !== 'undefined') {
- if (typeof enhancer !== 'function') {
- throw new Error('Expected the enhancer to be a function.');
- }
-
- return enhancer(createStore)(reducer, preloadedState);
- }
-
- if (typeof reducer !== 'function') {
- throw new Error('Expected the reducer to be a function.');
- }
-
- var currentReducer = reducer;
- var currentState = preloadedState;
- var currentListeners = [];
- var nextListeners = currentListeners;
- var isDispatching = false;
-
- function ensureCanMutateNextListeners() {
- if (nextListeners === currentListeners) {
- nextListeners = currentListeners.slice();
- }
- }
- /**
- * Reads the state tree managed by the store.
- *
- * @returns {any} The current state tree of your application.
- */
-
-
- function getState() {
- if (isDispatching) {
- throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');
- }
-
- return currentState;
- }
- /**
- * Adds a change listener. It will be called any time an action is dispatched,
- * and some part of the state tree may potentially have changed. You may then
- * call `getState()` to read the current state tree inside the callback.
- *
- * You may call `dispatch()` from a change listener, with the following
- * caveats:
- *
- * 1. The subscriptions are snapshotted just before every `dispatch()` call.
- * If you subscribe or unsubscribe while the listeners are being invoked, this
- * will not have any effect on the `dispatch()` that is currently in progress.
- * However, the next `dispatch()` call, whether nested or not, will use a more
- * recent snapshot of the subscription list.
- *
- * 2. The listener should not expect to see all state changes, as the state
- * might have been updated multiple times during a nested `dispatch()` before
- * the listener is called. It is, however, guaranteed that all subscribers
- * registered before the `dispatch()` started will be called with the latest
- * state by the time it exits.
- *
- * @param {Function} listener A callback to be invoked on every dispatch.
- * @returns {Function} A function to remove this change listener.
- */
-
-
- function subscribe(listener) {
- if (typeof listener !== 'function') {
- throw new Error('Expected the listener to be a function.');
- }
-
- if (isDispatching) {
- throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
- }
-
- var isSubscribed = true;
- ensureCanMutateNextListeners();
- nextListeners.push(listener);
- return function unsubscribe() {
- if (!isSubscribed) {
- return;
- }
-
- if (isDispatching) {
- throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
- }
-
- isSubscribed = false;
- ensureCanMutateNextListeners();
- var index = nextListeners.indexOf(listener);
- nextListeners.splice(index, 1);
- };
- }
- /**
- * Dispatches an action. It is the only way to trigger a state change.
- *
- * The `reducer` function, used to create the store, will be called with the
- * current state tree and the given `action`. Its return value will
- * be considered the **next** state of the tree, and the change listeners
- * will be notified.
- *
- * The base implementation only supports plain object actions. If you want to
- * dispatch a Promise, an Observable, a thunk, or something else, you need to
- * wrap your store creating function into the corresponding middleware. For
- * example, see the documentation for the `redux-thunk` package. Even the
- * middleware will eventually dispatch plain object actions using this method.
- *
- * @param {Object} action A plain object representing “what changed”. It is
- * a good idea to keep actions serializable so you can record and replay user
- * sessions, or use the time travelling `redux-devtools`. An action must have
- * a `type` property which may not be `undefined`. It is a good idea to use
- * string constants for action types.
- *
- * @returns {Object} For convenience, the same action object you dispatched.
- *
- * Note that, if you use a custom middleware, it may wrap `dispatch()` to
- * return something else (for example, a Promise you can await).
- */
-
-
- function dispatch(action) {
- if (!isPlainObject(action)) {
- throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
- }
-
- if (typeof action.type === 'undefined') {
- throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
- }
-
- if (isDispatching) {
- throw new Error('Reducers may not dispatch actions.');
- }
-
- try {
- isDispatching = true;
- currentState = currentReducer(currentState, action);
- } finally {
- isDispatching = false;
- }
-
- var listeners = currentListeners = nextListeners;
-
- for (var i = 0; i < listeners.length; i++) {
- var listener = listeners[i];
- listener();
- }
-
- return action;
- }
- /**
- * Replaces the reducer currently used by the store to calculate the state.
- *
- * You might need this if your app implements code splitting and you want to
- * load some of the reducers dynamically. You might also need this if you
- * implement a hot reloading mechanism for Redux.
- *
- * @param {Function} nextReducer The reducer for the store to use instead.
- * @returns {void}
- */
-
-
- function replaceReducer(nextReducer) {
- if (typeof nextReducer !== 'function') {
- throw new Error('Expected the nextReducer to be a function.');
- }
-
- currentReducer = nextReducer;
- dispatch({
- type: ActionTypes.REPLACE
- });
- }
- /**
- * Interoperability point for observable/reactive libraries.
- * @returns {observable} A minimal observable of state changes.
- * For more information, see the observable proposal:
- * https://github.com/tc39/proposal-observable
- */
-
-
- function observable() {
- var _ref;
-
- var outerSubscribe = subscribe;
- return _ref = {
- /**
- * The minimal observable subscription method.
- * @param {Object} observer Any object that can be used as an observer.
- * The observer object should have a `next` method.
- * @returns {subscription} An object with an `unsubscribe` method that can
- * be used to unsubscribe the observable from the store, and prevent further
- * emission of values from the observable.
- */
- subscribe: function subscribe(observer) {
- if (typeof observer !== 'object' || observer === null) {
- throw new TypeError('Expected the observer to be an object.');
- }
-
- function observeState() {
- if (observer.next) {
- observer.next(getState());
- }
- }
-
- observeState();
- var unsubscribe = outerSubscribe(observeState);
- return {
- unsubscribe: unsubscribe
- };
- }
- }, _ref[$$observable] = function () {
- return this;
- }, _ref;
- } // When a store is created, an "INIT" action is dispatched so that every
- // reducer returns their initial state. This effectively populates
- // the initial state tree.
-
-
- dispatch({
- type: ActionTypes.INIT
- });
- return _ref2 = {
- dispatch: dispatch,
- subscribe: subscribe,
- getState: getState,
- replaceReducer: replaceReducer
- }, _ref2[$$observable] = observable, _ref2;
- }
-
- /**
- * Prints a warning in the console if it exists.
- *
- * @param {String} message The warning message.
- * @returns {void}
- */
- function warning(message) {
- /* eslint-disable no-console */
- if (typeof console !== 'undefined' && typeof console.error === 'function') {
- console.error(message);
- }
- /* eslint-enable no-console */
-
-
- try {
- // This error was thrown as a convenience so that if you enable
- // "break on all exceptions" in your console,
- // it would pause the execution at this line.
- throw new Error(message);
- } catch (e) {} // eslint-disable-line no-empty
-
- }
-
- function getUndefinedStateErrorMessage(key, action) {
- var actionType = action && action.type;
- var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
- return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
- }
-
- function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
- var reducerKeys = Object.keys(reducers);
- var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
-
- if (reducerKeys.length === 0) {
- return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
- }
-
- if (!isPlainObject(inputState)) {
- return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
- }
-
- var unexpectedKeys = Object.keys(inputState).filter(function (key) {
- return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
- });
- unexpectedKeys.forEach(function (key) {
- unexpectedKeyCache[key] = true;
- });
- if (action && action.type === ActionTypes.REPLACE) return;
-
- if (unexpectedKeys.length > 0) {
- return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored.");
- }
- }
-
- function assertReducerShape(reducers) {
- Object.keys(reducers).forEach(function (key) {
- var reducer = reducers[key];
- var initialState = reducer(undefined, {
- type: ActionTypes.INIT
- });
-
- if (typeof initialState === 'undefined') {
- throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
- }
-
- if (typeof reducer(undefined, {
- type: ActionTypes.PROBE_UNKNOWN_ACTION()
- }) === 'undefined') {
- throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
- }
- });
- }
- /**
- * Turns an object whose values are different reducer functions, into a single
- * reducer function. It will call every child reducer, and gather their results
- * into a single state object, whose keys correspond to the keys of the passed
- * reducer functions.
- *
- * @param {Object} reducers An object whose values correspond to different
- * reducer functions that need to be combined into one. One handy way to obtain
- * it is to use ES6 `import * as reducers` syntax. The reducers may never return
- * undefined for any action. Instead, they should return their initial state
- * if the state passed to them was undefined, and the current state for any
- * unrecognized action.
- *
- * @returns {Function} A reducer function that invokes every reducer inside the
- * passed object, and builds a state object with the same shape.
- */
-
-
- function combineReducers(reducers) {
- var reducerKeys = Object.keys(reducers);
- var finalReducers = {};
-
- for (var i = 0; i < reducerKeys.length; i++) {
- var key = reducerKeys[i];
-
- if (process.env.NODE_ENV !== 'production') {
- if (typeof reducers[key] === 'undefined') {
- warning("No reducer provided for key \"" + key + "\"");
- }
- }
-
- if (typeof reducers[key] === 'function') {
- finalReducers[key] = reducers[key];
- }
- }
-
- var finalReducerKeys = Object.keys(finalReducers);
- var unexpectedKeyCache;
-
- if (process.env.NODE_ENV !== 'production') {
- unexpectedKeyCache = {};
- }
-
- var shapeAssertionError;
-
- try {
- assertReducerShape(finalReducers);
- } catch (e) {
- shapeAssertionError = e;
- }
-
- return function combination(state, action) {
- if (state === void 0) {
- state = {};
- }
-
- if (shapeAssertionError) {
- throw shapeAssertionError;
- }
-
- if (process.env.NODE_ENV !== 'production') {
- var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
-
- if (warningMessage) {
- warning(warningMessage);
- }
- }
-
- var hasChanged = false;
- var nextState = {};
-
- for (var _i = 0; _i < finalReducerKeys.length; _i++) {
- var _key = finalReducerKeys[_i];
- var reducer = finalReducers[_key];
- var previousStateForKey = state[_key];
- var nextStateForKey = reducer(previousStateForKey, action);
-
- if (typeof nextStateForKey === 'undefined') {
- var errorMessage = getUndefinedStateErrorMessage(_key, action);
- throw new Error(errorMessage);
- }
-
- nextState[_key] = nextStateForKey;
- hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
- }
-
- return hasChanged ? nextState : state;
- };
- }
-
- function bindActionCreator(actionCreator, dispatch) {
- return function () {
- return dispatch(actionCreator.apply(this, arguments));
- };
- }
- /**
- * Turns an object whose values are action creators, into an object with the
- * same keys, but with every function wrapped into a `dispatch` call so they
- * may be invoked directly. This is just a convenience method, as you can call
- * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
- *
- * For convenience, you can also pass a single function as the first argument,
- * and get a function in return.
- *
- * @param {Function|Object} actionCreators An object whose values are action
- * creator functions. One handy way to obtain it is to use ES6 `import * as`
- * syntax. You may also pass a single function.
- *
- * @param {Function} dispatch The `dispatch` function available on your Redux
- * store.
- *
- * @returns {Function|Object} The object mimicking the original object, but with
- * every action creator wrapped into the `dispatch` call. If you passed a
- * function as `actionCreators`, the return value will also be a single
- * function.
- */
-
-
- function bindActionCreators(actionCreators, dispatch) {
- if (typeof actionCreators === 'function') {
- return bindActionCreator(actionCreators, dispatch);
- }
-
- if (typeof actionCreators !== 'object' || actionCreators === null) {
- throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
- }
-
- var keys = Object.keys(actionCreators);
- var boundActionCreators = {};
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- var actionCreator = actionCreators[key];
-
- if (typeof actionCreator === 'function') {
- boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
- }
- }
-
- return boundActionCreators;
- }
-
- function _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;
- }
-
- function _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;
- }
-
- /**
- * Composes single-argument functions from right to left. The rightmost
- * function can take multiple arguments as it provides the signature for
- * the resulting composite function.
- *
- * @param {...Function} funcs The functions to compose.
- * @returns {Function} A function obtained by composing the argument functions
- * from right to left. For example, compose(f, g, h) is identical to doing
- * (...args) => f(g(h(...args))).
- */
- function compose() {
- for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
- funcs[_key] = arguments[_key];
- }
-
- if (funcs.length === 0) {
- return function (arg) {
- return arg;
- };
- }
-
- if (funcs.length === 1) {
- return funcs[0];
- }
-
- return funcs.reduce(function (a, b) {
- return function () {
- return a(b.apply(void 0, arguments));
- };
- });
- }
-
- /**
- * Creates a store enhancer that applies middleware to the dispatch method
- * of the Redux store. This is handy for a variety of tasks, such as expressing
- * asynchronous actions in a concise manner, or logging every action payload.
- *
- * See `redux-thunk` package as an example of the Redux middleware.
- *
- * Because middleware is potentially asynchronous, this should be the first
- * store enhancer in the composition chain.
- *
- * Note that each middleware will be given the `dispatch` and `getState` functions
- * as named arguments.
- *
- * @param {...Function} middlewares The middleware chain to be applied.
- * @returns {Function} A store enhancer applying the middleware.
- */
-
- function applyMiddleware() {
- for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
- middlewares[_key] = arguments[_key];
- }
-
- return function (createStore) {
- return function () {
- var store = createStore.apply(void 0, arguments);
-
- var _dispatch = function dispatch() {
- throw new Error("Dispatching while constructing your middleware is not allowed. " + "Other middleware would not be applied to this dispatch.");
- };
-
- var middlewareAPI = {
- getState: store.getState,
- dispatch: function dispatch() {
- return _dispatch.apply(void 0, arguments);
- }
- };
- var chain = middlewares.map(function (middleware) {
- return middleware(middlewareAPI);
- });
- _dispatch = compose.apply(void 0, chain)(store.dispatch);
- return _objectSpread({}, store, {
- dispatch: _dispatch
- });
- };
- };
- }
-
- /*
- * This is a dummy function to check if the function name has been altered by minification.
- * If the function has been minified and NODE_ENV !== 'production', warn the user.
- */
-
- function isCrushed() {}
-
- if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
- warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');
- }
-
- exports.createStore = createStore;
- exports.combineReducers = combineReducers;
- exports.bindActionCreators = bindActionCreators;
- exports.applyMiddleware = applyMiddleware;
- exports.compose = compose;
- exports.__DO_NOT_USE__ActionTypes = ActionTypes;
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+ var isEnum = pIE.f;
+ while (aLen > index) {
+ var S = IObject(arguments[index++]);
+ var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
+ var length = keys.length;
+ var j = 0;
+ var key;
+ while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
+ } return T;
+ } : $assign;
+
/***/ }),
-/* 207 */
+/* 181 */
/***/ (function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(global, module) {'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _ponyfill = __webpack_require__(209);
-
- var _ponyfill2 = _interopRequireDefault(_ponyfill);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- var root; /* global window */
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
+ var $keys = __webpack_require__(182);
+ var enumBugKeys = __webpack_require__(195);
+ module.exports = Object.keys || function keys(O) {
+ return $keys(O, enumBugKeys);
+ };
+
+
+/***/ }),
+/* 182 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ var has = __webpack_require__(179);
+ var toIObject = __webpack_require__(183);
+ var arrayIndexOf = __webpack_require__(187)(false);
+ var IE_PROTO = __webpack_require__(191)('IE_PROTO');
- if (typeof self !== 'undefined') {
- root = self;
- } else if (typeof window !== 'undefined') {
- root = window;
- } else if (typeof global !== 'undefined') {
- root = global;
- } else if (true) {
- root = module;
- } else {
- root = Function('return this')();
- }
+ module.exports = function (object, names) {
+ var O = toIObject(object);
+ var i = 0;
+ var result = [];
+ var key;
+ for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
+ // Don't enum bug & hidden keys
+ while (names.length > i) if (has(O, key = names[i++])) {
+ ~arrayIndexOf(result, key) || result.push(key);
+ }
+ return result;
+ };
+
+
+/***/ }),
+/* 183 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
+ var IObject = __webpack_require__(184);
+ var defined = __webpack_require__(186);
+ module.exports = function (it) {
+ return IObject(defined(it));
+ };
+
+
+/***/ }),
+/* 184 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var cof = __webpack_require__(185);
+ // eslint-disable-next-line no-prototype-builtins
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
+ return cof(it) == 'String' ? it.split('') : Object(it);
+ };
+
+
+/***/ }),
+/* 185 */
+/***/ (function(module, exports) {
+
+ var toString = {}.toString;
- var result = (0, _ponyfill2['default'])(root);
- exports['default'] = result;
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(208)(module)))
+ module.exports = function (it) {
+ return toString.call(it).slice(8, -1);
+ };
+
/***/ }),
-/* 208 */
+/* 186 */
/***/ (function(module, exports) {
- module.exports = function(module) {
- if(!module.webpackPolyfill) {
- module.deprecate = function() {};
- module.paths = [];
- // module.parent = undefined by default
- module.children = [];
- module.webpackPolyfill = 1;
- }
- return module;
- }
+ // 7.2.1 RequireObjectCoercible(argument)
+ module.exports = function (it) {
+ if (it == undefined) throw TypeError("Can't call method on " + it);
+ return it;
+ };
/***/ }),
-/* 209 */
+/* 187 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // false -> Array#indexOf
+ // true -> Array#includes
+ var toIObject = __webpack_require__(183);
+ var toLength = __webpack_require__(188);
+ var toAbsoluteIndex = __webpack_require__(190);
+ module.exports = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIObject($this);
+ var length = toLength(O.length);
+ var index = toAbsoluteIndex(fromIndex, length);
+ var value;
+ // Array#includes uses SameValueZero equality algorithm
+ // eslint-disable-next-line no-self-compare
+ if (IS_INCLUDES && el != el) while (length > index) {
+ value = O[index++];
+ // eslint-disable-next-line no-self-compare
+ if (value != value) return true;
+ // Array#indexOf ignores holes, Array#includes - not
+ } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
+ if (O[index] === el) return IS_INCLUDES || index || 0;
+ } return !IS_INCLUDES && -1;
+ };
+ };
+
+
+/***/ }),
+/* 188 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 7.1.15 ToLength
+ var toInteger = __webpack_require__(189);
+ var min = Math.min;
+ module.exports = function (it) {
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
+ };
+
+
+/***/ }),
+/* 189 */
/***/ (function(module, exports) {
- 'use strict';
+ // 7.1.4 ToInteger
+ var ceil = Math.ceil;
+ var floor = Math.floor;
+ module.exports = function (it) {
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
+ };
+
+
+/***/ }),
+/* 190 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ var toInteger = __webpack_require__(189);
+ var max = Math.max;
+ var min = Math.min;
+ module.exports = function (index, length) {
+ index = toInteger(index);
+ return index < 0 ? max(index + length, 0) : min(index, length);
+ };
+
+
+/***/ }),
+/* 191 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ var shared = __webpack_require__(192)('keys');
+ var uid = __webpack_require__(194);
+ module.exports = function (key) {
+ return shared[key] || (shared[key] = uid(key));
+ };
+
+
+/***/ }),
+/* 192 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ var core = __webpack_require__(166);
+ var global = __webpack_require__(165);
+ var SHARED = '__core-js_shared__';
+ var store = global[SHARED] || (global[SHARED] = {});
- Object.defineProperty(exports, "__esModule", {
- value: true
+ (module.exports = function (key, value) {
+ return store[key] || (store[key] = value !== undefined ? value : {});
+ })('versions', []).push({
+ version: core.version,
+ mode: __webpack_require__(193) ? 'pure' : 'global',
+ copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
});
- exports['default'] = symbolObservablePonyfill;
- function symbolObservablePonyfill(root) {
- var result;
- var _Symbol = root.Symbol;
-
- if (typeof _Symbol === 'function') {
- if (_Symbol.observable) {
- result = _Symbol.observable;
- } else {
- result = _Symbol('observable');
- _Symbol.observable = result;
- }
- } else {
- result = '@@observable';
- }
-
- return result;
+
+
+/***/ }),
+/* 193 */
+/***/ (function(module, exports) {
+
+ module.exports = true;
+
+
+/***/ }),
+/* 194 */
+/***/ (function(module, exports) {
+
+ var id = 0;
+ var px = Math.random();
+ module.exports = function (key) {
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
+
+/***/ }),
+/* 195 */
+/***/ (function(module, exports) {
+
+ // IE 8- don't enum bug keys
+ module.exports = (
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
+ ).split(',');
+
+
+/***/ }),
+/* 196 */
+/***/ (function(module, exports) {
+
+ exports.f = Object.getOwnPropertySymbols;
+
+
/***/ }),
-/* 210 */
+/* 197 */
/***/ (function(module, exports) {
+ exports.f = {}.propertyIsEnumerable;
+
+
+/***/ }),
+/* 198 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 7.1.13 ToObject(argument)
+ var defined = __webpack_require__(186);
+ module.exports = function (it) {
+ return Object(defined(it));
+ };
+
+
+/***/ }),
+/* 199 */
+/***/ (function(module, exports, __webpack_require__) {
+
'use strict';
- var index = (function (fn) {
- var lastArgs = [];
- var frameId = null;
+ Object.defineProperty(exports, '__esModule', { value: true });
- var wrapperFn = function wrapperFn() {
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
+ var react = __webpack_require__(1);
- lastArgs = args;
+ function areInputsEqual(newInputs, lastInputs) {
+ if (newInputs.length !== lastInputs.length) {
+ return false;
+ }
- if (frameId) {
- return;
+ for (var i = 0; i < newInputs.length; i++) {
+ if (newInputs[i] !== lastInputs[i]) {
+ return false;
}
+ }
- frameId = requestAnimationFrame(function () {
- frameId = null;
- fn.apply(undefined, lastArgs);
- });
- };
-
- wrapperFn.cancel = function () {
- if (!frameId) {
- return;
- }
+ return true;
+ }
- cancelAnimationFrame(frameId);
- frameId = null;
+ function useMemoOne(getResult, inputs) {
+ var initial = react.useState(function () {
+ return {
+ inputs: inputs,
+ result: getResult()
+ };
+ })[0];
+ var committed = react.useRef(initial);
+ var isInputMatch = Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));
+ var cache = isInputMatch ? committed.current : {
+ inputs: inputs,
+ result: getResult()
};
+ react.useEffect(function () {
+ committed.current = cache;
+ }, [cache]);
+ return cache.result;
+ }
+ function useCallbackOne(callback, inputs) {
+ return useMemoOne(function () {
+ return callback;
+ }, inputs);
+ }
+ var useMemo = useMemoOne;
+ var useCallback = useCallbackOne;
- var resultFn = wrapperFn;
-
- return resultFn;
- });
-
- module.exports = index;
+ exports.useCallback = useCallback;
+ exports.useCallbackOne = useCallbackOne;
+ exports.useMemo = useMemo;
+ exports.useMemoOne = useMemoOne;
/***/ }),
-/* 211 */
+/* 200 */
/***/ (function(module, exports, __webpack_require__) {
- var _Object$create = __webpack_require__(212);
+ var _Object$create = __webpack_require__(201);
function _inheritsLoose(subClass, superClass) {
subClass.prototype = _Object$create(superClass.prototype);
@@ -24564,16 +25207,16 @@
module.exports = _inheritsLoose;
/***/ }),
-/* 212 */
+/* 201 */
/***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(213);
+ module.exports = __webpack_require__(202);
/***/ }),
-/* 213 */
+/* 202 */
/***/ (function(module, exports, __webpack_require__) {
- __webpack_require__(214);
+ __webpack_require__(203);
var $Object = __webpack_require__(166).Object;
module.exports = function create(P, D) {
return $Object.create(P, D);
@@ -24581,21 +25224,21 @@
/***/ }),
-/* 214 */
+/* 203 */
/***/ (function(module, exports, __webpack_require__) {
var $export = __webpack_require__(164);
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
- $export($export.S, 'Object', { create: __webpack_require__(215) });
+ $export($export.S, 'Object', { create: __webpack_require__(204) });
/***/ }),
-/* 215 */
+/* 204 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = __webpack_require__(171);
- var dPs = __webpack_require__(216);
+ var dPs = __webpack_require__(205);
var enumBugKeys = __webpack_require__(195);
var IE_PROTO = __webpack_require__(191)('IE_PROTO');
var Empty = function () { /* empty */ };
@@ -24610,7 +25253,7 @@
var gt = '>';
var iframeDocument;
iframe.style.display = 'none';
- __webpack_require__(217).appendChild(iframe);
+ __webpack_require__(206).appendChild(iframe);
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
@@ -24637,7 +25280,7 @@
/***/ }),
-/* 216 */
+/* 205 */
/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(170);
@@ -24656,7 +25299,7 @@
/***/ }),
-/* 217 */
+/* 206 */
/***/ (function(module, exports, __webpack_require__) {
var document = __webpack_require__(165).document;
@@ -24664,201 +25307,346 @@
/***/ }),
-/* 218 */
+/* 207 */
/***/ (function(module, exports, __webpack_require__) {
- "use strict";
-
- var _interopRequireDefault = __webpack_require__(14);
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
- var _interopRequireWildcard = __webpack_require__(219);
+ var isProduction = process.env.NODE_ENV === 'production';
+ var prefix = 'Invariant failed';
+ function invariant(condition, message) {
+ if (condition) {
+ return;
+ }
- exports.__esModule = true;
+ if (isProduction) {
+ throw new Error(prefix);
+ } else {
+ throw new Error(prefix + ": " + (message || ''));
+ }
+ }
- var _Provider = _interopRequireWildcard(__webpack_require__(220));
+ module.exports = invariant;
- exports.Provider = _Provider.default;
- exports.createProvider = _Provider.createProvider;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 208 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
- var _connectAdvanced = _interopRequireDefault(__webpack_require__(224));
+ Object.defineProperty(exports, '__esModule', { value: true });
- exports.connectAdvanced = _connectAdvanced.default;
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var _connect = _interopRequireDefault(__webpack_require__(233));
+ var $$observable = _interopDefault(__webpack_require__(209));
- exports.connect = _connect.default;
-
-/***/ }),
-/* 219 */
-/***/ (function(module, exports) {
-
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- } else {
- var newObj = {};
+ /**
+ * These are private action types reserved by Redux.
+ * For any unknown actions, you must return the current state.
+ * If the current state is undefined, you must return the initial state.
+ * Do not reference these action types directly in your code.
+ */
+ var randomString = function randomString() {
+ return Math.random().toString(36).substring(7).split('').join('.');
+ };
- 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) : {};
+ var ActionTypes = {
+ INIT: "@@redux/INIT" + randomString(),
+ REPLACE: "@@redux/REPLACE" + randomString(),
+ PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {
+ return "@@redux/PROBE_UNKNOWN_ACTION" + randomString();
+ }
+ };
- if (desc.get || desc.set) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
- }
- }
- }
+ /**
+ * @param {any} obj The object to inspect.
+ * @returns {boolean} True if the argument appears to be a plain object.
+ */
+ function isPlainObject(obj) {
+ if (typeof obj !== 'object' || obj === null) return false;
+ var proto = obj;
- newObj.default = obj;
- return newObj;
+ while (Object.getPrototypeOf(proto) !== null) {
+ proto = Object.getPrototypeOf(proto);
}
+
+ return Object.getPrototypeOf(obj) === proto;
}
- module.exports = _interopRequireWildcard;
-
-/***/ }),
-/* 220 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {"use strict";
+ /**
+ * Creates a Redux store that holds the state tree.
+ * The only way to change the data in the store is to call `dispatch()` on it.
+ *
+ * There should only be a single store in your app. To specify how different
+ * parts of the state tree respond to actions, you may combine several reducers
+ * into a single reducer function by using `combineReducers`.
+ *
+ * @param {Function} reducer A function that returns the next state tree, given
+ * the current state tree and the action to handle.
+ *
+ * @param {any} [preloadedState] The initial state. You may optionally specify it
+ * to hydrate the state from the server in universal apps, or to restore a
+ * previously serialized user session.
+ * If you use `combineReducers` to produce the root reducer function, this must be
+ * an object with the same shape as `combineReducers` keys.
+ *
+ * @param {Function} [enhancer] The store enhancer. You may optionally specify it
+ * to enhance the store with third-party capabilities such as middleware,
+ * time travel, persistence, etc. The only store enhancer that ships with Redux
+ * is `applyMiddleware()`.
+ *
+ * @returns {Store} A Redux store that lets you read the state, dispatch actions
+ * and subscribe to changes.
+ */
- var _interopRequireDefault = __webpack_require__(14);
+ function createStore(reducer, preloadedState, enhancer) {
+ var _ref2;
- exports.__esModule = true;
- exports.createProvider = createProvider;
- exports.default = void 0;
+ if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {
+ throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');
+ }
- var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(221));
+ if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
+ enhancer = preloadedState;
+ preloadedState = undefined;
+ }
- var _react = __webpack_require__(1);
+ if (typeof enhancer !== 'undefined') {
+ if (typeof enhancer !== 'function') {
+ throw new Error('Expected the enhancer to be a function.');
+ }
- var _propTypes = _interopRequireDefault(__webpack_require__(6));
+ return enhancer(createStore)(reducer, preloadedState);
+ }
+
+ if (typeof reducer !== 'function') {
+ throw new Error('Expected the reducer to be a function.');
+ }
+
+ var currentReducer = reducer;
+ var currentState = preloadedState;
+ var currentListeners = [];
+ var nextListeners = currentListeners;
+ var isDispatching = false;
+ /**
+ * This makes a shallow copy of currentListeners so we can use
+ * nextListeners as a temporary list while dispatching.
+ *
+ * This prevents any bugs around consumers calling
+ * subscribe/unsubscribe in the middle of a dispatch.
+ */
+
+ function ensureCanMutateNextListeners() {
+ if (nextListeners === currentListeners) {
+ nextListeners = currentListeners.slice();
+ }
+ }
+ /**
+ * Reads the state tree managed by the store.
+ *
+ * @returns {any} The current state tree of your application.
+ */
- var _PropTypes = __webpack_require__(222);
- var _warning = _interopRequireDefault(__webpack_require__(223));
+ function getState() {
+ if (isDispatching) {
+ throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');
+ }
+
+ return currentState;
+ }
+ /**
+ * Adds a change listener. It will be called any time an action is dispatched,
+ * and some part of the state tree may potentially have changed. You may then
+ * call `getState()` to read the current state tree inside the callback.
+ *
+ * You may call `dispatch()` from a change listener, with the following
+ * caveats:
+ *
+ * 1. The subscriptions are snapshotted just before every `dispatch()` call.
+ * If you subscribe or unsubscribe while the listeners are being invoked, this
+ * will not have any effect on the `dispatch()` that is currently in progress.
+ * However, the next `dispatch()` call, whether nested or not, will use a more
+ * recent snapshot of the subscription list.
+ *
+ * 2. The listener should not expect to see all state changes, as the state
+ * might have been updated multiple times during a nested `dispatch()` before
+ * the listener is called. It is, however, guaranteed that all subscribers
+ * registered before the `dispatch()` started will be called with the latest
+ * state by the time it exits.
+ *
+ * @param {Function} listener A callback to be invoked on every dispatch.
+ * @returns {Function} A function to remove this change listener.
+ */
+
- var didWarnAboutReceivingStore = false;
+ function subscribe(listener) {
+ if (typeof listener !== 'function') {
+ throw new Error('Expected the listener to be a function.');
+ }
- function warnAboutReceivingStore() {
- if (didWarnAboutReceivingStore) {
- return;
- }
+ if (isDispatching) {
+ throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
+ }
- didWarnAboutReceivingStore = true;
- (0, _warning.default)(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reduxjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');
- }
+ var isSubscribed = true;
+ ensureCanMutateNextListeners();
+ nextListeners.push(listener);
+ return function unsubscribe() {
+ if (!isSubscribed) {
+ return;
+ }
- function createProvider(storeKey) {
- var _Provider$childContex;
+ if (isDispatching) {
+ throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');
+ }
- if (storeKey === void 0) {
- storeKey = 'store';
+ isSubscribed = false;
+ ensureCanMutateNextListeners();
+ var index = nextListeners.indexOf(listener);
+ nextListeners.splice(index, 1);
+ };
}
+ /**
+ * Dispatches an action. It is the only way to trigger a state change.
+ *
+ * The `reducer` function, used to create the store, will be called with the
+ * current state tree and the given `action`. Its return value will
+ * be considered the **next** state of the tree, and the change listeners
+ * will be notified.
+ *
+ * The base implementation only supports plain object actions. If you want to
+ * dispatch a Promise, an Observable, a thunk, or something else, you need to
+ * wrap your store creating function into the corresponding middleware. For
+ * example, see the documentation for the `redux-thunk` package. Even the
+ * middleware will eventually dispatch plain object actions using this method.
+ *
+ * @param {Object} action A plain object representing “what changed”. It is
+ * a good idea to keep actions serializable so you can record and replay user
+ * sessions, or use the time travelling `redux-devtools`. An action must have
+ * a `type` property which may not be `undefined`. It is a good idea to use
+ * string constants for action types.
+ *
+ * @returns {Object} For convenience, the same action object you dispatched.
+ *
+ * Note that, if you use a custom middleware, it may wrap `dispatch()` to
+ * return something else (for example, a Promise you can await).
+ */
- var subscriptionKey = storeKey + "Subscription";
-
- var Provider =
- /*#__PURE__*/
- function (_Component) {
- (0, _inheritsLoose2.default)(Provider, _Component);
- var _proto = Provider.prototype;
- _proto.getChildContext = function getChildContext() {
- var _ref;
+ function dispatch(action) {
+ if (!isPlainObject(action)) {
+ throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
+ }
- return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;
- };
+ if (typeof action.type === 'undefined') {
+ throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
+ }
- function Provider(props, context) {
- var _this;
+ if (isDispatching) {
+ throw new Error('Reducers may not dispatch actions.');
+ }
- _this = _Component.call(this, props, context) || this;
- _this[storeKey] = props.store;
- return _this;
+ try {
+ isDispatching = true;
+ currentState = currentReducer(currentState, action);
+ } finally {
+ isDispatching = false;
}
- _proto.render = function render() {
- return _react.Children.only(this.props.children);
- };
+ var listeners = currentListeners = nextListeners;
- return Provider;
- }(_react.Component);
+ for (var i = 0; i < listeners.length; i++) {
+ var listener = listeners[i];
+ listener();
+ }
- if (process.env.NODE_ENV !== 'production') {
- Provider.prototype.componentWillReceiveProps = function (nextProps) {
- if (this[storeKey] !== nextProps.store) {
- warnAboutReceivingStore();
- }
- };
+ return action;
}
+ /**
+ * Replaces the reducer currently used by the store to calculate the state.
+ *
+ * You might need this if your app implements code splitting and you want to
+ * load some of the reducers dynamically. You might also need this if you
+ * implement a hot reloading mechanism for Redux.
+ *
+ * @param {Function} nextReducer The reducer for the store to use instead.
+ * @returns {void}
+ */
- Provider.propTypes = {
- store: _PropTypes.storeShape.isRequired,
- children: _propTypes.default.element.isRequired
- };
- Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = _PropTypes.storeShape.isRequired, _Provider$childContex[subscriptionKey] = _PropTypes.subscriptionShape, _Provider$childContex);
- return Provider;
- }
-
- var _default = createProvider();
- exports.default = _default;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 221 */
-/***/ (function(module, exports) {
-
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
- }
+ function replaceReducer(nextReducer) {
+ if (typeof nextReducer !== 'function') {
+ throw new Error('Expected the nextReducer to be a function.');
+ }
- module.exports = _inheritsLoose;
-
-/***/ }),
-/* 222 */
-/***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
+ currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.
+ // Any reducers that existed in both the new and old rootReducer
+ // will receive the previous state. This effectively populates
+ // the new state tree with any relevant data from the old one.
- var _interopRequireDefault = __webpack_require__(14);
+ dispatch({
+ type: ActionTypes.REPLACE
+ });
+ }
+ /**
+ * Interoperability point for observable/reactive libraries.
+ * @returns {observable} A minimal observable of state changes.
+ * For more information, see the observable proposal:
+ * https://github.com/tc39/proposal-observable
+ */
- exports.__esModule = true;
- exports.storeShape = exports.subscriptionShape = void 0;
- var _propTypes = _interopRequireDefault(__webpack_require__(6));
+ function observable() {
+ var _ref;
- var subscriptionShape = _propTypes.default.shape({
- trySubscribe: _propTypes.default.func.isRequired,
- tryUnsubscribe: _propTypes.default.func.isRequired,
- notifyNestedSubs: _propTypes.default.func.isRequired,
- isSubscribed: _propTypes.default.func.isRequired
- });
+ var outerSubscribe = subscribe;
+ return _ref = {
+ /**
+ * The minimal observable subscription method.
+ * @param {Object} observer Any object that can be used as an observer.
+ * The observer object should have a `next` method.
+ * @returns {subscription} An object with an `unsubscribe` method that can
+ * be used to unsubscribe the observable from the store, and prevent further
+ * emission of values from the observable.
+ */
+ subscribe: function subscribe(observer) {
+ if (typeof observer !== 'object' || observer === null) {
+ throw new TypeError('Expected the observer to be an object.');
+ }
- exports.subscriptionShape = subscriptionShape;
+ function observeState() {
+ if (observer.next) {
+ observer.next(getState());
+ }
+ }
- var storeShape = _propTypes.default.shape({
- subscribe: _propTypes.default.func.isRequired,
- dispatch: _propTypes.default.func.isRequired,
- getState: _propTypes.default.func.isRequired
- });
+ observeState();
+ var unsubscribe = outerSubscribe(observeState);
+ return {
+ unsubscribe: unsubscribe
+ };
+ }
+ }, _ref[$$observable] = function () {
+ return this;
+ }, _ref;
+ } // When a store is created, an "INIT" action is dispatched so that every
+ // reducer returns their initial state. This effectively populates
+ // the initial state tree.
- exports.storeShape = storeShape;
-
-/***/ }),
-/* 223 */
-/***/ (function(module, exports) {
-
- "use strict";
- exports.__esModule = true;
- exports.default = warning;
+ dispatch({
+ type: ActionTypes.INIT
+ });
+ return _ref2 = {
+ dispatch: dispatch,
+ subscribe: subscribe,
+ getState: getState,
+ replaceReducer: replaceReducer
+ }, _ref2[$$observable] = observable, _ref2;
+ }
/**
* Prints a warning in the console if it exists.
@@ -24879,760 +25667,664 @@
// "break on all exceptions" in your console,
// it would pause the execution at this line.
throw new Error(message);
- /* eslint-disable no-empty */
- } catch (e) {}
- /* eslint-enable no-empty */
+ } catch (e) {} // eslint-disable-line no-empty
+
+ }
+
+ function getUndefinedStateErrorMessage(key, action) {
+ var actionType = action && action.type;
+ var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action';
+ return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined.";
+ }
+
+ function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
+ var reducerKeys = Object.keys(reducers);
+ var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
+
+ if (reducerKeys.length === 0) {
+ return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
+ }
+
+ if (!isPlainObject(inputState)) {
+ return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\"");
+ }
+
+ var unexpectedKeys = Object.keys(inputState).filter(function (key) {
+ return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
+ });
+ unexpectedKeys.forEach(function (key) {
+ unexpectedKeyCache[key] = true;
+ });
+ if (action && action.type === ActionTypes.REPLACE) return;
+
+ if (unexpectedKeys.length > 0) {
+ return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored.");
+ }
+ }
+
+ function assertReducerShape(reducers) {
+ Object.keys(reducers).forEach(function (key) {
+ var reducer = reducers[key];
+ var initialState = reducer(undefined, {
+ type: ActionTypes.INIT
+ });
+
+ if (typeof initialState === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined.");
+ }
+
+ if (typeof reducer(undefined, {
+ type: ActionTypes.PROBE_UNKNOWN_ACTION()
+ }) === 'undefined') {
+ throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null.");
+ }
+ });
+ }
+ /**
+ * Turns an object whose values are different reducer functions, into a single
+ * reducer function. It will call every child reducer, and gather their results
+ * into a single state object, whose keys correspond to the keys of the passed
+ * reducer functions.
+ *
+ * @param {Object} reducers An object whose values correspond to different
+ * reducer functions that need to be combined into one. One handy way to obtain
+ * it is to use ES6 `import * as reducers` syntax. The reducers may never return
+ * undefined for any action. Instead, they should return their initial state
+ * if the state passed to them was undefined, and the current state for any
+ * unrecognized action.
+ *
+ * @returns {Function} A reducer function that invokes every reducer inside the
+ * passed object, and builds a state object with the same shape.
+ */
- }
-
-/***/ }),
-/* 224 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {"use strict";
- var _interopRequireDefault = __webpack_require__(14);
+ function combineReducers(reducers) {
+ var reducerKeys = Object.keys(reducers);
+ var finalReducers = {};
- exports.__esModule = true;
- exports.default = connectAdvanced;
+ for (var i = 0; i < reducerKeys.length; i++) {
+ var key = reducerKeys[i];
- var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(221));
+ if (process.env.NODE_ENV !== 'production') {
+ if (typeof reducers[key] === 'undefined') {
+ warning("No reducer provided for key \"" + key + "\"");
+ }
+ }
- var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(225));
+ if (typeof reducers[key] === 'function') {
+ finalReducers[key] = reducers[key];
+ }
+ }
- var _extends2 = _interopRequireDefault(__webpack_require__(120));
+ var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same
+ // keys multiple times.
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(226));
+ var unexpectedKeyCache;
- var _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(227));
+ if (process.env.NODE_ENV !== 'production') {
+ unexpectedKeyCache = {};
+ }
- var _invariant = _interopRequireDefault(__webpack_require__(231));
+ var shapeAssertionError;
- var _react = __webpack_require__(1);
+ try {
+ assertReducerShape(finalReducers);
+ } catch (e) {
+ shapeAssertionError = e;
+ }
- var _reactIs = __webpack_require__(228);
+ return function combination(state, action) {
+ if (state === void 0) {
+ state = {};
+ }
- var _Subscription = _interopRequireDefault(__webpack_require__(232));
+ if (shapeAssertionError) {
+ throw shapeAssertionError;
+ }
- var _PropTypes = __webpack_require__(222);
+ if (process.env.NODE_ENV !== 'production') {
+ var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
- var hotReloadingVersion = 0;
- var dummyState = {};
+ if (warningMessage) {
+ warning(warningMessage);
+ }
+ }
- function noop() {}
+ var hasChanged = false;
+ var nextState = {};
- function makeSelectorStateful(sourceSelector, store) {
- // wrap the selector in an object that tracks its results between runs.
- var selector = {
- run: function runComponentSelector(props) {
- try {
- var nextProps = sourceSelector(store.getState(), props);
+ for (var _i = 0; _i < finalReducerKeys.length; _i++) {
+ var _key = finalReducerKeys[_i];
+ var reducer = finalReducers[_key];
+ var previousStateForKey = state[_key];
+ var nextStateForKey = reducer(previousStateForKey, action);
- if (nextProps !== selector.props || selector.error) {
- selector.shouldComponentUpdate = true;
- selector.props = nextProps;
- selector.error = null;
- }
- } catch (error) {
- selector.shouldComponentUpdate = true;
- selector.error = error;
+ if (typeof nextStateForKey === 'undefined') {
+ var errorMessage = getUndefinedStateErrorMessage(_key, action);
+ throw new Error(errorMessage);
}
+
+ nextState[_key] = nextStateForKey;
+ hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
}
+
+ return hasChanged ? nextState : state;
};
- return selector;
}
- function connectAdvanced(
- /*
- selectorFactory is a func that is responsible for returning the selector function used to
- compute new props from state, props, and dispatch. For example:
- export default connectAdvanced((dispatch, options) => (state, props) => ({
- thing: state.things[props.thingId],
- saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),
- }))(YourComponent)
- Access to dispatch is provided to the factory so selectorFactories can bind actionCreators
- outside of their selector as an optimization. Options passed to connectAdvanced are passed to
- the selectorFactory, along with displayName and WrappedComponent, as the second argument.
- Note that selectorFactory is responsible for all caching/memoization of inbound and outbound
- props. Do not use connectAdvanced directly without memoizing results between calls to your
- selector, otherwise the Connect component will re-render on every state or props change.
- */
- selectorFactory, // options object:
- _ref) {
- var _contextTypes, _childContextTypes;
+ function bindActionCreator(actionCreator, dispatch) {
+ return function () {
+ return dispatch(actionCreator.apply(this, arguments));
+ };
+ }
+ /**
+ * Turns an object whose values are action creators, into an object with the
+ * same keys, but with every function wrapped into a `dispatch` call so they
+ * may be invoked directly. This is just a convenience method, as you can call
+ * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
+ *
+ * For convenience, you can also pass an action creator as the first argument,
+ * and get a dispatch wrapped function in return.
+ *
+ * @param {Function|Object} actionCreators An object whose values are action
+ * creator functions. One handy way to obtain it is to use ES6 `import * as`
+ * syntax. You may also pass a single function.
+ *
+ * @param {Function} dispatch The `dispatch` function available on your Redux
+ * store.
+ *
+ * @returns {Function|Object} The object mimicking the original object, but with
+ * every action creator wrapped into the `dispatch` call. If you passed a
+ * function as `actionCreators`, the return value will also be a single
+ * function.
+ */
- if (_ref === void 0) {
- _ref = {};
- }
- var _ref2 = _ref,
- _ref2$getDisplayName = _ref2.getDisplayName,
- getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {
- return "ConnectAdvanced(" + name + ")";
- } : _ref2$getDisplayName,
- _ref2$methodName = _ref2.methodName,
- methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,
- _ref2$renderCountProp = _ref2.renderCountProp,
- renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,
- _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,
- shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,
- _ref2$storeKey = _ref2.storeKey,
- storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,
- _ref2$withRef = _ref2.withRef,
- withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,
- connectOptions = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef"]);
- var subscriptionKey = storeKey + 'Subscription';
- var version = hotReloadingVersion++;
- var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = _PropTypes.storeShape, _contextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _contextTypes);
- var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _childContextTypes);
- return function wrapWithConnect(WrappedComponent) {
- (0, _invariant.default)((0, _reactIs.isValidElementType)(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + JSON.stringify(WrappedComponent)));
- var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
- var displayName = getDisplayName(wrappedComponentName);
- var selectorFactoryOptions = (0, _extends2.default)({}, connectOptions, {
- getDisplayName: getDisplayName,
- methodName: methodName,
- renderCountProp: renderCountProp,
- shouldHandleStateChanges: shouldHandleStateChanges,
- storeKey: storeKey,
- withRef: withRef,
- displayName: displayName,
- wrappedComponentName: wrappedComponentName,
- WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps
+ function bindActionCreators(actionCreators, dispatch) {
+ if (typeof actionCreators === 'function') {
+ return bindActionCreator(actionCreators, dispatch);
+ }
- /* eslint-disable react/no-deprecated */
+ if (typeof actionCreators !== 'object' || actionCreators === null) {
+ throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?");
+ }
- });
+ var boundActionCreators = {};
- var Connect =
- /*#__PURE__*/
- function (_Component) {
- (0, _inheritsLoose2.default)(Connect, _Component);
+ for (var key in actionCreators) {
+ var actionCreator = actionCreators[key];
- function Connect(props, context) {
- var _this;
+ if (typeof actionCreator === 'function') {
+ boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
+ }
+ }
- _this = _Component.call(this, props, context) || this;
- _this.version = version;
- _this.state = {};
- _this.renderCount = 0;
- _this.store = props[storeKey] || context[storeKey];
- _this.propsMode = Boolean(props[storeKey]);
- _this.setWrappedInstance = _this.setWrappedInstance.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
- (0, _invariant.default)(_this.store, "Could not find \"" + storeKey + "\" in either the context or props of " + ("\"" + displayName + "\". Either wrap the root component in a , ") + ("or explicitly pass \"" + storeKey + "\" as a prop to \"" + displayName + "\"."));
+ return boundActionCreators;
+ }
- _this.initSelector();
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
- _this.initSubscription();
+ return obj;
+ }
- return _this;
- }
+ function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
- var _proto = Connect.prototype;
+ if (Object.getOwnPropertySymbols) {
+ keys.push.apply(keys, Object.getOwnPropertySymbols(object));
+ }
- _proto.getChildContext = function getChildContext() {
- var _ref3;
+ if (enumerableOnly) keys = keys.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ return keys;
+ }
- // If this component received store from props, its subscription should be transparent
- // to any descendants receiving store+subscription from context; it passes along
- // subscription passed to it. Otherwise, it shadows the parent subscription, which allows
- // Connect to control ordering of notifications to flow top-down.
- var subscription = this.propsMode ? null : this.subscription;
- return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;
- };
+ function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
- _proto.componentDidMount = function componentDidMount() {
- if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and
- // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.
- // Otherwise, unsubscription would never take place during SSR, causing a memory leak.
- // To handle the case where a child component may have triggered a state change by
- // dispatching an action in its componentWillMount, we have to re-run the select and maybe
- // re-render.
-
- this.subscription.trySubscribe();
- this.selector.run(this.props);
- if (this.selector.shouldComponentUpdate) this.forceUpdate();
- };
+ if (i % 2) {
+ ownKeys(source, true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(source).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
- _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
- this.selector.run(nextProps);
- };
+ return target;
+ }
- _proto.shouldComponentUpdate = function shouldComponentUpdate() {
- return this.selector.shouldComponentUpdate;
- };
+ /**
+ * Composes single-argument functions from right to left. The rightmost
+ * function can take multiple arguments as it provides the signature for
+ * the resulting composite function.
+ *
+ * @param {...Function} funcs The functions to compose.
+ * @returns {Function} A function obtained by composing the argument functions
+ * from right to left. For example, compose(f, g, h) is identical to doing
+ * (...args) => f(g(h(...args))).
+ */
+ function compose() {
+ for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
+ funcs[_key] = arguments[_key];
+ }
- _proto.componentWillUnmount = function componentWillUnmount() {
- if (this.subscription) this.subscription.tryUnsubscribe();
- this.subscription = null;
- this.notifyNestedSubs = noop;
- this.store = null;
- this.selector.run = noop;
- this.selector.shouldComponentUpdate = false;
- };
+ if (funcs.length === 0) {
+ return function (arg) {
+ return arg;
+ };
+ }
- _proto.getWrappedInstance = function getWrappedInstance() {
- (0, _invariant.default)(withRef, "To access the wrapped instance, you need to specify " + ("{ withRef: true } in the options argument of the " + methodName + "() call."));
- return this.wrappedInstance;
- };
+ if (funcs.length === 1) {
+ return funcs[0];
+ }
- _proto.setWrappedInstance = function setWrappedInstance(ref) {
- this.wrappedInstance = ref;
- };
+ return funcs.reduce(function (a, b) {
+ return function () {
+ return a(b.apply(void 0, arguments));
+ };
+ });
+ }
- _proto.initSelector = function initSelector() {
- var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);
- this.selector = makeSelectorStateful(sourceSelector, this.store);
- this.selector.run(this.props);
- };
+ /**
+ * Creates a store enhancer that applies middleware to the dispatch method
+ * of the Redux store. This is handy for a variety of tasks, such as expressing
+ * asynchronous actions in a concise manner, or logging every action payload.
+ *
+ * See `redux-thunk` package as an example of the Redux middleware.
+ *
+ * Because middleware is potentially asynchronous, this should be the first
+ * store enhancer in the composition chain.
+ *
+ * Note that each middleware will be given the `dispatch` and `getState` functions
+ * as named arguments.
+ *
+ * @param {...Function} middlewares The middleware chain to be applied.
+ * @returns {Function} A store enhancer applying the middleware.
+ */
- _proto.initSubscription = function initSubscription() {
- if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component
- // connected to the store via props shouldn't use subscription from context, or vice versa.
+ function applyMiddleware() {
+ for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
+ middlewares[_key] = arguments[_key];
+ }
- var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];
- this.subscription = new _Subscription.default(this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in
- // the middle of the notification loop, where `this.subscription` will then be null. An
- // extra null check every change can be avoided by copying the method onto `this` and then
- // replacing it with a no-op on unmount. This can probably be avoided if Subscription's
- // listeners logic is changed to not call listeners that have been unsubscribed in the
- // middle of the notification loop.
+ return function (createStore) {
+ return function () {
+ var store = createStore.apply(void 0, arguments);
- this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);
+ var _dispatch = function dispatch() {
+ throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');
};
- _proto.onStateChange = function onStateChange() {
- this.selector.run(this.props);
-
- if (!this.selector.shouldComponentUpdate) {
- this.notifyNestedSubs();
- } else {
- this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;
- this.setState(dummyState);
+ var middlewareAPI = {
+ getState: store.getState,
+ dispatch: function dispatch() {
+ return _dispatch.apply(void 0, arguments);
}
};
+ var chain = middlewares.map(function (middleware) {
+ return middleware(middlewareAPI);
+ });
+ _dispatch = compose.apply(void 0, chain)(store.dispatch);
+ return _objectSpread2({}, store, {
+ dispatch: _dispatch
+ });
+ };
+ };
+ }
- _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {
- // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it
- // needs to notify nested subs. Once called, it unimplements itself until further state
- // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does
- // a boolean check every time avoids an extra method call most of the time, resulting
- // in some perf boost.
- this.componentDidUpdate = undefined;
- this.notifyNestedSubs();
- };
-
- _proto.isSubscribed = function isSubscribed() {
- return Boolean(this.subscription) && this.subscription.isSubscribed();
- };
-
- _proto.addExtraProps = function addExtraProps(props) {
- if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.
- // this is especially important for 'ref' since that's a reference back to the component
- // instance. a singleton memoized selector would then be holding a reference to the
- // instance, preventing the instance from being garbage collected, and that would be bad
-
- var withExtras = (0, _extends2.default)({}, props);
- if (withRef) withExtras.ref = this.setWrappedInstance;
- if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;
- if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;
- return withExtras;
- };
-
- _proto.render = function render() {
- var selector = this.selector;
- selector.shouldComponentUpdate = false;
+ /*
+ * This is a dummy function to check if the function name has been altered by minification.
+ * If the function has been minified and NODE_ENV !== 'production', warn the user.
+ */
- if (selector.error) {
- throw selector.error;
- } else {
- return (0, _react.createElement)(WrappedComponent, this.addExtraProps(selector.props));
- }
- };
+ function isCrushed() {}
- return Connect;
- }(_react.Component);
- /* eslint-enable react/no-deprecated */
+ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
+ warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');
+ }
+ exports.__DO_NOT_USE__ActionTypes = ActionTypes;
+ exports.applyMiddleware = applyMiddleware;
+ exports.bindActionCreators = bindActionCreators;
+ exports.combineReducers = combineReducers;
+ exports.compose = compose;
+ exports.createStore = createStore;
- Connect.WrappedComponent = WrappedComponent;
- Connect.displayName = displayName;
- Connect.childContextTypes = childContextTypes;
- Connect.contextTypes = contextTypes;
- Connect.propTypes = contextTypes;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 209 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(global, module) {'use strict';
- if (process.env.NODE_ENV !== 'production') {
- Connect.prototype.componentWillUpdate = function componentWillUpdate() {
- var _this2 = this;
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
- // We are hot reloading!
- if (this.version !== version) {
- this.version = version;
- this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their
- // listeners will be lost when we unsubscribe. Unfortunately, by copying over all
- // listeners, this does mean that the old versions of connected descendants will still be
- // notified of state changes; however, their onStateChange function is a no-op so this
- // isn't a huge deal.
+ var _ponyfill = __webpack_require__(211);
- var oldListeners = [];
+ var _ponyfill2 = _interopRequireDefault(_ponyfill);
- if (this.subscription) {
- oldListeners = this.subscription.listeners.get();
- this.subscription.tryUnsubscribe();
- }
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- this.initSubscription();
+ var root; /* global window */
- if (shouldHandleStateChanges) {
- this.subscription.trySubscribe();
- oldListeners.forEach(function (listener) {
- return _this2.subscription.listeners.subscribe(listener);
- });
- }
- }
- };
- }
- return (0, _hoistNonReactStatics.default)(Connect, WrappedComponent);
- };
+ if (typeof self !== 'undefined') {
+ root = self;
+ } else if (typeof window !== 'undefined') {
+ root = window;
+ } else if (typeof global !== 'undefined') {
+ root = global;
+ } else if (true) {
+ root = module;
+ } else {
+ root = Function('return this')();
}
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+ var result = (0, _ponyfill2['default'])(root);
+ exports['default'] = result;
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(210)(module)))
/***/ }),
-/* 225 */
+/* 210 */
/***/ (function(module, exports) {
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- module.exports = _assertThisInitialized;
+ module.exports = function(module) {
+ if(!module.webpackPolyfill) {
+ module.deprecate = function() {};
+ module.paths = [];
+ // module.parent = undefined by default
+ module.children = [];
+ module.webpackPolyfill = 1;
+ }
+ return module;
+ }
+
/***/ }),
-/* 226 */
+/* 211 */
/***/ (function(module, exports) {
- function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
+ 'use strict';
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports['default'] = symbolObservablePonyfill;
+ function symbolObservablePonyfill(root) {
+ var result;
+ var _Symbol = root.Symbol;
- return target;
- }
+ if (typeof _Symbol === 'function') {
+ if (_Symbol.observable) {
+ result = _Symbol.observable;
+ } else {
+ result = _Symbol('observable');
+ _Symbol.observable = result;
+ }
+ } else {
+ result = '@@observable';
+ }
- module.exports = _objectWithoutPropertiesLoose;
+ return result;
+ };
/***/ }),
-/* 227 */
+/* 212 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
+ "use strict";
- /**
- * Copyright 2015, Yahoo! Inc.
- * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
- */
- var ReactIs = __webpack_require__(228);
- var React = __webpack_require__(1);
- var REACT_STATICS = {
- childContextTypes: true,
- contextType: true,
- contextTypes: true,
- defaultProps: true,
- displayName: true,
- getDefaultProps: true,
- getDerivedStateFromProps: true,
- mixins: true,
- propTypes: true,
- type: true
- };
+ var _interopRequireDefault = __webpack_require__(14);
- var KNOWN_STATICS = {
- name: true,
- length: true,
- prototype: true,
- caller: true,
- callee: true,
- arguments: true,
- arity: true
- };
+ exports.__esModule = true;
- var FORWARD_REF_STATICS = {
- '$$typeof': true,
- render: true
- };
+ var _Provider = _interopRequireDefault(__webpack_require__(213));
- var TYPE_STATICS = {};
- TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;
+ exports.Provider = _Provider["default"];
- var defineProperty = Object.defineProperty;
- var getOwnPropertyNames = Object.getOwnPropertyNames;
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- var getPrototypeOf = Object.getPrototypeOf;
- var objectPrototype = Object.prototype;
+ var _connectAdvanced = _interopRequireDefault(__webpack_require__(220));
- function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
- if (typeof sourceComponent !== 'string') {
- // don't hoist over string (html) components
+ exports.connectAdvanced = _connectAdvanced["default"];
- if (objectPrototype) {
- var inheritedComponent = getPrototypeOf(sourceComponent);
- if (inheritedComponent && inheritedComponent !== objectPrototype) {
- hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
- }
- }
+ var _Context = __webpack_require__(217);
- var keys = getOwnPropertyNames(sourceComponent);
+ exports.ReactReduxContext = _Context.ReactReduxContext;
- if (getOwnPropertySymbols) {
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
- }
+ var _connect = _interopRequireDefault(__webpack_require__(227));
- var targetStatics = TYPE_STATICS[targetComponent['$$typeof']] || REACT_STATICS;
- var sourceStatics = TYPE_STATICS[sourceComponent['$$typeof']] || REACT_STATICS;
+ exports.connect = _connect["default"];
- for (var i = 0; i < keys.length; ++i) {
- var key = keys[i];
- if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
- var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
- try {
- // Avoid failures from read-only properties
- defineProperty(targetComponent, key, descriptor);
- } catch (e) {}
- }
- }
+ var _useDispatch = __webpack_require__(238);
- return targetComponent;
- }
+ exports.useDispatch = _useDispatch.useDispatch;
- return targetComponent;
- }
+ var _useSelector = __webpack_require__(241);
- module.exports = hoistNonReactStatics;
-
-
-/***/ }),
-/* 228 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {'use strict';
+ exports.useSelector = _useSelector.useSelector;
- if (process.env.NODE_ENV === 'production') {
- module.exports = __webpack_require__(229);
- } else {
- module.exports = __webpack_require__(230);
- }
+ var _useStore = __webpack_require__(239);
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 229 */
-/***/ (function(module, exports) {
-
- /** @license React v16.6.0
- * react-is.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
+ exports.useStore = _useStore.useStore;
- 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});
- var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.concurrent_mode"):60111,m=b?Symbol.for("react.forward_ref"):60112,n=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.memo"):60115,r=b?Symbol.for("react.lazy"):
- 60116;function t(a){if("object"===typeof a&&null!==a){var p=a.$$typeof;switch(p){case c:switch(a=a.type,a){case l:case e:case g:case f:return a;default:switch(a=a&&a.$$typeof,a){case k:case m:case h:return a;default:return p}}case d:return p}}}function u(a){return t(a)===l}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=l;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=m;exports.Fragment=e;exports.Profiler=g;exports.Portal=d;
- exports.StrictMode=f;exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===l||a===g||a===f||a===n||"object"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===m)};exports.isAsyncMode=function(a){return u(a)};exports.isConcurrentMode=u;exports.isContextConsumer=function(a){return t(a)===k};exports.isContextProvider=function(a){return t(a)===h};
- exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===m};exports.isFragment=function(a){return t(a)===e};exports.isProfiler=function(a){return t(a)===g};exports.isPortal=function(a){return t(a)===d};exports.isStrictMode=function(a){return t(a)===f};
-
+ var _batch = __webpack_require__(219);
+
+ var _reactBatchedUpdates = __webpack_require__(242);
+
+ exports.batch = _reactBatchedUpdates.unstable_batchedUpdates;
+
+ var _shallowEqual = _interopRequireDefault(__webpack_require__(228));
+
+ exports.shallowEqual = _shallowEqual["default"];
+ (0, _batch.setBatch)(_reactBatchedUpdates.unstable_batchedUpdates);
/***/ }),
-/* 230 */
+/* 213 */
/***/ (function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.6.0
- * react-is.development.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
+ "use strict";
- 'use strict';
+ var _interopRequireWildcard = __webpack_require__(214);
+ var _interopRequireDefault = __webpack_require__(14);
+ exports.__esModule = true;
+ exports["default"] = void 0;
- if (process.env.NODE_ENV !== "production") {
- (function() {
- 'use strict';
+ var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(215));
- Object.defineProperty(exports, '__esModule', { value: true });
+ var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(216));
- // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
- // nor polyfill, then a plain number is used for performance.
- var hasSymbol = typeof Symbol === 'function' && Symbol.for;
+ var _react = _interopRequireWildcard(__webpack_require__(1));
- var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
- var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
- var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
- var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
- var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
- var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
- var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
- var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
- var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
- var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
- var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
+ var _propTypes = _interopRequireDefault(__webpack_require__(6));
+
+ var _Context = __webpack_require__(217);
+
+ var _Subscription = _interopRequireDefault(__webpack_require__(218));
+
+ var Provider =
+ /*#__PURE__*/
+ function (_Component) {
+ (0, _inheritsLoose2["default"])(Provider, _Component);
- function isValidElementType(type) {
- return typeof type === 'string' || typeof type === 'function' ||
- // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
- type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);
- }
+ function Provider(props) {
+ var _this;
- /**
- * Forked from fbjs/warning:
- * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
- *
- * Only change is we use console.warn instead of console.error,
- * and do nothing when 'console' is not supported.
- * This really simplifies the code.
- * ---
- * Similar to invariant but only logs a warning if the condition is not met.
- * This can be used to log issues in development environments in critical
- * paths. Removing the logging code for production environments will keep the
- * same logic and follow the same code paths.
- */
+ _this = _Component.call(this, props) || this;
+ var store = props.store;
+ _this.notifySubscribers = _this.notifySubscribers.bind((0, _assertThisInitialized2["default"])(_this));
+ var subscription = new _Subscription["default"](store);
+ subscription.onStateChange = _this.notifySubscribers;
+ _this.state = {
+ store: store,
+ subscription: subscription
+ };
+ _this.previousState = store.getState();
+ return _this;
+ }
- var lowPriorityWarning = function () {};
+ var _proto = Provider.prototype;
- {
- var printWarning = function (format) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
+ _proto.componentDidMount = function componentDidMount() {
+ this._isMounted = true;
+ this.state.subscription.trySubscribe();
- var argIndex = 0;
- var message = 'Warning: ' + format.replace(/%s/g, function () {
- return args[argIndex++];
- });
- if (typeof console !== 'undefined') {
- console.warn(message);
+ if (this.previousState !== this.props.store.getState()) {
+ this.state.subscription.notifyNestedSubs();
}
- try {
- // --- Welcome to debugging React ---
- // This error was thrown as a convenience so that you can use this stack
- // to find the callsite that caused this warning to fire.
- throw new Error(message);
- } catch (x) {}
};
- lowPriorityWarning = function (condition, format) {
- if (format === undefined) {
- throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');
- }
- if (!condition) {
- for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
- args[_key2 - 2] = arguments[_key2];
- }
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ if (this.unsubscribe) this.unsubscribe();
+ this.state.subscription.tryUnsubscribe();
+ this._isMounted = false;
+ };
- printWarning.apply(undefined, [format].concat(args));
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ if (this.props.store !== prevProps.store) {
+ this.state.subscription.tryUnsubscribe();
+ var subscription = new _Subscription["default"](this.props.store);
+ subscription.onStateChange = this.notifySubscribers;
+ this.setState({
+ store: this.props.store,
+ subscription: subscription
+ });
}
};
- }
- var lowPriorityWarning$1 = lowPriorityWarning;
+ _proto.notifySubscribers = function notifySubscribers() {
+ this.state.subscription.notifyNestedSubs();
+ };
- function typeOf(object) {
- if (typeof object === 'object' && object !== null) {
- var $$typeof = object.$$typeof;
+ _proto.render = function render() {
+ var Context = this.props.context || _Context.ReactReduxContext;
+ return _react["default"].createElement(Context.Provider, {
+ value: this.state
+ }, this.props.children);
+ };
- switch ($$typeof) {
- case REACT_ELEMENT_TYPE:
- var type = object.type;
+ return Provider;
+ }(_react.Component);
- switch (type) {
- case REACT_CONCURRENT_MODE_TYPE:
- case REACT_FRAGMENT_TYPE:
- case REACT_PROFILER_TYPE:
- case REACT_STRICT_MODE_TYPE:
- return type;
- default:
- var $$typeofType = type && type.$$typeof;
+ Provider.propTypes = {
+ store: _propTypes["default"].shape({
+ subscribe: _propTypes["default"].func.isRequired,
+ dispatch: _propTypes["default"].func.isRequired,
+ getState: _propTypes["default"].func.isRequired
+ }),
+ context: _propTypes["default"].object,
+ children: _propTypes["default"].any
+ };
+ var _default = Provider;
+ exports["default"] = _default;
+
+/***/ }),
+/* 214 */
+/***/ (function(module, exports) {
+
+ function _interopRequireWildcard(obj) {
+ if (obj && obj.__esModule) {
+ return obj;
+ } else {
+ var newObj = {};
- switch ($$typeofType) {
- case REACT_CONTEXT_TYPE:
- case REACT_FORWARD_REF_TYPE:
- case REACT_PROVIDER_TYPE:
- return $$typeofType;
- default:
- return $$typeof;
- }
+ 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];
+ }
}
- case REACT_PORTAL_TYPE:
- return $$typeof;
+ }
}
- }
- return undefined;
+ newObj.default = obj;
+ return newObj;
+ }
}
- // AsyncMode alias is deprecated along with isAsyncMode
- var AsyncMode = REACT_CONCURRENT_MODE_TYPE;
- var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
- var ContextConsumer = REACT_CONTEXT_TYPE;
- var ContextProvider = REACT_PROVIDER_TYPE;
- var Element = REACT_ELEMENT_TYPE;
- var ForwardRef = REACT_FORWARD_REF_TYPE;
- var Fragment = REACT_FRAGMENT_TYPE;
- var Profiler = REACT_PROFILER_TYPE;
- var Portal = REACT_PORTAL_TYPE;
- var StrictMode = REACT_STRICT_MODE_TYPE;
-
- var hasWarnedAboutDeprecatedIsAsyncMode = false;
-
- // AsyncMode should be deprecated
- function isAsyncMode(object) {
- {
- if (!hasWarnedAboutDeprecatedIsAsyncMode) {
- hasWarnedAboutDeprecatedIsAsyncMode = true;
- lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
- }
+ module.exports = _interopRequireWildcard;
+
+/***/ }),
+/* 215 */
+/***/ (function(module, exports) {
+
+ function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
- return isConcurrentMode(object);
- }
- function isConcurrentMode(object) {
- return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
- }
- function isContextConsumer(object) {
- return typeOf(object) === REACT_CONTEXT_TYPE;
- }
- function isContextProvider(object) {
- return typeOf(object) === REACT_PROVIDER_TYPE;
- }
- function isElement(object) {
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
- }
- function isForwardRef(object) {
- return typeOf(object) === REACT_FORWARD_REF_TYPE;
- }
- function isFragment(object) {
- return typeOf(object) === REACT_FRAGMENT_TYPE;
- }
- function isProfiler(object) {
- return typeOf(object) === REACT_PROFILER_TYPE;
- }
- function isPortal(object) {
- return typeOf(object) === REACT_PORTAL_TYPE;
- }
- function isStrictMode(object) {
- return typeOf(object) === REACT_STRICT_MODE_TYPE;
+
+ return self;
}
- exports.typeOf = typeOf;
- exports.AsyncMode = AsyncMode;
- exports.ConcurrentMode = ConcurrentMode;
- exports.ContextConsumer = ContextConsumer;
- exports.ContextProvider = ContextProvider;
- exports.Element = Element;
- exports.ForwardRef = ForwardRef;
- exports.Fragment = Fragment;
- exports.Profiler = Profiler;
- exports.Portal = Portal;
- exports.StrictMode = StrictMode;
- exports.isValidElementType = isValidElementType;
- exports.isAsyncMode = isAsyncMode;
- exports.isConcurrentMode = isConcurrentMode;
- exports.isContextConsumer = isContextConsumer;
- exports.isContextProvider = isContextProvider;
- exports.isElement = isElement;
- exports.isForwardRef = isForwardRef;
- exports.isFragment = isFragment;
- exports.isProfiler = isProfiler;
- exports.isPortal = isPortal;
- exports.isStrictMode = isStrictMode;
- })();
+ module.exports = _assertThisInitialized;
+
+/***/ }),
+/* 216 */
+/***/ (function(module, exports) {
+
+ function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
}
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+ module.exports = _inheritsLoose;
/***/ }),
-/* 231 */
+/* 217 */
/***/ (function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
- 'use strict';
-
- /**
- * Use invariant() to assert state which your program assumes to be true.
- *
- * Provide sprintf-style format (only %s is supported) and arguments
- * to provide information about what broke and what you were
- * expecting.
- *
- * The invariant message will be stripped in production, but the invariant
- * will remain to ensure logic does not differ in production.
- */
-
- var invariant = function(condition, format, a, b, c, d, e, f) {
- if (process.env.NODE_ENV !== 'production') {
- if (format === undefined) {
- throw new Error('invariant requires an error message argument');
- }
- }
+ "use strict";
- if (!condition) {
- var error;
- if (format === undefined) {
- error = new Error(
- 'Minified exception occurred; use the non-minified dev environment ' +
- 'for the full error message and additional helpful warnings.'
- );
- } else {
- var args = [a, b, c, d, e, f];
- var argIndex = 0;
- error = new Error(
- format.replace(/%s/g, function() { return args[argIndex++]; })
- );
- error.name = 'Invariant Violation';
- }
+ var _interopRequireDefault = __webpack_require__(14);
- error.framesToPop = 1; // we don't care about invariant's own frame
- throw error;
- }
- };
+ exports.__esModule = true;
+ exports["default"] = exports.ReactReduxContext = void 0;
- module.exports = invariant;
+ var _react = _interopRequireDefault(__webpack_require__(1));
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+ var ReactReduxContext = _react["default"].createContext(null);
+
+ exports.ReactReduxContext = ReactReduxContext;
+ var _default = ReactReduxContext;
+ exports["default"] = _default;
/***/ }),
-/* 232 */
-/***/ (function(module, exports) {
+/* 218 */
+/***/ (function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
- exports.default = void 0;
+ exports["default"] = void 0;
+
+ var _batch = __webpack_require__(219);
+
// encapsulates the subscription logic for connecting a component to the redux store, as
// well as nesting subscriptions of descendant components, so that we can ensure the
// ancestor components re-render before descendants
@@ -25642,8 +26334,9 @@
};
function createListenerCollection() {
- // the current/next pattern is copied from redux's createStore code.
+ var batch = (0, _batch.getBatch)(); // the current/next pattern is copied from redux's createStore code.
// TODO: refactor+expose that code to be reusable here?
+
var current = [];
var next = [];
return {
@@ -25653,10 +26346,11 @@
},
notify: function notify() {
var listeners = current = next;
-
- for (var i = 0; i < listeners.length; i++) {
- listeners[i]();
- }
+ batch(function () {
+ for (var i = 0; i < listeners.length; i++) {
+ listeners[i]();
+ }
+ });
},
get: function get() {
return next;
@@ -25678,12 +26372,12 @@
var Subscription =
/*#__PURE__*/
function () {
- function Subscription(store, parentSub, onStateChange) {
+ function Subscription(store, parentSub) {
this.store = store;
this.parentSub = parentSub;
- this.onStateChange = onStateChange;
this.unsubscribe = null;
this.listeners = nullListeners;
+ this.handleChangeWrapper = this.handleChangeWrapper.bind(this);
}
var _proto = Subscription.prototype;
@@ -25697,13 +26391,19 @@
this.listeners.notify();
};
+ _proto.handleChangeWrapper = function handleChangeWrapper() {
+ if (this.onStateChange) {
+ this.onStateChange();
+ }
+ };
+
_proto.isSubscribed = function isSubscribed() {
return Boolean(this.unsubscribe);
};
_proto.trySubscribe = function trySubscribe() {
if (!this.unsubscribe) {
- this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);
+ this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);
this.listeners = createListenerCollection();
}
};
@@ -25720,2118 +26420,2115 @@
return Subscription;
}();
- exports.default = Subscription;
+ exports["default"] = Subscription;
/***/ }),
-/* 233 */
-/***/ (function(module, exports, __webpack_require__) {
+/* 219 */
+/***/ (function(module, exports) {
"use strict";
- var _interopRequireDefault = __webpack_require__(14);
-
exports.__esModule = true;
- exports.createConnect = createConnect;
- exports.default = void 0;
-
- var _extends2 = _interopRequireDefault(__webpack_require__(120));
-
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(226));
+ exports.getBatch = exports.setBatch = void 0;
- var _connectAdvanced = _interopRequireDefault(__webpack_require__(224));
+ // Default to a dummy "batch" implementation that just runs the callback
+ function defaultNoopBatch(callback) {
+ callback();
+ }
- var _shallowEqual = _interopRequireDefault(__webpack_require__(234));
+ var batch = defaultNoopBatch; // Allow injecting another batching function later
- var _mapDispatchToProps = _interopRequireDefault(__webpack_require__(235));
+ var setBatch = function setBatch(newBatch) {
+ return batch = newBatch;
+ }; // Supply a getter just to skip dealing with ESM bindings
- var _mapStateToProps = _interopRequireDefault(__webpack_require__(239));
- var _mergeProps = _interopRequireDefault(__webpack_require__(240));
+ exports.setBatch = setBatch;
- var _selectorFactory = _interopRequireDefault(__webpack_require__(241));
+ var getBatch = function getBatch() {
+ return batch;
+ };
- /*
- connect is a facade over connectAdvanced. It turns its args into a compatible
- selectorFactory, which has the signature:
+ exports.getBatch = getBatch;
+
+/***/ }),
+/* 220 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {"use strict";
- (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps
-
- connect passes its args to connectAdvanced as options, which will in turn pass them to
- selectorFactory each time a Connect component instance is instantiated or hot reloaded.
+ var _interopRequireWildcard = __webpack_require__(214);
- selectorFactory returns a final props selector from its mapStateToProps,
- mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,
- mergePropsFactories, and pure args.
+ var _interopRequireDefault = __webpack_require__(14);
- The resulting final props selector is called by the Connect component instance whenever
- it receives new props or store state.
- */
- function match(arg, factories, name) {
- for (var i = factories.length - 1; i >= 0; i--) {
- var result = factories[i](arg);
- if (result) return result;
- }
+ exports.__esModule = true;
+ exports["default"] = connectAdvanced;
- return function (dispatch, options) {
- throw new Error("Invalid value of type " + typeof arg + " for " + name + " argument when connecting component " + options.wrappedComponentName + ".");
- };
- }
+ var _extends2 = _interopRequireDefault(__webpack_require__(120));
- function strictEqual(a, b) {
- return a === b;
- } // createConnect with default args builds the 'official' connect behavior. Calling it with
- // different options opens up some testing and extensibility scenarios
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(221));
+ var _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(222));
- function createConnect(_temp) {
- var _ref = _temp === void 0 ? {} : _temp,
- _ref$connectHOC = _ref.connectHOC,
- connectHOC = _ref$connectHOC === void 0 ? _connectAdvanced.default : _ref$connectHOC,
- _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,
- mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps.default : _ref$mapStateToPropsF,
- _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,
- mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps.default : _ref$mapDispatchToPro,
- _ref$mergePropsFactor = _ref.mergePropsFactories,
- mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps.default : _ref$mergePropsFactor,
- _ref$selectorFactory = _ref.selectorFactory,
- selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory.default : _ref$selectorFactory;
+ var _invariant = _interopRequireDefault(__webpack_require__(226));
- return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {
- if (_ref2 === void 0) {
- _ref2 = {};
- }
+ var _react = _interopRequireWildcard(__webpack_require__(1));
- var _ref3 = _ref2,
- _ref3$pure = _ref3.pure,
- pure = _ref3$pure === void 0 ? true : _ref3$pure,
- _ref3$areStatesEqual = _ref3.areStatesEqual,
- areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,
- _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,
- areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _shallowEqual.default : _ref3$areOwnPropsEqua,
- _ref3$areStatePropsEq = _ref3.areStatePropsEqual,
- areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _shallowEqual.default : _ref3$areStatePropsEq,
- _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,
- areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _shallowEqual.default : _ref3$areMergedPropsE,
- extraOptions = (0, _objectWithoutPropertiesLoose2.default)(_ref3, ["pure", "areStatesEqual", "areOwnPropsEqual", "areStatePropsEqual", "areMergedPropsEqual"]);
- var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');
- var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');
- var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');
- return connectHOC(selectorFactory, (0, _extends2.default)({
- // used in error messages
- methodName: 'connect',
- // used to compute Connect's displayName from the wrapped component's displayName.
- getDisplayName: function getDisplayName(name) {
- return "Connect(" + name + ")";
- },
- // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes
- shouldHandleStateChanges: Boolean(mapStateToProps),
- // passed through to selectorFactory
- initMapStateToProps: initMapStateToProps,
- initMapDispatchToProps: initMapDispatchToProps,
- initMergeProps: initMergeProps,
- pure: pure,
- areStatesEqual: areStatesEqual,
- areOwnPropsEqual: areOwnPropsEqual,
- areStatePropsEqual: areStatePropsEqual,
- areMergedPropsEqual: areMergedPropsEqual
- }, extraOptions));
- };
- }
+ var _reactIs = __webpack_require__(223);
- var _default = createConnect();
+ var _Subscription = _interopRequireDefault(__webpack_require__(218));
- exports.default = _default;
-
-/***/ }),
-/* 234 */
-/***/ (function(module, exports) {
-
- "use strict";
+ var _Context = __webpack_require__(217);
- exports.__esModule = true;
- exports.default = shallowEqual;
- var hasOwn = Object.prototype.hasOwnProperty;
+ // Define some constant arrays just to avoid re-creating these
+ var EMPTY_ARRAY = [];
+ var NO_SUBSCRIPTION_ARRAY = [null, null];
- function is(x, y) {
- if (x === y) {
- return x !== 0 || y !== 0 || 1 / x === 1 / y;
- } else {
- return x !== x && y !== y;
+ var stringifyComponent = function stringifyComponent(Comp) {
+ try {
+ return JSON.stringify(Comp);
+ } catch (err) {
+ return String(Comp);
}
+ };
+
+ function storeStateUpdatesReducer(state, action) {
+ var updateCount = state[1];
+ return [action.payload, updateCount + 1];
}
- function shallowEqual(objA, objB) {
- if (is(objA, objB)) return true;
+ var initStateUpdates = function initStateUpdates() {
+ return [null, 0];
+ }; // React currently throws a warning when using useLayoutEffect on the server.
+ // To get around it, we can conditionally useEffect on the server (no-op) and
+ // useLayoutEffect in the browser. We need useLayoutEffect because we want
+ // `connect` to perform sync updates to a ref to save the latest props after
+ // a render is actually committed to the DOM.
- if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
- return false;
- }
- var keysA = Object.keys(objA);
- var keysB = Object.keys(objB);
- if (keysA.length !== keysB.length) return false;
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
- for (var i = 0; i < keysA.length; i++) {
- if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
- return false;
- }
+ function connectAdvanced(
+ /*
+ selectorFactory is a func that is responsible for returning the selector function used to
+ compute new props from state, props, and dispatch. For example:
+ export default connectAdvanced((dispatch, options) => (state, props) => ({
+ thing: state.things[props.thingId],
+ saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),
+ }))(YourComponent)
+ Access to dispatch is provided to the factory so selectorFactories can bind actionCreators
+ outside of their selector as an optimization. Options passed to connectAdvanced are passed to
+ the selectorFactory, along with displayName and WrappedComponent, as the second argument.
+ Note that selectorFactory is responsible for all caching/memoization of inbound and outbound
+ props. Do not use connectAdvanced directly without memoizing results between calls to your
+ selector, otherwise the Connect component will re-render on every state or props change.
+ */
+ selectorFactory, // options object:
+ _ref) {
+ if (_ref === void 0) {
+ _ref = {};
}
- return true;
- }
-
-/***/ }),
-/* 235 */
-/***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
- exports.__esModule = true;
- exports.whenMapDispatchToPropsIsFunction = whenMapDispatchToPropsIsFunction;
- exports.whenMapDispatchToPropsIsMissing = whenMapDispatchToPropsIsMissing;
- exports.whenMapDispatchToPropsIsObject = whenMapDispatchToPropsIsObject;
- exports.default = void 0;
+ var _ref2 = _ref,
+ _ref2$getDisplayName = _ref2.getDisplayName,
+ getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {
+ return "ConnectAdvanced(" + name + ")";
+ } : _ref2$getDisplayName,
+ _ref2$methodName = _ref2.methodName,
+ methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,
+ _ref2$renderCountProp = _ref2.renderCountProp,
+ renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,
+ _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,
+ shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,
+ _ref2$storeKey = _ref2.storeKey,
+ storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,
+ _ref2$withRef = _ref2.withRef,
+ withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,
+ _ref2$forwardRef = _ref2.forwardRef,
+ forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,
+ _ref2$context = _ref2.context,
+ context = _ref2$context === void 0 ? _Context.ReactReduxContext : _ref2$context,
+ connectOptions = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef", "forwardRef", "context"]);
+ (0, _invariant["default"])(renderCountProp === undefined, "renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension");
+ (0, _invariant["default"])(!withRef, 'withRef is removed. To access the wrapped instance, use a ref on the connected component');
+ var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + "React.createContext(), and pass the context object to React Redux's Provider and specific components" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';
+ (0, _invariant["default"])(storeKey === 'store', 'storeKey has been removed and does not do anything. ' + customStoreWarningMessage);
+ var Context = context;
+ return function wrapWithConnect(WrappedComponent) {
+ if (process.env.NODE_ENV !== 'production') {
+ (0, _invariant["default"])((0, _reactIs.isValidElementType)(WrappedComponent), "You must pass a component to the function returned by " + (methodName + ". Instead received " + stringifyComponent(WrappedComponent)));
+ }
- var _redux = __webpack_require__(206);
+ var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
+ var displayName = getDisplayName(wrappedComponentName);
+ var selectorFactoryOptions = (0, _extends2["default"])({}, connectOptions, {
+ getDisplayName: getDisplayName,
+ methodName: methodName,
+ renderCountProp: renderCountProp,
+ shouldHandleStateChanges: shouldHandleStateChanges,
+ storeKey: storeKey,
+ displayName: displayName,
+ wrappedComponentName: wrappedComponentName,
+ WrappedComponent: WrappedComponent
+ });
+ var pure = connectOptions.pure;
- var _wrapMapToProps = __webpack_require__(236);
+ function createChildSelector(store) {
+ return selectorFactory(store.dispatch, selectorFactoryOptions);
+ } // If we aren't running in "pure" mode, we don't want to memoize values.
+ // To avoid conditionally calling hooks, we fall back to a tiny wrapper
+ // that just executes the given callback immediately.
- function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {
- return typeof mapDispatchToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : undefined;
- }
- function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {
- return !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {
- return {
- dispatch: dispatch
+ var usePureOnlyMemo = pure ? _react.useMemo : function (callback) {
+ return callback();
};
- }) : undefined;
- }
- function whenMapDispatchToPropsIsObject(mapDispatchToProps) {
- return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {
- return (0, _redux.bindActionCreators)(mapDispatchToProps, dispatch);
- }) : undefined;
- }
+ function ConnectFunction(props) {
+ var _useMemo = (0, _react.useMemo)(function () {
+ // Distinguish between actual "data" props that were passed to the wrapper component,
+ // and values needed to control behavior (forwarded refs, alternate context instances).
+ // To maintain the wrapperProps object reference, memoize this destructuring.
+ var forwardedRef = props.forwardedRef,
+ wrapperProps = (0, _objectWithoutPropertiesLoose2["default"])(props, ["forwardedRef"]);
+ return [props.context, forwardedRef, wrapperProps];
+ }, [props]),
+ propsContext = _useMemo[0],
+ forwardedRef = _useMemo[1],
+ wrapperProps = _useMemo[2];
+
+ var ContextToUse = (0, _react.useMemo)(function () {
+ // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.
+ // Memoize the check that determines which context instance we should use.
+ return propsContext && propsContext.Consumer && (0, _reactIs.isContextConsumer)(_react["default"].createElement(propsContext.Consumer, null)) ? propsContext : Context;
+ }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available
+
+ var contextValue = (0, _react.useContext)(ContextToUse); // The store _must_ exist as either a prop or in context
+
+ var didStoreComeFromProps = Boolean(props.store);
+ var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);
+ (0, _invariant["default"])(didStoreComeFromProps || didStoreComeFromContext, "Could not find \"store\" in the context of " + ("\"" + displayName + "\". Either wrap the root component in a , ") + "or pass a custom React context provider to and the corresponding " + ("React context consumer to " + displayName + " in connect options."));
+ var store = props.store || contextValue.store;
+ var childPropsSelector = (0, _react.useMemo)(function () {
+ // The child props selector needs the store reference as an input.
+ // Re-create this selector whenever the store changes.
+ return createChildSelector(store);
+ }, [store]);
+
+ var _useMemo2 = (0, _react.useMemo)(function () {
+ if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component
+ // connected to the store via props shouldn't use subscription from context, or vice versa.
- var _default = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];
- exports.default = _default;
-
-/***/ }),
-/* 236 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {"use strict";
+ var subscription = new _Subscription["default"](store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in
+ // the middle of the notification loop, where `subscription` will then be null. This can
+ // probably be avoided if Subscription's listeners logic is changed to not call listeners
+ // that have been unsubscribed in the middle of the notification loop.
- var _interopRequireDefault = __webpack_require__(14);
+ var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);
+ return [subscription, notifyNestedSubs];
+ }, [store, didStoreComeFromProps, contextValue]),
+ subscription = _useMemo2[0],
+ notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,
+ // and memoize that value to avoid unnecessary context updates.
- exports.__esModule = true;
- exports.wrapMapToPropsConstant = wrapMapToPropsConstant;
- exports.getDependsOnOwnProps = getDependsOnOwnProps;
- exports.wrapMapToPropsFunc = wrapMapToPropsFunc;
- var _verifyPlainObject = _interopRequireDefault(__webpack_require__(237));
+ var overriddenContextValue = (0, _react.useMemo)(function () {
+ if (didStoreComeFromProps) {
+ // This component is directly subscribed to a store from props.
+ // We don't want descendants reading from this store - pass down whatever
+ // the existing context value is from the nearest connected ancestor.
+ return contextValue;
+ } // Otherwise, put this component's subscription instance into context, so that
+ // connected descendants won't update until after this component is done
- function wrapMapToPropsConstant(getConstant) {
- return function initConstantSelector(dispatch, options) {
- var constant = getConstant(dispatch, options);
- function constantSelector() {
- return constant;
- }
+ return (0, _extends2["default"])({}, contextValue, {
+ subscription: subscription
+ });
+ }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update
+ // causes a change to the calculated child component props (or we caught an error in mapState)
+
+ var _useReducer = (0, _react.useReducer)(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),
+ _useReducer$ = _useReducer[0],
+ previousStateUpdateResult = _useReducer$[0],
+ forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards
+
+
+ if (previousStateUpdateResult && previousStateUpdateResult.error) {
+ throw previousStateUpdateResult.error;
+ } // Set up refs to coordinate values between the subscription effect and the render logic
+
+
+ var lastChildProps = (0, _react.useRef)();
+ var lastWrapperProps = (0, _react.useRef)(wrapperProps);
+ var childPropsFromStoreUpdate = (0, _react.useRef)();
+ var renderIsScheduled = (0, _react.useRef)(false);
+ var actualChildProps = usePureOnlyMemo(function () {
+ // Tricky logic here:
+ // - This render may have been triggered by a Redux store update that produced new child props
+ // - However, we may have gotten new wrapper props after that
+ // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.
+ // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.
+ // So, we'll use the child props from store update only if the wrapper props are the same as last time.
+ if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {
+ return childPropsFromStoreUpdate.current;
+ } // TODO We're reading the store directly in render() here. Bad idea?
+ // This will likely cause Bad Things (TM) to happen in Concurrent Mode.
+ // Note that we do this because on renders _not_ caused by store updates, we need the latest store state
+ // to determine what the child props should be.
+
+
+ return childPropsSelector(store.getState(), wrapperProps);
+ }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns
+ // about useLayoutEffect in SSR, so we try to detect environment and fall back to
+ // just useEffect instead to avoid the warning, since neither will run anyway.
+
+ useIsomorphicLayoutEffect(function () {
+ // We want to capture the wrapper props and child props we used for later comparisons
+ lastWrapperProps.current = wrapperProps;
+ lastChildProps.current = actualChildProps;
+ renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update
+
+ if (childPropsFromStoreUpdate.current) {
+ childPropsFromStoreUpdate.current = null;
+ notifyNestedSubs();
+ }
+ }); // Our re-subscribe logic only runs when the store/subscription setup changes
- constantSelector.dependsOnOwnProps = false;
- return constantSelector;
- };
- } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
- // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
- // whether mapToProps needs to be invoked when props have changed.
- //
- // A length of one signals that mapToProps does not depend on props from the parent component.
- // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
- // therefore not reporting its length accurately..
+ useIsomorphicLayoutEffect(function () {
+ // If we're not subscribed to the store, nothing to do here
+ if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts
+ var didUnsubscribe = false;
+ var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component
- function getDependsOnOwnProps(mapToProps) {
- return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
- } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
- // this function wraps mapToProps in a proxy function which does several things:
- //
- // * Detects whether the mapToProps function being called depends on props, which
- // is used by selectorFactory to decide if it should reinvoke on props changes.
- //
- // * On first call, handles mapToProps if returns another function, and treats that
- // new function as the true mapToProps for subsequent calls.
- //
- // * On first call, verifies the first result is a plain object, in order to warn
- // the developer that their mapToProps function is not returning a valid result.
- //
+ var checkForUpdates = function checkForUpdates() {
+ if (didUnsubscribe) {
+ // Don't run stale listeners.
+ // Redux doesn't guarantee unsubscriptions happen until next dispatch.
+ return;
+ }
+ var latestStoreState = store.getState();
+ var newChildProps, error;
- function wrapMapToPropsFunc(mapToProps, methodName) {
- return function initProxySelector(dispatch, _ref) {
- var displayName = _ref.displayName;
+ try {
+ // Actually run the selector with the most recent store state and wrapper props
+ // to determine what the child props should be
+ newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);
+ } catch (e) {
+ error = e;
+ lastThrownError = e;
+ }
- var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
- return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
- }; // allow detectFactoryAndVerify to get ownProps
+ if (!error) {
+ lastThrownError = null;
+ } // If the child props haven't changed, nothing to do here - cascade the subscription update
- proxy.dependsOnOwnProps = true;
+ if (newChildProps === lastChildProps.current) {
+ if (!renderIsScheduled.current) {
+ notifyNestedSubs();
+ }
+ } else {
+ // Save references to the new child props. Note that we track the "child props from store update"
+ // as a ref instead of a useState/useReducer because we need a way to determine if that value has
+ // been processed. If this went into useState/useReducer, we couldn't clear out the value without
+ // forcing another re-render, which we don't want.
+ lastChildProps.current = newChildProps;
+ childPropsFromStoreUpdate.current = newChildProps;
+ renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render
+
+ forceComponentUpdateDispatch({
+ type: 'STORE_UPDATED',
+ payload: {
+ latestStoreState: latestStoreState,
+ error: error
+ }
+ });
+ }
+ }; // Actually subscribe to the nearest connected ancestor (or store)
- proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
- proxy.mapToProps = mapToProps;
- proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
- var props = proxy(stateOrDispatch, ownProps);
- if (typeof props === 'function') {
- proxy.mapToProps = props;
- proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
- props = proxy(stateOrDispatch, ownProps);
- }
+ subscription.onStateChange = checkForUpdates;
+ subscription.trySubscribe(); // Pull data from the store after first render in case the store has
+ // changed since we began.
- if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(props, displayName, methodName);
- return props;
- };
+ checkForUpdates();
- return proxy;
- };
- }
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 237 */
-/***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
+ var unsubscribeWrapper = function unsubscribeWrapper() {
+ didUnsubscribe = true;
+ subscription.tryUnsubscribe();
- var _interopRequireDefault = __webpack_require__(14);
+ if (lastThrownError) {
+ // It's possible that we caught an error due to a bad mapState function, but the
+ // parent re-rendered without this component and we're about to unmount.
+ // This shouldn't happen as long as we do top-down subscriptions correctly, but
+ // if we ever do those wrong, this throw will surface the error in our tests.
+ // In that case, throw the error from here so it doesn't get lost.
+ throw lastThrownError;
+ }
+ };
- exports.__esModule = true;
- exports.default = verifyPlainObject;
+ return unsubscribeWrapper;
+ }, [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.
+ // We memoize the elements for the rendered child component as an optimization.
- var _isPlainObject = _interopRequireDefault(__webpack_require__(238));
+ var renderedWrappedComponent = (0, _react.useMemo)(function () {
+ return _react["default"].createElement(WrappedComponent, (0, _extends2["default"])({}, actualChildProps, {
+ ref: forwardedRef
+ }));
+ }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering
+ // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.
+
+ var renderedChild = (0, _react.useMemo)(function () {
+ if (shouldHandleStateChanges) {
+ // If this component is subscribed to store updates, we need to pass its own
+ // subscription instance down to our descendants. That means rendering the same
+ // Context instance, and putting a different value into the context.
+ return _react["default"].createElement(ContextToUse.Provider, {
+ value: overriddenContextValue
+ }, renderedWrappedComponent);
+ }
- var _warning = _interopRequireDefault(__webpack_require__(223));
+ return renderedWrappedComponent;
+ }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);
+ return renderedChild;
+ } // If we're in "pure" mode, ensure our wrapper component only re-renders when incoming props have changed.
- function verifyPlainObject(value, displayName, methodName) {
- if (!(0, _isPlainObject.default)(value)) {
- (0, _warning.default)(methodName + "() in " + displayName + " must return a plain object. Instead received " + value + ".");
- }
+
+ var Connect = pure ? _react["default"].memo(ConnectFunction) : ConnectFunction;
+ Connect.WrappedComponent = WrappedComponent;
+ Connect.displayName = displayName;
+
+ if (forwardRef) {
+ var forwarded = _react["default"].forwardRef(function forwardConnectRef(props, ref) {
+ return _react["default"].createElement(Connect, (0, _extends2["default"])({}, props, {
+ forwardedRef: ref
+ }));
+ });
+
+ forwarded.displayName = displayName;
+ forwarded.WrappedComponent = WrappedComponent;
+ return (0, _hoistNonReactStatics["default"])(forwarded, WrappedComponent);
+ }
+
+ return (0, _hoistNonReactStatics["default"])(Connect, WrappedComponent);
+ };
}
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 238 */
+/* 221 */
/***/ (function(module, exports) {
- "use strict";
-
- exports.__esModule = true;
- exports.default = isPlainObject;
-
- /**
- * @param {any} obj The object to inspect.
- * @returns {boolean} True if the argument appears to be a plain object.
- */
- function isPlainObject(obj) {
- if (typeof obj !== 'object' || obj === null) return false;
- var proto = obj;
+ function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
- while (Object.getPrototypeOf(proto) !== null) {
- proto = Object.getPrototypeOf(proto);
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
}
- return Object.getPrototypeOf(obj) === proto;
+ return target;
}
+
+ module.exports = _objectWithoutPropertiesLoose;
/***/ }),
-/* 239 */
+/* 222 */
/***/ (function(module, exports, __webpack_require__) {
- "use strict";
+ 'use strict';
- exports.__esModule = true;
- exports.whenMapStateToPropsIsFunction = whenMapStateToPropsIsFunction;
- exports.whenMapStateToPropsIsMissing = whenMapStateToPropsIsMissing;
- exports.default = void 0;
+ /**
+ * Copyright 2015, Yahoo! Inc.
+ * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
+ */
+ var ReactIs = __webpack_require__(223);
+ var REACT_STATICS = {
+ childContextTypes: true,
+ contextType: true,
+ contextTypes: true,
+ defaultProps: true,
+ displayName: true,
+ getDefaultProps: true,
+ getDerivedStateFromError: true,
+ getDerivedStateFromProps: true,
+ mixins: true,
+ propTypes: true,
+ type: true
+ };
- var _wrapMapToProps = __webpack_require__(236);
+ var KNOWN_STATICS = {
+ name: true,
+ length: true,
+ prototype: true,
+ caller: true,
+ callee: true,
+ arguments: true,
+ arity: true
+ };
- function whenMapStateToPropsIsFunction(mapStateToProps) {
- return typeof mapStateToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : undefined;
- }
+ var FORWARD_REF_STATICS = {
+ '$$typeof': true,
+ render: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true
+ };
- function whenMapStateToPropsIsMissing(mapStateToProps) {
- return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function () {
- return {};
- }) : undefined;
+ var MEMO_STATICS = {
+ '$$typeof': true,
+ compare: true,
+ defaultProps: true,
+ displayName: true,
+ propTypes: true,
+ type: true
+ };
+
+ var TYPE_STATICS = {};
+ TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;
+
+ function getStatics(component) {
+ if (ReactIs.isMemo(component)) {
+ return MEMO_STATICS;
+ }
+ return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
}
- var _default = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];
- exports.default = _default;
-
-/***/ }),
-/* 240 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {"use strict";
+ var defineProperty = Object.defineProperty;
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+ var getPrototypeOf = Object.getPrototypeOf;
+ var objectPrototype = Object.prototype;
- var _interopRequireDefault = __webpack_require__(14);
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
+ if (typeof sourceComponent !== 'string') {
+ // don't hoist over string (html) components
- exports.__esModule = true;
- exports.defaultMergeProps = defaultMergeProps;
- exports.wrapMergePropsFunc = wrapMergePropsFunc;
- exports.whenMergePropsIsFunction = whenMergePropsIsFunction;
- exports.whenMergePropsIsOmitted = whenMergePropsIsOmitted;
- exports.default = void 0;
+ if (objectPrototype) {
+ var inheritedComponent = getPrototypeOf(sourceComponent);
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
+ }
+ }
- var _extends2 = _interopRequireDefault(__webpack_require__(120));
+ var keys = getOwnPropertyNames(sourceComponent);
- var _verifyPlainObject = _interopRequireDefault(__webpack_require__(237));
+ if (getOwnPropertySymbols) {
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
+ }
- function defaultMergeProps(stateProps, dispatchProps, ownProps) {
- return (0, _extends2.default)({}, ownProps, stateProps, dispatchProps);
- }
+ var targetStatics = getStatics(targetComponent);
+ var sourceStatics = getStatics(sourceComponent);
- function wrapMergePropsFunc(mergeProps) {
- return function initMergePropsProxy(dispatch, _ref) {
- var displayName = _ref.displayName,
- pure = _ref.pure,
- areMergedPropsEqual = _ref.areMergedPropsEqual;
- var hasRunOnce = false;
- var mergedProps;
- return function mergePropsProxy(stateProps, dispatchProps, ownProps) {
- var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);
+ for (var i = 0; i < keys.length; ++i) {
+ var key = keys[i];
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
+ try {
+ // Avoid failures from read-only properties
+ defineProperty(targetComponent, key, descriptor);
+ } catch (e) {}
+ }
+ }
- if (hasRunOnce) {
- if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;
- } else {
- hasRunOnce = true;
- mergedProps = nextMergedProps;
- if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(mergedProps, displayName, 'mergeProps');
- }
+ return targetComponent;
+ }
- return mergedProps;
- };
- };
+ return targetComponent;
}
- function whenMergePropsIsFunction(mergeProps) {
- return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;
- }
+ module.exports = hoistNonReactStatics;
+
+
+/***/ }),
+/* 223 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
- function whenMergePropsIsOmitted(mergeProps) {
- return !mergeProps ? function () {
- return defaultMergeProps;
- } : undefined;
+ if (process.env.NODE_ENV === 'production') {
+ module.exports = __webpack_require__(224);
+ } else {
+ module.exports = __webpack_require__(225);
}
- var _default = [whenMergePropsIsFunction, whenMergePropsIsOmitted];
- exports.default = _default;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 241 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {"use strict";
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 224 */
+/***/ (function(module, exports) {
+
+ /** @license React v16.9.0
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+ 'use strict';Object.defineProperty(exports,"__esModule",{value:!0});
+ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"):
+ 60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.fundamental"):60117,w=b?Symbol.for("react.responder"):60118;function x(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function y(a){return x(a)===m}exports.typeOf=x;exports.AsyncMode=l;
+ exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;
+ exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w)};exports.isAsyncMode=function(a){return y(a)||x(a)===l};exports.isConcurrentMode=y;exports.isContextConsumer=function(a){return x(a)===k};exports.isContextProvider=function(a){return x(a)===h};
+ exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return x(a)===n};exports.isFragment=function(a){return x(a)===e};exports.isLazy=function(a){return x(a)===t};exports.isMemo=function(a){return x(a)===r};exports.isPortal=function(a){return x(a)===d};exports.isProfiler=function(a){return x(a)===g};exports.isStrictMode=function(a){return x(a)===f};exports.isSuspense=function(a){return x(a)===p};
+
+
+/***/ }),
+/* 225 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.9.0
+ * react-is.development.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+ 'use strict';
+
+
- var _interopRequireDefault = __webpack_require__(14);
+ if (process.env.NODE_ENV !== "production") {
+ (function() {
+ 'use strict';
- exports.__esModule = true;
- exports.impureFinalPropsSelectorFactory = impureFinalPropsSelectorFactory;
- exports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory;
- exports.default = finalPropsSelectorFactory;
+ Object.defineProperty(exports, '__esModule', { value: true });
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(226));
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
+ // nor polyfill, then a plain number is used for performance.
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
- var _verifySubselectors = _interopRequireDefault(__webpack_require__(242));
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
+ // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
+ // (unstable) APIs that have been removed. Can we remove the symbols?
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
- function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {
- return function impureFinalPropsSelector(state, ownProps) {
- return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);
- };
+ function isValidElementType(type) {
+ return typeof type === 'string' || typeof type === 'function' ||
+ // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
+ type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE);
}
- function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {
- var areStatesEqual = _ref.areStatesEqual,
- areOwnPropsEqual = _ref.areOwnPropsEqual,
- areStatePropsEqual = _ref.areStatePropsEqual;
- var hasRunAtLeastOnce = false;
- var state;
- var ownProps;
- var stateProps;
- var dispatchProps;
- var mergedProps;
-
- function handleFirstCall(firstState, firstOwnProps) {
- state = firstState;
- ownProps = firstOwnProps;
- stateProps = mapStateToProps(state, ownProps);
- dispatchProps = mapDispatchToProps(dispatch, ownProps);
- mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- hasRunAtLeastOnce = true;
- return mergedProps;
- }
+ /**
+ * Forked from fbjs/warning:
+ * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
+ *
+ * Only change is we use console.warn instead of console.error,
+ * and do nothing when 'console' is not supported.
+ * This really simplifies the code.
+ * ---
+ * Similar to invariant but only logs a warning if the condition is not met.
+ * This can be used to log issues in development environments in critical
+ * paths. Removing the logging code for production environments will keep the
+ * same logic and follow the same code paths.
+ */
- function handleNewPropsAndNewState() {
- stateProps = mapStateToProps(state, ownProps);
- if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);
- mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- return mergedProps;
- }
+ var lowPriorityWarning = function () {};
- function handleNewProps() {
- if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);
- if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);
- mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- return mergedProps;
- }
+ {
+ var printWarning = function (format) {
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
- function handleNewState() {
- var nextStateProps = mapStateToProps(state, ownProps);
- var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);
- stateProps = nextStateProps;
- if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- return mergedProps;
- }
+ var argIndex = 0;
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
+ return args[argIndex++];
+ });
+ if (typeof console !== 'undefined') {
+ console.warn(message);
+ }
+ try {
+ // --- Welcome to debugging React ---
+ // This error was thrown as a convenience so that you can use this stack
+ // to find the callsite that caused this warning to fire.
+ throw new Error(message);
+ } catch (x) {}
+ };
- function handleSubsequentCalls(nextState, nextOwnProps) {
- var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);
- var stateChanged = !areStatesEqual(nextState, state);
- state = nextState;
- ownProps = nextOwnProps;
- if (propsChanged && stateChanged) return handleNewPropsAndNewState();
- if (propsChanged) return handleNewProps();
- if (stateChanged) return handleNewState();
- return mergedProps;
- }
+ lowPriorityWarning = function (condition, format) {
+ if (format === undefined) {
+ throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');
+ }
+ if (!condition) {
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
+ args[_key2 - 2] = arguments[_key2];
+ }
- return function pureFinalPropsSelector(nextState, nextOwnProps) {
- return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);
+ printWarning.apply(undefined, [format].concat(args));
+ }
};
- } // TODO: Add more comments
- // If pure is true, the selector returned by selectorFactory will memoize its results,
- // allowing connectAdvanced's shouldComponentUpdate to return false if final
- // props have not changed. If false, the selector will always return a new
- // object and shouldComponentUpdate will always return true.
+ }
+ var lowPriorityWarning$1 = lowPriorityWarning;
- function finalPropsSelectorFactory(dispatch, _ref2) {
- var initMapStateToProps = _ref2.initMapStateToProps,
- initMapDispatchToProps = _ref2.initMapDispatchToProps,
- initMergeProps = _ref2.initMergeProps,
- options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]);
- var mapStateToProps = initMapStateToProps(dispatch, options);
- var mapDispatchToProps = initMapDispatchToProps(dispatch, options);
- var mergeProps = initMergeProps(dispatch, options);
+ function typeOf(object) {
+ if (typeof object === 'object' && object !== null) {
+ var $$typeof = object.$$typeof;
+ switch ($$typeof) {
+ case REACT_ELEMENT_TYPE:
+ var type = object.type;
- if (process.env.NODE_ENV !== 'production') {
- (0, _verifySubselectors.default)(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);
+ switch (type) {
+ case REACT_ASYNC_MODE_TYPE:
+ case REACT_CONCURRENT_MODE_TYPE:
+ case REACT_FRAGMENT_TYPE:
+ case REACT_PROFILER_TYPE:
+ case REACT_STRICT_MODE_TYPE:
+ case REACT_SUSPENSE_TYPE:
+ return type;
+ default:
+ var $$typeofType = type && type.$$typeof;
+
+ switch ($$typeofType) {
+ case REACT_CONTEXT_TYPE:
+ case REACT_FORWARD_REF_TYPE:
+ case REACT_PROVIDER_TYPE:
+ return $$typeofType;
+ default:
+ return $$typeof;
+ }
+ }
+ case REACT_LAZY_TYPE:
+ case REACT_MEMO_TYPE:
+ case REACT_PORTAL_TYPE:
+ return $$typeof;
+ }
}
- var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;
- return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);
+ return undefined;
}
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 242 */
-/***/ (function(module, exports, __webpack_require__) {
-
- "use strict";
-
- var _interopRequireDefault = __webpack_require__(14);
- exports.__esModule = true;
- exports.default = verifySubselectors;
+ // AsyncMode is deprecated along with isAsyncMode
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
+ var ContextConsumer = REACT_CONTEXT_TYPE;
+ var ContextProvider = REACT_PROVIDER_TYPE;
+ var Element = REACT_ELEMENT_TYPE;
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
+ var Fragment = REACT_FRAGMENT_TYPE;
+ var Lazy = REACT_LAZY_TYPE;
+ var Memo = REACT_MEMO_TYPE;
+ var Portal = REACT_PORTAL_TYPE;
+ var Profiler = REACT_PROFILER_TYPE;
+ var StrictMode = REACT_STRICT_MODE_TYPE;
+ var Suspense = REACT_SUSPENSE_TYPE;
- var _warning = _interopRequireDefault(__webpack_require__(223));
+ var hasWarnedAboutDeprecatedIsAsyncMode = false;
- function verify(selector, methodName, displayName) {
- if (!selector) {
- throw new Error("Unexpected value for " + methodName + " in " + displayName + ".");
- } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {
- if (!selector.hasOwnProperty('dependsOnOwnProps')) {
- (0, _warning.default)("The selector for " + methodName + " of " + displayName + " did not specify a value for dependsOnOwnProps.");
+ // AsyncMode should be deprecated
+ function isAsyncMode(object) {
+ {
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
+ hasWarnedAboutDeprecatedIsAsyncMode = true;
+ lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
}
}
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
+ }
+ function isConcurrentMode(object) {
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
+ }
+ function isContextConsumer(object) {
+ return typeOf(object) === REACT_CONTEXT_TYPE;
+ }
+ function isContextProvider(object) {
+ return typeOf(object) === REACT_PROVIDER_TYPE;
+ }
+ function isElement(object) {
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
+ }
+ function isForwardRef(object) {
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
+ }
+ function isFragment(object) {
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
+ }
+ function isLazy(object) {
+ return typeOf(object) === REACT_LAZY_TYPE;
+ }
+ function isMemo(object) {
+ return typeOf(object) === REACT_MEMO_TYPE;
+ }
+ function isPortal(object) {
+ return typeOf(object) === REACT_PORTAL_TYPE;
+ }
+ function isProfiler(object) {
+ return typeOf(object) === REACT_PROFILER_TYPE;
+ }
+ function isStrictMode(object) {
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
+ }
+ function isSuspense(object) {
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
+ }
+
+ exports.typeOf = typeOf;
+ exports.AsyncMode = AsyncMode;
+ exports.ConcurrentMode = ConcurrentMode;
+ exports.ContextConsumer = ContextConsumer;
+ exports.ContextProvider = ContextProvider;
+ exports.Element = Element;
+ exports.ForwardRef = ForwardRef;
+ exports.Fragment = Fragment;
+ exports.Lazy = Lazy;
+ exports.Memo = Memo;
+ exports.Portal = Portal;
+ exports.Profiler = Profiler;
+ exports.StrictMode = StrictMode;
+ exports.Suspense = Suspense;
+ exports.isValidElementType = isValidElementType;
+ exports.isAsyncMode = isAsyncMode;
+ exports.isConcurrentMode = isConcurrentMode;
+ exports.isContextConsumer = isContextConsumer;
+ exports.isContextProvider = isContextProvider;
+ exports.isElement = isElement;
+ exports.isForwardRef = isForwardRef;
+ exports.isFragment = isFragment;
+ exports.isLazy = isLazy;
+ exports.isMemo = isMemo;
+ exports.isPortal = isPortal;
+ exports.isProfiler = isProfiler;
+ exports.isStrictMode = isStrictMode;
+ exports.isSuspense = isSuspense;
+ })();
}
- function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {
- verify(mapStateToProps, 'mapStateToProps', displayName);
- verify(mapDispatchToProps, 'mapDispatchToProps', displayName);
- verify(mergeProps, 'mergeProps', displayName);
- }
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 243 */
+/* 226 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- function _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }
-
- var _Motion = __webpack_require__(244);
-
- exports.Motion = _interopRequire(_Motion);
-
- var _StaggeredMotion = __webpack_require__(251);
-
- exports.StaggeredMotion = _interopRequire(_StaggeredMotion);
-
- var _TransitionMotion = __webpack_require__(252);
-
- exports.TransitionMotion = _interopRequire(_TransitionMotion);
-
- var _spring = __webpack_require__(254);
-
- exports.spring = _interopRequire(_spring);
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
- var _presets = __webpack_require__(255);
+ 'use strict';
- exports.presets = _interopRequire(_presets);
+ /**
+ * Use invariant() to assert state which your program assumes to be true.
+ *
+ * Provide sprintf-style format (only %s is supported) and arguments
+ * to provide information about what broke and what you were
+ * expecting.
+ *
+ * The invariant message will be stripped in production, but the invariant
+ * will remain to ensure logic does not differ in production.
+ */
- var _stripStyle = __webpack_require__(246);
+ var invariant = function(condition, format, a, b, c, d, e, f) {
+ if (process.env.NODE_ENV !== 'production') {
+ if (format === undefined) {
+ throw new Error('invariant requires an error message argument');
+ }
+ }
- exports.stripStyle = _interopRequire(_stripStyle);
+ if (!condition) {
+ var error;
+ if (format === undefined) {
+ error = new Error(
+ 'Minified exception occurred; use the non-minified dev environment ' +
+ 'for the full error message and additional helpful warnings.'
+ );
+ } else {
+ var args = [a, b, c, d, e, f];
+ var argIndex = 0;
+ error = new Error(
+ format.replace(/%s/g, function() { return args[argIndex++]; })
+ );
+ error.name = 'Invariant Violation';
+ }
- // deprecated, dummy warning function
+ error.framesToPop = 1; // we don't care about invariant's own frame
+ throw error;
+ }
+ };
- var _reorderKeys = __webpack_require__(256);
+ module.exports = invariant;
- exports.reorderKeys = _interopRequire(_reorderKeys);
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 244 */
+/* 227 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _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; };
-
- 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; }; })();
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
-
- function _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; }
-
- var _mapToZero = __webpack_require__(245);
-
- var _mapToZero2 = _interopRequireDefault(_mapToZero);
-
- var _stripStyle = __webpack_require__(246);
-
- var _stripStyle2 = _interopRequireDefault(_stripStyle);
-
- var _stepper3 = __webpack_require__(247);
-
- var _stepper4 = _interopRequireDefault(_stepper3);
-
- var _performanceNow = __webpack_require__(248);
-
- var _performanceNow2 = _interopRequireDefault(_performanceNow);
-
- var _raf = __webpack_require__(249);
-
- var _raf2 = _interopRequireDefault(_raf);
-
- var _shouldStopAnimation = __webpack_require__(250);
-
- var _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);
-
- var _react = __webpack_require__(1);
-
- var _react2 = _interopRequireDefault(_react);
-
- var _propTypes = __webpack_require__(6);
-
- var _propTypes2 = _interopRequireDefault(_propTypes);
-
- var msPerFrame = 1000 / 60;
-
- var Motion = (function (_React$Component) {
- _inherits(Motion, _React$Component);
-
- _createClass(Motion, null, [{
- key: 'propTypes',
- value: {
- // TOOD: warn against putting a config in here
- defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),
- style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,
- children: _propTypes2['default'].func.isRequired,
- onRest: _propTypes2['default'].func
- },
- enumerable: true
- }]);
-
- function Motion(props) {
- var _this = this;
-
- _classCallCheck(this, Motion);
-
- _React$Component.call(this, props);
- this.wasAnimating = false;
- this.animationID = null;
- this.prevTime = 0;
- this.accumulatedTime = 0;
- this.unreadPropStyle = null;
-
- this.clearUnreadPropStyle = function (destStyle) {
- var dirty = false;
- var _state = _this.state;
- var currentStyle = _state.currentStyle;
- var currentVelocity = _state.currentVelocity;
- var lastIdealStyle = _state.lastIdealStyle;
- var lastIdealVelocity = _state.lastIdealVelocity;
-
- for (var key in destStyle) {
- if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {
- continue;
- }
-
- var styleValue = destStyle[key];
- if (typeof styleValue === 'number') {
- if (!dirty) {
- dirty = true;
- currentStyle = _extends({}, currentStyle);
- currentVelocity = _extends({}, currentVelocity);
- lastIdealStyle = _extends({}, lastIdealStyle);
- lastIdealVelocity = _extends({}, lastIdealVelocity);
- }
-
- currentStyle[key] = styleValue;
- currentVelocity[key] = 0;
- lastIdealStyle[key] = styleValue;
- lastIdealVelocity[key] = 0;
- }
- }
-
- if (dirty) {
- _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });
- }
- };
-
- this.startAnimationIfNecessary = function () {
- // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and
- // call cb? No, otherwise accidental parent rerender causes cb trigger
- _this.animationID = _raf2['default'](function (timestamp) {
- // check if we need to animate in the first place
- var propsStyle = _this.props.style;
- if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {
- if (_this.wasAnimating && _this.props.onRest) {
- _this.props.onRest();
- }
-
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.wasAnimating = false;
- _this.accumulatedTime = 0;
- return;
- }
-
- _this.wasAnimating = true;
-
- var currentTime = timestamp || _performanceNow2['default']();
- var timeDelta = currentTime - _this.prevTime;
- _this.prevTime = currentTime;
- _this.accumulatedTime = _this.accumulatedTime + timeDelta;
- // more than 10 frames? prolly switched browser tab. Restart
- if (_this.accumulatedTime > msPerFrame * 10) {
- _this.accumulatedTime = 0;
- }
+ "use strict";
- if (_this.accumulatedTime === 0) {
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.startAnimationIfNecessary();
- return;
- }
+ var _interopRequireDefault = __webpack_require__(14);
- var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;
- var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);
+ exports.__esModule = true;
+ exports.createConnect = createConnect;
+ exports["default"] = void 0;
- var newLastIdealStyle = {};
- var newLastIdealVelocity = {};
- var newCurrentStyle = {};
- var newCurrentVelocity = {};
+ var _extends2 = _interopRequireDefault(__webpack_require__(120));
- for (var key in propsStyle) {
- if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {
- continue;
- }
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(221));
- var styleValue = propsStyle[key];
- if (typeof styleValue === 'number') {
- newCurrentStyle[key] = styleValue;
- newCurrentVelocity[key] = 0;
- newLastIdealStyle[key] = styleValue;
- newLastIdealVelocity[key] = 0;
- } else {
- var newLastIdealStyleValue = _this.state.lastIdealStyle[key];
- var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];
- for (var i = 0; i < framesToCatchUp; i++) {
- var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
+ var _connectAdvanced = _interopRequireDefault(__webpack_require__(220));
- newLastIdealStyleValue = _stepper[0];
- newLastIdealVelocityValue = _stepper[1];
- }
+ var _shallowEqual = _interopRequireDefault(__webpack_require__(228));
- var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
+ var _mapDispatchToProps = _interopRequireDefault(__webpack_require__(229));
- var nextIdealX = _stepper2[0];
- var nextIdealV = _stepper2[1];
+ var _mapStateToProps = _interopRequireDefault(__webpack_require__(234));
- newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;
- newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;
- newLastIdealStyle[key] = newLastIdealStyleValue;
- newLastIdealVelocity[key] = newLastIdealVelocityValue;
- }
- }
+ var _mergeProps = _interopRequireDefault(__webpack_require__(235));
- _this.animationID = null;
- // the amount we're looped over above
- _this.accumulatedTime -= framesToCatchUp * msPerFrame;
+ var _selectorFactory = _interopRequireDefault(__webpack_require__(236));
- _this.setState({
- currentStyle: newCurrentStyle,
- currentVelocity: newCurrentVelocity,
- lastIdealStyle: newLastIdealStyle,
- lastIdealVelocity: newLastIdealVelocity
- });
+ /*
+ connect is a facade over connectAdvanced. It turns its args into a compatible
+ selectorFactory, which has the signature:
- _this.unreadPropStyle = null;
+ (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps
+
+ connect passes its args to connectAdvanced as options, which will in turn pass them to
+ selectorFactory each time a Connect component instance is instantiated or hot reloaded.
- _this.startAnimationIfNecessary();
- });
- };
+ selectorFactory returns a final props selector from its mapStateToProps,
+ mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,
+ mergePropsFactories, and pure args.
- this.state = this.defaultState();
+ The resulting final props selector is called by the Connect component instance whenever
+ it receives new props or store state.
+ */
+ function match(arg, factories, name) {
+ for (var i = factories.length - 1; i >= 0; i--) {
+ var result = factories[i](arg);
+ if (result) return result;
}
- Motion.prototype.defaultState = function defaultState() {
- var _props = this.props;
- var defaultStyle = _props.defaultStyle;
- var style = _props.style;
-
- var currentStyle = defaultStyle || _stripStyle2['default'](style);
- var currentVelocity = _mapToZero2['default'](currentStyle);
- return {
- currentStyle: currentStyle,
- currentVelocity: currentVelocity,
- lastIdealStyle: currentStyle,
- lastIdealVelocity: currentVelocity
- };
+ return function (dispatch, options) {
+ throw new Error("Invalid value of type " + typeof arg + " for " + name + " argument when connecting component " + options.wrappedComponentName + ".");
};
+ }
- // it's possible that currentStyle's value is stale: if props is immediately
- // changed from 0 to 400 to spring(0) again, the async currentStyle is still
- // at 0 (didn't have time to tick and interpolate even once). If we naively
- // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).
- // In reality currentStyle should be 400
-
- Motion.prototype.componentDidMount = function componentDidMount() {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
- };
+ function strictEqual(a, b) {
+ return a === b;
+ } // createConnect with default args builds the 'official' connect behavior. Calling it with
+ // different options opens up some testing and extensibility scenarios
- Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {
- if (this.unreadPropStyle != null) {
- // previous props haven't had the chance to be set yet; set them here
- this.clearUnreadPropStyle(this.unreadPropStyle);
- }
- this.unreadPropStyle = props.style;
- if (this.animationID == null) {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
- }
- };
+ function createConnect(_temp) {
+ var _ref = _temp === void 0 ? {} : _temp,
+ _ref$connectHOC = _ref.connectHOC,
+ connectHOC = _ref$connectHOC === void 0 ? _connectAdvanced["default"] : _ref$connectHOC,
+ _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,
+ mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps["default"] : _ref$mapStateToPropsF,
+ _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,
+ mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps["default"] : _ref$mapDispatchToPro,
+ _ref$mergePropsFactor = _ref.mergePropsFactories,
+ mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps["default"] : _ref$mergePropsFactor,
+ _ref$selectorFactory = _ref.selectorFactory,
+ selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory["default"] : _ref$selectorFactory;
- Motion.prototype.componentWillUnmount = function componentWillUnmount() {
- if (this.animationID != null) {
- _raf2['default'].cancel(this.animationID);
- this.animationID = null;
+ return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {
+ if (_ref2 === void 0) {
+ _ref2 = {};
}
- };
- Motion.prototype.render = function render() {
- var renderedChildren = this.props.children(this.state.currentStyle);
- return renderedChildren && _react2['default'].Children.only(renderedChildren);
+ var _ref3 = _ref2,
+ _ref3$pure = _ref3.pure,
+ pure = _ref3$pure === void 0 ? true : _ref3$pure,
+ _ref3$areStatesEqual = _ref3.areStatesEqual,
+ areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,
+ _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,
+ areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _shallowEqual["default"] : _ref3$areOwnPropsEqua,
+ _ref3$areStatePropsEq = _ref3.areStatePropsEqual,
+ areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _shallowEqual["default"] : _ref3$areStatePropsEq,
+ _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,
+ areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _shallowEqual["default"] : _ref3$areMergedPropsE,
+ extraOptions = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, ["pure", "areStatesEqual", "areOwnPropsEqual", "areStatePropsEqual", "areMergedPropsEqual"]);
+ var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');
+ var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');
+ var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');
+ return connectHOC(selectorFactory, (0, _extends2["default"])({
+ // used in error messages
+ methodName: 'connect',
+ // used to compute Connect's displayName from the wrapped component's displayName.
+ getDisplayName: function getDisplayName(name) {
+ return "Connect(" + name + ")";
+ },
+ // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes
+ shouldHandleStateChanges: Boolean(mapStateToProps),
+ // passed through to selectorFactory
+ initMapStateToProps: initMapStateToProps,
+ initMapDispatchToProps: initMapDispatchToProps,
+ initMergeProps: initMergeProps,
+ pure: pure,
+ areStatesEqual: areStatesEqual,
+ areOwnPropsEqual: areOwnPropsEqual,
+ areStatePropsEqual: areStatePropsEqual,
+ areMergedPropsEqual: areMergedPropsEqual
+ }, extraOptions));
};
-
- return Motion;
- })(_react2['default'].Component);
-
- exports['default'] = Motion;
- module.exports = exports['default'];
-
- // after checking for unreadPropStyle != null, we manually go set the
- // non-interpolating values (those that are a number, without a spring
- // config)
-
-/***/ }),
-/* 245 */
-/***/ (function(module, exports) {
-
-
-
- // currently used to initiate the velocity style object to 0
- 'use strict';
-
- exports.__esModule = true;
- exports['default'] = mapToZero;
-
- function mapToZero(obj) {
- var ret = {};
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- ret[key] = 0;
- }
- }
- return ret;
- }
-
- module.exports = exports['default'];
-
-/***/ }),
-/* 246 */
-/***/ (function(module, exports) {
-
-
- // turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by
- // `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}
-
- 'use strict';
-
- exports.__esModule = true;
- exports['default'] = stripStyle;
-
- function stripStyle(style) {
- var ret = {};
- for (var key in style) {
- if (!Object.prototype.hasOwnProperty.call(style, key)) {
- continue;
- }
- ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;
- }
- return ret;
}
- module.exports = exports['default'];
+ var _default = createConnect();
+
+ exports["default"] = _default;
/***/ }),
-/* 247 */
+/* 228 */
/***/ (function(module, exports) {
-
-
- // stepper is used a lot. Saves allocation to return the same array wrapper.
- // This is fine and danger-free against mutations because the callsite
- // immediately destructures it and gets the numbers inside without passing the
"use strict";
exports.__esModule = true;
- exports["default"] = stepper;
-
- var reusedTuple = [0, 0];
-
- function stepper(secondPerFrame, x, v, destX, k, b, precision) {
- // Spring stiffness, in kg / s^2
-
- // for animations, destX is really spring length (spring at rest). initial
- // position is considered as the stretched/compressed position of a spring
- var Fspring = -k * (x - destX);
-
- // Damping, in kg / s
- var Fdamper = -b * v;
-
- // usually we put mass here, but for animation purposes, specifying mass is a
- // bit redundant. you could simply adjust k and b accordingly
- // let a = (Fspring + Fdamper) / mass;
- var a = Fspring + Fdamper;
-
- var newV = v + a * secondPerFrame;
- var newX = x + newV * secondPerFrame;
+ exports["default"] = shallowEqual;
+ var hasOwn = Object.prototype.hasOwnProperty;
- if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {
- reusedTuple[0] = destX;
- reusedTuple[1] = 0;
- return reusedTuple;
+ function is(x, y) {
+ if (x === y) {
+ return x !== 0 || y !== 0 || 1 / x === 1 / y;
+ } else {
+ return x !== x && y !== y;
}
-
- reusedTuple[0] = newX;
- reusedTuple[1] = newV;
- return reusedTuple;
}
- module.exports = exports["default"];
- // array reference around.
-
-/***/ }),
-/* 248 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.7.1
- (function() {
- var getNanoSeconds, hrtime, loadTime;
+ function shallowEqual(objA, objB) {
+ if (is(objA, objB)) return true;
- if ((typeof performance !== "undefined" && performance !== null) && performance.now) {
- module.exports = function() {
- return performance.now();
- };
- } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) {
- module.exports = function() {
- return (getNanoSeconds() - loadTime) / 1e6;
- };
- hrtime = process.hrtime;
- getNanoSeconds = function() {
- var hr;
- hr = hrtime();
- return hr[0] * 1e9 + hr[1];
- };
- loadTime = getNanoSeconds();
- } else if (Date.now) {
- module.exports = function() {
- return Date.now() - loadTime;
- };
- loadTime = Date.now();
- } else {
- module.exports = function() {
- return new Date().getTime() - loadTime;
- };
- loadTime = new Date().getTime();
+ if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
+ return false;
}
- }).call(this);
-
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
-
-/***/ }),
-/* 249 */
-/***/ (function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(248)
- , root = typeof window === 'undefined' ? global : window
- , vendors = ['moz', 'webkit']
- , suffix = 'AnimationFrame'
- , raf = root['request' + suffix]
- , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]
-
- for(var i = 0; !raf && i < vendors.length; i++) {
- raf = root[vendors[i] + 'Request' + suffix]
- caf = root[vendors[i] + 'Cancel' + suffix]
- || root[vendors[i] + 'CancelRequest' + suffix]
- }
-
- // Some versions of FF have rAF but not cAF
- if(!raf || !caf) {
- var last = 0
- , id = 0
- , queue = []
- , frameDuration = 1000 / 60
-
- raf = function(callback) {
- if(queue.length === 0) {
- var _now = now()
- , next = Math.max(0, frameDuration - (_now - last))
- last = next + _now
- setTimeout(function() {
- var cp = queue.slice(0)
- // Clear queue here to prevent
- // callbacks from appending listeners
- // to the current frame's queue
- queue.length = 0
- for(var i = 0; i < cp.length; i++) {
- if(!cp[i].cancelled) {
- try{
- cp[i].callback(last)
- } catch(e) {
- setTimeout(function() { throw e }, 0)
- }
- }
- }
- }, Math.round(next))
- }
- queue.push({
- handle: ++id,
- callback: callback,
- cancelled: false
- })
- return id
- }
+ var keysA = Object.keys(objA);
+ var keysB = Object.keys(objB);
+ if (keysA.length !== keysB.length) return false;
- caf = function(handle) {
- for(var i = 0; i < queue.length; i++) {
- if(queue[i].handle === handle) {
- queue[i].cancelled = true
- }
+ for (var i = 0; i < keysA.length; i++) {
+ if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
+ return false;
}
}
- }
- module.exports = function(fn) {
- // Wrap in a new function to prevent
- // `cancel` potentially being assigned
- // to the native rAF function
- return raf.call(root, fn)
- }
- module.exports.cancel = function() {
- caf.apply(root, arguments)
- }
- module.exports.polyfill = function(object) {
- if (!object) {
- object = root;
- }
- object.requestAnimationFrame = raf
- object.cancelAnimationFrame = caf
+ return true;
}
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ }),
-/* 250 */
-/***/ (function(module, exports) {
+/* 229 */
+/***/ (function(module, exports, __webpack_require__) {
-
-
- // usage assumption: currentStyle values have already been rendered but it says
- // nothing of whether currentStyle is stale (see unreadPropStyle)
- 'use strict';
+ "use strict";
exports.__esModule = true;
- exports['default'] = shouldStopAnimation;
+ exports.whenMapDispatchToPropsIsFunction = whenMapDispatchToPropsIsFunction;
+ exports.whenMapDispatchToPropsIsMissing = whenMapDispatchToPropsIsMissing;
+ exports.whenMapDispatchToPropsIsObject = whenMapDispatchToPropsIsObject;
+ exports["default"] = void 0;
- function shouldStopAnimation(currentStyle, style, currentVelocity) {
- for (var key in style) {
- if (!Object.prototype.hasOwnProperty.call(style, key)) {
- continue;
- }
+ var _redux = __webpack_require__(208);
- if (currentVelocity[key] !== 0) {
- return false;
- }
+ var _wrapMapToProps = __webpack_require__(230);
- var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;
- // stepper will have already taken care of rounding precision errors, so
- // won't have such thing as 0.9999 !=== 1
- if (currentStyle[key] !== styleValue) {
- return false;
- }
- }
+ function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {
+ return typeof mapDispatchToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : undefined;
+ }
- return true;
+ function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {
+ return !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {
+ return {
+ dispatch: dispatch
+ };
+ }) : undefined;
}
- module.exports = exports['default'];
+ function whenMapDispatchToPropsIsObject(mapDispatchToProps) {
+ return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {
+ return (0, _redux.bindActionCreators)(mapDispatchToProps, dispatch);
+ }) : undefined;
+ }
+
+ var _default = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];
+ exports["default"] = _default;
/***/ }),
-/* 251 */
+/* 230 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _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; };
+ /* WEBPACK VAR INJECTION */(function(process) {"use strict";
- 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; }; })();
+ var _interopRequireDefault = __webpack_require__(14);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+ exports.__esModule = true;
+ exports.wrapMapToPropsConstant = wrapMapToPropsConstant;
+ exports.getDependsOnOwnProps = getDependsOnOwnProps;
+ exports.wrapMapToPropsFunc = wrapMapToPropsFunc;
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+ var _verifyPlainObject = _interopRequireDefault(__webpack_require__(231));
- function _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; }
+ function wrapMapToPropsConstant(getConstant) {
+ return function initConstantSelector(dispatch, options) {
+ var constant = getConstant(dispatch, options);
- var _mapToZero = __webpack_require__(245);
+ function constantSelector() {
+ return constant;
+ }
- var _mapToZero2 = _interopRequireDefault(_mapToZero);
+ constantSelector.dependsOnOwnProps = false;
+ return constantSelector;
+ };
+ } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
+ // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
+ // whether mapToProps needs to be invoked when props have changed.
+ //
+ // A length of one signals that mapToProps does not depend on props from the parent component.
+ // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
+ // therefore not reporting its length accurately..
- var _stripStyle = __webpack_require__(246);
- var _stripStyle2 = _interopRequireDefault(_stripStyle);
+ function getDependsOnOwnProps(mapToProps) {
+ return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
+ } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
+ // this function wraps mapToProps in a proxy function which does several things:
+ //
+ // * Detects whether the mapToProps function being called depends on props, which
+ // is used by selectorFactory to decide if it should reinvoke on props changes.
+ //
+ // * On first call, handles mapToProps if returns another function, and treats that
+ // new function as the true mapToProps for subsequent calls.
+ //
+ // * On first call, verifies the first result is a plain object, in order to warn
+ // the developer that their mapToProps function is not returning a valid result.
+ //
- var _stepper3 = __webpack_require__(247);
- var _stepper4 = _interopRequireDefault(_stepper3);
+ function wrapMapToPropsFunc(mapToProps, methodName) {
+ return function initProxySelector(dispatch, _ref) {
+ var displayName = _ref.displayName;
- var _performanceNow = __webpack_require__(248);
+ var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
+ return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
+ }; // allow detectFactoryAndVerify to get ownProps
- var _performanceNow2 = _interopRequireDefault(_performanceNow);
- var _raf = __webpack_require__(249);
+ proxy.dependsOnOwnProps = true;
- var _raf2 = _interopRequireDefault(_raf);
+ proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
+ proxy.mapToProps = mapToProps;
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
+ var props = proxy(stateOrDispatch, ownProps);
- var _shouldStopAnimation = __webpack_require__(250);
+ if (typeof props === 'function') {
+ proxy.mapToProps = props;
+ proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
+ props = proxy(stateOrDispatch, ownProps);
+ }
- var _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);
+ if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject["default"])(props, displayName, methodName);
+ return props;
+ };
- var _react = __webpack_require__(1);
+ return proxy;
+ };
+ }
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 231 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- var _react2 = _interopRequireDefault(_react);
+ var _interopRequireDefault = __webpack_require__(14);
- var _propTypes = __webpack_require__(6);
+ exports.__esModule = true;
+ exports["default"] = verifyPlainObject;
- var _propTypes2 = _interopRequireDefault(_propTypes);
+ var _isPlainObject = _interopRequireDefault(__webpack_require__(232));
- var msPerFrame = 1000 / 60;
+ var _warning = _interopRequireDefault(__webpack_require__(233));
- function shouldStopAnimationAll(currentStyles, styles, currentVelocities) {
- for (var i = 0; i < currentStyles.length; i++) {
- if (!_shouldStopAnimation2['default'](currentStyles[i], styles[i], currentVelocities[i])) {
- return false;
- }
+ function verifyPlainObject(value, displayName, methodName) {
+ if (!(0, _isPlainObject["default"])(value)) {
+ (0, _warning["default"])(methodName + "() in " + displayName + " must return a plain object. Instead received " + value + ".");
}
- return true;
}
+
+/***/ }),
+/* 232 */
+/***/ (function(module, exports) {
+
+ "use strict";
- var StaggeredMotion = (function (_React$Component) {
- _inherits(StaggeredMotion, _React$Component);
-
- _createClass(StaggeredMotion, null, [{
- key: 'propTypes',
- value: {
- // TOOD: warn against putting a config in here
- defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].objectOf(_propTypes2['default'].number)),
- styles: _propTypes2['default'].func.isRequired,
- children: _propTypes2['default'].func.isRequired
- },
- enumerable: true
- }]);
-
- function StaggeredMotion(props) {
- var _this = this;
-
- _classCallCheck(this, StaggeredMotion);
-
- _React$Component.call(this, props);
- this.animationID = null;
- this.prevTime = 0;
- this.accumulatedTime = 0;
- this.unreadPropStyles = null;
-
- this.clearUnreadPropStyle = function (unreadPropStyles) {
- var _state = _this.state;
- var currentStyles = _state.currentStyles;
- var currentVelocities = _state.currentVelocities;
- var lastIdealStyles = _state.lastIdealStyles;
- var lastIdealVelocities = _state.lastIdealVelocities;
-
- var someDirty = false;
- for (var i = 0; i < unreadPropStyles.length; i++) {
- var unreadPropStyle = unreadPropStyles[i];
- var dirty = false;
-
- for (var key in unreadPropStyle) {
- if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {
- continue;
- }
-
- var styleValue = unreadPropStyle[key];
- if (typeof styleValue === 'number') {
- if (!dirty) {
- dirty = true;
- someDirty = true;
- currentStyles[i] = _extends({}, currentStyles[i]);
- currentVelocities[i] = _extends({}, currentVelocities[i]);
- lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);
- lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);
- }
- currentStyles[i][key] = styleValue;
- currentVelocities[i][key] = 0;
- lastIdealStyles[i][key] = styleValue;
- lastIdealVelocities[i][key] = 0;
- }
- }
- }
-
- if (someDirty) {
- _this.setState({ currentStyles: currentStyles, currentVelocities: currentVelocities, lastIdealStyles: lastIdealStyles, lastIdealVelocities: lastIdealVelocities });
- }
- };
-
- this.startAnimationIfNecessary = function () {
- // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and
- // call cb? No, otherwise accidental parent rerender causes cb trigger
- _this.animationID = _raf2['default'](function (timestamp) {
- var destStyles = _this.props.styles(_this.state.lastIdealStyles);
-
- // check if we need to animate in the first place
- if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities)) {
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.accumulatedTime = 0;
- return;
- }
-
- var currentTime = timestamp || _performanceNow2['default']();
- var timeDelta = currentTime - _this.prevTime;
- _this.prevTime = currentTime;
- _this.accumulatedTime = _this.accumulatedTime + timeDelta;
- // more than 10 frames? prolly switched browser tab. Restart
- if (_this.accumulatedTime > msPerFrame * 10) {
- _this.accumulatedTime = 0;
- }
-
- if (_this.accumulatedTime === 0) {
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.startAnimationIfNecessary();
- return;
- }
-
- var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;
- var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);
+ exports.__esModule = true;
+ exports["default"] = isPlainObject;
- var newLastIdealStyles = [];
- var newLastIdealVelocities = [];
- var newCurrentStyles = [];
- var newCurrentVelocities = [];
+ /**
+ * @param {any} obj The object to inspect.
+ * @returns {boolean} True if the argument appears to be a plain object.
+ */
+ function isPlainObject(obj) {
+ if (typeof obj !== 'object' || obj === null) return false;
+ var proto = Object.getPrototypeOf(obj);
+ if (proto === null) return true;
+ var baseProto = proto;
- for (var i = 0; i < destStyles.length; i++) {
- var destStyle = destStyles[i];
- var newCurrentStyle = {};
- var newCurrentVelocity = {};
- var newLastIdealStyle = {};
- var newLastIdealVelocity = {};
+ while (Object.getPrototypeOf(baseProto) !== null) {
+ baseProto = Object.getPrototypeOf(baseProto);
+ }
- for (var key in destStyle) {
- if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {
- continue;
- }
+ return proto === baseProto;
+ }
+
+/***/ }),
+/* 233 */
+/***/ (function(module, exports) {
+
+ "use strict";
- var styleValue = destStyle[key];
- if (typeof styleValue === 'number') {
- newCurrentStyle[key] = styleValue;
- newCurrentVelocity[key] = 0;
- newLastIdealStyle[key] = styleValue;
- newLastIdealVelocity[key] = 0;
- } else {
- var newLastIdealStyleValue = _this.state.lastIdealStyles[i][key];
- var newLastIdealVelocityValue = _this.state.lastIdealVelocities[i][key];
- for (var j = 0; j < framesToCatchUp; j++) {
- var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
+ exports.__esModule = true;
+ exports["default"] = warning;
- newLastIdealStyleValue = _stepper[0];
- newLastIdealVelocityValue = _stepper[1];
- }
+ /**
+ * Prints a warning in the console if it exists.
+ *
+ * @param {String} message The warning message.
+ * @returns {void}
+ */
+ function warning(message) {
+ /* eslint-disable no-console */
+ if (typeof console !== 'undefined' && typeof console.error === 'function') {
+ console.error(message);
+ }
+ /* eslint-enable no-console */
- var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
- var nextIdealX = _stepper2[0];
- var nextIdealV = _stepper2[1];
+ try {
+ // This error was thrown as a convenience so that if you enable
+ // "break on all exceptions" in your console,
+ // it would pause the execution at this line.
+ throw new Error(message);
+ /* eslint-disable no-empty */
+ } catch (e) {}
+ /* eslint-enable no-empty */
- newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;
- newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;
- newLastIdealStyle[key] = newLastIdealStyleValue;
- newLastIdealVelocity[key] = newLastIdealVelocityValue;
- }
- }
+ }
+
+/***/ }),
+/* 234 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- newCurrentStyles[i] = newCurrentStyle;
- newCurrentVelocities[i] = newCurrentVelocity;
- newLastIdealStyles[i] = newLastIdealStyle;
- newLastIdealVelocities[i] = newLastIdealVelocity;
- }
+ exports.__esModule = true;
+ exports.whenMapStateToPropsIsFunction = whenMapStateToPropsIsFunction;
+ exports.whenMapStateToPropsIsMissing = whenMapStateToPropsIsMissing;
+ exports["default"] = void 0;
- _this.animationID = null;
- // the amount we're looped over above
- _this.accumulatedTime -= framesToCatchUp * msPerFrame;
+ var _wrapMapToProps = __webpack_require__(230);
- _this.setState({
- currentStyles: newCurrentStyles,
- currentVelocities: newCurrentVelocities,
- lastIdealStyles: newLastIdealStyles,
- lastIdealVelocities: newLastIdealVelocities
- });
+ function whenMapStateToPropsIsFunction(mapStateToProps) {
+ return typeof mapStateToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : undefined;
+ }
- _this.unreadPropStyles = null;
+ function whenMapStateToPropsIsMissing(mapStateToProps) {
+ return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function () {
+ return {};
+ }) : undefined;
+ }
- _this.startAnimationIfNecessary();
- });
- };
+ var _default = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];
+ exports["default"] = _default;
+
+/***/ }),
+/* 235 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {"use strict";
- this.state = this.defaultState();
- }
+ var _interopRequireDefault = __webpack_require__(14);
- StaggeredMotion.prototype.defaultState = function defaultState() {
- var _props = this.props;
- var defaultStyles = _props.defaultStyles;
- var styles = _props.styles;
+ exports.__esModule = true;
+ exports.defaultMergeProps = defaultMergeProps;
+ exports.wrapMergePropsFunc = wrapMergePropsFunc;
+ exports.whenMergePropsIsFunction = whenMergePropsIsFunction;
+ exports.whenMergePropsIsOmitted = whenMergePropsIsOmitted;
+ exports["default"] = void 0;
- var currentStyles = defaultStyles || styles().map(_stripStyle2['default']);
- var currentVelocities = currentStyles.map(function (currentStyle) {
- return _mapToZero2['default'](currentStyle);
- });
- return {
- currentStyles: currentStyles,
- currentVelocities: currentVelocities,
- lastIdealStyles: currentStyles,
- lastIdealVelocities: currentVelocities
- };
- };
+ var _extends2 = _interopRequireDefault(__webpack_require__(120));
- StaggeredMotion.prototype.componentDidMount = function componentDidMount() {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
- };
+ var _verifyPlainObject = _interopRequireDefault(__webpack_require__(231));
- StaggeredMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {
- if (this.unreadPropStyles != null) {
- // previous props haven't had the chance to be set yet; set them here
- this.clearUnreadPropStyle(this.unreadPropStyles);
- }
+ function defaultMergeProps(stateProps, dispatchProps, ownProps) {
+ return (0, _extends2["default"])({}, ownProps, stateProps, dispatchProps);
+ }
- this.unreadPropStyles = props.styles(this.state.lastIdealStyles);
- if (this.animationID == null) {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
- }
- };
+ function wrapMergePropsFunc(mergeProps) {
+ return function initMergePropsProxy(dispatch, _ref) {
+ var displayName = _ref.displayName,
+ pure = _ref.pure,
+ areMergedPropsEqual = _ref.areMergedPropsEqual;
+ var hasRunOnce = false;
+ var mergedProps;
+ return function mergePropsProxy(stateProps, dispatchProps, ownProps) {
+ var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);
- StaggeredMotion.prototype.componentWillUnmount = function componentWillUnmount() {
- if (this.animationID != null) {
- _raf2['default'].cancel(this.animationID);
- this.animationID = null;
- }
- };
+ if (hasRunOnce) {
+ if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;
+ } else {
+ hasRunOnce = true;
+ mergedProps = nextMergedProps;
+ if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject["default"])(mergedProps, displayName, 'mergeProps');
+ }
- StaggeredMotion.prototype.render = function render() {
- var renderedChildren = this.props.children(this.state.currentStyles);
- return renderedChildren && _react2['default'].Children.only(renderedChildren);
+ return mergedProps;
+ };
};
+ }
- return StaggeredMotion;
- })(_react2['default'].Component);
-
- exports['default'] = StaggeredMotion;
- module.exports = exports['default'];
+ function whenMergePropsIsFunction(mergeProps) {
+ return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;
+ }
- // it's possible that currentStyle's value is stale: if props is immediately
- // changed from 0 to 400 to spring(0) again, the async currentStyle is still
- // at 0 (didn't have time to tick and interpolate even once). If we naively
- // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).
- // In reality currentStyle should be 400
+ function whenMergePropsIsOmitted(mergeProps) {
+ return !mergeProps ? function () {
+ return defaultMergeProps;
+ } : undefined;
+ }
- // after checking for unreadPropStyles != null, we manually go set the
- // non-interpolating values (those that are a number, without a spring
- // config)
+ var _default = [whenMergePropsIsFunction, whenMergePropsIsOmitted];
+ exports["default"] = _default;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 252 */
+/* 236 */
/***/ (function(module, exports, __webpack_require__) {
- 'use strict';
-
- exports.__esModule = true;
-
- var _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; };
-
- 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; }; })();
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
+ /* WEBPACK VAR INJECTION */(function(process) {"use strict";
- function _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; }
+ var _interopRequireDefault = __webpack_require__(14);
- var _mapToZero = __webpack_require__(245);
+ exports.__esModule = true;
+ exports.impureFinalPropsSelectorFactory = impureFinalPropsSelectorFactory;
+ exports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory;
+ exports["default"] = finalPropsSelectorFactory;
- var _mapToZero2 = _interopRequireDefault(_mapToZero);
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(221));
- var _stripStyle = __webpack_require__(246);
+ var _verifySubselectors = _interopRequireDefault(__webpack_require__(237));
- var _stripStyle2 = _interopRequireDefault(_stripStyle);
+ function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {
+ return function impureFinalPropsSelector(state, ownProps) {
+ return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);
+ };
+ }
- var _stepper3 = __webpack_require__(247);
+ function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {
+ var areStatesEqual = _ref.areStatesEqual,
+ areOwnPropsEqual = _ref.areOwnPropsEqual,
+ areStatePropsEqual = _ref.areStatePropsEqual;
+ var hasRunAtLeastOnce = false;
+ var state;
+ var ownProps;
+ var stateProps;
+ var dispatchProps;
+ var mergedProps;
- var _stepper4 = _interopRequireDefault(_stepper3);
+ function handleFirstCall(firstState, firstOwnProps) {
+ state = firstState;
+ ownProps = firstOwnProps;
+ stateProps = mapStateToProps(state, ownProps);
+ dispatchProps = mapDispatchToProps(dispatch, ownProps);
+ mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
+ hasRunAtLeastOnce = true;
+ return mergedProps;
+ }
- var _mergeDiff = __webpack_require__(253);
+ function handleNewPropsAndNewState() {
+ stateProps = mapStateToProps(state, ownProps);
+ if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);
+ mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
+ return mergedProps;
+ }
- var _mergeDiff2 = _interopRequireDefault(_mergeDiff);
+ function handleNewProps() {
+ if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);
+ if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);
+ mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
+ return mergedProps;
+ }
- var _performanceNow = __webpack_require__(248);
+ function handleNewState() {
+ var nextStateProps = mapStateToProps(state, ownProps);
+ var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);
+ stateProps = nextStateProps;
+ if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);
+ return mergedProps;
+ }
- var _performanceNow2 = _interopRequireDefault(_performanceNow);
+ function handleSubsequentCalls(nextState, nextOwnProps) {
+ var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);
+ var stateChanged = !areStatesEqual(nextState, state);
+ state = nextState;
+ ownProps = nextOwnProps;
+ if (propsChanged && stateChanged) return handleNewPropsAndNewState();
+ if (propsChanged) return handleNewProps();
+ if (stateChanged) return handleNewState();
+ return mergedProps;
+ }
- var _raf = __webpack_require__(249);
+ return function pureFinalPropsSelector(nextState, nextOwnProps) {
+ return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);
+ };
+ } // TODO: Add more comments
+ // If pure is true, the selector returned by selectorFactory will memoize its results,
+ // allowing connectAdvanced's shouldComponentUpdate to return false if final
+ // props have not changed. If false, the selector will always return a new
+ // object and shouldComponentUpdate will always return true.
- var _raf2 = _interopRequireDefault(_raf);
- var _shouldStopAnimation = __webpack_require__(250);
+ function finalPropsSelectorFactory(dispatch, _ref2) {
+ var initMapStateToProps = _ref2.initMapStateToProps,
+ initMapDispatchToProps = _ref2.initMapDispatchToProps,
+ initMergeProps = _ref2.initMergeProps,
+ options = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]);
+ var mapStateToProps = initMapStateToProps(dispatch, options);
+ var mapDispatchToProps = initMapDispatchToProps(dispatch, options);
+ var mergeProps = initMergeProps(dispatch, options);
- var _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);
+ if (process.env.NODE_ENV !== 'production') {
+ (0, _verifySubselectors["default"])(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);
+ }
- var _react = __webpack_require__(1);
+ var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;
+ return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);
+ }
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+
+/***/ }),
+/* 237 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- var _react2 = _interopRequireDefault(_react);
+ var _interopRequireDefault = __webpack_require__(14);
- var _propTypes = __webpack_require__(6);
+ exports.__esModule = true;
+ exports["default"] = verifySubselectors;
- var _propTypes2 = _interopRequireDefault(_propTypes);
+ var _warning = _interopRequireDefault(__webpack_require__(233));
- var msPerFrame = 1000 / 60;
-
- // the children function & (potential) styles function asks as param an
- // Array, where each TransitionPlainStyle is of the format
- // {key: string, data?: any, style: PlainStyle}. However, the way we keep
- // internal states doesn't contain such a data structure (check the state and
- // TransitionMotionState). So when children function and others ask for such
- // data we need to generate them on the fly by combining mergedPropsStyles and
- // currentStyles/lastIdealStyles
- function rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {
- // Copy the value to a `const` so that Flow understands that the const won't
- // change and will be non-nullable in the callback below.
- var cUnreadPropStyles = unreadPropStyles;
- if (cUnreadPropStyles == null) {
- return mergedPropsStyles.map(function (mergedPropsStyle, i) {
- return {
- key: mergedPropsStyle.key,
- data: mergedPropsStyle.data,
- style: plainStyles[i]
- };
- });
- }
- return mergedPropsStyles.map(function (mergedPropsStyle, i) {
- for (var j = 0; j < cUnreadPropStyles.length; j++) {
- if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {
- return {
- key: cUnreadPropStyles[j].key,
- data: cUnreadPropStyles[j].data,
- style: plainStyles[i]
- };
- }
+ function verify(selector, methodName, displayName) {
+ if (!selector) {
+ throw new Error("Unexpected value for " + methodName + " in " + displayName + ".");
+ } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {
+ if (!selector.hasOwnProperty('dependsOnOwnProps')) {
+ (0, _warning["default"])("The selector for " + methodName + " of " + displayName + " did not specify a value for dependsOnOwnProps.");
}
- return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };
- });
+ }
}
- function shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {
- if (mergedPropsStyles.length !== destStyles.length) {
- return false;
- }
+ function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {
+ verify(mapStateToProps, 'mapStateToProps', displayName);
+ verify(mapDispatchToProps, 'mapDispatchToProps', displayName);
+ verify(mergeProps, 'mergeProps', displayName);
+ }
+
+/***/ }),
+/* 238 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- for (var i = 0; i < mergedPropsStyles.length; i++) {
- if (mergedPropsStyles[i].key !== destStyles[i].key) {
- return false;
- }
- }
+ exports.__esModule = true;
+ exports.useDispatch = useDispatch;
- // we have the invariant that mergedPropsStyles and
- // currentStyles/currentVelocities/last* are synced in terms of cells, see
- // mergeAndSync comment for more info
- for (var i = 0; i < mergedPropsStyles.length; i++) {
- if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {
- return false;
- }
- }
+ var _useStore = __webpack_require__(239);
- return true;
+ /**
+ * A hook to access the redux `dispatch` function. Note that in most cases where you
+ * might want to use this hook it is recommended to use `useActions` instead to bind
+ * action creators to the `dispatch` function.
+ *
+ * @returns {any|function} redux store's `dispatch` function
+ *
+ * @example
+ *
+ * import React, { useCallback } from 'react'
+ * import { useReduxDispatch } from 'react-redux'
+ *
+ * export const CounterComponent = ({ value }) => {
+ * const dispatch = useDispatch()
+ * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])
+ * return (
+ *
+ * {value}
+ * Increase counter
+ *
+ * )
+ * }
+ */
+ function useDispatch() {
+ var store = (0, _useStore.useStore)();
+ return store.dispatch;
}
+
+/***/ }),
+/* 239 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- // core key merging logic
-
- // things to do: say previously merged style is {a, b}, dest style (prop) is {b,
- // c}, previous current (interpolating) style is {a, b}
- // **invariant**: current[i] corresponds to merged[i] in terms of key
-
- // steps:
- // turn merged style into {a?, b, c}
- // add c, value of c is destStyles.c
- // maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}
- // turn current (interpolating) style from {a, b} into {a?, b, c}
- // maybe remove a
- // certainly add c, value of c is willEnter(c)
- // loop over merged and construct new current
- // dest doesn't change, that's owner's
- function mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {
- var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {
- var leavingStyle = willLeave(oldMergedPropsStyle);
- if (leavingStyle == null) {
- didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });
- return null;
- }
- if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {
- didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });
- return null;
- }
- return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };
- });
+ exports.__esModule = true;
+ exports.useStore = useStore;
- var newCurrentStyles = [];
- var newCurrentVelocities = [];
- var newLastIdealStyles = [];
- var newLastIdealVelocities = [];
- for (var i = 0; i < newMergedPropsStyles.length; i++) {
- var newMergedPropsStyleCell = newMergedPropsStyles[i];
- var foundOldIndex = null;
- for (var j = 0; j < oldMergedPropsStyles.length; j++) {
- if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {
- foundOldIndex = j;
- break;
- }
- }
- // TODO: key search code
- if (foundOldIndex == null) {
- var plainStyle = willEnter(newMergedPropsStyleCell);
- newCurrentStyles[i] = plainStyle;
- newLastIdealStyles[i] = plainStyle;
+ var _useReduxContext2 = __webpack_require__(240);
- var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);
- newCurrentVelocities[i] = velocity;
- newLastIdealVelocities[i] = velocity;
- } else {
- newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];
- newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];
- newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];
- newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];
- }
- }
-
- return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];
- }
-
- var TransitionMotion = (function (_React$Component) {
- _inherits(TransitionMotion, _React$Component);
-
- _createClass(TransitionMotion, null, [{
- key: 'propTypes',
- value: {
- defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({
- key: _propTypes2['default'].string.isRequired,
- data: _propTypes2['default'].any,
- style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired
- })),
- styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({
- key: _propTypes2['default'].string.isRequired,
- data: _propTypes2['default'].any,
- style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired
- }))]).isRequired,
- children: _propTypes2['default'].func.isRequired,
- willEnter: _propTypes2['default'].func,
- willLeave: _propTypes2['default'].func,
- didLeave: _propTypes2['default'].func
- },
- enumerable: true
- }, {
- key: 'defaultProps',
- value: {
- willEnter: function willEnter(styleThatEntered) {
- return _stripStyle2['default'](styleThatEntered.style);
- },
- // recall: returning null makes the current unmounting TransitionStyle
- // disappear immediately
- willLeave: function willLeave() {
- return null;
- },
- didLeave: function didLeave() {}
- },
- enumerable: true
- }]);
+ /**
+ * A hook to access the redux store.
+ *
+ * @returns {any} the redux store
+ *
+ * @example
+ *
+ * import React from 'react'
+ * import { useStore } from 'react-redux'
+ *
+ * export const ExampleComponent = () => {
+ * const store = useStore()
+ * return {store.getState()}
+ * }
+ */
+ function useStore() {
+ var _useReduxContext = (0, _useReduxContext2.useReduxContext)(),
+ store = _useReduxContext.store;
- function TransitionMotion(props) {
- var _this = this;
+ return store;
+ }
+
+/***/ }),
+/* 240 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- _classCallCheck(this, TransitionMotion);
+ var _interopRequireDefault = __webpack_require__(14);
- _React$Component.call(this, props);
- this.unmounting = false;
- this.animationID = null;
- this.prevTime = 0;
- this.accumulatedTime = 0;
- this.unreadPropStyles = null;
+ exports.__esModule = true;
+ exports.useReduxContext = useReduxContext;
- this.clearUnreadPropStyle = function (unreadPropStyles) {
- var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);
+ var _react = __webpack_require__(1);
- var mergedPropsStyles = _mergeAndSync[0];
- var currentStyles = _mergeAndSync[1];
- var currentVelocities = _mergeAndSync[2];
- var lastIdealStyles = _mergeAndSync[3];
- var lastIdealVelocities = _mergeAndSync[4];
+ var _invariant = _interopRequireDefault(__webpack_require__(226));
- for (var i = 0; i < unreadPropStyles.length; i++) {
- var unreadPropStyle = unreadPropStyles[i].style;
- var dirty = false;
+ var _Context = __webpack_require__(217);
- for (var key in unreadPropStyle) {
- if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {
- continue;
- }
+ /**
+ * A hook to access the value of the `ReactReduxContext`. This is a low-level
+ * hook that you should usually not need to call directly.
+ *
+ * @returns {any} the value of the `ReactReduxContext`
+ *
+ * @example
+ *
+ * import React from 'react'
+ * import { useReduxContext } from 'react-redux'
+ *
+ * export const CounterComponent = ({ value }) => {
+ * const { store } = useReduxContext()
+ * return {store.getState()}
+ * }
+ */
+ function useReduxContext() {
+ var contextValue = (0, _react.useContext)(_Context.ReactReduxContext);
+ (0, _invariant["default"])(contextValue, 'could not find react-redux context value; please ensure the component is wrapped in a ');
+ return contextValue;
+ }
+
+/***/ }),
+/* 241 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- var styleValue = unreadPropStyle[key];
- if (typeof styleValue === 'number') {
- if (!dirty) {
- dirty = true;
- currentStyles[i] = _extends({}, currentStyles[i]);
- currentVelocities[i] = _extends({}, currentVelocities[i]);
- lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);
- lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);
- mergedPropsStyles[i] = {
- key: mergedPropsStyles[i].key,
- data: mergedPropsStyles[i].data,
- style: _extends({}, mergedPropsStyles[i].style)
- };
- }
- currentStyles[i][key] = styleValue;
- currentVelocities[i][key] = 0;
- lastIdealStyles[i][key] = styleValue;
- lastIdealVelocities[i][key] = 0;
- mergedPropsStyles[i].style[key] = styleValue;
- }
- }
- }
+ var _interopRequireDefault = __webpack_require__(14);
- // unlike the other 2 components, we can't detect staleness and optionally
- // opt out of setState here. each style object's data might contain new
- // stuff we're not/cannot compare
- _this.setState({
- currentStyles: currentStyles,
- currentVelocities: currentVelocities,
- mergedPropsStyles: mergedPropsStyles,
- lastIdealStyles: lastIdealStyles,
- lastIdealVelocities: lastIdealVelocities
- });
- };
+ exports.__esModule = true;
+ exports.useSelector = useSelector;
- this.startAnimationIfNecessary = function () {
- if (_this.unmounting) {
- return;
- }
+ var _react = __webpack_require__(1);
- // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and
- // call cb? No, otherwise accidental parent rerender causes cb trigger
- _this.animationID = _raf2['default'](function (timestamp) {
- // https://github.com/chenglou/react-motion/pull/420
- // > if execution passes the conditional if (this.unmounting), then
- // executes async defaultRaf and after that component unmounts and after
- // that the callback of defaultRaf is called, then setState will be called
- // on unmounted component.
- if (_this.unmounting) {
- return;
- }
+ var _invariant = _interopRequireDefault(__webpack_require__(226));
- var propStyles = _this.props.styles;
- var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;
+ var _useReduxContext2 = __webpack_require__(240);
- // check if we need to animate in the first place
- if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.accumulatedTime = 0;
- return;
- }
+ var _Subscription = _interopRequireDefault(__webpack_require__(218));
- var currentTime = timestamp || _performanceNow2['default']();
- var timeDelta = currentTime - _this.prevTime;
- _this.prevTime = currentTime;
- _this.accumulatedTime = _this.accumulatedTime + timeDelta;
- // more than 10 frames? prolly switched browser tab. Restart
- if (_this.accumulatedTime > msPerFrame * 10) {
- _this.accumulatedTime = 0;
- }
+ // React currently throws a warning when using useLayoutEffect on the server.
+ // To get around it, we can conditionally useEffect on the server (no-op) and
+ // useLayoutEffect in the browser. We need useLayoutEffect to ensure the store
+ // subscription callback always has the selector from the latest render commit
+ // available, otherwise a store update may happen between render and the effect,
+ // which may cause missed updates; we also must ensure the store subscription
+ // is created synchronously, otherwise a store update may occur before the
+ // subscription is created and an inconsistent state may be observed
+ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
- if (_this.accumulatedTime === 0) {
- // no need to cancel animationID here; shouldn't have any in flight
- _this.animationID = null;
- _this.startAnimationIfNecessary();
- return;
- }
+ var refEquality = function refEquality(a, b) {
+ return a === b;
+ };
+ /**
+ * A hook to access the redux store's state. This hook takes a selector function
+ * as an argument. The selector is called with the store state.
+ *
+ * This hook takes an optional equality comparison function as the second parameter
+ * that allows you to customize the way the selected state is compared to determine
+ * whether the component needs to be re-rendered.
+ *
+ * @param {Function} selector the selector function
+ * @param {Function=} equalityFn the function that will be used to determine equality
+ *
+ * @returns {any} the selected state
+ *
+ * @example
+ *
+ * import React from 'react'
+ * import { useSelector } from 'react-redux'
+ *
+ * export const CounterComponent = () => {
+ * const counter = useSelector(state => state.counter)
+ * return {counter}
+ * }
+ */
- var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;
- var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);
- var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);
+ function useSelector(selector, equalityFn) {
+ if (equalityFn === void 0) {
+ equalityFn = refEquality;
+ }
- var newMergedPropsStyles = _mergeAndSync2[0];
- var newCurrentStyles = _mergeAndSync2[1];
- var newCurrentVelocities = _mergeAndSync2[2];
- var newLastIdealStyles = _mergeAndSync2[3];
- var newLastIdealVelocities = _mergeAndSync2[4];
+ (0, _invariant["default"])(selector, "You must pass a selector to useSelectors");
- for (var i = 0; i < newMergedPropsStyles.length; i++) {
- var newMergedPropsStyle = newMergedPropsStyles[i].style;
- var newCurrentStyle = {};
- var newCurrentVelocity = {};
- var newLastIdealStyle = {};
- var newLastIdealVelocity = {};
+ var _useReduxContext = (0, _useReduxContext2.useReduxContext)(),
+ store = _useReduxContext.store,
+ contextSub = _useReduxContext.subscription;
- for (var key in newMergedPropsStyle) {
- if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {
- continue;
- }
+ var _useReducer = (0, _react.useReducer)(function (s) {
+ return s + 1;
+ }, 0),
+ forceRender = _useReducer[1];
- var styleValue = newMergedPropsStyle[key];
- if (typeof styleValue === 'number') {
- newCurrentStyle[key] = styleValue;
- newCurrentVelocity[key] = 0;
- newLastIdealStyle[key] = styleValue;
- newLastIdealVelocity[key] = 0;
- } else {
- var newLastIdealStyleValue = newLastIdealStyles[i][key];
- var newLastIdealVelocityValue = newLastIdealVelocities[i][key];
- for (var j = 0; j < framesToCatchUp; j++) {
- var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
+ var subscription = (0, _react.useMemo)(function () {
+ return new _Subscription["default"](store, contextSub);
+ }, [store, contextSub]);
+ var latestSubscriptionCallbackError = (0, _react.useRef)();
+ var latestSelector = (0, _react.useRef)();
+ var latestSelectedState = (0, _react.useRef)();
+ var selectedState;
- newLastIdealStyleValue = _stepper[0];
- newLastIdealVelocityValue = _stepper[1];
- }
+ try {
+ if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {
+ selectedState = selector(store.getState());
+ } else {
+ selectedState = latestSelectedState.current;
+ }
+ } catch (err) {
+ var errorMessage = "An error occured while selecting the store state: " + err.message + ".";
- var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);
+ if (latestSubscriptionCallbackError.current) {
+ errorMessage += "\nThe error may be correlated with this previous error:\n" + latestSubscriptionCallbackError.current.stack + "\n\nOriginal stack trace:";
+ }
- var nextIdealX = _stepper2[0];
- var nextIdealV = _stepper2[1];
+ throw new Error(errorMessage);
+ }
- newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;
- newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;
- newLastIdealStyle[key] = newLastIdealStyleValue;
- newLastIdealVelocity[key] = newLastIdealVelocityValue;
- }
- }
+ useIsomorphicLayoutEffect(function () {
+ latestSelector.current = selector;
+ latestSelectedState.current = selectedState;
+ latestSubscriptionCallbackError.current = undefined;
+ });
+ useIsomorphicLayoutEffect(function () {
+ function checkForUpdates() {
+ try {
+ var newSelectedState = latestSelector.current(store.getState());
- newLastIdealStyles[i] = newLastIdealStyle;
- newLastIdealVelocities[i] = newLastIdealVelocity;
- newCurrentStyles[i] = newCurrentStyle;
- newCurrentVelocities[i] = newCurrentVelocity;
+ if (equalityFn(newSelectedState, latestSelectedState.current)) {
+ return;
}
- _this.animationID = null;
- // the amount we're looped over above
- _this.accumulatedTime -= framesToCatchUp * msPerFrame;
-
- _this.setState({
- currentStyles: newCurrentStyles,
- currentVelocities: newCurrentVelocities,
- lastIdealStyles: newLastIdealStyles,
- lastIdealVelocities: newLastIdealVelocities,
- mergedPropsStyles: newMergedPropsStyles
- });
+ latestSelectedState.current = newSelectedState;
+ } catch (err) {
+ // we ignore all errors here, since when the component
+ // is re-rendered, the selectors are called again, and
+ // will throw again, if neither props nor store state
+ // changed
+ latestSubscriptionCallbackError.current = err;
+ }
- _this.unreadPropStyles = null;
+ forceRender({});
+ }
- _this.startAnimationIfNecessary();
- });
+ subscription.onStateChange = checkForUpdates;
+ subscription.trySubscribe();
+ checkForUpdates();
+ return function () {
+ return subscription.tryUnsubscribe();
};
+ }, [store, subscription]);
+ return selectedState;
+ }
+
+/***/ }),
+/* 242 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ "use strict";
- this.state = this.defaultState();
- }
+ exports.__esModule = true;
+ exports.unstable_batchedUpdates = void 0;
- TransitionMotion.prototype.defaultState = function defaultState() {
- var _props = this.props;
- var defaultStyles = _props.defaultStyles;
- var styles = _props.styles;
- var willEnter = _props.willEnter;
- var willLeave = _props.willLeave;
- var didLeave = _props.didLeave;
+ var _reactDom = __webpack_require__(2);
- var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;
+ exports.unstable_batchedUpdates = _reactDom.unstable_batchedUpdates;
+
+/***/ }),
+/* 243 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {'use strict';
- // this is special. for the first time around, we don't have a comparison
- // between last (no last) and current merged props. we'll compute last so:
- // say default is {a, b} and styles (dest style) is {b, c}, we'll
- // fabricate last as {a, b}
- var oldMergedPropsStyles = undefined;
- if (defaultStyles == null) {
- oldMergedPropsStyles = destStyles;
- } else {
- oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {
- // TODO: key search code
- for (var i = 0; i < destStyles.length; i++) {
- if (destStyles[i].key === defaultStyleCell.key) {
- return destStyles[i];
- }
- }
- return defaultStyleCell;
- });
- }
- var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {
- return _stripStyle2['default'](s.style);
- }) : defaultStyles.map(function (s) {
- return _stripStyle2['default'](s.style);
- });
- var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {
- return _mapToZero2['default'](s.style);
- }) : defaultStyles.map(function (s) {
- return _mapToZero2['default'](s.style);
- });
+ Object.defineProperty(exports, '__esModule', { value: true });
- var _mergeAndSync3 = mergeAndSync(
- // Because this is an old-style createReactClass component, Flow doesn't
- // understand that the willEnter and willLeave props have default values
- // and will always be present.
- willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really
- oldCurrentVelocities);
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
- var mergedPropsStyles = _mergeAndSync3[0];
- var currentStyles = _mergeAndSync3[1];
- var currentVelocities = _mergeAndSync3[2];
- var lastIdealStyles = _mergeAndSync3[3];
- var lastIdealVelocities = _mergeAndSync3[4];
- // oldLastIdealVelocities really
+ var invariant = _interopDefault(__webpack_require__(207));
- return {
- currentStyles: currentStyles,
- currentVelocities: currentVelocities,
- lastIdealStyles: lastIdealStyles,
- lastIdealVelocities: lastIdealVelocities,
- mergedPropsStyles: mergedPropsStyles
- };
+ var getRect = function getRect(_ref) {
+ var top = _ref.top,
+ right = _ref.right,
+ bottom = _ref.bottom,
+ left = _ref.left;
+ var width = right - left;
+ var height = bottom - top;
+ var rect = {
+ top: top,
+ right: right,
+ bottom: bottom,
+ left: left,
+ width: width,
+ height: height,
+ x: left,
+ y: top,
+ center: {
+ x: (right + left) / 2,
+ y: (bottom + top) / 2
+ }
};
+ return rect;
+ };
+ var expand = function expand(target, expandBy) {
+ return {
+ top: target.top - expandBy.top,
+ left: target.left - expandBy.left,
+ bottom: target.bottom + expandBy.bottom,
+ right: target.right + expandBy.right
+ };
+ };
+ var shrink = function shrink(target, shrinkBy) {
+ return {
+ top: target.top + shrinkBy.top,
+ left: target.left + shrinkBy.left,
+ bottom: target.bottom - shrinkBy.bottom,
+ right: target.right - shrinkBy.right
+ };
+ };
- // after checking for unreadPropStyles != null, we manually go set the
- // non-interpolating values (those that are a number, without a spring
- // config)
-
- TransitionMotion.prototype.componentDidMount = function componentDidMount() {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
+ var shift = function shift(target, shiftBy) {
+ return {
+ top: target.top + shiftBy.y,
+ left: target.left + shiftBy.x,
+ bottom: target.bottom + shiftBy.y,
+ right: target.right + shiftBy.x
};
+ };
- TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {
- if (this.unreadPropStyles) {
- // previous props haven't had the chance to be set yet; set them here
- this.clearUnreadPropStyle(this.unreadPropStyles);
- }
+ var noSpacing = {
+ top: 0,
+ right: 0,
+ bottom: 0,
+ left: 0
+ };
+ var createBox = function createBox(_ref2) {
+ var borderBox = _ref2.borderBox,
+ _ref2$margin = _ref2.margin,
+ margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,
+ _ref2$border = _ref2.border,
+ border = _ref2$border === void 0 ? noSpacing : _ref2$border,
+ _ref2$padding = _ref2.padding,
+ padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;
+ var marginBox = getRect(expand(borderBox, margin));
+ var paddingBox = getRect(shrink(borderBox, border));
+ var contentBox = getRect(shrink(paddingBox, padding));
+ return {
+ marginBox: marginBox,
+ borderBox: getRect(borderBox),
+ paddingBox: paddingBox,
+ contentBox: contentBox,
+ margin: margin,
+ border: border,
+ padding: padding
+ };
+ };
- var styles = props.styles;
- if (typeof styles === 'function') {
- this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));
- } else {
- this.unreadPropStyles = styles;
- }
+ var parse = function parse(raw) {
+ var value = raw.slice(0, -2);
+ var suffix = raw.slice(-2);
- if (this.animationID == null) {
- this.prevTime = _performanceNow2['default']();
- this.startAnimationIfNecessary();
- }
- };
+ if (suffix !== 'px') {
+ return 0;
+ }
- TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {
- this.unmounting = true;
- if (this.animationID != null) {
- _raf2['default'].cancel(this.animationID);
- this.animationID = null;
- }
- };
+ var result = Number(value);
+ !!isNaN(result) ? process.env.NODE_ENV !== "production" ? invariant(false, "Could not parse value [raw: " + raw + ", without suffix: " + value + "]") : invariant(false) : void 0;
+ return result;
+ };
- TransitionMotion.prototype.render = function render() {
- var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);
- var renderedChildren = this.props.children(hydratedStyles);
- return renderedChildren && _react2['default'].Children.only(renderedChildren);
+ var getWindowScroll = function getWindowScroll() {
+ return {
+ x: window.pageXOffset,
+ y: window.pageYOffset
};
+ };
- return TransitionMotion;
- })(_react2['default'].Component);
-
- exports['default'] = TransitionMotion;
- module.exports = exports['default'];
+ var offset = function offset(original, change) {
+ var borderBox = original.borderBox,
+ border = original.border,
+ margin = original.margin,
+ padding = original.padding;
+ var shifted = shift(borderBox, change);
+ return createBox({
+ borderBox: shifted,
+ border: border,
+ margin: margin,
+ padding: padding
+ });
+ };
+ var withScroll = function withScroll(original, scroll) {
+ if (scroll === void 0) {
+ scroll = getWindowScroll();
+ }
- // list of styles, each containing interpolating values. Part of what's passed
- // to children function. Notice that this is
- // Array, without the wrapper that is {key: ...,
- // data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles
- // contains the key & data info (so that we only have a single source of truth
- // for these, and to save space). Check the comment for `rehydrateStyles` to
- // see how we regenerate the entirety of what's passed to children function
+ return offset(original, scroll);
+ };
+ var calculateBox = function calculateBox(borderBox, styles) {
+ var margin = {
+ top: parse(styles.marginTop),
+ right: parse(styles.marginRight),
+ bottom: parse(styles.marginBottom),
+ left: parse(styles.marginLeft)
+ };
+ var padding = {
+ top: parse(styles.paddingTop),
+ right: parse(styles.paddingRight),
+ bottom: parse(styles.paddingBottom),
+ left: parse(styles.paddingLeft)
+ };
+ var border = {
+ top: parse(styles.borderTopWidth),
+ right: parse(styles.borderRightWidth),
+ bottom: parse(styles.borderBottomWidth),
+ left: parse(styles.borderLeftWidth)
+ };
+ return createBox({
+ borderBox: borderBox,
+ margin: margin,
+ padding: padding,
+ border: border
+ });
+ };
+ var getBox = function getBox(el) {
+ var borderBox = el.getBoundingClientRect();
+ var styles = window.getComputedStyle(el);
+ return calculateBox(borderBox, styles);
+ };
- // the array that keeps track of currently rendered stuff! Including stuff
- // that you've unmounted but that's still animating. This is where it lives
+ exports.calculateBox = calculateBox;
+ exports.createBox = createBox;
+ exports.expand = expand;
+ exports.getBox = getBox;
+ exports.getRect = getRect;
+ exports.offset = offset;
+ exports.shrink = shrink;
+ exports.withScroll = withScroll;
- // it's possible that currentStyle's value is stale: if props is immediately
- // changed from 0 to 400 to spring(0) again, the async currentStyle is still
- // at 0 (didn't have time to tick and interpolate even once). If we naively
- // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).
- // In reality currentStyle should be 400
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 253 */
+/* 244 */
/***/ (function(module, exports) {
-
-
- // core keys merging algorithm. If previous render's keys are [a, b], and the
- // next render's [c, b, d], what's the final merged keys and ordering?
-
- // - c and a must both be before b
- // - b before d
- // - ordering between a and c ambiguous
-
- // this reduces to merging two partially ordered lists (e.g. lists where not
- // every item has a definite ordering, like comparing a and c above). For the
- // ambiguous ordering we deterministically choose to place the next render's
- // item after the previous'; so c after a
-
- // this is called a topological sorting. Except the existing algorithms don't
- // work well with js bc of the amount of allocation, and isn't optimized for our
- // current use-case bc the runtime is linear in terms of edges (see wiki for
- // meaning), which is huge when two lists have many common elements
'use strict';
- exports.__esModule = true;
- exports['default'] = mergeDiff;
-
- function mergeDiff(prev, next, onRemove) {
- // bookkeeping for easier access of a key's index below. This is 2 allocations +
- // potentially triggering chrome hash map mode for objs (so it might be faster
-
- var prevKeyIndex = {};
- for (var i = 0; i < prev.length; i++) {
- prevKeyIndex[prev[i].key] = i;
- }
- var nextKeyIndex = {};
- for (var i = 0; i < next.length; i++) {
- nextKeyIndex[next[i].key] = i;
- }
-
- // first, an overly elaborate way of merging prev and next, eliminating
- // duplicates (in terms of keys). If there's dupe, keep the item in next).
- // This way of writing it saves allocations
- var ret = [];
- for (var i = 0; i < next.length; i++) {
- ret[i] = next[i];
- }
- for (var i = 0; i < prev.length; i++) {
- if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {
- // this is called my TM's `mergeAndSync`, which calls willLeave. We don't
- // merge in keys that the user desires to kill
- var fill = onRemove(i, prev[i]);
- if (fill != null) {
- ret.push(fill);
- }
+ function areInputsEqual(newInputs, lastInputs) {
+ if (newInputs.length !== lastInputs.length) {
+ return false;
}
- }
-
- // now all the items all present. Core sorting logic to have the right order
- return ret.sort(function (a, b) {
- var nextOrderA = nextKeyIndex[a.key];
- var nextOrderB = nextKeyIndex[b.key];
- var prevOrderA = prevKeyIndex[a.key];
- var prevOrderB = prevKeyIndex[b.key];
-
- if (nextOrderA != null && nextOrderB != null) {
- // both keys in next
- return nextKeyIndex[a.key] - nextKeyIndex[b.key];
- } else if (prevOrderA != null && prevOrderB != null) {
- // both keys in prev
- return prevKeyIndex[a.key] - prevKeyIndex[b.key];
- } else if (nextOrderA != null) {
- // key a in next, key b in prev
-
- // how to determine the order between a and b? We find a "pivot" (term
- // abuse), a key present in both prev and next, that is sandwiched between
- // a and b. In the context of our above example, if we're comparing a and
- // d, b's (the only) pivot
- for (var i = 0; i < next.length; i++) {
- var pivot = next[i].key;
- if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {
- continue;
+ for (var i = 0; i < newInputs.length; i++) {
+ if (newInputs[i] !== lastInputs[i]) {
+ return false;
}
+ }
+ return true;
+ }
- if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {
- return -1;
- } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {
- return 1;
+ function memoizeOne(resultFn, isEqual) {
+ if (isEqual === void 0) { isEqual = areInputsEqual; }
+ var lastThis;
+ var lastArgs = [];
+ var lastResult;
+ var calledOnce = false;
+ function memoized() {
+ var newArgs = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ newArgs[_i] = arguments[_i];
}
- }
- // pluggable. default to: next bigger than prev
- return 1;
- }
- // prevOrderA, nextOrderB
- for (var i = 0; i < next.length; i++) {
- var pivot = next[i].key;
- if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {
- continue;
- }
- if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {
- return 1;
- } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {
- return -1;
- }
+ if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {
+ return lastResult;
+ }
+ lastResult = resultFn.apply(this, newArgs);
+ calledOnce = true;
+ lastThis = this;
+ lastArgs = newArgs;
+ return lastResult;
}
- // pluggable. default to: next bigger than prev
- return -1;
- });
+ return memoized;
}
- module.exports = exports['default'];
- // to loop through and find a key's index each time), but I no longer care
+ module.exports = memoizeOne;
+
+
+/***/ }),
+/* 245 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(246);
+
+/***/ }),
+/* 246 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ __webpack_require__(247);
+ module.exports = __webpack_require__(166).Object.values;
+
+
+/***/ }),
+/* 247 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // https://github.com/tc39/proposal-object-values-entries
+ var $export = __webpack_require__(164);
+ var $values = __webpack_require__(248)(false);
+
+ $export($export.S, 'Object', {
+ values: function values(it) {
+ return $values(it);
+ }
+ });
+
+
+/***/ }),
+/* 248 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ var getKeys = __webpack_require__(181);
+ var toIObject = __webpack_require__(183);
+ var isEnum = __webpack_require__(197).f;
+ module.exports = function (isEntries) {
+ return function (it) {
+ var O = toIObject(it);
+ var keys = getKeys(O);
+ var length = keys.length;
+ var i = 0;
+ var result = [];
+ var key;
+ while (length > i) if (isEnum.call(O, key = keys[i++])) {
+ result.push(isEntries ? [key, O[key]] : O[key]);
+ } return result;
+ };
+ };
+
+
+/***/ }),
+/* 249 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(250);
+
+/***/ }),
+/* 250 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ __webpack_require__(251);
+ module.exports = __webpack_require__(166).Object.keys;
+
+
+/***/ }),
+/* 251 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 19.1.2.14 Object.keys(O)
+ var toObject = __webpack_require__(198);
+ var $keys = __webpack_require__(181);
+
+ __webpack_require__(252)('keys', function () {
+ return function keys(it) {
+ return $keys(toObject(it));
+ };
+ });
+
+
+/***/ }),
+/* 252 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // most Object methods by ES6 should accept primitives
+ var $export = __webpack_require__(164);
+ var core = __webpack_require__(166);
+ var fails = __webpack_require__(175);
+ module.exports = function (KEY, exec) {
+ var fn = (core.Object || {})[KEY] || Object[KEY];
+ var exp = {};
+ exp[KEY] = exec(fn);
+ $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
+ };
+
+
+/***/ }),
+/* 253 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(254);
/***/ }),
/* 254 */
/***/ (function(module, exports, __webpack_require__) {
+ __webpack_require__(255);
+ module.exports = __webpack_require__(166).Date.now;
+
+
+/***/ }),
+/* 255 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 20.3.3.1 / 15.9.4.4 Date.now()
+ var $export = __webpack_require__(164);
+
+ $export($export.S, 'Date', { now: function () { return new Date().getTime(); } });
+
+
+/***/ }),
+/* 256 */
+/***/ (function(module, exports) {
+
'use strict';
- exports.__esModule = true;
+ var rafSchd = function rafSchd(fn) {
+ var lastArgs = [];
+ var frameId = null;
- var _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; };
+ var wrapperFn = function wrapperFn() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
- exports['default'] = spring;
+ lastArgs = args;
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+ if (frameId) {
+ return;
+ }
- var _presets = __webpack_require__(255);
+ frameId = requestAnimationFrame(function () {
+ frameId = null;
+ fn.apply(void 0, lastArgs);
+ });
+ };
- var _presets2 = _interopRequireDefault(_presets);
+ wrapperFn.cancel = function () {
+ if (!frameId) {
+ return;
+ }
- var defaultConfig = _extends({}, _presets2['default'].noWobble, {
- precision: 0.01
- });
+ cancelAnimationFrame(frameId);
+ frameId = null;
+ };
- function spring(val, config) {
- return _extends({}, defaultConfig, config, { val: val });
- }
+ return wrapperFn;
+ };
- module.exports = exports['default'];
+ module.exports = rafSchd;
+
/***/ }),
-/* 255 */
-/***/ (function(module, exports) {
+/* 257 */
+/***/ (function(module, exports, __webpack_require__) {
- "use strict";
-
- exports.__esModule = true;
- exports["default"] = {
- noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided
- gentle: { stiffness: 120, damping: 14 },
- wobbly: { stiffness: 180, damping: 12 },
- stiff: { stiffness: 210, damping: 20 }
- };
- module.exports = exports["default"];
+ module.exports = __webpack_require__(258);
/***/ }),
-/* 256 */
+/* 258 */
/***/ (function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {'use strict';
-
- exports.__esModule = true;
- exports['default'] = reorderKeys;
-
- var hasWarned = false;
-
- function reorderKeys() {
- if (process.env.NODE_ENV === 'development') {
- if (!hasWarned) {
- hasWarned = true;
- console.error('`reorderKeys` has been removed, since it is no longer needed for TransitionMotion\'s new styles array API.');
- }
- }
- }
+ __webpack_require__(259);
+ module.exports = __webpack_require__(166).Number.isInteger;
+
+
+/***/ }),
+/* 259 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 20.1.2.3 Number.isInteger(number)
+ var $export = __webpack_require__(164);
- module.exports = exports['default'];
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
+ $export($export.S, 'Number', { isInteger: __webpack_require__(260) });
+
/***/ }),
-/* 257 */
+/* 260 */
+/***/ (function(module, exports, __webpack_require__) {
+
+ // 20.1.2.3 Number.isInteger(number)
+ var isObject = __webpack_require__(172);
+ var floor = Math.floor;
+ module.exports = function isInteger(it) {
+ return !isObject(it) && isFinite(it) && floor(it) === it;
+ };
+
+
+/***/ }),
+/* 261 */
/***/ (function(module, exports, __webpack_require__) {
(function webpackUniversalModuleDefinition(root, factory) {
@@ -30582,7 +31279,7 @@
//# sourceMappingURL=react-draggable.js.map
/***/ }),
-/* 258 */
+/* 262 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global, module) {/**
@@ -32434,10 +33131,10 @@
module.exports = isEqual;
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(208)(module)))
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(210)(module)))
/***/ }),
-/* 259 */
+/* 263 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -32456,13 +33153,13 @@
var _reactBeautifulDnd = __webpack_require__(159);
- var _util = __webpack_require__(260);
+ var _util = __webpack_require__(264);
var _classnames = __webpack_require__(5);
var _classnames2 = _interopRequireDefault(_classnames);
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
@@ -32558,7 +33255,7 @@
_this2.state.items.map(function (item, index) {
return _react2['default'].createElement(
_reactBeautifulDnd.Draggable,
- { key: index, draggableId: index, index: index },
+ { key: index, draggableId: '' + index, index: index },
function (provided, snapshot) {
return _react2['default'].createElement(
'div',
@@ -32587,7 +33284,7 @@
module.exports = exports['default'];
/***/ }),
-/* 260 */
+/* 264 */
/***/ (function(module, exports) {
'use strict';
@@ -32636,7 +33333,7 @@
};
/***/ }),
-/* 261 */
+/* 265 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -32659,13 +33356,13 @@
var _reactBeautifulDnd = __webpack_require__(159);
- var _util = __webpack_require__(260);
+ var _util = __webpack_require__(264);
var _classnames = __webpack_require__(5);
var _classnames2 = _interopRequireDefault(_classnames);
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
@@ -32899,7 +33596,7 @@
module.exports = exports['default'];
/***/ }),
-/* 262 */
+/* 266 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -32908,7 +33605,7 @@
value: true
});
- var _reactGridLayout = __webpack_require__(263);
+ var _reactGridLayout = __webpack_require__(267);
var _reactGridLayout2 = _interopRequireDefault(_reactGridLayout);
@@ -32918,18 +33615,18 @@
module.exports = exports['default'];
/***/ }),
-/* 263 */
+/* 267 */
/***/ (function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(264).default;
- module.exports.utils = __webpack_require__(265);
- module.exports.Responsive = __webpack_require__(271).default;
- module.exports.Responsive.utils = __webpack_require__(272);
- module.exports.WidthProvider = __webpack_require__(273).default;
+ module.exports = __webpack_require__(268).default;
+ module.exports.utils = __webpack_require__(269);
+ module.exports.Responsive = __webpack_require__(275).default;
+ module.exports.Responsive.utils = __webpack_require__(276);
+ module.exports.WidthProvider = __webpack_require__(277).default;
/***/ }),
-/* 264 */
+/* 268 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {"use strict";
@@ -32946,7 +33643,7 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
@@ -32954,9 +33651,9 @@
var _classnames2 = _interopRequireDefault(_classnames);
- var _utils = __webpack_require__(265);
+ var _utils = __webpack_require__(269);
- var _GridItem = __webpack_require__(266);
+ var _GridItem = __webpack_require__(270);
var _GridItem2 = _interopRequireDefault(_GridItem);
@@ -33547,7 +34244,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 265 */
+/* 269 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {"use strict";
@@ -33581,7 +34278,7 @@
exports.validateLayout = validateLayout;
exports.autoBindHandlers = autoBindHandlers;
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
@@ -34115,7 +34812,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(33)))
/***/ }),
-/* 266 */
+/* 270 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -34132,11 +34829,11 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _reactDraggable = __webpack_require__(257);
+ var _reactDraggable = __webpack_require__(261);
- var _reactResizable = __webpack_require__(267);
+ var _reactResizable = __webpack_require__(271);
- var _utils = __webpack_require__(265);
+ var _utils = __webpack_require__(269);
var _classnames = __webpack_require__(5);
@@ -34626,7 +35323,7 @@
exports.default = GridItem;
/***/ }),
-/* 267 */
+/* 271 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -34634,12 +35331,12 @@
throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable");
};
- module.exports.Resizable = __webpack_require__(268).default;
- module.exports.ResizableBox = __webpack_require__(270).default;
+ module.exports.Resizable = __webpack_require__(272).default;
+ module.exports.ResizableBox = __webpack_require__(274).default;
/***/ }),
-/* 268 */
+/* 272 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -34656,9 +35353,9 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _reactDraggable = __webpack_require__(257);
+ var _reactDraggable = __webpack_require__(261);
- var _cloneElement = __webpack_require__(269);
+ var _cloneElement = __webpack_require__(273);
var _cloneElement2 = _interopRequireDefault(_cloneElement);
@@ -34951,7 +35648,7 @@
exports.default = Resizable;
/***/ }),
-/* 269 */
+/* 273 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -34976,7 +35673,7 @@
};
/***/ }),
-/* 270 */
+/* 274 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -34993,7 +35690,7 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _Resizable = __webpack_require__(268);
+ var _Resizable = __webpack_require__(272);
var _Resizable2 = _interopRequireDefault(_Resizable);
@@ -35103,7 +35800,7 @@
exports.default = ResizableBox;
/***/ }),
-/* 271 */
+/* 275 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -35120,15 +35817,15 @@
var _propTypes2 = _interopRequireDefault(_propTypes);
- var _lodash = __webpack_require__(258);
+ var _lodash = __webpack_require__(262);
var _lodash2 = _interopRequireDefault(_lodash);
- var _utils = __webpack_require__(265);
+ var _utils = __webpack_require__(269);
- var _responsiveUtils = __webpack_require__(272);
+ var _responsiveUtils = __webpack_require__(276);
- var _ReactGridLayout = __webpack_require__(264);
+ var _ReactGridLayout = __webpack_require__(268);
var _ReactGridLayout2 = _interopRequireDefault(_ReactGridLayout);
@@ -35335,7 +36032,7 @@
exports.default = ResponsiveReactGridLayout;
/***/ }),
-/* 272 */
+/* 276 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -35346,7 +36043,7 @@
exports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;
exports.sortBreakpoints = sortBreakpoints;
- var _utils = __webpack_require__(265);
+ var _utils = __webpack_require__(269);
/**
* Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).
@@ -35427,7 +36124,7 @@
}
/***/ }),
-/* 273 */
+/* 277 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -35526,7 +36223,7 @@
}
/***/ }),
-/* 274 */
+/* 278 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -35605,7 +36302,7 @@
module.exports = exports['default'];
/***/ }),
-/* 275 */
+/* 279 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -35684,7 +36381,7 @@
module.exports = exports['default'];
/***/ }),
-/* 276 */
+/* 280 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -35764,7 +36461,7 @@
module.exports = exports['default'];
/***/ }),
-/* 277 */
+/* 281 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -35851,7 +36548,7 @@
module.exports = exports['default'];
/***/ }),
-/* 278 */
+/* 282 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -35930,7 +36627,7 @@
module.exports = exports['default'];
/***/ }),
-/* 279 */
+/* 283 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36005,7 +36702,7 @@
module.exports = exports['default'];
/***/ }),
-/* 280 */
+/* 284 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36088,7 +36785,7 @@
module.exports = exports['default'];
/***/ }),
-/* 281 */
+/* 285 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36170,7 +36867,7 @@
module.exports = exports['default'];
/***/ }),
-/* 282 */
+/* 286 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36254,7 +36951,7 @@
module.exports = exports['default'];
/***/ }),
-/* 283 */
+/* 287 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36308,7 +37005,7 @@
module.exports = exports['default'];
/***/ }),
-/* 284 */
+/* 288 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36363,7 +37060,7 @@
module.exports = exports['default'];
/***/ }),
-/* 285 */
+/* 289 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
@@ -36429,7 +37126,7 @@
module.exports = exports['default'];
/***/ }),
-/* 286 */
+/* 290 */
/***/ (function(module, exports, __webpack_require__) {
'use strict';
diff --git a/dist/demo.js.map b/dist/demo.js.map
index ed88445..c54c226 100644
--- a/dist/demo.js.map
+++ b/dist/demo.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap a69262e70f8103046289","webpack:///./demo/index.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/bee-layout/build/index.js","webpack:///./~/bee-layout/build/Col.js","webpack:///./~/classnames/index.js","webpack:///external \"PropTypes\"","webpack:///./~/bee-layout/build/Row.js","webpack:///./~/bee-layout/build/Layout.js","webpack:///./~/bee-panel/build/index.js","webpack:///./~/bee-panel/build/Panel.js","webpack:///./~/bee-transition/build/index.js","webpack:///./~/bee-transition/build/Transition.js","webpack:///./~/dom-helpers/transition/properties.js","webpack:///./~/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./~/dom-helpers/util/inDOM.js","webpack:///./~/dom-helpers/events/on.js","webpack:///./~/bee-transition/build/Collapse.js","webpack:///./~/dom-helpers/style/index.js","webpack:///./~/dom-helpers/util/camelizeStyle.js","webpack:///./~/dom-helpers/util/camelize.js","webpack:///./~/dom-helpers/util/hyphenateStyle.js","webpack:///./~/dom-helpers/util/hyphenate.js","webpack:///./~/dom-helpers/style/getComputedStyle.js","webpack:///./~/dom-helpers/style/removeStyle.js","webpack:///./~/dom-helpers/transition/isTransform.js","webpack:///./~/bee-transition/build/util/capitalize.js","webpack:///./~/tinper-bee-core/lib/index.js","webpack:///./~/tinper-bee-core/lib/all.js","webpack:///./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js","webpack:///./~/tinper-bee-core/lib/componentOrElement.js","webpack:///./~/tinper-bee-core/lib/deprecated.js","webpack:///./~/warning/browser.js","webpack:///C:/Users/Administrator/AppData/Roaming/npm/~/bee-tools/~/process/browser.js","webpack:///./~/tinper-bee-core/lib/elementType.js","webpack:///./~/tinper-bee-core/lib/isRequiredForA11y.js","webpack:///./~/tinper-bee-core/lib/splitComponent.js","webpack:///./~/tinper-bee-core/lib/createChainedFunction.js","webpack:///./~/tinper-bee-core/lib/keyCode.js","webpack:///./~/tinper-bee-core/lib/contains.js","webpack:///./~/tinper-bee-core/lib/addEventListener.js","webpack:///./~/add-dom-event-listener/lib/index.js","webpack:///./~/add-dom-event-listener/lib/EventObject.js","webpack:///./~/add-dom-event-listener/lib/EventBaseObject.js","webpack:///./~/object-assign/index.js","webpack:///./~/tinper-bee-core/lib/cssAnimation.js","webpack:///./~/tinper-bee-core/lib/Event.js","webpack:///./~/component-classes/index.js","webpack:///./~/component-indexof/index.js","webpack:///./~/tinper-bee-core/lib/toArray.js","webpack:///./~/tinper-bee-core/lib/Align.js","webpack:///./~/dom-align/lib/index.js","webpack:///./~/dom-align/lib/align/alignElement.js","webpack:///./~/dom-align/lib/align/align.js","webpack:///./~/dom-align/lib/utils.js","webpack:///./~/dom-align/lib/propertyUtils.js","webpack:///./~/dom-align/lib/getVisibleRectForElement.js","webpack:///./~/dom-align/lib/getOffsetParent.js","webpack:///./~/dom-align/lib/isAncestorFixed.js","webpack:///./~/dom-align/lib/adjustForViewport.js","webpack:///./~/dom-align/lib/getRegion.js","webpack:///./~/dom-align/lib/getElFuturePos.js","webpack:///./~/dom-align/lib/getAlignOffset.js","webpack:///./~/dom-align/lib/align/alignPoint.js","webpack:///./~/bee-transition/build/Fade.js","webpack:///./~/bee-message/build/index.js","webpack:///./~/bee-message/build/Message.js","webpack:///./~/bee-notification/build/index.js","webpack:///./~/bee-notification/build/Notification.js","webpack:///./~/bee-animate/build/index.js","webpack:///./~/bee-animate/build/Animate.js","webpack:///./~/bee-animate/build/ChildrenUtils.js","webpack:///./~/bee-animate/build/AnimateChild.js","webpack:///./~/bee-animate/build/util.js","webpack:///./~/bee-notification/build/Notice.js","webpack:///./~/copy-to-clipboard/index.js","webpack:///./~/toggle-selection/index.js","webpack:///./~/bee-panel/build/PanelGroup.js","webpack:///./~/bee-drawer/build/index.js","webpack:///./~/bee-drawer/build/Drawer.js","webpack:///./~/bee-drawer/build/common/index.js","webpack:///./~/react-transition-group/index.js","webpack:///./~/react-transition-group/CSSTransition.js","webpack:///./~/dom-helpers/class/addClass.js","webpack:///./~/dom-helpers/class/hasClass.js","webpack:///./~/dom-helpers/class/removeClass.js","webpack:///./~/react-transition-group/Transition.js","webpack:///./~/react-lifecycles-compat/react-lifecycles-compat.cjs.js","webpack:///./~/react-transition-group/utils/PropTypes.js","webpack:///./~/react-transition-group/ReplaceTransition.js","webpack:///./~/react-transition-group/TransitionGroup.js","webpack:///./~/react-transition-group/utils/ChildMapping.js","webpack:///./~/bee-clipboard/build/index.js","webpack:///./~/bee-clipboard/build/Clipboard.js","webpack:///./~/clipboard/lib/clipboard.js","webpack:///./~/clipboard/lib/clipboard-action.js","webpack:///./~/select/src/select.js","webpack:///./~/tiny-emitter/index.js","webpack:///./~/good-listener/src/listen.js","webpack:///./~/good-listener/src/is.js","webpack:///./~/delegate/src/delegate.js","webpack:///./~/delegate/src/closest.js","webpack:///./~/bee-icon/build/index.js","webpack:///./~/bee-icon/build/Icon.js","webpack:///./~/bee-tooltip/build/index.js","webpack:///./~/bee-tooltip/build/Tooltip.js","webpack:///./~/bee-overlay/build/OverlayTrigger.js","webpack:///./~/dom-helpers/query/contains.js","webpack:///./~/bee-overlay/build/Portal.js","webpack:///./~/bee-overlay/build/utils/ownerDocument.js","webpack:///./~/dom-helpers/ownerDocument.js","webpack:///./~/bee-overlay/build/utils/getContainer.js","webpack:///./~/bee-overlay/build/Overlay.js","webpack:///./~/bee-overlay/build/BaseOverlay.js","webpack:///./~/bee-overlay/build/Position.js","webpack:///./~/dom-helpers/util/requestAnimationFrame.js","webpack:///./~/bee-overlay/build/utils/calculatePosition.js","webpack:///./~/dom-helpers/query/offset.js","webpack:///./~/dom-helpers/query/isWindow.js","webpack:///./~/dom-helpers/query/position.js","webpack:///./~/@babel/runtime/helpers/extends.js","webpack:///./~/dom-helpers/query/offsetParent.js","webpack:///./~/dom-helpers/query/scrollTop.js","webpack:///./~/dom-helpers/query/scrollLeft.js","webpack:///./~/bee-overlay/build/utils/ownerWindow.js","webpack:///./~/dom-helpers/ownerWindow.js","webpack:///./~/bee-overlay/build/utils/addEventListener.js","webpack:///./~/dom-helpers/events/off.js","webpack:///./~/bee-overlay/build/RootCloseWrapper.js","webpack:///./~/bee-overlay/build/Fade.js","webpack:///./~/bee-overlay/build/Transition.js","webpack:///./~/bee-overlay/build/utils/createChainedFunction.js","webpack:///./~/bee-locale/build/tool.js","webpack:///./~/bee-clipboard/build/i18n.js","webpack:///./~/bee-modal/build/index.js","webpack:///./~/bee-modal/build/Modal.js","webpack:///./~/dom-helpers/events/index.js","webpack:///./~/dom-helpers/events/filter.js","webpack:///./~/dom-helpers/query/querySelectorAll.js","webpack:///./~/dom-helpers/events/listen.js","webpack:///./~/dom-helpers/util/scrollbarSize.js","webpack:///./~/bee-overlay/build/Modal.js","webpack:///./~/bee-overlay/build/ModalManager.js","webpack:///./~/dom-helpers/class/index.js","webpack:///./~/bee-overlay/build/utils/isOverflowing.js","webpack:///./~/bee-overlay/build/utils/manageAriaHidden.js","webpack:///./~/bee-overlay/build/utils/addFocusListener.js","webpack:///./~/dom-helpers/activeElement.js","webpack:///./~/bee-modal/build/ModalBody.js","webpack:///./~/bee-modal/build/ModalDialog.js","webpack:///./~/bee-modal/build/ModalFooter.js","webpack:///./~/bee-modal/build/ModalHeader.js","webpack:///./~/bee-modal/build/ModalTitle.js","webpack:///./~/bee-form-control/build/index.js","webpack:///./~/bee-form-control/build/FormControl.js","webpack:///./~/bee-button/build/index.js","webpack:///./~/bee-button/build/Button.js","webpack:///./src/index.js","webpack:///./src/Dnd.js","webpack:///./~/react-beautiful-dnd/dist/react-beautiful-dnd.cjs.js","webpack:///./~/@babel/runtime-corejs2/helpers/extends.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/assign.js","webpack:///./~/core-js/library/fn/object/assign.js","webpack:///./~/core-js/library/modules/es6.object.assign.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/library/modules/_object-assign.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_to-absolute-index.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_object-gops.js","webpack:///./~/core-js/library/modules/_object-pie.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/tiny-invariant/dist/tiny-invariant.cjs.js","webpack:///./~/css-box-model/dist/css-box-model.cjs.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/keys.js","webpack:///./~/core-js/library/fn/object/keys.js","webpack:///./~/core-js/library/modules/es6.object.keys.js","webpack:///./~/core-js/library/modules/_object-sap.js","webpack:///./~/memoize-one/dist/memoize-one.cjs.js","webpack:///./~/redux/lib/redux.js","webpack:///./~/symbol-observable/lib/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./~/symbol-observable/lib/ponyfill.js","webpack:///./~/raf-schd/dist/raf-schd.cjs.js","webpack:///./~/@babel/runtime-corejs2/helpers/inheritsLoose.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/create.js","webpack:///./~/core-js/library/fn/object/create.js","webpack:///./~/core-js/library/modules/es6.object.create.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./~/react-redux/lib/index.js","webpack:///./~/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./~/react-redux/lib/components/Provider.js","webpack:///./~/@babel/runtime/helpers/inheritsLoose.js","webpack:///./~/react-redux/lib/utils/PropTypes.js","webpack:///./~/react-redux/lib/utils/warning.js","webpack:///./~/react-redux/lib/components/connectAdvanced.js","webpack:///./~/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./~/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./~/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./~/react-is/index.js","webpack:///./~/react-is/cjs/react-is.production.min.js","webpack:///./~/react-is/cjs/react-is.development.js","webpack:///./~/invariant/browser.js","webpack:///./~/react-redux/lib/utils/Subscription.js","webpack:///./~/react-redux/lib/connect/connect.js","webpack:///./~/react-redux/lib/utils/shallowEqual.js","webpack:///./~/react-redux/lib/connect/mapDispatchToProps.js","webpack:///./~/react-redux/lib/connect/wrapMapToProps.js","webpack:///./~/react-redux/lib/utils/verifyPlainObject.js","webpack:///./~/react-redux/lib/utils/isPlainObject.js","webpack:///./~/react-redux/lib/connect/mapStateToProps.js","webpack:///./~/react-redux/lib/connect/mergeProps.js","webpack:///./~/react-redux/lib/connect/selectorFactory.js","webpack:///./~/react-redux/lib/connect/verifySubselectors.js","webpack:///./~/react-motion/lib/react-motion.js","webpack:///./~/react-motion/lib/Motion.js","webpack:///./~/react-motion/lib/mapToZero.js","webpack:///./~/react-motion/lib/stripStyle.js","webpack:///./~/react-motion/lib/stepper.js","webpack:///./~/performance-now/lib/performance-now.js","webpack:///./~/raf/index.js","webpack:///./~/react-motion/lib/shouldStopAnimation.js","webpack:///./~/react-motion/lib/StaggeredMotion.js","webpack:///./~/react-motion/lib/TransitionMotion.js","webpack:///./~/react-motion/lib/mergeDiff.js","webpack:///./~/react-motion/lib/spring.js","webpack:///./~/react-motion/lib/presets.js","webpack:///./~/react-motion/lib/reorderKeys.js","webpack:///./~/react-draggable/dist/react-draggable.js","webpack:///./~/lodash.isequal/index.js","webpack:///./src/SortList.js","webpack:///./src/util.js","webpack:///./src/Between.js","webpack:///./src/GridLayout.js","webpack:///./~/react-grid-layout/index.js","webpack:///./~/react-grid-layout/build/ReactGridLayout.js","webpack:///./~/react-grid-layout/build/utils.js","webpack:///./~/react-grid-layout/build/GridItem.js","webpack:///./~/react-resizable/index.js","webpack:///./~/react-resizable/build/Resizable.js","webpack:///./~/react-resizable/build/cloneElement.js","webpack:///./~/react-resizable/build/ResizableBox.js","webpack:///./~/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack:///./~/react-grid-layout/build/responsiveUtils.js","webpack:///./~/react-grid-layout/build/components/WidthProvider.js","webpack:///./demo/demolist/Demo1.js","webpack:///./demo/demolist/Demo2.js","webpack:///./demo/demolist/Demo3.js","webpack:///./demo/demolist/Demo4.js","webpack:///./demo/demolist/Demo5.js","webpack:///./demo/demolist/Demo6.js","webpack:///./demo/demolist/Demo7.js","webpack:///./demo/demolist/Demo8.js","webpack:///./demo/demolist/Demo9.js","webpack:///./demo/demolist/Demo90.js","webpack:///./demo/demolist/Demo91.js","webpack:///./demo/demolist/Demo92.js","webpack:///./demo/demolist/Demo93.js"],"names":["Demo1","require","Demo2","Demo3","Demo4","Demo5","Demo6","Demo7","Demo8","Demo9","Demo90","Demo91","Demo92","Demo93","DemoArray","Demo","props","handleClick","setState","open","state","fCloseDrawer","render","title","example","code","desc","scss_code","header","trim","Component","DemoGroup","map","child","index","ReactDOM","document","getElementById","Dnd","propTypes","onStart","PropTypes","func","onDrag","onStop","onDragUpdate","dropClass","string","dropOverClass","dragClass","dragingClass","draggedClass","className","style","object","list","array","otherList","type","oneOf","showKey","defaultProps","items","componentWillReceiveProps","nextProps","self","DndType","length","children","Drag","DragDropContext","Droppable","Draggable","GridLayout","reorder","startIndex","endIndex","result","Array","from","splice","removed","Vertical","onDragEnd","destination","source","onDragStart","provided","snapshot","innerRef","isDraggingOver","drop","item","draggableProps","dragHandleProps","isDragging","drag","placeholder","getClass","doing","verticalObj","horizontalObj","move","droppableSource","droppableDestination","sourceClone","destClone","droppableId","Between","id2List","droppable","droppable2","getList","id","console","log","selected","top","left","right","bottom","name","list1","list2","listObj","layout","i","x","y","w","h"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA;;;;AACA;;;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;;;AAIA,KAAIA,QAAQ,mBAAAC,CAAQ,GAAR,CAAZ,CAAwC,IAAIC,QAAQ,mBAAAD,CAAQ,GAAR,CAAZ,CAAwC,IAAIE,QAAQ,mBAAAF,CAAQ,GAAR,CAAZ,CAAwC,IAAIG,QAAQ,mBAAAH,CAAQ,GAAR,CAAZ,CAAwC,IAAII,QAAQ,mBAAAJ,CAAQ,GAAR,CAAZ,CAAwC,IAAIK,QAAQ,mBAAAL,CAAQ,GAAR,CAAZ,CAAwC,IAAIM,QAAQ,mBAAAN,CAAQ,GAAR,CAAZ,CAAwC,IAAIO,QAAQ,mBAAAP,CAAQ,GAAR,CAAZ,CAAwC,IAAIQ,QAAQ,mBAAAR,CAAQ,GAAR,CAAZ,CAAwC,IAAIS,SAAS,mBAAAT,CAAQ,GAAR,CAAb,CAA0C,IAAIU,SAAS,mBAAAV,CAAQ,GAAR,CAAb,CAA0C,IAAIW,SAAS,mBAAAX,CAAQ,GAAR,CAAb,CAA0C,IAAIY,SAAS,mBAAAZ,CAAQ,GAAR,CAAb,CAA0C,IAAIa,YAAY,CAAC,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,OAA7B,EAAqC,QAAO,4kBAA5C,EAAynB,QAAO,cAAhoB,EAA+oB,aAAY,6jBAA3pB,EAAD,EAA2tC,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,cAA7B,EAA4C,QAAO,goBAAnD,EAAorB,QAAO,8CAA3rB,EAA0uB,aAAY,uhBAAtvB,EAA3tC,EAA0+E,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,ktBAAhD,EAAmwB,QAAO,+BAA1wB,EAA0yB,aAAY,4GAAtzB,EAA1+E,EAA84G,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,09BAAhD,EAA2gC,QAAO,+BAAlhC,EAAkjC,aAAY,4nBAA9jC,EAA94G,EAA0kK,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,2qBAAhD,EAA4tB,QAAO,kBAAnuB,EAAsvB,aAAY,uhBAAlwB,EAA1kK,EAAq2M,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,SAA7B,EAAuC,QAAO,kvBAA9C,EAAiyB,QAAO,uEAAxyB,EAAg3B,aAAY,2jBAA53B,EAAr2M,EAA8xP,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,m1BAAhD,EAAo4B,QAAO,gBAA34B,EAA45B,aAAY,+rBAAx6B,EAA9xP,EAAu4S,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,aAA7B,EAA2C,QAAO,unCAAlD,EAA0qC,QAAO,wBAAjrC,EAA0sC,aAAY,EAAttC,EAAv4S,EAAimV,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,cAA7B,EAA4C,QAAO,ynBAAnD,EAA6qB,QAAO,aAAprB,EAAjmV,EAAoyW,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,WAA9B,EAA0C,QAAO,+aAAjD,EAAie,QAAO,oBAAxe,EAApyW,EAAkyX,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,SAA9B,EAAwC,QAAO,mjBAA/C,EAAmmB,QAAO,kEAA1mB,EAA6qB,aAAY,uFAAzrB,EAAlyX,EAAojZ,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,SAA9B,EAAwC,QAAO,iuBAA/C,EAAixB,QAAO,4BAAxxB,EAAqzB,aAAY,kGAAj0B,EAApjZ,EAAy9a,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,OAA9B,EAAsC,QAAO,yjCAA7C,EAAumC,QAAO,GAA9mC,EAAknC,aAAY,gWAA9nC,EAAz9a,CAAhB;;KAG1gBC,I;;;AACF,mBAAYC,KAAZ,EAAkB;AAAA;;AAAA,sDACd,sBAAMA,KAAN,CADc;;AAAA,eAMlBC,WANkB,GAMN,YAAK;AACb,mBAAKC,QAAL,CAAc,EAAEC,MAAM,CAAC,MAAKC,KAAL,CAAWD,IAApB,EAAd;AACH,UARiB;;AAAA,eASlBE,YATkB,GASL,YAAI;AACb,mBAAKH,QAAL,CAAc;AACVC,uBAAM;AADI,cAAd;AAGH,UAbiB;;AAEd,eAAKC,KAAL,GAAa;AACTD,mBAAM;AADG,UAAb;AAFc;AAKjB;;oBAUDG,M,qBAAU;AAAA,sBAC6C,KAAKN,KADlD;AAAA,aACEO,KADF,UACEA,KADF;AAAA,aACSC,OADT,UACSA,OADT;AAAA,aACkBC,IADlB,UACkBA,IADlB;AAAA,aACwBC,IADxB,UACwBA,IADxB;AAAA,aAC8BC,SAD9B,UAC8BA,SAD9B;;;AAGN,aAAMC,SACF;AAAA;AAAA;AACI;AAAA;AAAA,mBAAG,WAAU,iBAAb;AAAiCL;AAAjC,cADJ;AAEI;AAAA;AAAA;AAAKG;AAAL,cAFJ;AAGI;AAAA;AAAA,mBAAM,WAAU,gBAAhB,EAAiC,SAAS,KAAKT,WAA/C;AAAA;AAAkE,yDAAG,WAAU,mBAAb,GAAlE;AAAA;AAAA;AAHJ,UADJ;AAOA,gBACI;AAAC,2BAAD;AAAA,eAAK,IAAI,EAAT,EAAa,IAAIM,MAAMM,IAAN,EAAjB,EAA+B,WAAU,gBAAzC;AACA;AAAC,gCAAD;AAAA,mBAAO,QAAQD,MAAf;AACKJ;AADL,cADA;AAKA;AAAC,uCAAD;AAAA,mBAAQ,WAAU,mBAAlB,EAAsC,OAAOD,KAA7C,EAAoD,MAAM,KAAKH,KAAL,CAAWD,IAArE,EAA2E,WAAU,OAArF,EAA6F,SAAS,KAAKE,YAA3G;AACA;AAAA;AAAA,uBAAK,WAAU,qBAAf;AAAA;AACI,sDAAC,yBAAD,IAAW,QAAO,MAAlB,EAAyB,MAAMI,IAA/B;AADJ,kBADA;AAIA;AAAA;AAAA,uBAAK,WAAU,QAAf;AACI;AAAA;AAAA,2BAAM,WAAU,iBAAhB;AAAoCA;AAApC;AADJ,kBAJA;AAOC,kBAAC,CAACE,SAAF,GAAa;AAAA;AAAA,uBAAK,WAAU,8BAAf;AAAA;AACV,sDAAC,yBAAD,IAAW,QAAO,MAAlB,EAAyB,MAAMA,SAA/B;AADU,kBAAb,GAEM,IATP;AAUM,kBAAC,CAACA,SAAF,GAAc;AAAA;AAAA,uBAAK,WAAU,SAAf;AACf;AAAA;AAAA,2BAAM,WAAU,UAAhB;AAA6BA;AAA7B;AADe,kBAAd,GAEQ;AAZd;AALA,UADJ;AAsBH,M;;;GAhDcG,gB;;KAmDbC,S;;;AACF,wBAAYf,KAAZ,EAAkB;AAAA;;AAAA,iDACd,uBAAMA,KAAN,CADc;AAEjB;;yBACDM,M,qBAAU;AACN,gBACI;AAAC,2BAAD;AAAA;AACCR,uBAAUkB,GAAV,CAAc,UAACC,KAAD,EAAOC,KAAP,EAAiB;;AAE5B,wBACJ,iCAAC,IAAD,IAAM,SAAUD,MAAMT,OAAtB,EAA+B,OAAQS,MAAMV,KAA7C,EAAoD,MAAOU,MAAMR,IAAjE,EAAuE,WAAYQ,MAAMN,SAAzF,EAAoG,MAAOM,MAAMP,IAAjH,EAAuH,KAAMQ,KAA7H,GADI;AAIX,cANQ;AADD,UADJ;AAWH,M;;;GAhBmBJ,gB;;AAmBxBK,uBAASb,MAAT,CAAgB,iCAAC,SAAD,OAAhB,EAA8Bc,SAASC,cAAT,CAAwB,eAAxB,CAA9B,E;;;;;;ACnFA,wB;;;;;;ACAA,2B;;;;;;ACAA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,mC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAgB;;AAEhB;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA,EAAC;;;;;;;ACnDD,4B;;;;;;ACAA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3EA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAgC;;AAEhC;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACxFA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,8C;;;;;;AClBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,sBAAqB,iCAAiC;AACtD;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,UAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,qCAAoC,kDAAkD;AACtF;;AAEA;;;AAGA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iDAAiD;AAC1D;AACA,4DAA2D,qDAAqD;AAChH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wDAAuD,kBAAkB;;AAEzE;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yCAAwC;;AAExC;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS,2GAA2G;AACpH;AACA;AACA,yGAAwG,2HAA2H;AACnO;AACA;AACA,UAAS,uDAAuD;AAChE;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACpTA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,kC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,wBAAuB,oBAAoB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAuB,mBAAmB;AAC1C;;AAEA;AACA,8BAA6B,kBAAkB;AAC/C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;;AAEA;AACA,8BAA6B,iBAAiB;AAC9C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA,8DAA6D;AAC7D;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA,iC;;;;;;ACnVA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AC3FA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;ACRA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;AC5BA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3PA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,mEAAkE;AAClE;AACA,IAAG;;AAEH;AACA,0DAAyD;AACzD;;AAEA,2BAA0B;AAC1B;;AAEA,qC;;;;;;ACnDA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA,qC;;;;;;ACZA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAA+C;;AAE/C;AACA;AACA,0CAAyC;;AAEzC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qC;;;;;;AC3CA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,qC;;;;;;ACTA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACzEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA,uEAAsE,eAAe;AACrF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA,E;;;;;;ACtCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;ACvCA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uE;;;;;;AC/BA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yC;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;;;;;;AC3DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0E;;;;;;AC/BA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA,E;;;;;;ACnBA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA,IAAG;AACH;;AAEA;AACA;AACA,aAAY,SAAS;AACrB,aAAY,eAAe;AAC3B,aAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA,E;;;;;;ACrCA;;AAEA;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,yC;;;;;;AC7BA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;ACvgBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;ACdA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;ACrBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;AClDA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;;AAED,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAqD;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA,qC;;;;;;ACrRA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;AC9DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACzFA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA,gC;;;;;;AC1LA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,oC;;;;;;ACpFA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,cAAc;AACzB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9LA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,G;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;ACjBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,iCAAgC;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,yB;;;;;;AC9LA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,gD;;;;;;ACnBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,qC;;;;;;AC7CA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACzNA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAkE,cAAc;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,wCAAuC;AACvC,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA,uEAAsE,eAAe;AACrF;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;AC7kBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,E;;;;;;AC7GA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACxGA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC,4BAA2B,cAAc,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACvDA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC7BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACtDA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACnCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACxBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACrCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,iBAAgB,eAAe,KAAK,mBAAmB;AACvD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,4DAA2D,UAAU,iBAAiB;AACtF;;AAEA;AACA,qC;;;;;;AC/DA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnHA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAqB,oDAAoD;AACzE,4DAA2D,oDAAoD;AAC/G;AACA;AACA;AACA,sBAAqB,uDAAuD;AAC5E;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACjNA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL,iCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA,QAAO,4EAA4E;AACnF;AACA;AACA,UAAS,2CAA2C;AACpD;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,0FAAyF,UAAU,WAAW;AAC9G;;AAEA;AACA,qC;;;;;;ACxMA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAkG;AAClG,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA,qC;;;;;;ACtXA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA,E;;;;;;ACpHA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC1BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,QAAO,sFAAsF;AAC7F;AACA;AACA,UAAS,yCAAyC;AAClD;AACA;AACA,YAAW,uCAAuC;AAClD;AACA;AACA;AACA;AACA,YAAW,6CAA6C;AACxD;AACA;AACA;AACA;AACA;AACA,UAAS,2EAA2E;AACpF,mDAAkD,yCAAyC;AAC3F;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;;AAEA,4CAA2C,IAAI;;AAE/C;AACA;AACA,6BAA4B,UAAU;AACtC;;AAEA;AACA;AACA,kBAAiB,cAAc;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,0BAA0B;AAC3C;AACA;;AAEA,0CAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;;;;;;ACtCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA,QAAO;AACP;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC7IA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,8DAA6D,uEAAuE;AACpI;;AAEA;AACA;;AAEA;AACA;AACA,KAAI,uDAAuD;AAC3D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI,6BAA6B;AACjC;AACA;AACA,MAAK,mCAAmC;AACxC;AACA;AACA;AACA;AACA;AACA,KAAI,cAAc;AAClB;AACA;AACA,MAAK;AACL;AACA,OAAM,0FAA0F;AAChG;AACA;AACA;AACA;AACA,OAAM,2BAA2B;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;AACtB;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAI,+CAA+C;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzSA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACrBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACjBA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,wCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAEtd,sBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,OAAO,UAAU,IAAI;AACjD;AACA,eAAc;AACd;AACA;AACA,yCAAwC,sBAAsB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wEAAuE,aAAa;AACpF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;;AAE3B;AACA,yEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA,8EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,qC;;;;;;;AC3WA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,2DAA0D,yJAAyJ;AACnN;;AAEA,qC;;;;;;ACbA;;AAEA;AACA;;AAEA;AACA,sFAAqF;AACrF;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA,8DAA6D,mHAAmH;AAChL,G;;;;;;ACRA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,wCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAEtd,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,aAAa;AACxB;AACA;AACA;AACA;AACA,6BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA,iBAAgB,aAAa;AAC7B,iBAAgB,aAAa;AAC7B;AACA;AACA,mBAAkB,aAAa;AAC/B,sBAAqB,OAAO,UAAU,SAAS;AAC/C,SAAQ;AACR;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,OAAO,UAAU,IAAI;AAC9C,aAAY;AACZ;AACA;AACA;AACA,2BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA8C;;AAE9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA,iBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qEAAoE;AACpE;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA,uCAAsC;;AAEtC;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+EAA8E;;;AAG9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,cAAc,UAAU,IAAI;AACjD,SAAQ;AACR,kCAAiC,aAAa,MAAM,EAAE;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA,iBAAgB,KAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,UAAU;AACtB;AACA;AACA;AACA;;AAEA,2FAA0F,aAAa;AACvG;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4B;;;;;;;AChmBA;;AAEA,+CAA8C,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjKA;;AAEA;AACA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,2C;;;;;;;AC3BA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yEAAwE,aAAa;AACrF;AACA;;AAEA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,qC;;;;;;;ACrJA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,sBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL,wCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,uGAAsG;;;AAGtG;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mCAAkC;;AAElC;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,KAAK;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;AACA,qC;;;;;;;AC/MA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB;AACA,aAAY,OAAO;AACnB;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB,qCAAqC;AACtD;AACA;AACA;AACA;;AAEA;AACA,IAAG;;;AAGH,cAAa,wBAAwB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA,E;;;;;;ACrJA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,+BAA8B;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kBAAiB;AACjB;AACA;AACA,sBAAqB,iDAAiD;AACtE;AACA;AACA,0BAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF,oEAAoE;AAC3J;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,qC;;;;;;ACzNA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oBAAmB,2CAA2C;AAC9D,oBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;;AAEjB;AACA;AACA,UAAS;;AAET;AACA,MAAK;;AAEL;AACA;AACA,gBAAe,OAAO;AACtB,gBAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC,E;;;;;;AC9MD;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,oBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAqB;AACrB;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;;AAET;AACA,MAAK;;AAEL;AACA,EAAC,E;;;;;;ACpOD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC1CA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAkC;;AAElC;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,0CAAyC;AACzC;AACA;;AAEA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA,IAAG;;AAEH;AACA,mCAAkC;AAClC;AACA;;AAEA;AACA,yCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AClEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,2CAA2C;AACtD,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,wBAAwB;AACnC,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;;;;;;;AC9FA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;;;;;;;AChDA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,qBAAqB;AAChC,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7EA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,2DAA0D,WAAW,iEAAiE;AACtI;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzEA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,4DAA2D;AAC3D;AACA;AACA,cAAa,EAAE;AACf;AACA;AACA,cAAa,6BAA6B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAoC;;AAEpC;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,uBAAsB;AACtB;AACA,kBAAiB,oDAAoD,WAAW,uBAAuB;AACvG;AACA;AACA;AACA,uBAAsB;AACtB;AACA,kBAAiB,oDAAoD,WAAW,uBAAuB;AACvG;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC7NA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAuB,aAAa;AACpC;;AAEA;AACA,wBAAuB,cAAc;AACrC;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3XA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH,EAAC;;AAED;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA,qC;;;;;;AChCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC1MA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;ACpBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,4BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzJA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA,IAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,oBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,gBAAgB;AACrC,MAAK;AACL;AACA,sBAAqB,eAAe;AACpC;AACA;;AAEA;AACA,oBAAmB,eAAe;;AAElC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS,4BAA4B;AACrC;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,UAAS,uBAAuB;AAChC;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC5PA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,UAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA,sBAAqB;AACrB,kBAAiB;AACjB,8CAA6C;AAC7C;AACA,sBAAqB;AACrB;AACA,cAAa;AACb,0CAAyC;AACzC;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,wFAAuF,gCAAgC;AACvH,UAAS;AACT,+BAA8B;AAC9B;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC/RA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qC;;;;;;ACrDA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA,aAAY;AACZ;AACA,qC;;;;;;AC1KA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;;AAEnB;AACA,oFAAmF;;AAEnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACrCA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,cAAa,2DAA2D,eAAe;AACvF;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;;AAGH,mCAAkC;AAClC;AACA;AACA,IAAG;AACH;;AAEA,qC;;;;;;AChDA;AACA;AACA,oBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2B;;;;;;AClBA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gHAA+G;AAC/G;;AAEA,qC;;;;;;ACfA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+GAA8G;AAC9G;;AAEA,qC;;;;;;ACfA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;ACpBA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACdA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA,qC;;;;;;AC5JA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnHA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB;;AAEnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,wBAAuB,oBAAoB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAuB,mBAAmB;AAC1C;;AAEA;AACA,8BAA6B,kBAAkB;AAC/C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;;AAEA;AACA,8BAA6B,iBAAiB;AAC9C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA,8DAA6D;AAC7D;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA,iC;;;;;;ACvVA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa;AACb;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,qC;;;;;;AC1CA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA,6BAA4B;AAC5B;AACA,kCAAiC;AACjC,MAAK;AACL,kCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACrCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC3BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,+BAA8B;AAC9B;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6CAA4C;AAC5C,8CAA6C;AAC7C;;AAEA,+BAA8B;AAC9B;AACA,2BAA0B,eAAe;AACzC;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC3UA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;AC5BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,qC;;;;;;ACtBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC9BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC7BA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG;;;AAGjQ;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,gBAAgB;AACrC,MAAK;AACL;AACA,sBAAqB,eAAe;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAmB,eAAe;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC1hBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uFAAsF;AACtF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA,qC;;;;;;AC/KA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qC;;;;;;ACxCA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;AChDA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,WAAU;AACV;AACA,qC;;;;;;AC9BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;ACrBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,wCAAuC;;AAEvC,uBAAsB;;AAEtB,6CAA4C;AAC5C;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS,wFAAwF;AACjG;AACA;AACA,YAAW,2GAA2G;AACtH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC5GA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,YAAW,wBAAwB;AACnC,kDAAiD,2BAA2B;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA,qC;;;;;;AClHA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,yGAAyG;AAC1H,wEAAuE;AACvE;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,sBAAqB,mCAAmC;AACxD,qGAAoG,gDAAgD;AACpJ;AACA,wEAAuE;AACvE;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB,0GAA0G;AAC/H,4EAA2E;AAC3E;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,0BAAyB,mCAAmC;AAC5D,iFAAgF,iDAAiD;AACjI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACrRA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;;;;;;;ACnKA;;;;;;sBACeC,gB;;;;;;;;;;;;;;;ACDf;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAMC,YAAY;AACdC,cAASC,uBAAUC,IADL;AAEdC,aAAQF,uBAAUC,IAFJ;AAGdE,aAAQH,uBAAUC,IAHJ;AAIdG,mBAAcJ,uBAAUC,IAJV;AAKdI,gBAAWL,uBAAUM,MALP;AAMdC,oBAAeP,uBAAUM,MANX;AAOdE,gBAAWR,uBAAUM,MAPP;AAQdG,mBAAcT,uBAAUM,MARV;AASdI,mBAAaV,uBAAUM,MATT;AAUdK,gBAAUX,uBAAUM,MAVN;AAWdM,YAAMZ,uBAAUa,MAXF;AAYdC,WAAMd,uBAAUe,KAZF;AAadC,gBAAWhB,uBAAUe,KAbP;AAcdE,WAAKjB,uBAAUkB,KAAV,CAAgB,CAAC,UAAD,EAAY,YAAZ,EAAyB,iBAAzB,EAA2C,mBAA3C,CAAhB,CAdS;AAedC,cAAQnB,uBAAUM;;AAfJ,EAAlB;AAkBA,KAAMc,eAAe;AACjBrB,cAAS,mBAAM,CAEd,CAHgB;AAIjBG,aAAO,kBAAI,CAEV,CANgB;AAOjBC,aAAQ,kBAAM,CAEb,CATgB;AAUjBC,mBAAc,wBAAM,CAEnB,CAZgB;AAajBU,WAAM,KAbW;AAcjBE,gBAAU,EAdO;AAejBX,gBAAU,EAfO;AAgBjBE,oBAAc,EAhBG;AAiBjBC,gBAAU,EAjBO;AAkBjBC,mBAAa,EAlBI;AAmBjBC,mBAAa,EAnBI;AAoBjBO,WAAK;AApBY,EAArB;;KAwBMpB,G;;;AACF,kBAAYtB,KAAZ,EAAmB;AAAA;;AAAA,sDACf,sBAAMA,KAAN,CADe;;AAEf,eAAKI,KAAL,GAAW;AACP0C,oBAAM,MAAK9C,KAAL,CAAWuC,IAAX,IAAiB;AADhB,UAAX;AAFe;AAKlB;;mBACDQ,yB,sCAA0BC,S,EAAU;AAChC,aAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,kBAAKrC,QAAL,CAAc;AACV4C,wBAAME,UAAUT;AADN,cAAd;AAGH;AACJ,M;;mBAEDjC,M,qBAAS;AAAA;;AACL,aAAI2C,OAAO,IAAX;AACA,aAAIC,UAAU,SAAVA,OAAU,GAAM;AAChB,qBAAO,OAAKlD,KAAL,CAAW0C,IAAlB;AACI,sBAAK,UAAL;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAK1C,KAAnB,CAAP;AACA;AACJ,sBAAK,YAAL;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAKA,KAAnB,CAAP;AACA;AACJ,sBAAK,iBAAL;AACI,4BAAO,iCAAC,oBAAD,EAAa,OAAKA,KAAlB,CAAP;AACA;AACJ,sBAAK,mBAAL;AACI,4BAAO,iCAAC,oBAAD,EAAa,OAAKA,KAAlB,CAAP;AACA;AACJ;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAKA,KAAnB,CAAP;AACA;AAfR;AAiBH,UAlBD;AAmBA,gBACI;AAAA;AAAA;AAEQiD,kBAAK7C,KAAL,CAAW0C,KAAX,CAAiBK,MAAjB,GACID,SADJ,GAEI;AAAC,4CAAD;AAAA,4BAAM,kBAAkB,KAAKlD,KAAL,CAAWiC,SAAnC;AACM,+CAA0B,KAAKjC,KAAL,CAAWkC,YAD3C;AAEM,8CAAyB,KAAKlC,KAAL,CAAWmC;AAF1C,oBAGU,KAAKnC,KAHf;AAIKiD,sBAAKjD,KAAL,CAAWoD;AAJhB;AAJZ,UADJ;AAiBH,M;;;GArDatC,gB;;AAuDlBQ,KAAIC,SAAJ,GAAgBA,SAAhB;AACAD,KAAIuB,YAAJ,GAAmBA,YAAnB;AACAvB,KAAI+B,IAAJ,GAAWA,2BAAX;AACA/B,KAAIgC,eAAJ,GAAsBA,kCAAtB;AACAhC,KAAIiC,SAAJ,GAAgBA,4BAAhB;AACAjC,KAAIkC,SAAJ,GAAgBA,4BAAhB;AACAlC,KAAImC,UAAJ,GAAiBA,uBAAjB;sBACenC,G;;;;;;;AClHf;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA0B;AAC1B;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;AACD;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;AACD;AACA;AACA;AACA,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK,wBAAwB;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,kCAAiC;AACjC,8BAA6B,8CAA8C;AAC3E,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA,MAAK,wBAAwB;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA8B;AAC9B;AACA,MAAK;;AAEL,mCAAkC;AAClC,8BAA6B,8CAA8C;AAC3E,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK,wBAAwB;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA,iCAAgC;AAChC,0BAAyB;AACzB;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA,MAAK,wBAAwB;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK,wBAAwB;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL,0FAAyF,mBAAmB,oCAAoC,kBAAkB,gBAAgB,kBAAkB,mBAAmB;AACvN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA4B;AAC5B;AACA,QAAO;;AAEP;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA,+BAA8B;AAC9B;AACA;AACA,QAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,mBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,MAAK,IAAI;;AAET;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,MAAK,IAAI;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B;;AAE5B,yBAAwB;AACxB;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAA+C,sCAAsC,qDAAqD,qCAAqC,SAAS;AACxL,sDAAqD,+BAA+B,uBAAuB,SAAS;AACpH,8DAA6D,+BAA+B,SAAS;AACrG;AACA;AACA,0DAAyD,8CAA8C,SAAS;AAChH;AACA;AACA,+CAA8C,gCAAgC,SAAS;AACvF;AACA;AACA,yCAAwC,2BAA2B,mCAAmC,4BAA4B,oCAAoC,iCAAiC,gCAAgC,SAAS;AAChP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uBAAsB;AACtB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,gEAA+D;AAC/D;AACA;AACA;AACA,EAAC;;AAED;AACA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,uEAAsE;;AAEtE;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,6BAA4B;AAC5B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wIAAuI,qBAAqB;AAC5J;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED,qDAAoD;AACpD,0DAAyD;;AAEzD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,uEAAsE;;AAEtE;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oKAAmK,4BAA4B;AAC/L;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA,2CAA0C;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAuB;AACvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,sDAAqD;;AAErD;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT,QAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA,EAAC;;AAED,qDAAoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACpyMA;;AAEA;AACA;AACA,oBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2B;;;;;;ACpBA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;;AAEA,2CAA0C,mCAAsC;;;;;;;ACHhF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE;AACjE;AACA,mFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA,0CAAyC;;;;;;;ACLzC,8BAA6B;AAC7B,wCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;;;;;;;ACFA;AACA,uEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,EAAC;;;;;;;ACFD;AACA;AACA,kCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,EAAC;;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA,wBAAuB;AACvB;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,UAAU,EAAE;AAChD,oBAAmB,sCAAsC;AACzD,EAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;;;;;;ACjCD;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA,kBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,YAAY,eAAe;AAChC;AACA,MAAK;AACL;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,mDAAkD;;AAElD;AACA,sEAAqE;AACrE,EAAC;AACD;AACA;AACA;AACA,EAAC;;;;;;;ACXD;;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA,eAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;ACJA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;;;;;;;AChBA;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChKA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA,sDAAqD,OAAO,EAAE;AAC9D;;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2EAA0E,aAAa;AACvF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACvCA;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,IAAI;AACf,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA,YAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,IAAI;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,gBAAe,SAAS;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAe,OAAO;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;;AAEA,oBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,gBAAe;AACf;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,gBAAe,WAAW;AAC1B;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,OAAO;AACxB;AACA,oBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,IAAG;AACH;AACA;;;AAGA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAG,aAAa;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qEAAoE;AACpE;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;;AAEA,kBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA,cAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,uEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,SAAS;AACtB;;AAEA;AACA,6EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,8BAA6B;AAC7B;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,UAAS;;;AAGT;AACA;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA;;AAEA;AACA,6B;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA,G;;;;;;ACtBA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAmE,aAAa;AAChF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,EAAC;;AAED;;;;;;;ACrCA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACRA,2C;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,+BAA8B,mCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;;;;;;;ACDA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,oC;;;;;;ACnBA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0C;;;;;;ACzBA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAsB;AACtB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;AACA;;AAEA;;AAEA,4B;;;;;;;ACnFA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACNA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED,iC;;;;;;ACxBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA,E;;;;;;AC5BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC;AACxC,mDAAkD;AAClD;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,yEAAwE;AACxE;AACA;AACA;AACA,0BAAyB;AACzB;;AAEA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sGAAqG,gBAAgB;AACrH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA8C;AAC9C;;AAEA;AACA,6GAA4G;AAC5G;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kGAAiG;AACjG;AACA;AACA;;AAEA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA,MAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,wCAAuC;AACvC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;AClTA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yC;;;;;;ACRA;AACA;AACA;AACA;AACA;;AAEA,cAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gD;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACnFA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAa,4CAA4C,SAAS;AAClE;AACA,OAAM,cAAc,kCAAkC,iBAAiB,UAAU,0BAA0B,qCAAqC,kCAAkC,8BAA8B,kBAAkB,kBAAkB,cAAc,gBAAgB,iBAAiB,oBAAoB,yBAAyB,0BAA0B,0BAA0B,kBAAkB,qBAAqB,mBAAmB,mBAAmB;AACjd,sBAAqB,uCAAuC,sMAAsM,gCAAgC,aAAa,2BAA2B,sCAAsC,iBAAiB,sCAAsC;AACva,+BAA8B,qDAAqD,iCAAiC,iBAAiB,+BAA+B,iBAAiB,+BAA+B,iBAAiB,6BAA6B,iBAAiB,iCAAiC;;;;;;;ACbpT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;;AAEA,+CAA8C,cAAc;;AAE5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;;AC5MA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,2CAA0C,yBAAyB,EAAE;AACrE;AACA;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA;;;;;;;;AChDA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,sBAAqB,sBAAsB;AAC3C;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,gC;;;;;;AC3FA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC,QAAQ;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;;;AAGA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;;AAEA,4B;;;;;;AClHA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;AChCA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,4B;;;;;;AC/BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,OAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;AC3EA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;ACfA;;AAEA;AACA;;AAEA;AACA,YAAW,IAAI;AACf,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,E;;;;;;AClBA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,4B;;;;;;ACpBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,mCAAkC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,4B;;;;;;;ACrDA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;AClGA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;ACvBA;;AAEA;;AAEA,gCAA+B,qDAAqD;;AAEpF;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,qD;;;;;;AClCA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,uCAAsC,uCAAuC,kBAAkB;;AAE/F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAsC;AACtC,0CAAyC;AACzC,yCAAwC;AACxC,4CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAwB,qIAAqI;AAC7J;AACA;;AAEA;AACA,gCAA+B,MAAM,cAAc,MAAM;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAgD;AAChD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,4BAA2B,qBAAqB;AAChD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;;AAEA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,W;;;;;;;;ACxQA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;ACjBA,UAAS,IAAI,iCAAiC,OAAO;AACrD,MAAK,cAAc,yBAAyB,QAAQ,QAAQ;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;;AClBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2B;;;;;;AC1CA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC/BD;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc,4BAA4B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,eAAe;AACrC;AACA;AACA;AACA,cAAa;AACb,sCAAqC,UAAU;AAC/C;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,mBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACxEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC9BA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,uCAAsC,uCAAuC,kBAAkB;;AAE/F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,kBAAiB,0BAA0B;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB,6BAA6B;AAClD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C,iDAAgD;AAChD,+CAA8C;AAC9C,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAwB,iJAAiJ;AACzK;AACA;;AAEA;AACA,gCAA+B,MAAM,cAAc,MAAM;AACzD;AACA;AACA;;AAEA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,8BAA6B,qBAAqB;AAClD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;;AAEA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,W;;;;;;AC/RA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,uCAAsC,uCAAuC,kBAAkB;;AAE/F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAI,2CAA2C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA,kBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,8BAA8B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,kDAAiD,KAAK,wBAAwB;AAC9E,MAAK,6CAA6C;AAClD;;AAEA;AACA,4BAA2B;AAC3B;AACA,qEAAoE,KAAK,KAAK;AAC9E,6CAA4C,KAAK,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,+DAA+D;AAC/E;AACA;AACA;AACA,iBAAgB,+DAA+D;AAC/E;AACA;AACA,aAAY;AACZ,IAAG;;AAEH;AACA;AACA;AACA;AACA,kBAAiB,iCAAiC;AAClD;AACA;AACA,oBAAmB,iCAAiC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,MAAK;AACL;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAqB,6BAA6B;AAClD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C,iDAAgD;AAChD,+CAA8C;AAC9C,mDAAkD;AAClD;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA,gCAA+B,MAAM,cAAc,MAAM;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAuB,iCAAiC;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,8BAA6B,qBAAqB;AAClD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;;AAEA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAuB,KAAK,6BAA6B,KAAK;AAC9D,2BAA0B;AAC1B;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA6D;AAC7D;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,wEAAuE;AACvE,oDAAmD;AACnD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,yC;;;;;;;;ACvgBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA4B;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,kBAAiB,iBAAiB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,iBAAiB;AAClC;AACA;AACA,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,2E;;;;;;AC3GA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA,gCAA+B;AAC/B;AACA,EAAC;;AAED;AACA,qBAAoB,0BAA0B,WAAW;AACzD;;AAEA,qC;;;;;;ACtBA;;AAEA;AACA;AACA,cAAa,8BAA8B;AAC3C,YAAW,8BAA8B;AACzC,YAAW,8BAA8B;AACzC,WAAU;AACV;AACA,qC;;;;;;ACTA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,0BAA0B,EAAE;AAC/D,0CAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,+DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,YAAY;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,mBAAkB,iCAAiC,gBAAgB;;;AAGnE;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAqC,iCAAiC;AACtE;AACA,oCAAmC,kBAAkB;;AAErD;AACA;;AAEA,WAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA0E,iCAAiC;AAC3G;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,yBAAyB;AAC5G,gFAA+E,yBAAyB;AACxG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA4C;AAC5C,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,mCAAkC;AAClC;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAY,4BAA4B;AACxC;AACA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAa;AACb;;AAEA;AACA,6FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,gDAA+C;AAC/C,mBAAkB,wDAAwD,gBAAgB;AAC1F,wDAAuD;AACvD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAQ,KAAK;AACb;AACA;AACA,qEAAoE;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;;AAED,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,iCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,mBAAkB,8BAA8B,sBAAsB;;;AAGtE;AACA,mBAAkB,wBAAwB,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAE;AACF,uFAAsF;AACtF,qCAAoC,sBAAsB;;;AAG1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAsB,mCAAmC;;AAEzD;AACA;AACA,oCAAmC;AACnC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,0CAAyC;AACzC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,sCAAqC;;AAErC;AACA,MAAK;AACL;;AAEA;AACA,MAAK;AACL;AACA;;AAEA;AACA,MAAK;AACL;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,+BAA8B;AAC9B,+BAA8B;AAC9B;AACA;AACA;AACA,6BAA4B;;AAE5B,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,iCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,mBAAkB,qDAAqD,wBAAwB;AAC/F,mBAAkB,sBAAsB,sBAAsB;AAC9D,mBAAkB,wBAAwB,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAsB,gCAAgC;AACtD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,wBAAuB,qBAAqB;AAC5C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,wBAAuB,mDAAmD;AAC1E;AACA;AACA,IAAG;AACH;AACA;AACA,sBAAqB,kBAAkB,EAAE;AACzC;AACA,IAAG;AACH;AACA;AACA;;AAEA,qBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA,oHAAmH;;AAEnH;AACA;AACA;AACA;AACA,oBAAmB,eAAe,0EAA0E;AAC5G;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA,kCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,yBAAyB;AAC7D;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,cAAc;AACjE,mFAAkF;AAClF;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,cAAc;AAC1D,mFAAkF;AAClF;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAoB,aAAa;AACjC;AACA,EAAC;AACD;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV,8BAA6B;AAC7B,SAAQ;AACR;AACA;AACA;AACA;AACA,gCAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,6BAA4B;AAC5B,QAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,kBAAkB,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;;AAEA;AACA;AACA,sBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;;AAEA,oBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB;AACA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAgG;AAChG;AACA,UAAS;AACT;AACA;AACA,iGAAgG;AAChG;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAgB;;AAEhB;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,IAAG;AACH;AACA,GAAE;AACF;AACA;AACA,EAAC;;;AAGD,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,kBAAiB,qBAAqB;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,yDAAwD;AACxD;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;AAGtC,QAAO;AACP;AACA,EAAC;AACD,4C;;;;;;ACzrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB;AACA;AACA,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,+CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;ACvzDA;;;;AACA;;AACA;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAMoC,UAAU,SAAVA,OAAU,CAACnB,IAAD,EAAOoB,UAAP,EAAmBC,QAAnB,EAAgC;AAC9C,OAAMC,SAASC,MAAMC,IAAN,CAAWxB,IAAX,CAAf;;AAD8C,wBAE5BsB,OAAOG,MAAP,CAAcL,UAAd,EAA0B,CAA1B,CAF4B;AAAA;AAAA,OAEvCM,OAFuC;;AAG9CJ,UAAOG,MAAP,CAAcJ,QAAd,EAAwB,CAAxB,EAA2BK,OAA3B;;AAEA,UAAOJ,MAAP;AACD,EAND;;KAQMK,Q;;;AACJ,qBAAYlE,KAAZ,EAAmB;AAAA;;AAAA,kDACjB,sBAAMA,KAAN,CADiB;;AAAA,WAcnBmE,SAdmB,GAcP,kBAAU;AACpB,WAAI,CAACN,OAAOO,WAAZ,EAAyB;AACvB;AACD;AACD,WAAMtB,QAAQY,QACZ,MAAKtD,KAAL,CAAW0C,KADC,EAEZe,OAAOQ,MAAP,CAAcnD,KAFF,EAGZ2C,OAAOO,WAAP,CAAmBlD,KAHP,CAAd;;AAMA,aAAKhB,QAAL,CAAc;AACZ4C;AADY,QAAd;AAGA,aAAK9C,KAAL,CAAW4B,MAAX,CAAkBiC,MAAlB,EAAyBf,KAAzB;AACD,MA5BkB;;AAAA,WA8BnBwB,WA9BmB,GA8BL,kBAAS;AACrB,aAAKtE,KAAL,CAAWwB,OAAX,CAAmBqC,MAAnB,EAA0B,MAAKzD,KAAL,CAAW0C,KAArC;AACD,MAhCkB;;AAEjB,WAAK1C,KAAL,GAAa;AACX0C,cAAO,MAAK9C,KAAL,CAAWuC,IAAX,IAAiB;AADb,MAAb;AAFiB;AAKlB;;sBACDQ,yB,sCAA0BC,S,EAAU;AAClC,SAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,YAAKrC,QAAL,CAAc;AACV4C,gBAAME,UAAUT;AADN,QAAd;AAGH;AACF,I;;sBAuBDjC,M,qBAAS;AAAA;;AAAA,kBAEmC,KAAKN,KAFxC;AAAA,SACCwB,OADD,UACCA,OADD;AAAA,SACSG,MADT,UACSA,MADT;AAAA,SACgBC,MADhB,UACgBA,MADhB;AAAA,SACuBC,YADvB,UACuBA,YADvB;AAAA,SACoCC,SADpC,UACoCA,SADpC;AAAA,SAC8CE,aAD9C,UAC8CA,aAD9C;AAAA,SAELC,SAFK,UAELA,SAFK;AAAA,SAEKC,YAFL,UAEKA,YAFL;AAAA,SAEkBU,OAFlB,UAEkBA,OAFlB;AAAA,SAE0BF,IAF1B,UAE0BA,IAF1B;;;AAIP,YACE;AAAC,yCAAD;AAAA,SAAiB,WAAW,KAAKyB,SAAjC,EAA4C,aAAa,KAAKG,WAA9D,EAA2E,cAAczC,YAAzF;AACE;AAAC,qCAAD;AAAA,WAAW,aAAY,WAAvB,EAAmC,WAAWa,IAA9C;AACG,mBAAC6B,QAAD,EAAWC,QAAX;AAAA,kBACC;AAAA;AAAA;AACE,oBAAKD,SAASE,QADhB;AAEE,0BAAW,0CACN,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADvC;AAFb;AAMG,oBAAKvE,KAAL,CAAW0C,KAAX,CAAiB9B,GAAjB,CAAqB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,sBACpB;AAAC,6CAAD;AAAA,mBAAW,KAAKA,KAAhB,EAAuB,aAAaA,KAApC,EAA2C,OAAOA,KAAlD;AACG,2BAACqD,QAAD,EAAWC,QAAX;AAAA,0BACC;AAAA;AAAA;AACE,4BAAKD,SAASE;AADhB,wBAEMF,SAASM,cAFf,EAGMN,SAASO,eAHf;AAIE,kCAAW,0CACN,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADnC,EAJb;AAOE,2CAAWT,SAASM,cAAT,CAAwBxC,KAAnC;AAPF;AASGO,+BAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AATzB,oBADD;AAAA;AADH,gBADoB;AAAA,cAArB,CANH;AAuBEL,sBAASU;AAvBX,YADD;AAAA;AADH;AADF,MADF;AAiCD,I;;;GAzEoBnE,gB;;sBA4ERoD,Q;;;;;;;;;;;;AC3FR,KAAMgB,8BAAW,SAAXA,QAAW,CAAClF,KAAD,EAAOmF,KAAP,EAAgB;AAAA,SAC9BrD,SAD8B,GAC0B9B,KAD1B,CAC9B8B,SAD8B;AAAA,SACpBE,aADoB,GAC0BhC,KAD1B,CACpBgC,aADoB;AAAA,SACNC,SADM,GAC0BjC,KAD1B,CACNiC,SADM;AAAA,SACIC,YADJ,GAC0BlC,KAD1B,CACIkC,YADJ;AAAA,SACiBQ,IADjB,GAC0B1C,KAD1B,CACiB0C,IADjB;;;AAGpC,SAAI0C,cAAc;AACdT,eAAK,EADS,EACNK,MAAK;AADC,MAAlB;AAGAI,iBAAYT,IAAZ,CAAiB,YAAU7C,SAA3B,IAAsC,IAAtC;AACAsD,iBAAYT,IAAZ,CAAiB,eAAa3C,aAA9B,IAA6CmD,KAA7C;AACAC,iBAAYJ,IAAZ,CAAiB,YAAU/C,SAA3B,IAAsC,IAAtC;AACAmD,iBAAYJ,IAAZ,CAAiB,eAAa9C,YAA9B,IAA4CiD,KAA5C;;AAEA,SAAIE,gBAAgB;AAChBV,eAAK,EADW,EACRK,MAAK;AADG,MAApB;AAGAK,mBAAcV,IAAd,CAAmB,8BAA4B7C,SAA/C,IAA0D,IAA1D;AACAuD,mBAAcV,IAAd,CAAmB,oCAAkC3C,aAArD,IAAoEmD,KAApE;AACAE,mBAAcL,IAAd,CAAmB,8BAA4B/C,SAA/C,IAA0D,IAA1D;AACAoD,mBAAcL,IAAd,CAAmB,oCAAkC9C,YAArD,IAAmEiD,KAAnE;;AAEA,aAAQzC,IAAR;AACE,cAAK,UAAL;AACI,oBAAO0C,WAAP;AACA;AACJ,cAAK,YAAL;AACI,oBAAOC,aAAP;AACA;AACJ,cAAK,iBAAL;AACI,oBAAOD,WAAP;AACA;AACJ,cAAK,mBAAL;AACI,oBAAOC,aAAP;AACA;AAZN;AAcH,EAjCM,C;;;;;;;;;;;;;;;;ACAP;;;;AACA;;;;AACA;;AACA;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAM3B,UAAU,SAAVA,OAAU,CAACnB,IAAD,EAAOoB,UAAP,EAAmBC,QAAnB,EAAgC;AAC5C,SAAMC,SAASC,MAAMC,IAAN,CAAWxB,IAAX,CAAf;;AAD4C,0BAE1BsB,OAAOG,MAAP,CAAcL,UAAd,EAA0B,CAA1B,CAF0B;AAAA;AAAA,SAErCM,OAFqC;;AAG5CJ,YAAOG,MAAP,CAAcJ,QAAd,EAAwB,CAAxB,EAA2BK,OAA3B;;AAEA,YAAOJ,MAAP;AACH,EAND;;AAQA;;;AAGA,KAAMyB,OAAO,SAAPA,IAAO,CAACjB,MAAD,EAASD,WAAT,EAAsBmB,eAAtB,EAAuCC,oBAAvC,EAAgE;AACzE,SAAMC,cAAc3B,MAAMC,IAAN,CAAWM,MAAX,CAApB;AACA,SAAMqB,YAAY5B,MAAMC,IAAN,CAAWK,WAAX,CAAlB;;AAFyE,+BAGvDqB,YAAYzB,MAAZ,CAAmBuB,gBAAgBrE,KAAnC,EAA0C,CAA1C,CAHuD;AAAA;AAAA,SAGlE+C,OAHkE;;AAKzEyB,eAAU1B,MAAV,CAAiBwB,qBAAqBtE,KAAtC,EAA6C,CAA7C,EAAgD+C,OAAhD;;AAEA,SAAMJ,SAAS,EAAf;AACAA,YAAO0B,gBAAgBI,WAAvB,IAAsCF,WAAtC;AACA5B,YAAO2B,qBAAqBG,WAA5B,IAA2CD,SAA3C;;AAEA,YAAO7B,MAAP;AACH,EAZD;;KAeM+B,O;;;AACF,sBAAY5F,KAAZ,EAAmB;AAAA;;AAAA,sDACf,sBAAMA,KAAN,CADe;;AAAA,eAqBnB6F,OArBmB,GAqBT;AACNC,wBAAW,OADL;AAENC,yBAAY;AAFN,UArBS;;AAAA,eA0BnBC,OA1BmB,GA0BT;AAAA,oBAAM,MAAK5F,KAAL,CAAW,MAAKyF,OAAL,CAAaI,EAAb,CAAX,CAAN;AAAA,UA1BS;;AAAA,eA4BnB9B,SA5BmB,GA4BP,kBAAU;AAClB+B,qBAAQC,GAAR,CAAYtC,MAAZ;AADkB,iBAEVQ,MAFU,GAEcR,MAFd,CAEVQ,MAFU;AAAA,iBAEFD,WAFE,GAEcP,MAFd,CAEFO,WAFE;;AAIlB;;AACA,iBAAI,CAACA,WAAL,EAAkB;AACd;AACH;AACD,iBAAI7B,OAAK,MAAKnC,KAAL,CAAW0C,KAApB;AACA,iBAAIL,YAAU,MAAKrC,KAAL,CAAWgG,QAAzB;;AAEA,iBAAI/B,OAAOsB,WAAP,KAAuBvB,YAAYuB,WAAvC,EAAoD;AAChD,qBAAM7C,QAAQY,QACV,MAAKsC,OAAL,CAAa3B,OAAOsB,WAApB,CADU,EAEVtB,OAAOnD,KAFG,EAGVkD,YAAYlD,KAHF,CAAd;;AAMA,qBAAId,QAAQ,EAAE0C,YAAF,EAAZ;AACAP,wBAAKO,KAAL;;AAEA,qBAAIuB,OAAOsB,WAAP,KAAuB,YAA3B,EAAyC;AACrCvF,6BAAQ,EAAEgG,UAAUtD,KAAZ,EAAR;AACAL,iCAAUK,KAAV;AACAP,4BAAK,MAAKnC,KAAL,CAAW0C,KAAhB;AACH;AACD,uBAAK5C,QAAL,CAAcE,KAAd;AACH,cAhBD,MAgBO;AACH,qBAAMyD,UAASyB,KACX,MAAKU,OAAL,CAAa3B,OAAOsB,WAApB,CADW,EAEX,MAAKK,OAAL,CAAa5B,YAAYuB,WAAzB,CAFW,EAGXtB,MAHW,EAIXD,WAJW,CAAf;;AAOA,uBAAKlE,QAAL,CAAc;AACV4C,4BAAOe,QAAOiC,SADJ;AAEVM,+BAAUvC,QAAOkC;AAFP,kBAAd;AAIAxD,wBAAKsB,QAAOiC,SAAZ;AACArD,6BAAUoB,QAAOkC,UAAjB;AACH;AACD,mBAAK/F,KAAL,CAAW4B,MAAX,CAAkBiC,MAAlB,EAAyB;AACrBtB,uBAAKA,IADgB;AAErBE,4BAAUA;AAFW,cAAzB;AAKH,UA3EkB;;AAAA,eA6EnB6B,WA7EmB,GA6EL,kBAAS;AACnB,mBAAKtE,KAAL,CAAWwB,OAAX,CAAmBqC,MAAnB,EAA0B;AACtBtB,uBAAK,MAAKnC,KAAL,CAAWmC,IADM;AAEtBE,4BAAU,MAAKrC,KAAL,CAAWgG;AAFC,cAA1B;AAIH,UAlFkB;;AAEf,eAAKhG,KAAL,GAAa;AACT0C,oBAAO,MAAK9C,KAAL,CAAWuC,IADT;AAET6D,uBAAU,MAAKpG,KAAL,CAAWyC;AAFZ,UAAb;AAFe;AAMlB;;uBAEDM,yB,sCAA0BC,S,EAAU;AAChC,aAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,kBAAKrC,QAAL,CAAc;AACV4C,wBAAME,UAAUT;AADN,cAAd;AAGH;AACD,aAAG,CAAC,yBAAQ,KAAKnC,KAAL,CAAWgG,QAAnB,EAA4BpD,UAAUP,SAAtC,CAAJ,EAAqD;AACjD,kBAAKvC,QAAL,CAAc;AACVkG,2BAASpD,UAAUP;AADT,cAAd;AAGH;AACJ,M;;uBAiEDnC,M,qBAAS;AAAA;;AAAA,sBAEuC,KAAKN,KAF5C;AAAA,aACGwB,OADH,UACGA,OADH;AAAA,aACWG,MADX,UACWA,MADX;AAAA,aACkBC,MADlB,UACkBA,MADlB;AAAA,aACyBC,YADzB,UACyBA,YADzB;AAAA,aACsCC,SADtC,UACsCA,SADtC;AAAA,aACgDE,aADhD,UACgDA,aADhD;AAAA,aAEDC,SAFC,UAEDA,SAFC;AAAA,aAESC,YAFT,UAESA,YAFT;AAAA,aAEsBU,OAFtB,UAEsBA,OAFtB;AAAA,aAE8BF,IAF9B,UAE8BA,IAF9B;;;AAIL,gBACI;AAAA;AAAA,eAAM,WAAW,6BAAW;AACxB,uCAAiBA,QAAM,iBADC;AAExB,iEAA2CA,QAAM;;AAFzB,kBAAX,CAAjB;AAKI;AAAC,mDAAD;AAAA,mBAAiB,WAAW,KAAKyB,SAAjC,EAA4C,aAAa,KAAKG,WAA9D,EAA2E,cAAczC,YAAzF;AACI;AAAC,iDAAD;AAAA,uBAAW,aAAY,WAAvB,EAAmC,WAAWa,QAAM,iBAAN,GAAwB,UAAxB,GAAmC,YAAjF;AACK,+BAAC6B,QAAD,EAAWC,QAAX;AAAA,gCACG;AAAA;AAAA;AACI,sCAAKD,SAASE,QADlB;AAEI,4CAAW,0CACJ,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADzC,EAFf;AAKK,oCAAKvE,KAAL,CAAW0C,KAAX,CAAiB9B,GAAjB,CAAqB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,wCAClB;AAAC,iEAAD;AAAA;AACI,8CAAK,MAAIA,KADb;AAEI,sDAAa,MAAIA,KAFrB;AAGI,gDAAOA,KAHX;AAIK,+CAACqD,QAAD,EAAWC,QAAX;AAAA,gDACG;AAAA;AAAA;AACI,sDAAKD,SAASE;AADlB,gDAEQF,SAASM,cAFjB,EAGQN,SAASO,eAHjB;AAII,4DAAW,0CACJ,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADrC,EAJf;AAOM,qEAAWT,SAASM,cAAT,CAAwBxC,KAAnC,CAPN;AAQKO,uDAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AAR3B,0CADH;AAAA;AAJL,kCADkB;AAAA,8BAArB,CALL;AAwBKL,sCAASU;AAxBd,0BADH;AAAA;AADL,kBADJ;AA+BI;AAAC,iDAAD;AAAA,uBAAW,aAAY,YAAvB,EAAoC,WAAWvC,QAAM,iBAAN,GAAwB,UAAxB,GAAmC,YAAlF;AACK,+BAAC6B,QAAD,EAAWC,QAAX;AAAA,gCACG;AAAA;AAAA;AACI,sCAAKD,SAASE,QADlB;AAEI,4CAAW,0CACJ,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADzC,EAFf;AAKK,oCAAKvE,KAAL,CAAWgG,QAAX,CAAoBpF,GAApB,CAAwB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,wCACrB;AAAC,iEAAD;AAAA;AACI,8CAAK,MAAIA,KADb;AAEI,sDAAa,MAAIA,KAFrB;AAGI,gDAAOA,KAHX;AAIK,+CAACqD,QAAD,EAAWC,QAAX;AAAA,gDACG;AAAA;AAAA;AACI,sDAAKD,SAASE;AADlB,gDAEQF,SAASM,cAFjB,EAGQN,SAASO,eAHjB;AAII,4DAAW,0CACJ,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADrC,EAJf;AAOM,qEAAWT,SAASM,cAAT,CAAwBxC,KAAnC,CAPN;AAQKO,uDAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AAR3B,0CADH;AAAA;AAJL,kCADqB;AAAA,8BAAxB,CALL;AAwBKL,sCAASU;AAxBd,0BADH;AAAA;AADL;AA/BJ;AALJ,UADJ;AAuEH,M;;;GAhKiBnE,gB;;sBAoKP8E,O;;;;;;;;;;;;;ACtMf;;;;;;sBAEenC,4B;;;;;;;ACFf;AACA;AACA;AACA;AACA;;;;;;;ACJA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,oBAAoB;AACzC;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAuE,MAAM,aAAa;AAC1F;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,yBAAyB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,QAAO,iDAAiD;AACxD;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACnmBA;;AAEA;AACA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,wCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B,yCAAwC;AACxC,yCAAwC;AACxC,yCAAwC;AACxC,yCAAwC;AACxC,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,QAAQ;AACpB;AACA,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAwC,WAAW;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,WAAW;AACvB;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,iBAAiB;AAC7B;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,WAAW;AACvB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C,WAAW;AACvD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,WAAW;AACvB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,gCAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB;AACA;AACA,4EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,QAAQ;AACpB,aAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAA+C,MAAM,eAAe;AACpE,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,mCAAkC,aAAa;AAC/C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA,oBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8C;;;;;;;ACjjBA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAY;AACZ;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,OAAO;AACrB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA,4BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0DAAyD,6CAA6C;AACtG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAuB,yDAAyD;;AAEhF,sCAAqC,+BAA+B;AACpE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,yBAAwB;AACxB,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;ACzfA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACNA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,iCAAiC;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oBAAoB,+BAA+B,gBAAgB;AAClH,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,6EAA6E;AAC/H;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6DAA4D;AAC5D;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;;;;;;AClTA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,sDAAqD,SAAS,mEAAmE,EAAE;AACnI;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;ACzHA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;;AAEA,qDAAoD,sCAAsC;AAC1F,MAAK;AACL;AACA,6DAA4D;AAC5D;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAqB,oBAAoB;AACzC;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gFAA+E;AAC/E;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAM,YAAY,QAAQ;AAC1B;;AAEA;AACA;;AAEA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAgB,8CAA8C;AAC9D,UAAS,uCAAuC;AAChD,cAAa;AACb;AACA;AACA;AACA;AACA,6C;;;;;;AClOA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY,OAAO,uCAAuC,uBAAuB;AACjF,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,uCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,QAAQ;AACpB;AACA,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,SAAS;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD,iEAAgE,aAAa;AAC7E;;AAEA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;ACtFA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,sEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA,0DAAyD;AACzD,0DAAyD,0BAA0B;AACnF,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAqD,2DAA2D;AAChH;;AAEA,0EAAyE;AACzE;;AAEA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,E;;;;;;;;;;;;ACrFA;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMzE,K;;;;;;;;;;;;iJAEFwC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,SAAS,KAAKkB,OAAnB,EAA4B,QAAQ,KAAKI,MAAzC;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBL9B,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWME,K;;;;;;;;;;;;iJAEFsC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,MAAK,GAAV,EAAc,SAAS,KAAKkB,OAA5B,EAAqC,QAAQ,KAAKI,MAAlD;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBL5B,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFqC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACA,oBAAO,KAAP;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,QAAf;AACI;AAAC,mCAAD;AAAA,mBAAK,SAAS,KAAKkB,OAAnB,EAA6B,QAAQ,KAAKI,MAA1C;AACI;AAAA;AAAA,uBAAK,WAAU,YAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAlBed,gB;;sBAoBL3B,K;;;;;;;;;;;;;ACzBf;;;;AACA;;;;AACA;;;;;;;;;;;;gfATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFoC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBAED7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,QAAf;AACI;AAAA;AAAA;AACI;AAAC,uCAAD;AAAA,uBAAK,QAAO,SAAZ,EAAsB,SAAS,KAAKkB,OAApC,EAA6C,QAAQ,KAAKI,MAA1D;AACI;AAAA;AAAA,2BAAK,WAAU,YAAf;AAAA;AAEI;AAAA;AAAA,+BAAK,WAAU,QAAf;AAAwB,8DAAC,oBAAD,IAAM,MAAK,SAAX;AAAxB;AAFJ;AADJ;AADJ;AADJ,UADJ;AAcH,M;;;GAxBed,gB;;sBA2BL1B,K;;;;;;;;;;;;;AC9Bf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFmC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,MAAM,CAAC,EAAD,EAAK,EAAL,CAAX,EAAqB,SAAS,KAAKkB,OAAnC,EAA6C,QAAQ,KAAKI,MAA1D;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBLzB,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,K;;;;;;;;;;;;iJAEFkC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,OAAf;AACI;AAAC,mCAAD;AAAA,mBAAK,QAAQ,EAAC+F,KAAK,CAAC,EAAP,EAAWC,MAAM,CAAC,EAAlB,EAAsBC,OAAO,EAA7B,EAAiCC,QAAQ,EAAzC,EAAb,EAA2D,SAAS,KAAKhF,OAAzE,EAAkF,QAAQ,KAAKI,MAA/F;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBLxB,K;;;;;;;;;;;;;ACvBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFiC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAA;AAAA,mBAAK,WAAU,cAAf;AACI;AAAC,uCAAD;AAAA,uBAAK,QAAO,eAAZ,EAA4B,SAAS,KAAKkB,OAA1C,EAAmD,QAAQ,KAAKI,MAAhE;AACI;AAAA;AAAA,2BAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ;AADJ,UADJ;AAWH,M;;;GApBed,gB;;sBAuBLvB,K;;;;;;;;;;;;;AC1Bf;;;;AACA;;;;;;;;;;;;gfAVA;;;;;;;;;KAYMC,K;;;;;;;;;;;;iJAEF8E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQtB,IAAR,EAAe;AACrB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDtE,Y,GAAa,UAACgC,MAAD,EAAU;AACnBqC,qBAAQC,GAAR,CAAY,QAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,aAAIiC,OAAK,CACL;AACIkE,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UADK,EAKL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UALK,EASL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UATK,EAaL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UAbK,EAiBL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UAjBK,CAAT;AAsBA,gBACI,iCAAC,kBAAD,IAAK,SAAQ,MAAb,EAAoB,MAAM8B,IAA1B,EAAgC,cAAc,KAAKV,YAAnD,EAAiE,SAAS,KAAKyC,WAA/E,EAA4F,QAAQ,KAAKH,SAAzG,GADJ;AAGH,M;;;GArCerD,gB;;sBAwCLtB,K;;;;;;;;;;;;;AC5Cf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,K;;;;;;;;;;;;iJAEF6E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQtB,IAAR,EAAe;AACrB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,aAAIiC,OAAK,CAAC;AAAA;AAAA;AAAA;AAAA,UAAD,EAAkB;AAAA;AAAA;AAAA;AAAA,UAAlB,EAAmC;AAAA;AAAA;AAAA;AAAA,UAAnC,EAAoD;AAAA;AAAA;AAAA;AAAA,UAApD,EAAqE;AAAA;AAAA;AAAA;AAAA,UAArE,CAAT;AACA,gBACG,iCAAC,kBAAD,IAAK,MAAMA,IAAX,EAAiB,SAAS,KAAK+B,WAA/B,EAA4C,QAAQ,KAAKH,SAAzD,GADH;AAGH,M;;;GAberD,gB;;sBAgBLrB,K;;;;;;;;;;;;;ACnBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,M;;;;;;;;;sBAEFY,M,qBAAS;AACL,aAAIiC,OAAK,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAT;AACA,gBACG,iCAAC,gBAAD,IAAK,MAAMA,IAAX,EAAiB,MAAK,YAAtB,GADH;AAGH,M;;;GAPgBzB,gB;;sBAUNpB,M;;;;;;;;;;;;;ACbf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMA,M;;;;;;;;;sBAEFY,M,qBAAS;AACL,aAAIoG,QAAM,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAV;AACA,aAAIC,QAAM,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,GAAb,EAAiB,GAAjB,CAAV;AACA,gBACG,iCAAC,gBAAD,IAAK,WAAU,QAAf,EAAwB,MAAMD,KAA9B,EAAqC,WAAWC,KAAhD,EAAuD,MAAK,iBAA5D,GADH;AAGH,M;;;GARgB7F,gB;;sBAWNpB,M;;;;;;;;;;;;;ACdf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMA,M;;;;;;;;;;;;iJACF4E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQ+C,OAAR,EAAkB;AACxBV,qBAAQC,GAAR,CAAY,IAAZ;AACAD,qBAAQC,GAAR,CAAYS,OAAZ;AACH,U;;;sBACDtG,M,qBAAS;AACL,aAAIoG,QAAM,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAV;AACA,aAAIC,QAAM,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,GAAb,EAAiB,GAAjB,CAAV;AACA,gBACG,iCAAC,gBAAD,IAAK,MAAMD,KAAX,EAAkB,WAAWC,KAA7B,EAAoC,MAAK,mBAAzC,EAA6D,SAAS,KAAKrC,WAA3E,EAAwF,QAAQ,KAAKH,SAArG,GADH;AAGH,M;;;GAdgBrD,gB;;sBAiBNpB,M;;;;;;;;;;;;;ACpBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;AAUA,KAAM+D,aAAanC,iBAAImC,UAAvB;;KAEM5D,M;;;;;;;;;sBACFS,M,qBAAS;AACL,aAAIuG,SAAS,CACT,EAACC,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EADS,EAET,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAFS,EAGT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAAiC,UAAQ,IAAzC,EAHS,EAIT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAJS,EAKT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EALS,EAMT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EANS,CAAb;AAQA,gBACI;AAAC,uBAAD;AAAA,eAAY,WAAU,QAAtB,EAA+B,QAAQL,MAAvC,EAA+C,MAAM,CAArD,EAAwD,WAAW,EAAnE,EAAuE,OAAO,GAA9E;AACI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cADJ;AAEI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAFJ;AAGI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAHJ;AAII;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAJJ;AAKI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cALJ;AAMI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA;AANJ,UADJ;AAUH,M;;;GApBgB/F,gB;;sBAuBNjB,M","file":"demo.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a69262e70f8103046289","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Con, Row, Col } from 'bee-layout';\r\nimport { Panel } from 'bee-panel';\r\nimport Drawer from 'bee-drawer';\r\nimport Clipboard from 'bee-clipboard'; \r\nimport Button from '../src';\r\n\r\n\r\n\r\nvar Demo1 = require(\"./demolist/Demo1\");var Demo2 = require(\"./demolist/Demo2\");var Demo3 = require(\"./demolist/Demo3\");var Demo4 = require(\"./demolist/Demo4\");var Demo5 = require(\"./demolist/Demo5\");var Demo6 = require(\"./demolist/Demo6\");var Demo7 = require(\"./demolist/Demo7\");var Demo8 = require(\"./demolist/Demo8\");var Demo9 = require(\"./demolist/Demo9\");var Demo90 = require(\"./demolist/Demo90\");var Demo91 = require(\"./demolist/Demo91\");var Demo92 = require(\"./demolist/Demo92\");var Demo93 = require(\"./demolist/Demo93\");var DemoArray = [{\"example\": ,\"title\":\" 基础拖拽\",\"code\":\"\\n/**\\n *\\n * @title 基础拖拽\\n * @description 将某个元素设置为可拖拽\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\n\\nclass Demo1 extends Component {\\n\\n onStart=()=>{\\n console.log('start');\\n }\\n onStop=()=>{\\n console.log('stop');\\n }\\n render() {\\n return (\\n \\n\\n );\\n }\\n}\\n\\n\",\"desc\":\" 将某个元素设置为可拖拽\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 单个元素沿x轴y轴拖拽\",\"code\":\"\\n/**\\n *\\n * @title 单个元素沿x轴y轴拖拽\\n * @description 设置axis=\\\"x\\\"只可以沿着x轴拖拽,同理axis=\\\"y\\\"只可以沿着y轴拖拽\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\n\\nclass Demo2 extends Component {\\n\\n onStart=()=>{\\n console.log('start');\\n }\\n onStop=()=>{\\n console.log('stop');\\n }\\n render() {\\n return (\\n \\n\\n );\\n }\\n}\\n\\n\",\"desc\":\" 设置axis=\\\"x\\\"只可以沿着x轴拖拽,同理axis=\\\"y\\\"只可以沿着y轴拖拽\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 设置元素不可拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 设置元素不可拖拽\\r\\n * @description 设置 onStart 的返回值为false,则不可以拖拽\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo3 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n return false;\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我不可以拖拽
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\",\"desc\":\" 设置 onStart 的返回值为false,则不可以拖拽\",\"scss_code\":\".demo-3{\\r\\n .demo3:hover{\\r\\n background:rgba(247,249,251,1);\\r\\n cursor: not-allowed;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 单个元素拖拽把手\",\"code\":\"/**\\r\\n *\\r\\n * @title 单个元素拖拽把手\\r\\n * @description 设置 handle,值为选择器,例如 '.handle'\\r\\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Icon } from 'tinper-bee';\\r\\n\\r\\nclass Demo4 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 需要拖拽把手\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 handle,值为选择器,例如 '.handle'\",\"scss_code\":\"\\r\\n.demo-4 .demo4 {\\r\\n position: relative;\\r\\n cursor: default;\\r\\n &:hover{\\r\\n background:rgba(247,249,251,1);\\r\\n cursor: default;\\r\\n }\\r\\n}\\r\\n\\r\\n.demo4 .handle {\\r\\n position: absolute;\\r\\n right: -1px;\\r\\n top: -1px;\\r\\n height: 32px;\\r\\n line-height: 30px;\\r\\n background:rgba(223,225,230,1);\\r\\n border-radius:0px 3px 3px 0px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(179,186,197,1);\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo4 .handle{\\r\\n background:rgba(179,186,197,1);\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 每次拖拽移动距离\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 每次拖拽移动距离\\r\\n * @description 设置 grid={[x,y]}\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo5 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我每次拖拽可移动25px
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 grid={[x,y]}\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 元素拖拽范围\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 元素拖拽范围\\r\\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\r\\n\\r\\nclass Demo6 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我只能再上下左右50px内移动
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\\r\\n.demo6{\\r\\n height: 100px;\\r\\n}\"},{\"example\": ,\"title\":\" 在指定容器中拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 在指定容器中拖拽\\r\\n * @description 设置只可以在指定容器中移动\\r\\n * bounds的也可以设置为选择器,bounds=\\\".demo8-parent\\\"意为在class=demo8-parent的容器中移动\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo7 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n
\\r\\n 我只能在父级元素中移动
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置只可以在指定容器中移动\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\\r\\n\\r\\n.demo7-parent {\\r\\n width: 300px;\\r\\n height: 200px;\\r\\n background: rgba(247,249,251,1);\\r\\n border: 1px solid rgba(235,236,240,1);\\r\\n position: relative;\\r\\n}\"},{\"example\": ,\"title\":\" 数据集合拖拽列表排序\",\"code\":\"/**\\n *\\n * @title 数据集合拖拽列表排序\\n * @description 增加list 可以为 [1,2,3]数组,\\n * 也可以为 [{},{}...],需要配置 showKey 。\\n * 也可以为 dom集合,见后边示例\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\n\\nclass Demo8 extends Component {\\n \\n onDragStart=(result,list)=>{\\n console.log('开始');\\n }\\n onDragEnd=(result,list)=>{ \\n console.log('结束');\\n }\\n onDragUpdate=(result)=>{\\n console.log('update')\\n }\\n render() {\\n let list=[\\n {\\n name:'第一',\\n code:'a'\\n },\\n {\\n name:'第二',\\n code:'b'\\n },\\n {\\n name:'第三',\\n code:'c'\\n },\\n {\\n name:'第四',\\n code:'d'\\n },\\n {\\n name:'第五',\\n code:'e'\\n },\\n ];\\n return (\\n \\n );\\n }\\n}\\n\\n\",\"desc\":\" 增加list 可以为 [1,2,3]数组,\",\"scss_code\":\"\"},{\"example\": ,\"title\":\" DOM集合拖拽列表排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title DOM集合拖拽列表排序\\r\\n * @description list传dom集合\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\r\\n\\r\\nclass Demo9 extends Component {\\r\\n\\r\\n onDragStart=(result,list)=>{\\r\\n console.log('开始');\\r\\n }\\r\\n onDragEnd=(result,list)=>{\\r\\n console.log('结束');\\r\\n }\\r\\n render() {\\r\\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" list传dom集合\"},{\"example\": ,\"title\":\" 横向拖拽列表排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 横向拖拽列表排序\\r\\n * @description type='horizontal'\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n\\r\\n render() {\\r\\n let list=['第一','第二','第三','第四','第五'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" type='horizontal'\"},{\"example\": ,\"title\":\" 两列纵向拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 两列纵向拖拽\\r\\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n\\r\\n render() {\\r\\n let list1=['第一','第二','第三','第四','第五'];\\r\\n let list2=['1','2','3','4','5'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\",\"scss_code\":\".u-drop{\\r\\n overflow: scroll;\\r\\n}\\r\\n.u-drag-between{\\r\\n height: 300px;\\r\\n}\"},{\"example\": ,\"title\":\" 两列横向拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 两列横向拖拽\\r\\n * @description 设置 type='betweenVertical'\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n onDragStart=(result,list)=>{\\r\\n console.log('开始');\\r\\n }\\r\\n onDragEnd=(result,listObj)=>{\\r\\n console.log('结束');\\r\\n console.log(listObj)\\r\\n }\\r\\n render() {\\r\\n let list1=['第一','第二','第三','第四','第五'];\\r\\n let list2=['1','2','3','4','5'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 type='betweenVertical'\",\"scss_code\":\".u-drop{\\r\\n overflow: scroll;\\r\\n}\\r\\n.u-drag-between-horizontal{\\r\\n height: 200px;\\r\\n}\"},{\"example\": ,\"title\":\" 网格排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 网格排序\\r\\n * @description \\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nconst GridLayout = Dnd.GridLayout;\\r\\n\\r\\nclass Demo93 extends Component {\\r\\n render() {\\r\\n let layout = [\\r\\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\\r\\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\\r\\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\\r\\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\\r\\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\\r\\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\\r\\n ];\\r\\n return (\\r\\n \\r\\n a
\\r\\n b
\\r\\n static
\\r\\n d
\\r\\n e
\\r\\n f
\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" \",\"scss_code\":\".layout{\\r\\n background: #f7f9fb;\\r\\n border: 1px solid #ebecf0;\\r\\n padding: 12px;\\r\\n color: #212121;\\r\\n div{\\r\\n margin: 4px;\\r\\n background: white;\\r\\n border-radius: 3px;\\r\\n border: 1px solid #a5adba;\\r\\n padding: 6px 0;\\r\\n font-size: 12px;\\r\\n text-align: center;\\r\\n }\\r\\n}\"}]\n\r\n\r\nclass Demo extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n open: false\r\n }\r\n }\r\n handleClick=()=> {\r\n this.setState({ open: !this.state.open })\r\n }\r\n fCloseDrawer=()=>{\r\n this.setState({\r\n open: false\r\n })\r\n }\r\n\r\n render () {\r\n const { title, example, code, desc, scss_code } = this.props;\r\n\r\n const header = (\r\n \r\n
{ title }
\r\n
{ desc }
\r\n
查看源码 \r\n
\r\n );\r\n return (\r\n \r\n \r\n {example}\r\n \r\n \r\n \r\n JS代码 \r\n \r\n
\r\n \r\n { code }
\r\n \r\n {!!scss_code ? SCSS代码 \r\n \r\n
:null }\r\n { !!scss_code ? \r\n { scss_code }
\r\n : null }\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nclass DemoGroup extends Component {\r\n constructor(props){\r\n super(props)\r\n }\r\n render () {\r\n return (\r\n \r\n {DemoArray.map((child,index) => {\r\n\r\n return (\r\n \r\n )\r\n\r\n })}\r\n
\r\n )\r\n }\r\n}\r\n\r\nReactDOM.render( , document.getElementById('tinperBeeDemo'));\r\n\n\n\n// WEBPACK FOOTER //\n// ./demo/index.js","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 2\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Con = exports.Row = exports.Col = undefined;\n\nvar _Col2 = require('./Col');\n\nvar _Col3 = _interopRequireDefault(_Col2);\n\nvar _Row2 = require('./Row');\n\nvar _Row3 = _interopRequireDefault(_Row2);\n\nvar _Layout = require('./Layout');\n\nvar _Layout2 = _interopRequireDefault(_Layout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Col = _Col3[\"default\"];\nexports.Row = _Row3[\"default\"];\nexports.Con = _Layout2[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/index.js\n// module id = 3\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n\n /**\n * xs显示列数\n */\n xs: _propTypes2[\"default\"].number,\n /**\n * sm显示列数\n */\n sm: _propTypes2[\"default\"].number,\n /**\n * md显示列数\n */\n md: _propTypes2[\"default\"].number,\n /**\n * lg显示列数\n */\n lg: _propTypes2[\"default\"].number,\n /**\n * xs偏移列数\n */\n xsOffset: _propTypes2[\"default\"].number,\n /**\n * sm偏移列数\n */\n smOffset: _propTypes2[\"default\"].number,\n /**\n * md偏移列数\n */\n mdOffset: _propTypes2[\"default\"].number,\n /**\n * lg偏移列数\n */\n lgOffset: _propTypes2[\"default\"].number,\n /**\n * xs右偏移列数\n */\n xsPush: _propTypes2[\"default\"].number,\n /**\n * sm右偏移列数\n */\n smPush: _propTypes2[\"default\"].number,\n /**\n * md右偏移列数\n */\n mdPush: _propTypes2[\"default\"].number,\n /**\n * lg右偏移列数\n */\n lgPush: _propTypes2[\"default\"].number,\n /**\n * xs左偏移列数\n */\n xsPull: _propTypes2[\"default\"].number,\n /**\n * sm左偏移列数\n */\n smPull: _propTypes2[\"default\"].number,\n /**\n * md左偏移列数\n */\n mdPull: _propTypes2[\"default\"].number,\n /**\n * lg左偏移列数\n */\n lgPull: _propTypes2[\"default\"].number\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-col'\n};\n\nvar DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\n\nvar Col = function (_Component) {\n _inherits(Col, _Component);\n\n function Col() {\n _classCallCheck(this, Col);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Col.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);\n\n var tbClass = [];\n /**\n * 对传入props做样式转化\n * @type {[type]}\n */\n DEVICE_SIZES.forEach(function (size) {\n function popProp(propSuffix, modifier) {\n var propName = '' + size + propSuffix;\n var propValue = others[propName];\n\n if (propValue != undefined && propValue != null) {\n tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);\n }\n\n delete others[propName];\n }\n\n popProp('', '');\n popProp('Offset', '-offset');\n popProp('Push', '-push');\n popProp('Pull', '-pull');\n });\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({\n className: (0, _classnames2[\"default\"])(tbClass, className)\n }, others),\n this.props.children\n );\n };\n\n return Col;\n}(_react.Component);\n\nCol.defaultProps = defaultProps;\nCol.propTypes = propTypes;\n\nexports[\"default\"] = Col;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Col.js\n// module id = 4\n// module chunks = 0","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/classnames/index.js\n// module id = 5\n// module chunks = 0","module.exports = PropTypes;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"PropTypes\"\n// module id = 6\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-row'\n};\n\nvar Row = function (_Component) {\n _inherits(Row, _Component);\n\n function Row() {\n _classCallCheck(this, Row);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Row.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var bsclass = '' + clsPrefix;\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(bsclass, className)\n }),\n this.props.children\n );\n };\n\n return Row;\n}(_react.Component);\n\nRow.propTypes = propTypes;\nRow.defaultProps = defaultProps;\n\nexports[\"default\"] = Row;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Row.js\n// module id = 7\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Adds `container-fluid` class.\n */\n fluid: _propTypes2[\"default\"].bool,\n /**\n * You can use a custom element for this component\n */\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n fluid: false,\n clsPrefix: 'u-container'\n};\n\nvar Con = function (_React$Component) {\n _inherits(Con, _React$Component);\n\n function Con() {\n _classCallCheck(this, Con);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Con.prototype.render = function render() {\n var _tbclass;\n\n var _props = this.props,\n fluid = _props.fluid,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);\n\n var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(tbclass, className)\n }),\n this.props.children\n );\n };\n\n return Con;\n}(_react2[\"default\"].Component);\n\nCon.propTypes = propTypes;\nCon.defaultProps = defaultProps;\n\nexports[\"default\"] = Con;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Layout.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PanelGroup = exports.Panel = undefined;\n\nvar _Panel2 = require('./Panel');\n\nvar _Panel3 = _interopRequireDefault(_Panel2);\n\nvar _PanelGroup2 = require('./PanelGroup');\n\nvar _PanelGroup3 = _interopRequireDefault(_PanelGroup2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Panel = _Panel3[\"default\"];\nexports.PanelGroup = _PanelGroup3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/index.js\n// module id = 9\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeTransition = require('bee-transition');\n\nvar _beeMessage = require('bee-message');\n\nvar _beeMessage2 = _interopRequireDefault(_beeMessage);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _copyToClipboard = require('copy-to-clipboard');\n\nvar _copyToClipboard2 = _interopRequireDefault(_copyToClipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否添加折叠\n collapsible: _propTypes2[\"default\"].bool,\n onSelect: _propTypes2[\"default\"].func,\n //头部组件\n header: _propTypes2[\"default\"].node,\n headerStyle: _propTypes2[\"default\"].object,\n id: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n headerContent: _propTypes2[\"default\"].bool,\n //footer组件\n footer: _propTypes2[\"default\"].node,\n footerStyle: _propTypes2[\"default\"].object,\n //默认是否打开\n defaultExpanded: _propTypes2[\"default\"].bool,\n //是否打开\n expanded: _propTypes2[\"default\"].bool,\n //每个panel的标记\n eventKey: _propTypes2[\"default\"].any,\n headerRole: _propTypes2[\"default\"].string,\n panelRole: _propTypes2[\"default\"].string,\n //颜色\n colors: _propTypes2[\"default\"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),\n\n // From Collapse.的扩展动画\n onEnter: _propTypes2[\"default\"].func,\n onEntering: _propTypes2[\"default\"].func,\n onEntered: _propTypes2[\"default\"].func,\n onExit: _propTypes2[\"default\"].func,\n onExiting: _propTypes2[\"default\"].func,\n onExited: _propTypes2[\"default\"].func,\n //是否可复制内容\n copyable: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n defaultExpanded: false,\n clsPrefix: \"u-panel\",\n colors: \"default\"\n};\n\nvar Panel = function (_React$Component) {\n _inherits(Panel, _React$Component);\n\n function Panel(props, context) {\n _classCallCheck(this, Panel);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleClickTitle = _this.handleClickTitle.bind(_this);\n\n _this.state = {\n expanded: _this.props.defaultExpanded\n };\n return _this;\n }\n\n //头部点击事件\n\n\n Panel.prototype.handleClickTitle = function handleClickTitle(e) {\n // 不让事件进入事件池\n e.persist();\n e.selected = true;\n\n if (this.props.onSelect) {\n this.props.onSelect(this.props.eventKey, e);\n } else {\n e.preventDefault();\n }\n\n if (e.selected) {\n this.setState({ expanded: !this.state.expanded });\n }\n };\n\n //渲染panelheader\n\n\n Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {\n var titleClassName = clsPrefix + '-title';\n\n if (!collapsible) {\n if (!_react2[\"default\"].isValidElement(header)) {\n return header;\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n if (!_react2[\"default\"].isValidElement(header)) {\n return _react2[\"default\"].createElement(\n 'h4',\n { role: 'presentation', className: titleClassName },\n this.renderAnchor(header, id, role, expanded)\n );\n }\n if (this.props.headerContent) {\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName),\n children: this.renderAnchor(header.props.children, id, role, expanded)\n });\n };\n\n //如果使用链接,渲染为a标签\n\n\n Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {\n return _react2[\"default\"].createElement(\n 'a',\n {\n role: role,\n href: id && '#' + id,\n 'aria-controls': id,\n 'aria-expanded': expanded,\n 'aria-selected': expanded,\n className: expanded ? null : 'collapsed'\n },\n header\n );\n };\n\n //复制代码,弹出提示信息\n\n\n Panel.prototype.copyDemo = function copyDemo(e) {\n var panelTarget = e.target.parentNode;\n var clipBoardContent = panelTarget.firstChild.innerText;\n (0, _copyToClipboard2[\"default\"])(clipBoardContent);\n _beeMessage2[\"default\"].create({ content: '复制成功!', color: 'success', duration: 2 });\n };\n\n //如果有折叠动画,渲染折叠动画\n\n\n Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, copyable, animationHooks) {\n return _react2[\"default\"].createElement(\n _beeTransition.Collapse,\n _extends({ 'in': expanded }, animationHooks),\n _react2[\"default\"].createElement(\n 'div',\n {\n id: id,\n role: role,\n className: clsPrefix + '-collapse',\n 'aria-hidden': !expanded\n },\n this.renderBody(children, clsPrefix, copyable)\n )\n );\n };\n\n //渲染panelbody\n\n\n Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix, copyable) {\n var self = this;\n var children = [];\n var bodyChildren = [];\n\n var bodyClassName = clsPrefix + '-body';\n //添加到body的children中\n function maybeAddBody(self) {\n if (!bodyChildren.length) {\n return;\n }\n // 给子组件添加key,为了之后触发事件时使用\n children.push(_react2[\"default\"].createElement(\n 'div',\n { key: children.length, className: bodyClassName },\n bodyChildren,\n copyable && _react2[\"default\"].createElement('i', { className: 'uf uf-files-o', onClick: self.copyDemo })\n ));\n bodyChildren = [];\n }\n\n //转换为数组,方便复用\n _react2[\"default\"].Children.toArray(rawChildren).forEach(function (child) {\n if (_react2[\"default\"].isValidElement(child) && child.props.fill) {\n maybeAddBody(self);\n\n //将标示fill设置为undefined\n children.push((0, _react.cloneElement)(child, { fill: undefined }));\n\n return;\n }\n bodyChildren.push(child);\n });\n\n maybeAddBody(self);\n\n return children;\n };\n\n Panel.prototype.render = function render() {\n var _props = this.props,\n collapsible = _props.collapsible,\n header = _props.header,\n id = _props.id,\n footer = _props.footer,\n propsExpanded = _props.expanded,\n footerStyle = _props.footerStyle,\n headerStyle = _props.headerStyle,\n headerRole = _props.headerRole,\n panelRole = _props.panelRole,\n className = _props.className,\n colors = _props.colors,\n children = _props.children,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n clsPrefix = _props.clsPrefix,\n onExit = _props.onExit,\n headerContent = _props.headerContent,\n onExiting = _props.onExiting,\n onExited = _props.onExited,\n defaultExpanded = _props.defaultExpanded,\n eventKey = _props.eventKey,\n onSelect = _props.onSelect,\n copyable = _props.copyable,\n props = _objectWithoutProperties(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'footerStyle', 'headerStyle', 'headerRole', 'panelRole', 'className', 'colors', 'children', 'onEnter', 'onEntering', 'onEntered', 'clsPrefix', 'onExit', 'headerContent', 'onExiting', 'onExited', 'defaultExpanded', 'eventKey', 'onSelect', 'copyable']);\n\n var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;\n\n var classes = {};\n classes['' + clsPrefix] = true;\n classes[clsPrefix + '-' + colors] = true;\n\n var headerClass = _defineProperty({}, clsPrefix + '-heading', true);\n\n copyable === false ? false : true;\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes),\n id: collapsible ? null : id\n }),\n header && _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },\n this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)\n ),\n collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, copyable, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix, copyable),\n footer && _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-footer', style: footerStyle },\n footer\n )\n );\n };\n\n return Panel;\n}(_react2[\"default\"].Component);\n\nPanel.propTypes = propTypes;\nPanel.defaultProps = defaultProps;\n\nexports[\"default\"] = Panel;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/Panel.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Fade = exports.Collapse = exports.Transition = undefined;\n\nvar _Transition2 = require('./Transition');\n\nvar _Transition3 = _interopRequireDefault(_Transition2);\n\nvar _Collapse2 = require('./Collapse');\n\nvar _Collapse3 = _interopRequireDefault(_Collapse2);\n\nvar _Fade2 = require('./Fade');\n\nvar _Fade3 = _interopRequireDefault(_Fade2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Transition = _Transition3[\"default\"];\nexports.Collapse = _Collapse3[\"default\"];\nexports.Fade = _Fade3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/index.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar transitionEndEvent = _properties2[\"default\"].end;\n\n//设置状态码\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\nvar propTypes = {\n /**\n * 是否触发动画\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * 不显示的时候是否移除组件\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * 如果设置为默认显示,挂载时显示动画\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * 设置超时时间,防止出现问题,可设置为>=动画时间\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * 退出组件时添加的class\n */\n exitedClassName: _propTypes2[\"default\"].string,\n /**\n * 退出组件中添加的class\n */\n exitingClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画后添加的class\n */\n enteredClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画时添加的class\n */\n enteringClassName: _propTypes2[\"default\"].string,\n\n /**\n * 进入动画开始时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * 进入动画中的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * 进入动画后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * 退出动画开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * 退出动画中的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * 退出动画后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n \"in\": false,\n unmountOnExit: false,\n transitionAppear: false,\n timeout: 5000,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\n/**\n * 动画组件\n */\n\nvar Transition = function (_Component) {\n _inherits(Transition, _Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n var initialStatus = void 0;\n if (props[\"in\"]) {\n // 在componentdidmount时开始执行动画\n initialStatus = props.transitionAppear ? EXITED : ENTERED;\n } else {\n initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;\n }\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n if (this.props.transitionAppear && this.props[\"in\"]) {\n this.performEnter(this.props);\n }\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps[\"in\"] && this.props.unmountOnExit) {\n if (this.state.status === UNMOUNTED) {\n // 在componentDidUpdate执行动画.\n this.setState({ status: EXITED });\n }\n } else {\n this._needsUpdate = true;\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n var status = this.state.status;\n\n if (this.props.unmountOnExit && status === EXITED) {\n // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态\n if (this.props[\"in\"]) {\n this.performEnter(this.props);\n } else {\n this.setState({ status: UNMOUNTED });\n }\n\n return;\n }\n\n // 确保只响应prop变化\n if (this._needsUpdate) {\n this._needsUpdate = false;\n\n if (this.props[\"in\"]) {\n if (status === EXITING) {\n this.performEnter(this.props);\n } else if (status === EXITED) {\n this.performEnter(this.props);\n }\n // 其他,当我们已经输入或输出\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.performExit(this.props);\n }\n // 我们已经输入或输出完成\n }\n }\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.performEnter = function performEnter(props) {\n var _this2 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n // 这里接收新props\n props.onEnter(node);\n\n this.safeSetState({ status: ENTERING }, function () {\n _this2.props.onEntering(node);\n\n _this2.onTransitionEnd(node, function () {\n _this2.safeSetState({ status: ENTERED }, function () {\n _this2.props.onEntered(node);\n });\n });\n });\n };\n\n Transition.prototype.performExit = function performExit(props) {\n var _this3 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n props.onExit(node);\n\n this.safeSetState({ status: EXITING }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, function () {\n _this3.safeSetState({ status: EXITED }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n Transition.prototype.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n Transition.prototype.safeSetState = function safeSetState(nextState, callback) {\n // 确保在组件销毁后挂起的setState被消除\n this.setState(nextState, this.setNextCallback(callback));\n };\n\n Transition.prototype.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {\n this.setNextCallback(handler);\n\n if (node) {\n if (transitionEndEvent == undefined) {\n this.nextCallback();\n } else {\n (0, _on2[\"default\"])(node, transitionEndEvent, this.nextCallback);\n }\n setTimeout(this.nextCallback, this.props.timeout);\n } else {\n setTimeout(this.nextCallback, 0);\n }\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2[\"default\"].Children.only(children);\n return _react2[\"default\"].cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2[\"default\"])(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react.Component);\n\nTransition.propTypes = propTypes;\n\nTransition.defaultProps = defaultProps;\n\nexports[\"default\"] = Transition;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Transition.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/properties.js\n// module id = 13\n// module chunks = 0","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/interopRequireDefault.js\n// module id = 14\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/inDOM.js\n// module id = 15\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar on = function on() {};\n\nif (_inDOM.default) {\n on = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nvar _default = on;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/on.js\n// module id = 16\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nvar _capitalize = require('./util/capitalize');\n\nvar _capitalize2 = _interopRequireDefault(_capitalize);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\n// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nfunction triggerBrowserReflow(node) {\n node.offsetHeight; // eslint-disable-line no-unused-expressions\n}\n\nfunction getDimensionValue(dimension, elem) {\n var value = elem['offset' + (0, _capitalize2[\"default\"])(dimension)];\n var margins = MARGINS[dimension];\n\n return value + parseInt((0, _style2[\"default\"])(elem, margins[0]), 10) + parseInt((0, _style2[\"default\"])(elem, margins[1]), 10);\n}\n\nvar propTypes = {\n /**\n * Show the component; triggers the expand or collapse animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is collapsed\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the expand animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the collapse animation in milliseconds, to ensure that\n * finishing callbacks are fired even if the original browser transition end\n * events are canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component expands\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to expand\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has expanded\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component collapses\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to collapse\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has collapsed\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * The dimension used when collapsing, or a function that returns the\n * dimension\n *\n * _Note: Bootstrap only partially supports 'width'!\n * You will need to supply your own CSS animation for the `.width` CSS class._\n */\n dimension: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].oneOf(['height', 'width']), _propTypes2[\"default\"].func]),\n\n /**\n * Function that returns the height or width of the animating DOM node\n *\n * Allows for providing some custom logic for how much the Collapse component\n * should animate in its specified dimension. Called with the current\n * dimension prop value and the DOM node.\n */\n getDimensionValue: _propTypes2[\"default\"].func,\n\n /**\n * ARIA role of collapsible element\n */\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false,\n\n dimension: 'height',\n getDimensionValue: getDimensionValue\n};\n\nvar Collapse = function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n function Collapse(props, context) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleEnter = _this.handleEnter.bind(_this);\n _this.handleEntering = _this.handleEntering.bind(_this);\n _this.handleEntered = _this.handleEntered.bind(_this);\n _this.handleExit = _this.handleExit.bind(_this);\n _this.handleExiting = _this.handleExiting.bind(_this);\n return _this;\n }\n\n /* -- Expanding -- */\n\n\n Collapse.prototype.handleEnter = function handleEnter(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype.handleEntering = function handleEntering(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);\n };\n\n Collapse.prototype.handleEntered = function handleEntered(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = null;\n };\n\n /* -- Collapsing -- */\n\n\n Collapse.prototype.handleExit = function handleExit(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';\n triggerBrowserReflow(elem);\n };\n\n Collapse.prototype.handleExiting = function handleExiting(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype._dimension = function _dimension() {\n return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;\n };\n\n // for testing\n\n\n Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {\n return elem['scroll' + (0, _capitalize2[\"default\"])(dimension)] + 'px';\n };\n\n Collapse.prototype.render = function render() {\n var _props = this.props,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n onExit = _props.onExit,\n onExiting = _props.onExiting,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);\n\n delete props.dimension;\n delete props.getDimensionValue;\n\n var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);\n var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);\n var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);\n var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);\n var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);\n\n var classes = {\n width: this._dimension() === 'width'\n };\n\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, props, {\n 'aria-expanded': props.role ? props[\"in\"] : null,\n className: (0, _classnames2[\"default\"])(className, classes),\n exitedClassName: 'collapse',\n exitingClassName: 'collapsing',\n enteredClassName: 'collapse in',\n enteringClassName: 'collapsing',\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }));\n };\n\n return Collapse;\n}(_react2[\"default\"].Component);\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\n\nexports[\"default\"] = Collapse;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Collapse.js\n// module id = 17\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar _hyphenateStyle = _interopRequireDefault(require(\"../util/hyphenateStyle\"));\n\nvar _getComputedStyle2 = _interopRequireDefault(require(\"./getComputedStyle\"));\n\nvar _removeStyle = _interopRequireDefault(require(\"./removeStyle\"));\n\nvar _properties = require(\"../transition/properties\");\n\nvar _isTransform = _interopRequireDefault(require(\"../transition/isTransform\"));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/index.js\n// module id = 18\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = camelizeStyleName;\n\nvar _camelize = _interopRequireDefault(require(\"./camelize\"));\n\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nvar msPattern = /^-ms-/;\n\nfunction camelizeStyleName(string) {\n return (0, _camelize.default)(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelizeStyle.js\n// module id = 19\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelize.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(require(\"./hyphenate\"));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenateStyle.js\n// module id = 21\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenate.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/getComputedStyle.js\n// module id = 23\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/removeStyle.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/isTransform.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = capitalize;\nfunction capitalize(string) {\n return \"\" + string.charAt(0).toUpperCase() + string.slice(1);\n}\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/util/capitalize.js\n// module id = 26\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;\n\nvar _all2 = require('./all');\n\nvar _all3 = _interopRequireDefault(_all2);\n\nvar _componentOrElement2 = require('./componentOrElement');\n\nvar _componentOrElement3 = _interopRequireDefault(_componentOrElement2);\n\nvar _deprecated2 = require('./deprecated');\n\nvar _deprecated3 = _interopRequireDefault(_deprecated2);\n\nvar _elementType2 = require('./elementType');\n\nvar _elementType3 = _interopRequireDefault(_elementType2);\n\nvar _isRequiredForA11y2 = require('./isRequiredForA11y');\n\nvar _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);\n\nvar _splitComponent2 = require('./splitComponent');\n\nvar _splitComponent3 = _interopRequireDefault(_splitComponent2);\n\nvar _createChainedFunction2 = require('./createChainedFunction');\n\nvar _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);\n\nvar _keyCode = require('./keyCode');\n\nvar _keyCode2 = _interopRequireDefault(_keyCode);\n\nvar _contains2 = require('./contains');\n\nvar _contains3 = _interopRequireDefault(_contains2);\n\nvar _addEventListener2 = require('./addEventListener');\n\nvar _addEventListener3 = _interopRequireDefault(_addEventListener2);\n\nvar _cssAnimation2 = require('./cssAnimation');\n\nvar _cssAnimation3 = _interopRequireDefault(_cssAnimation2);\n\nvar _toArray2 = require('./toArray');\n\nvar _toArray3 = _interopRequireDefault(_toArray2);\n\nvar _Align2 = require('./Align');\n\nvar _Align3 = _interopRequireDefault(_Align2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.all = _all3.default;\nexports.componentOrElement = _componentOrElement3.default;\nexports.deprecated = _deprecated3.default;\nexports.elementType = _elementType3.default;\nexports.isRequiredForA11y = _isRequiredForA11y3.default;\nexports.splitComponent = _splitComponent3.default;\nexports.createChainedFunction = _createChainedFunction3.default;\nexports.KeyCode = _keyCode2.default;\nexports.contains = _contains3.default;\nexports.addEventListener = _addEventListener3.default;\nexports.cssAnimation = _cssAnimation3.default;\nexports.toArray = _toArray3.default;\n//export getContainerRenderMixin from './getContainerRenderMixin';\n\nexports.Align = _Align3.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/index.js\n// module id = 27\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/all.js\n// module id = 28\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js\n// module id = 29\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\n }\n\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/componentOrElement.js\n// module id = 30\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = deprecated;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar warned = {};\n\nfunction deprecated(validator, reason) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] != null) {\n var messageKey = componentName + '.' + propName;\n\n (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));\n\n warned[messageKey] = true;\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\n\n/* eslint-disable no-underscore-dangle */\nfunction _resetWarned() {\n warned = {};\n}\n\ndeprecated._resetWarned = _resetWarned;\n/* eslint-enable no-underscore-dangle */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/deprecated.js\n// module id = 31\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/warning/browser.js\n// module id = 32\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Users/Administrator/AppData/Roaming/npm/~/bee-tools/~/process/browser.js\n// module id = 33\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction elementType(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\n }\n\n if (propType !== 'function' && propType !== 'string') {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/elementType.js\n// module id = 34\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = isRequiredForA11y;\nfunction isRequiredForA11y(validator) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/isRequiredForA11y.js\n// module id = 35\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = splitComponentProps;\nfunction _objectEntries(obj) {\n var entries = [];\n var keys = Object.keys(obj);\n\n for (var k = 0; k < keys.length; ++k) {\n entries.push([keys[k], obj[keys[k]]]);\n }return entries;\n}\n\n/**\n * 分割要传入父元素和子元素的props\n * @param {[object]} props 传入的属性\n * @param {[reactElement]} Component 组件\n * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象\n */\nfunction splitComponentProps(props, Component) {\n var componentPropTypes = Component.propTypes;\n\n var parentProps = {};\n var childProps = {};\n\n _objectEntries(props).forEach(function (_ref) {\n var propName = _ref[0],\n propValue = _ref[1];\n\n if (componentPropTypes[propName]) {\n parentProps[propName] = propValue;\n } else {\n childProps[propName] = propValue;\n }\n });\n\n return [parentProps, childProps];\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/splitComponent.js\n// module id = 36\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\nexports.default = createChainedFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/createChainedFunction.js\n// module id = 37\n// module chunks = 0","'use strict';\n\n/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nmodule.exports = KeyCode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/keyCode.js\n// module id = 38\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = contains;\nfunction contains(root, n) {\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/contains.js\n// module id = 39\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = addEventListenerWrap;\n\nvar _addDomEventListener = require('add-dom-event-listener');\n\nvar _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction addEventListenerWrap(target, eventType, cb) {\n /* eslint camelcase: 2 */\n var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {\n _reactDom2.default.unstable_batchedUpdates(cb, e);\n } : cb;\n return (0, _addDomEventListener2.default)(target, eventType, callback);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/addEventListener.js\n// module id = 40\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/index.js\n// module id = 41\n// module chunks = 0","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventObject.js\n// module id = 42\n// module chunks = 0","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventBaseObject.js\n// module id = 43\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-assign/index.js\n// module id = 44\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _Event = require('./Event');\n\nvar _Event2 = _interopRequireDefault(_Event);\n\nvar _componentClasses = require('component-classes');\n\nvar _componentClasses2 = _interopRequireDefault(_componentClasses);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isCssAnimationSupported = _Event2.default.endEvents.length !== 0;\n\n\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\n// ms is special .... !\n'ms'];\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n var style = window.getComputedStyle(node);\n\n var ret = '';\n for (var i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n if (ret) {\n break;\n }\n }\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(function () {\n node.rcEndAnimTimeout = null;\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n var className = nameIsObj ? transitionName.name : transitionName;\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\n var end = endCallback;\n var start = void 0;\n var active = void 0;\n var nodeClasses = (0, _componentClasses2.default)(node);\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n nodeClasses.remove(className);\n nodeClasses.remove(activeClassName);\n\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (end) {\n end();\n }\n };\n\n _Event2.default.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n nodeClasses.add(className);\n\n node.rcAnimTimeout = setTimeout(function () {\n node.rcAnimTimeout = null;\n nodeClasses.add(activeClassName);\n if (active) {\n setTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop: function stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }\n };\n};\n\ncssAnimation.style = function (node, style, callback) {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (callback) {\n callback();\n }\n };\n\n _Event2.default.addEndEventListener(node, node.rcEndListener);\n\n node.rcAnimTimeout = setTimeout(function () {\n for (var s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = function (node, p, value) {\n var property = p;\n var v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(function (prefix) {\n node.style[prefix + 'Transition' + property] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexports.default = cssAnimation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/cssAnimation.js\n// module id = 45\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nvar EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd'\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd'\n }\n};\n\nvar endEvents = [];\n\nfunction detectEvents() {\n var testEl = document.createElement('div');\n var style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete EVENT_NAME_MAP.transitionend.transition;\n }\n\n for (var baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n var baseEvents = EVENT_NAME_MAP[baseEventName];\n for (var styleName in baseEvents) {\n if (styleName in style) {\n endEvents.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nvar TransitionEvents = {\n addEndEventListener: function addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(function (endEvent) {\n addEventListener(node, endEvent, eventListener);\n });\n },\n\n\n endEvents: endEvents,\n\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(function (endEvent) {\n removeEventListener(node, endEvent, eventListener);\n });\n }\n};\n\nexports.default = TransitionEvents;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Event.js\n// module id = 46\n// module chunks = 0","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-classes/index.js\n// module id = 47\n// module chunks = 0","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-indexof/index.js\n// module id = 48\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports.default = toArray;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction toArray(children) {\n var ret = [];\n _react2.default.Children.forEach(children, function (c) {\n ret.push(c);\n });\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/toArray.js\n// module id = 49\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _domAlign = require('dom-align');\n\nvar _domAlign2 = _interopRequireDefault(_domAlign);\n\nvar _addEventListener = require('./addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\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 isWindow from './isWindow';\n\nfunction isWindow(obj) {\n /* eslint no-eq-null: 0 */\n /* eslint eqeqeq: 0 */\n return obj != null && obj == obj.window;\n}\n\nfunction buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nvar propTypes = {\n childrenProps: _propTypes2.default.object,\n align: _propTypes2.default.object.isRequired,\n target: _propTypes2.default.func,\n onAlign: _propTypes2.default.func,\n monitorBufferTime: _propTypes2.default.number,\n monitorWindowResize: _propTypes2.default.bool,\n disabled: _propTypes2.default.bool,\n children: _propTypes2.default.any\n};\n\nvar defaultProps = {\n target: function target() {\n return window;\n },\n onAlign: function onAlign() {},\n\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\nvar Align = function (_React$Component) {\n _inherits(Align, _React$Component);\n\n function Align(props) {\n _classCallCheck(this, Align);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n return _this;\n }\n\n Align.prototype.componentDidMount = function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n };\n\n Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n if (prevProps.disabled || prevProps.align !== props.align) {\n reAlign = true;\n } else {\n var lastTarget = prevProps.target();\n var currentTarget = props.target();\n if (isWindow(lastTarget) && isWindow(currentTarget)) {\n reAlign = false;\n } else if (lastTarget !== currentTarget) {\n reAlign = true;\n }\n }\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n };\n\n Align.prototype.componentWillUnmount = function componentWillUnmount() {\n this.stopMonitorWindowResize();\n };\n\n Align.prototype.render = function render() {\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = _react2.default.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n for (var prop in childrenProps) {\n if (childrenProps.hasOwnProperty(prop)) {\n newProps[prop] = this.props[childrenProps[prop]];\n }\n }\n return _react2.default.cloneElement(child, newProps);\n }\n return child;\n };\n\n return Align;\n}(_react2.default.Component);\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.startMonitorWindowResize = function () {\n if (!_this2.resizeHandler) {\n _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);\n _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);\n }\n };\n\n this.stopMonitorWindowResize = function () {\n if (_this2.resizeHandler) {\n _this2.bufferMonitor.clear();\n _this2.resizeHandler.remove();\n _this2.resizeHandler = null;\n }\n };\n\n this.forceAlign = function () {\n var props = _this2.props;\n if (!props.disabled) {\n var source = _reactDom2.default.findDOMNode(_this2);\n props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));\n }\n };\n};\n\n;\n\nAlign.defaultProps = defaultProps;\nAlign.propTypes = propTypes;\n\nexports.default = Align;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Align.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alignPoint = exports.alignElement = undefined;\n\nvar _alignElement = require('./align/alignElement');\n\nvar _alignElement2 = _interopRequireDefault(_alignElement);\n\nvar _alignPoint = require('./align/alignPoint');\n\nvar _alignPoint2 = _interopRequireDefault(_alignPoint);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports.alignElement = _alignElement2['default'];\nexports.alignPoint = _alignPoint2['default'];\nexports['default'] = _alignElement2['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/index.js\n// module id = 51\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nvar _getOffsetParent = require('../getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = (0, _getVisibleRectForElement2['default'])(target);\n var targetRegion = (0, _getRegion2['default'])(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = (0, _getRegion2['default'])(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = _getOffsetParent2['default'];\n\nalignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];\n\nexports['default'] = alignElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignElement.js\n// module id = 52\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _adjustForViewport = require('../adjustForViewport');\n\nvar _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nvar _getElFuturePos = require('../getElFuturePos');\n\nvar _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n} /**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n _utils2['default'].each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n = void 0;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n // 当前节点可以被放置的显示区域\n var visibleRect = (0, _getVisibleRectForElement2['default'])(source);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = (0, _getRegion2['default'])(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/ig, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/ig, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n _utils2['default'].mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n points = align.points;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n _utils2['default'].offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n\nexports['default'] = doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/align.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _propertyUtils = require('./propertyUtils');\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nvar getComputedStyleX = void 0;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box = void 0;\n var x = void 0;\n var y = void 0;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';\n (0, _propertyUtils.setTransitionProperty)(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = presetH + 'px';\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = presetV + 'px';\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = (0, _propertyUtils.getTransformXY)(elem);\n var resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n (0, _propertyUtils.setTransformXY)(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = void 0;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = void 0;\n var j = void 0;\n var i = void 0;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = '' + prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val = void 0;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i = void 0;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n for (var i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n\nexports['default'] = utils;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/utils.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransformName = getTransformName;\nexports.setTransitionProperty = setTransitionProperty;\nexports.getTransitionProperty = getTransitionProperty;\nexports.getTransformXY = getTransformXY;\nexports.setTransformXY = setTransformXY;\nvar vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/propertyUtils.js\n// module id = 55\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getOffsetParent = require('./getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _isAncestorFixed = require('./isAncestorFixed');\n\nvar _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = (0, _getOffsetParent2['default'])(element);\n var doc = _utils2['default'].getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {\n var pos = _utils2['default'].offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = (0, _getOffsetParent2['default'])(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = _utils2['default'].css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if ((0, _isAncestorFixed2['default'])(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nexports['default'] = getVisibleRectForElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getVisibleRectForElement.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nfunction getOffsetParent(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n \n
\n 元素 6 高 100px 宽 50px \n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = void 0;\n var positionStyle = _utils2['default'].css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;\n }\n\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexports['default'] = getOffsetParent;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getOffsetParent.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isAncestorFixed;\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isAncestorFixed(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/isAncestorFixed.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = _utils2['default'].clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return _utils2['default'].mix(pos, size);\n}\n\nexports['default'] = adjustForViewport;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/adjustForViewport.js\n// module id = 59\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getRegion(node) {\n var offset = void 0;\n var w = void 0;\n var h = void 0;\n if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {\n offset = _utils2['default'].offset(node);\n w = _utils2['default'].outerWidth(node);\n h = _utils2['default'].outerHeight(node);\n } else {\n var win = _utils2['default'].getWindow(node);\n offset = {\n left: _utils2['default'].getWindowScrollLeft(win),\n top: _utils2['default'].getWindowScrollTop(win)\n };\n w = _utils2['default'].viewportWidth(win);\n h = _utils2['default'].viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexports['default'] = getRegion;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getRegion.js\n// module id = 60\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getAlignOffset = require('./getAlignOffset');\n\nvar _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);\n var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexports['default'] = getElFuturePos;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getElFuturePos.js\n// module id = 61\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexports['default'] = getAlignOffset;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getAlignOffset.js\n// module id = 62\n// module chunks = 0","'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 _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = _utils2['default'].getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexports['default'] = alignPoint;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignPoint.js\n// module id = 63\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the has component faded in\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component fades out\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has faded out\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false\n};\n\nvar Fade = function (_React$Component) {\n _inherits(Fade, _React$Component);\n\n function Fade() {\n _classCallCheck(this, Fade);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Fade.prototype.render = function render() {\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, this.props, {\n className: (0, _classnames2[\"default\"])(this.props.className, 'fade'),\n enteredClassName: 'in',\n enteringClassName: 'in'\n }));\n };\n\n return Fade;\n}(_react2[\"default\"].Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports[\"default\"] = Fade;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Fade.js\n// module id = 64\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Message = require('./Message');\n\nvar _Message2 = _interopRequireDefault(_Message);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Message2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/index.js\n// module id = 65\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeNotification = require('bee-notification');\n\nvar _beeNotification2 = _interopRequireDefault(_beeNotification);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultDuration = 1.5;\nvar defaultTop = 0;\nvar defaultBottom = 48;\nvar bottom = 90;\nvar padding = 30;\nvar width = 200;\nvar messageInstance = void 0;\nvar key = 1;\nvar clsPrefix = 'u-message';\nvar noop = function noop() {};\n\nvar positionObj = {\n \"top\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n top: defaultTop,\n width: \"100%\"\n },\n transitionName: 'top'\n },\n \"bottom\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n bottom: defaultBottom,\n width: \"100%\"\n },\n transitionName: 'bottom'\n },\n \"topRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"bottomRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"topLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n left: padding,\n width: width\n },\n transitionName: 'left'\n },\n \"bottomLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n left: padding,\n width: width\n },\n transitionName: 'left'\n }\n};\n\nfunction getMessageInstance() {\n var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';\n var callback = arguments[1];\n\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n var style = positionObj[position].notificationStyle;\n _beeNotification2[\"default\"].newInstance({\n clsPrefix: clsPrefix,\n transitionName: clsPrefix + '-' + positionObj[position].transitionName,\n style: style, // 覆盖原来的样式\n position: ''\n }, function (instance) {\n messageInstance = instance;\n callback(instance);\n });\n}\n\nfunction notice(content, duration, type, onClose, position, style) {\n var iconType = {\n info: 'uf uf-i-c-2',\n success: 'uf uf-correct',\n danger: 'uf uf-close-c',\n warning: 'uf uf-exc-t',\n light: 'uf uf-notification',\n dark: 'uf uf-bubble',\n news: 'uf uf-bell',\n infolight: 'uf uf-i-c-2',\n successlight: 'uf uf-correct',\n dangerlight: 'uf uf-close-c',\n warninglight: 'uf uf-exc-t'\n }[type];\n\n var positionStyle = positionObj[position].messageStyle;\n\n getMessageInstance(position, function (instance) {\n instance.notice({\n key: key,\n duration: duration,\n color: type,\n style: _extends({}, positionStyle, style),\n content: _react2[\"default\"].createElement(\n 'div',\n null,\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-icon' },\n _react2[\"default\"].createElement('i', { className: (0, _classnames2[\"default\"])(iconType) })\n ),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-content' },\n content\n )\n ),\n onClose: onClose\n });\n });\n return function () {\n var target = key++;\n return function () {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n }();\n}\n\nexports[\"default\"] = {\n create: function create(obj) {\n var content = obj.content || '';\n var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;\n var color = obj.color || 'dark';\n var onClose = obj.onClose || noop;\n var position = obj.position || \"top\";\n var style = obj.style || {};\n return notice(content, duration, color, onClose, position, style);\n },\n config: function config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.clsPrefix !== undefined) {\n clsPrefix = options.clsPrefix;\n }\n if (options.defaultBottom !== undefined) {\n defaultBottom = options.defaultBottom;\n }\n if (options.bottom !== undefined) {\n bottom = options.bottom;\n }\n if (options.width !== undefined) {\n bottom = options.width;\n }\n },\n destroy: function destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n }\n};\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/Message.js\n// module id = 66\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Notification = require('./Notification');\n\nvar _Notification2 = _interopRequireDefault(_Notification);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Notification2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/index.js\n// module id = 67\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _beeAnimate = require('bee-animate');\n\nvar _beeAnimate2 = _interopRequireDefault(_beeAnimate);\n\nvar _createChainedFunction = require('tinper-bee-core/lib/createChainedFunction');\n\nvar _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Notice = require('./Notice');\n\nvar _Notice2 = _interopRequireDefault(_Notice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n return 'uNotification_' + now + '_' + seed++;\n}\n\nvar propTypes = {\n show: _propTypes2[\"default\"].bool,\n clsPrefix: _propTypes2[\"default\"].string,\n style: _propTypes2[\"default\"].object,\n position: _propTypes2[\"default\"].oneOf(['topRight', 'bottomRight', '']),\n transitionName: _propTypes2[\"default\"].string,\n animation: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object])\n};\n\nvar defaultProps = {\n clsPrefix: 'u-notification',\n animation: 'fade',\n position: 'topRight'\n};\n\nvar Notification = function (_Component) {\n _inherits(Notification, _Component);\n\n function Notification(props) {\n _classCallCheck(this, Notification);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.state = {\n notices: []\n };\n _this.add = _this.add.bind(_this);\n _this.remove = _this.remove.bind(_this);\n\n return _this;\n }\n\n Notification.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.clsPrefix + '-' + props.animation;\n }\n return transitionName;\n };\n\n Notification.prototype.add = function add(notice) {\n var key = notice.key = notice.key || getUuid();\n this.setState(function (previousState) {\n var notices = previousState.notices;\n if (!notices.filter(function (v) {\n return v.key === key;\n }).length) {\n return {\n notices: notices.concat(notice)\n };\n }\n });\n };\n\n Notification.prototype.remove = function remove(key) {\n this.setState(function (previousState) {\n return {\n notices: previousState.notices.filter(function (notice) {\n return notice.key !== key;\n })\n };\n });\n };\n\n Notification.prototype.render = function render() {\n var _this2 = this,\n _classes;\n\n var _props = this.props,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n position = _props.position,\n style = _props.style;\n\n var noticeNodes = this.state.notices.map(function (notice) {\n var onClose = (0, _createChainedFunction2[\"default\"])(_this2.remove.bind(_this2, notice.key), notice.onClose);\n return _react2[\"default\"].createElement(\n _Notice2[\"default\"],\n _extends({\n clsPrefix: clsPrefix\n }, notice, {\n onClose: onClose\n }),\n notice.content\n );\n });\n var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);\n if (position) {\n classes[clsPrefix + '-' + position] = !!position;\n }\n\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(className, classes), style: style },\n _react2[\"default\"].createElement(\n _beeAnimate2[\"default\"],\n { transitionName: this.getTransitionName() },\n noticeNodes\n )\n );\n };\n\n return Notification;\n}(_react.Component);\n\n;\n\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n if (typeof callback !== 'function') {\n console.error('You must introduce callback as the second parameter of Notification.newInstance().');\n return;\n }\n var props = properties || {};\n var div = document.createElement('div');\n document.body.appendChild(div);\n\n var called = false;\n function ref(notification) {\n if (called) {\n return;\n }\n called = true;\n callback({\n notice: function notice(noticeProps) {\n notification.add(noticeProps);\n },\n removeNotice: function removeNotice(key) {\n notification.remove(key);\n },\n\n component: notification,\n destroy: function destroy() {\n _reactDom2[\"default\"].unmountComponentAtNode(div);\n document.body.removeChild(div);\n }\n });\n }\n _reactDom2[\"default\"].render(_react2[\"default\"].createElement(Notification, _extends({}, props, { ref: ref })), div);\n};\n\nexports[\"default\"] = Notification;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notification.js\n// module id = 68\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Animate = require('./Animate');\n\nvar _Animate2 = _interopRequireDefault(_Animate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Animate2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/index.js\n// module id = 69\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ChildrenUtils = require('./ChildrenUtils');\n\nvar _AnimateChild = require('./AnimateChild');\n\nvar _AnimateChild2 = _interopRequireDefault(_AnimateChild);\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar defaultKey = 'u_animate_' + Date.now();\n\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n if (_react2[\"default\"].isValidElement(children)) {\n if (!children.key) {\n return _react2[\"default\"].cloneElement(children, {\n key: defaultKey\n });\n }\n }\n return children;\n}\n\nfunction noop() {}\n\nvar propTypes = {\n component: _propTypes2[\"default\"].any,\n animation: _propTypes2[\"default\"].object,\n transitionName: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object]),\n transitionEnter: _propTypes2[\"default\"].bool,\n transitionAppear: _propTypes2[\"default\"].bool,\n exclusive: _propTypes2[\"default\"].bool,\n transitionLeave: _propTypes2[\"default\"].bool,\n onEnd: _propTypes2[\"default\"].func,\n onEnter: _propTypes2[\"default\"].func,\n onLeave: _propTypes2[\"default\"].func,\n onAppear: _propTypes2[\"default\"].func,\n showProp: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n animation: {},\n component: 'span',\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n _this.state = {\n children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))\n };\n\n _this.performEnter = _this.performEnter.bind(_this);\n _this.performAppear = _this.performAppear.bind(_this);\n _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);\n _this.performLeave = _this.performLeave.bind(_this);\n\n _this.performLeave = _this.performLeave.bind(_this);\n _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);\n _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n Animate.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.mounted = true;\n var showProp = this.props.showProp;\n var children = this.state.children;\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n };\n\n Animate.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));\n var props = this.props;\n // exclusive needs immediate response\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n // last props children if exclusive\n var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;\n // in case destroy in showProp mode\n var newChildren = [];\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);\n var newChild = void 0;\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = _react2[\"default\"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);\n }\n\n // need render to avoid update\n this.setState({\n children: newChildren\n });\n\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n if (showProp) {\n var showInNext = child.props[showProp];\n if (hasPrev) {\n var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);\n if (showProp) {\n var showInNow = child.props[showProp];\n if (hasNext) {\n var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n };\n\n Animate.prototype.componentDidUpdate = function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n };\n\n Animate.prototype.performEnter = function performEnter(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));\n }\n };\n\n Animate.prototype.performAppear = function performAppear(key) {\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));\n }\n };\n\n Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n if (!this.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n this.performLeave(key);\n } else {\n if (type === 'appear') {\n if (_util2[\"default\"].allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else {\n if (_util2[\"default\"].allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n }\n }\n };\n\n Animate.prototype.performLeave = function performLeave(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));\n }\n };\n\n Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n // in case state change is too fast\n if (this.isValidChildByKey(currentChildren, key)) {\n this.performEnter(key);\n } else {\n var end = function end() {\n if (_util2[\"default\"].allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n /* eslint react/no-is-mounted:0 */\n if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {\n this.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n\n Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n if (showProp) {\n return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n }\n return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n };\n\n Animate.prototype.stop = function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.refs[key];\n if (component) {\n component.stop();\n }\n };\n\n Animate.prototype.render = function render() {\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n if (!child.key) {\n throw new Error('must set key for children');\n }\n return _react2[\"default\"].createElement(\n _AnimateChild2[\"default\"],\n {\n key: child.key,\n ref: child.key,\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n },\n child\n );\n });\n }\n var Component = props.component;\n if (Component) {\n var passedProps = props;\n if (typeof Component === 'string') {\n passedProps = {\n className: props.className,\n style: props.style\n };\n }\n return _react2[\"default\"].createElement(\n Component,\n passedProps,\n children\n );\n }\n return children[0] || null;\n };\n\n return Animate;\n}(_react.Component);\n\n;\nAnimate.defaultProps = defaultProps;\nAnimate.propTypes = Animate.propTypes;\n\nexports[\"default\"] = Animate;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/Animate.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toArrayChildren = toArrayChildren;\nexports.findChildInChildrenByKey = findChildInChildrenByKey;\nexports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;\nexports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;\nexports.isSameChildren = isSameChildren;\nexports.mergeChildren = mergeChildren;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toArrayChildren(children) {\n var ret = [];\n _react2[\"default\"].Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nfunction findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nfunction isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nfunction mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && nextChildrenPending.hasOwnProperty(child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/ChildrenUtils.js\n// module id = 71\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar propTypes = {\n children: _propTypes2[\"default\"].any\n};\n\nvar AnimateChild = function (_Component) {\n _inherits(AnimateChild, _Component);\n\n function AnimateChild(props) {\n _classCallCheck(this, AnimateChild);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.transition = _this.transition.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.stop();\n };\n\n AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {\n if (_util2[\"default\"].isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {\n if (_util2[\"default\"].isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {\n if (_util2[\"default\"].isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n };\n\n AnimateChild.prototype.transition = function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = _reactDom2[\"default\"].findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n };\n\n AnimateChild.prototype.stop = function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n };\n\n AnimateChild.prototype.render = function render() {\n return this.props.children;\n };\n\n return AnimateChild;\n}(_react.Component);\n\n;\n\nAnimateChild.propTypes = propTypes;\n\nexports[\"default\"] = AnimateChild;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/AnimateChild.js\n// module id = 72\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexports[\"default\"] = util;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/util.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n duration: _propTypes2[\"default\"].number,\n onClose: _propTypes2[\"default\"].func,\n children: _propTypes2[\"default\"].any,\n color: _propTypes2[\"default\"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),\n title: _propTypes2[\"default\"].any\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n onEnd: noop,\n onClose: noop,\n duration: 4.5,\n closable: true\n};\n\nvar Notice = function (_React$Component) {\n _inherits(Notice, _React$Component);\n\n function Notice(props) {\n _classCallCheck(this, Notice);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);\n _this.close = _this.close.bind(_this);\n return _this;\n }\n\n Notice.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (this.props.duration) {\n this.closeTimer = setTimeout(function () {\n _this2.close();\n }, this.props.duration * 1000);\n }\n };\n\n Notice.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearCloseTimer();\n };\n\n Notice.prototype.clearCloseTimer = function clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n };\n\n Notice.prototype.close = function close() {\n this.clearCloseTimer();\n this.props.onClose();\n };\n\n Notice.prototype.render = function render() {\n var _classes;\n\n var _props = this.props,\n closable = _props.closable,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n style = _props.style,\n children = _props.children,\n color = _props.color,\n title = _props.title;\n\n var componentClass = clsPrefix + '-notice';\n var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);\n if (color) {\n classes[componentClass + '-' + color] = true;\n }\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(classes), style: style, onClick: this.close },\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-content' },\n title && _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-title' },\n title\n ),\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-description' },\n children\n )\n ),\n closable ? _react2[\"default\"].createElement(\n 'a',\n { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },\n _react2[\"default\"].createElement('span', { className: componentClass + '-close-x' })\n ) : null\n );\n };\n\n return Notice;\n}(_react2[\"default\"].Component);\n\n;\n\nNotice.propTypes = propTypes;\nNotice.defaultProps = defaultProps;\n\nexports[\"default\"] = Notice;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notice.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nvar deselectCurrent = require('toggle-selection');\n\nvar defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug, message, reselectPrevious, range, selection, mark, success = false;\n if (!options) { options = {}; }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement('span');\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = 'unset';\n // prevents scrolling to the end of the page\n mark.style.position = 'fixed';\n mark.style.top = 0;\n mark.style.clip = 'rect(0, 0, 0, 0)';\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = 'pre';\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = 'text';\n mark.style.MozUserSelect = 'text';\n mark.style.msUserSelect = 'text';\n mark.style.userSelect = 'text';\n\n document.body.appendChild(mark);\n\n range.selectNode(mark);\n selection.addRange(range);\n\n var successful = document.execCommand('copy');\n if (!successful) {\n throw new Error('copy command was unsuccessful');\n }\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using execCommand: ', err);\n debug && console.warn('trying IE specific stuff');\n try {\n window.clipboardData.setData('text', text);\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using clipboardData: ', err);\n debug && console.error('falling back to prompt');\n message = format('message' in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == 'function') {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/copy-to-clipboard/index.js\n// module id = 75\n// module chunks = 0","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/toggle-selection/index.js\n// module id = 76\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否是手风琴效果\n accordion: _propTypes2[\"default\"].bool,\n //激活的项\n activeKey: _propTypes2[\"default\"].any,\n //默认的激活的项\n defaultActiveKey: _propTypes2[\"default\"].any,\n //选中函数\n onSelect: _propTypes2[\"default\"].func,\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n accordion: false,\n clsPrefix: 'u-panel-group'\n};\n\n// TODO: Use uncontrollable.\n\nvar PanelGroup = function (_React$Component) {\n _inherits(PanelGroup, _React$Component);\n\n function PanelGroup(props, context) {\n _classCallCheck(this, PanelGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleSelect = _this.handleSelect.bind(_this);\n\n _this.state = {\n activeKey: props.defaultActiveKey\n };\n return _this;\n }\n\n PanelGroup.prototype.handleSelect = function handleSelect(key, e) {\n e.preventDefault();\n\n if (this.props.onSelect) {\n this.props.onSelect(key, e);\n }\n\n if (this.state.activeKey === key) {\n key = null;\n }\n\n this.setState({ activeKey: key });\n };\n\n PanelGroup.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n accordion = _props.accordion,\n propsActiveKey = _props.activeKey,\n className = _props.className,\n children = _props.children,\n defaultActiveKey = _props.defaultActiveKey,\n onSelect = _props.onSelect,\n style = _props.style,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);\n\n var activeKey = void 0;\n if (accordion) {\n activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;\n others.role = others.role || 'tablist';\n }\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }),\n _react2[\"default\"].Children.map(children, function (child) {\n if (!_react2[\"default\"].isValidElement(child)) {\n return child;\n }\n var childProps = {\n style: child.props.style\n };\n\n if (accordion) {\n _extends(childProps, {\n headerRole: 'tab',\n panelRole: 'tabpanel',\n collapsible: true,\n expanded: child.props.eventKey === activeKey,\n onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)\n });\n }\n\n return (0, _react.cloneElement)(child, childProps);\n })\n );\n };\n\n return PanelGroup;\n}(_react2[\"default\"].Component);\n\nPanelGroup.propTypes = propTypes;\nPanelGroup.defaultProps = defaultProps;\n\nexports[\"default\"] = PanelGroup;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/PanelGroup.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Drawer = require('./Drawer');\n\nvar _Drawer2 = _interopRequireDefault(_Drawer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Drawer2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/index.js\n// module id = 78\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _common = require('./common');\n\nvar _reactTransitionGroup = require('react-transition-group');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\tplacement: _propTypes2[\"default\"].oneOf(['left', 'right', 'top', 'bottom']),\n\thasHeader: _propTypes2[\"default\"].bool,\n\tshow: _propTypes2[\"default\"].bool,\n\ttitle: _propTypes2[\"default\"].string,\n\tclassName: _propTypes2[\"default\"].string,\n\tshowMask: _propTypes2[\"default\"].bool,\n\tmaskClosable: _propTypes2[\"default\"].bool,\n\tzIndex: _propTypes2[\"default\"].number,\n\tshowClose: _propTypes2[\"default\"].bool,\n\twidth: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n\theight: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n\tdestroyOnClose: _propTypes2[\"default\"].bool,\n\tcontainer: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n\tplacement: 'left',\n\thasHeader: true,\n\tshow: false,\n\tshowMask: true,\n\tmaskClosable: true,\n\tzIndex: 100000,\n\tshowClose: false,\n\twidth: 'auto',\n\theight: 'auto',\n\tdestroyOnClose: false,\n\tcontainer: 'body'\n};\n\nvar DrawerContext = _react2[\"default\"].createContext(null);\n\nvar Drawer = function (_Component) {\n\t_inherits(Drawer, _Component);\n\n\tfunction Drawer(props) {\n\t\t_classCallCheck(this, Drawer);\n\n\t\tvar _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n\t\t_this.state = {\n\t\t\tshowDrawer: true,\n\t\t\twidth: '0',\n\t\t\tpush: false\n\t\t};\n\t\t_this.drawer = null;\n\t\t_this.parentDrawer = null;\n\t\t(0, _common.bindAll)(_this, ['fMaskClick', 'fDrawerTransitionEnd', 'renderMask', 'renderClose', 'fCloseClick', 'renderBody', 'renderAll']);\n\t\treturn _this;\n\t}\n\n\tDrawer.prototype.componentDidUpdate = function componentDidUpdate(preProps) {\n\t\t//在有父级抽屉时候,子级触发父级向外移动一段距离\n\t\tif (preProps.show != this.props.show && this.parentDrawer) {\n\t\t\tif (this.props.show) {\n\t\t\t\tthis.parentDrawer.push();\n\t\t\t} else {\n\t\t\t\tthis.parentDrawer.pull();\n\t\t\t}\n\t\t}\n\t};\n\n\tDrawer.prototype.push = function push() {\n\t\tthis.setState({\n\t\t\tpush: true\n\t\t});\n\t};\n\n\tDrawer.prototype.pull = function pull() {\n\t\tthis.setState({\n\t\t\tpush: false\n\t\t});\n\t};\n\n\tDrawer.prototype.fMaskClick = function fMaskClick() {\n\t\tvar maskClosable = this.props.maskClosable;\n\n\t\tif (maskClosable) {\n\t\t\tvar onClose = this.props.onClose;\n\n\t\t\tonClose && onClose();\n\t\t}\n\t};\n\n\tDrawer.prototype.fCloseClick = function fCloseClick() {\n\t\tvar onClose = this.props.onClose;\n\n\t\tonClose && onClose();\n\t};\n\n\tDrawer.prototype.fDrawerTransitionEnd = function fDrawerTransitionEnd(e) {};\n\n\tDrawer.prototype.renderMask = function renderMask() {\n\t\tvar _props = this.props,\n\t\t show = _props.show,\n\t\t showMask = _props.showMask,\n\t\t fMaskClick = _props.fMaskClick;\n\t\t//mask样式\n\n\t\tvar maskStyle = void 0;\n\t\tif (show) {\n\t\t\tmaskStyle = {\n\t\t\t\topacity: 1,\n\t\t\t\twidth: '100%'\n\t\t\t};\n\t\t} else {\n\t\t\tmaskStyle = {\n\t\t\t\topacity: 0,\n\t\t\t\twidth: 0\n\t\t\t};\n\t\t}\n\t\treturn showMask ? _react2[\"default\"].createElement('div', { className: 'drawer-mask', style: maskStyle, onClick: this.fMaskClick }) : null;\n\t};\n\n\tDrawer.prototype.renderClose = function renderClose() {\n\t\tvar showClose = this.props.showClose;\n\n\t\treturn showClose ? _react2[\"default\"].createElement(\n\t\t\t'i',\n\t\t\t{ className: 'drawer-close', onClick: this.fCloseClick },\n\t\t\t'\\xD7'\n\t\t) : null;\n\t};\n\n\tDrawer.prototype.renderBody = function renderBody() {\n\t\tvar _this2 = this;\n\n\t\tvar _props2 = this.props,\n\t\t destroyOnClose = _props2.destroyOnClose,\n\t\t show = _props2.show;\n\n\t\tif (destroyOnClose && !show) {\n\t\t\treturn null;\n\t\t}\n\t\tvar _props3 = this.props,\n\t\t hasHeader = _props3.hasHeader,\n\t\t title = _props3.title,\n\t\t children = _props3.children,\n\t\t width = _props3.width,\n\t\t height = _props3.height,\n\t\t placement = _props3.placement;\n\t\tvar push = this.state.push;\n\t\t//抽屉类\n\n\t\tvar drawerClass = (0, _classnames2[\"default\"])('drawer', 'drawer-' + placement);\n\t\t//根据位置获取抽屉样式\n\t\tvar translateHideMap = {\n\t\t\tleft: 'translateX(-100%)',\n\t\t\tright: 'translateX(100%)',\n\t\t\ttop: 'translateY(-100%)',\n\t\t\tbottom: 'translateY(100%)'\n\t\t};\n\t\tvar translateShow = 'translate(0,0)';\n\t\tif (push) {\n\t\t\tvar pushNum = 50;\n\t\t\tvar translateShowMap = {\n\t\t\t\tleft: 'translate(' + pushNum + 'px,0)',\n\t\t\t\tright: 'translate(-' + pushNum + 'px,0)',\n\t\t\t\ttop: 'translate(0,' + pushNum + 'px)',\n\t\t\t\tbottom: 'translate(0,-' + pushNum + 'px)'\n\t\t\t};\n\t\t\ttranslateShow = translateShowMap[placement];\n\t\t}\n\t\tvar translate = show ? translateShow : translateHideMap[placement];\n\t\t//抽屉面板样式\n\t\tif ((0, _common.isNumber)(width)) {\n\t\t\twidth = width + 'px';\n\t\t}\n\t\tif ((0, _common.isNumber)(height)) {\n\t\t\theight = height + 'px';\n\t\t}\n\t\tif (placement == 'top' || placement == 'bottom') {\n\t\t\tif (width == 'auto') {\n\t\t\t\twidth = '100%';\n\t\t\t}\n\t\t}\n\t\tif (placement == 'left' || placement == 'right') {\n\t\t\tif (height == 'auto') {\n\t\t\t\theight = '100%';\n\t\t\t}\n\t\t}\n\t\tvar drawerStyle = {\n\t\t\ttransform: translate,\n\t\t\tWebkitTransform: translate,\n\t\t\twidth: width,\n\t\t\theight: height\n\t\t};\n\t\tvar closer = this.renderClose();\n\t\tvar header = hasHeader ? _react2[\"default\"].createElement(\n\t\t\t'div',\n\t\t\t{ className: 'drawer-header' },\n\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'drawer-header-title' },\n\t\t\t\ttitle\n\t\t\t)\n\t\t) : '';\n\t\treturn _react2[\"default\"].createElement(\n\t\t\tDrawerContext.Provider,\n\t\t\t{ value: this },\n\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ ref: function ref(drawer) {\n\t\t\t\t\t\t_this2.drawer = drawer;\n\t\t\t\t\t}, onTransitionEnd: this.fDrawerTransitionEnd, className: drawerClass, style: drawerStyle },\n\t\t\t\tcloser,\n\t\t\t\theader,\n\t\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'drawer-body' },\n\t\t\t\t\tchildren\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\tDrawer.prototype.renderAll = function renderAll(value) {\n\t\tvar _props4 = this.props,\n\t\t show = _props4.show,\n\t\t className = _props4.className,\n\t\t zIndex = _props4.zIndex;\n\t\t//容器类\n\n\t\tvar drawercClass = (0, _classnames2[\"default\"])('drawerc', className);\n\t\t//容器样式\n\t\tvar drawercStyle = { zIndex: zIndex };\n\t\tif (show) {\n\t\t\tdrawercStyle.width = '100%';\n\t\t} else {\n\t\t\tdrawercStyle.width = 0;\n\t\t}\n\t\t//获取父级抽屉\n\t\tthis.parentDrawer = value;\n\n\t\treturn _react2[\"default\"].createElement(\n\t\t\t'div',\n\t\t\t{ className: drawercClass, style: drawercStyle },\n\t\t\tthis.renderMask(),\n\t\t\tthis.renderBody()\n\t\t);\n\t};\n\n\tDrawer.prototype.render = function render() {\n\t\tvar container = this.props.container;\n\n\t\tvar conDom = document.querySelector(container);\n\n\t\treturn _reactDom2[\"default\"].createPortal(_react2[\"default\"].createElement(\n\t\t\tDrawerContext.Consumer,\n\t\t\tnull,\n\t\t\tthis.renderAll\n\t\t), conDom);\n\t};\n\n\treturn Drawer;\n}(_react.Component);\n\nDrawer.propTypes = propTypes;\nDrawer.defaultProps = defaultProps;\n\nexports[\"default\"] = Drawer;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/Drawer.js\n// module id = 79\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bindAll = bindAll;\nexports.type = type;\nexports.isNumber = isNumber;\nfunction bindAll(context, arrFunc) {\n arrFunc.forEach(function (item) {\n context[item] = context[item].bind(context);\n });\n}\n\nfunction type(obj) {\n var toString = Object.prototype.toString;\n return toString.call(obj);\n}\n\nfunction isNumber(obj) {\n return type(obj) == '[object Number]';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/common/index.js\n// module id = 80\n// module chunks = 0","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/index.js\n// module id = 81\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * \n *
\n * \n * {\"I'll receive my-node-* classes\"}\n *
\n * \n *
setInProp(true)}>\n * Click to Enter\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/CSSTransition.js\n// module id = 82\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/addClass.js\n// module id = 83\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/hasClass.js\n// module id = 84\n// module chunks = 0","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/removeClass.js\n// module id = 85\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n * \n * I'm a fade Transition!\n *
\n * )}\n * \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * \n * \n * {state => (\n * // ...\n * )}\n * \n * setInProp(true)}>\n * Click to Enter\n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/Transition.js\n// module id = 86\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexports.polyfill = polyfill;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-lifecycles-compat/react-lifecycles-compat.cjs.js\n// module id = 87\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/utils/PropTypes.js\n// module id = 88\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n * I appear first
\n * I replace the above
\n * \n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/ReplaceTransition.js\n// module id = 89\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\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 values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `
` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/TransitionGroup.js\n// module id = 90\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/utils/ChildMapping.js\n// module id = 91\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Clipboard = require('./Clipboard');\n\nvar _Clipboard2 = _interopRequireDefault(_Clipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Clipboard2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/index.js\n// module id = 92\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _clipboard = require('clipboard');\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _beeIcon = require('bee-icon');\n\nvar _beeIcon2 = _interopRequireDefault(_beeIcon);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _beeTooltip = require('bee-tooltip');\n\nvar _beeTooltip2 = _interopRequireDefault(_beeTooltip);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tool = require('bee-locale/build/tool');\n\nvar _i18n = require('./i18n.js');\n\nvar _i18n2 = _interopRequireDefault(_i18n);\n\nvar _beeModal = require('bee-modal');\n\nvar _beeModal2 = _interopRequireDefault(_beeModal);\n\nvar _beeFormControl = require('bee-form-control');\n\nvar _beeFormControl2 = _interopRequireDefault(_beeFormControl);\n\nvar _beeButton = require('bee-button');\n\nvar _beeButton2 = _interopRequireDefault(_beeButton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\n//text和target都写的时候,target无效。 text的cut改为copy。\n// target可以传css3选择器\nvar propTypes = {\n action: _propTypes2[\"default\"].oneOf(['copy', 'cut', null]),\n text: _propTypes2[\"default\"].string,\n success: _propTypes2[\"default\"].func,\n error: _propTypes2[\"default\"].func,\n locale: _propTypes2[\"default\"].object\n};\nvar defaultProps = {\n action: 'copy',\n text: '',\n target: '',\n success: function success() {},\n error: function error() {},\n locale: {}\n};\n\nvar Clipboard = function (_Component) {\n _inherits(Clipboard, _Component);\n\n function Clipboard(props, context) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.blur = function () {\n _this.setState({\n currect: false,\n ready: false\n });\n };\n\n _this.close = function () {\n _this.setState({\n modalShow: false\n });\n };\n\n _this.state = {\n currect: false,\n html: '',\n ready: false,\n id: 'id' + Math.round(Math.random() * 1000 + 1) + new Date().getTime(),\n modalShow: false\n };\n return _this;\n }\n\n Clipboard.prototype.componentWillMount = function componentWillMount() {\n var self = this;\n var _props = this.props,\n success = _props.success,\n error = _props.error;\n\n\n var id = this.state.id;\n var cb = new _clipboard2[\"default\"]('#' + id);\n cb.on('success', function (e) {\n self.setState({\n currect: true,\n ready: true\n });\n e.clearSelection();\n if (success instanceof Function) success();\n });\n cb.on('error', function (e) {\n self.setState({\n modalShow: true,\n html: e.text\n });\n _reactDom2[\"default\"].findDOMNode(self.refs.text).select();\n if (error instanceof Function) error();\n });\n };\n\n Clipboard.prototype.render = function render() {\n var _props2 = this.props,\n action = _props2.action,\n text = _props2.text,\n target = _props2.target;\n\n if (text) action = 'copy';\n\n var locale = (0, _tool.getComponentLocale)(this.props, this.context, 'Clipboard', function () {\n return _i18n2[\"default\"];\n });\n var tootipContent = locale[action];\n if (this.state.ready) {\n tootipContent = locale[action + 'Ready'];\n }\n\n return _react2[\"default\"].createElement(\n _beeTooltip2[\"default\"],\n {\n positionTop: '20px',\n overlay: tootipContent,\n placement: 'top' },\n _react2[\"default\"].createElement(\n 'span',\n {\n onMouseOut: this.blur,\n className: 'u-clipboard',\n id: this.state.id,\n 'data-clipboard-action': action,\n 'data-clipboard-target': target,\n 'data-clipboard-text': text },\n this.props.children ? this.props.children : _react2[\"default\"].createElement(_beeIcon2[\"default\"], {\n className: (0, _classnames2[\"default\"])({\n 'uf-correct': this.state.currect,\n 'uf-copy': !this.state.currect\n })\n }),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"],\n { show: this.state.modalShow, onHide: this.close },\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Header,\n { closeButton: true },\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Title,\n null,\n ' Ctrl+C ',\n locale['copyToClipboard'],\n ' '\n )\n ),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Body,\n null,\n _react2[\"default\"].createElement(_beeFormControl2[\"default\"], { ref: 'text', type: 'text', readOnly: true, value: this.state.html })\n ),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Footer,\n null,\n _react2[\"default\"].createElement(\n _beeButton2[\"default\"],\n { onClick: this.close },\n ' ',\n locale['close'],\n ' '\n )\n )\n )\n )\n );\n };\n\n return Clipboard;\n}(_react.Component);\n\n;\nClipboard.propTypes = propTypes;\nClipboard.defaultProps = defaultProps;\nexports[\"default\"] = Clipboard;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/Clipboard.js\n// module id = 93\n// module chunks = 0","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _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 function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _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 function _possibleConstructorReturn(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\n function _inherits(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 var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard.js\n// module id = 94\n// module chunks = 0","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _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 function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _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 var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard-action.js\n// module id = 95\n// module chunks = 0","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/select/src/select.js\n// module id = 96\n// module chunks = 0","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tiny-emitter/index.js\n// module id = 97\n// module chunks = 0","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/listen.js\n// module id = 98\n// module chunks = 0","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/is.js\n// module id = 99\n// module chunks = 0","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/delegate/src/delegate.js\n// module id = 100\n// module chunks = 0","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/delegate/src/closest.js\n// module id = 101\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Icon = require('./Icon');\n\nvar _Icon2 = _interopRequireDefault(_Icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Icon2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/index.js\n// module id = 102\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\ttype: _propTypes2[\"default\"].string\n\n};\n/**\n * badge 默认显示内容1\n */\nvar defaultProps = {\n\tclsPrefix: 'uf'\n};\n\nvar Icon = function (_Component) {\n\t_inherits(Icon, _Component);\n\n\tfunction Icon(props) {\n\t\t_classCallCheck(this, Icon);\n\n\t\treturn _possibleConstructorReturn(this, _Component.call(this, props));\n\t}\n\n\tIcon.prototype.render = function render() {\n\t\tvar _props = this.props,\n\t\t type = _props.type,\n\t\t className = _props.className,\n\t\t clsPrefix = _props.clsPrefix,\n\t\t others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);\n\n\t\tvar clsObj = {};\n\n\t\tvar classNames = (0, _classnames2[\"default\"])(clsPrefix, type);\n\n\t\treturn _react2[\"default\"].createElement('i', _extends({}, others, { className: (0, _classnames2[\"default\"])(classNames, className) }));\n\t};\n\n\treturn Icon;\n}(_react.Component);\n\nIcon.defaultProps = defaultProps;\nIcon.propTypes = propTypes;\n\nexports[\"default\"] = Icon;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/Icon.js\n// module id = 103\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Tooltip = require('./Tooltip');\n\nvar _Tooltip2 = _interopRequireDefault(_Tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Tooltip2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-tooltip/build/index.js\n// module id = 104\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _OverlayTrigger = require('bee-overlay/build/OverlayTrigger');\n\nvar _OverlayTrigger2 = _interopRequireDefault(_OverlayTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * @required\n */\n id: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n inverse: _propTypes2[\"default\"].bool,\n visible: _propTypes2[\"default\"].bool,\n onVisibleChange: _propTypes2[\"default\"].func,\n /**\n * 相对目标元素显示上下左右的位置\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 绝对定位上边距.\n */\n positionTop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n /**\n * 绝对定位左边距\n */\n positionLeft: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n\n /**\n * 与目标Top的距离\n */\n arrowOffsetTop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n /**\n * 与目标Left的距离\n */\n arrowOffsetLeft: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n placement: 'right',\n clsPrefix: 'u-tooltip'\n};\nfunction OverlayNode(props) {\n var className = props.className,\n classNames = props.classNames,\n style = props.style,\n overlay = props.overlay,\n arrowOffsetTop = props.arrowOffsetTop,\n arrowOffsetLeft = props.arrowOffsetLeft;\n\n return _react2[\"default\"].createElement(\n 'div',\n {\n className: (0, _classnames2[\"default\"])(className, classNames),\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n style: style\n },\n overlay ? _react2[\"default\"].createElement('div', { className: 'tooltip-arrow', style: {\n top: arrowOffsetTop,\n left: arrowOffsetLeft\n } }) : '',\n overlay ? _react2[\"default\"].createElement(\n 'div',\n { className: 'tooltip-inner' },\n overlay\n ) : ''\n );\n}\n\nvar Tooltip = function (_React$Component) {\n _inherits(Tooltip, _React$Component);\n\n function Tooltip(props) {\n _classCallCheck(this, Tooltip);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.onMouseEnter = function () {\n _this.setState({\n isHoverShow: true\n });\n };\n\n _this.onMouseLeave = function () {\n _this.setState({\n isHoverShow: false\n });\n };\n\n var initState = {\n isHoverShow: false\n };\n if ('visible' in props) {\n _extends(initState, {\n visible: props.visible\n });\n }\n _this.state = initState;\n return _this;\n }\n\n Tooltip.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _props = this.props,\n visible = _props.visible,\n onVisibleChange = _props.onVisibleChange;\n\n if ('visible' in this.props && prevProps.visible !== visible) {\n this.setState({\n visible: visible\n });\n onVisibleChange && onVisibleChange(visible);\n }\n };\n\n /**\n * @desc 鼠标划入时候的事件\n */\n\n\n /**\n * @desc 鼠标划出时候的事件\n */\n\n\n Tooltip.prototype.render = function render() {\n var _classes,\n _this2 = this;\n\n var _props2 = this.props,\n placement = _props2.placement,\n positionTop = _props2.positionTop,\n positionLeft = _props2.positionLeft,\n arrowOffsetTop = _props2.arrowOffsetTop,\n arrowOffsetLeft = _props2.arrowOffsetLeft,\n className = _props2.className,\n style = _props2.style,\n children = _props2.children,\n clsPrefix = _props2.clsPrefix,\n overlay = _props2.overlay,\n inverse = _props2.inverse,\n others = _objectWithoutProperties(_props2, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'className', 'style', 'children', 'clsPrefix', 'overlay', 'inverse']);\n\n var classes = (_classes = {}, _defineProperty(_classes, placement, true), _defineProperty(_classes, 'inverse', inverse), _classes);\n\n var outerStyle = _extends({\n top: positionTop,\n left: positionLeft\n }, style);\n\n var arrowStyle = {\n top: arrowOffsetTop,\n left: arrowOffsetLeft\n };\n\n var classNames = (0, _classnames2[\"default\"])(clsPrefix, classes);\n\n var overlayNode = _react2[\"default\"].createElement(OverlayNode, {\n className: className,\n classNames: classNames,\n overlay: overlay,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n style: true,\n arrowOffsetTop: true,\n arrowOffsetLeft: true\n });\n return 'visible' in this.props ? _react2[\"default\"].createElement(\n _OverlayTrigger2[\"default\"],\n _extends({ visible: this.state.visible, ref: function ref(_ref) {\n return _this2.trigger = _ref;\n }, shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),\n children\n ) : _react2[\"default\"].createElement(\n _OverlayTrigger2[\"default\"],\n _extends({ isHoverShow: this.state.isHoverShow, ref: function ref(_ref2) {\n return _this2.trigger = _ref2;\n }, shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),\n children\n );\n };\n\n return Tooltip;\n}(_react2[\"default\"].Component);\n\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexports[\"default\"] = Tooltip;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-tooltip/build/Tooltip.js\n// module id = 105\n// module chunks = 0","'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 _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Overlay = require('./Overlay');\n\nvar _Overlay2 = _interopRequireDefault(_Overlay);\n\nvar _createChainedFunction = require('./utils/createChainedFunction');\n\nvar _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\nvar createPortal = isReact16 ? _reactDom2[\"default\"].createPortal : _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer;\n\n/**\n * 检查值是属于这个值,还是等于这个值\n *\n * @param {string} one\n * @param {string|array} of\n * @returns {boolean}\n */\nfunction isOneOf(one, of) {\n if (Array.isArray(of)) {\n return of.indexOf(one) >= 0;\n }\n return one === of;\n}\n\nvar triggerType = _propTypes2[\"default\"].oneOf(['click', 'hover', 'focus']);\n\nvar propTypes = _extends({}, _Portal2[\"default\"].propTypes, _Overlay2[\"default\"].propTypes, {\n\n /**\n * 指定哪些操作或操作触发叠加层可见性\n */\n trigger: _propTypes2[\"default\"].oneOfType([triggerType, _propTypes2[\"default\"].arrayOf(triggerType)]),\n\n /**\n * 显示和隐藏覆盖一旦触发的毫秒延迟量\n */\n delay: _propTypes2[\"default\"].number,\n /**\n * 触发后显示叠加层之前的延迟毫秒\n */\n delayShow: _propTypes2[\"default\"].number,\n /**\n * 触发后隐藏叠加层的延迟毫秒\n */\n delayHide: _propTypes2[\"default\"].number,\n\n // FIXME: This should be `defaultShow`.\n /**\n * 覆盖的初始可见性状态。对于更细微的可见性控制,请考虑直接使用覆盖组件。\n */\n defaultOverlayShown: _propTypes2[\"default\"].bool,\n visible: _propTypes2[\"default\"].bool,\n\n /**\n * 要覆盖在目标旁边的元素或文本。\n */\n overlay: _propTypes2[\"default\"].node.isRequired,\n\n /**\n * @private\n */\n onBlur: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onClick: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onFocus: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onMouseOut: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onMouseOver: _propTypes2[\"default\"].func,\n\n // Overridden props from ``.\n /**\n * @private\n */\n target: _propTypes2[\"default\"].oneOf([null]),\n /**\n * @private\n */\n onHide: _propTypes2[\"default\"].oneOf([null]),\n /**\n * @private\n */\n show: _propTypes2[\"default\"].oneOf([null])\n});\n\nvar defaultProps = {\n defaultOverlayShown: false,\n trigger: ['hover', 'focus']\n};\n\nvar OverlayTrigger = function (_Component) {\n _inherits(OverlayTrigger, _Component);\n\n function OverlayTrigger(props, context) {\n _classCallCheck(this, OverlayTrigger);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.handleToggle = _this.handleToggle.bind(_this);\n _this.handleDelayedShow = _this.handleDelayedShow.bind(_this);\n _this.handleDelayedHide = _this.handleDelayedHide.bind(_this);\n _this.handleHide = _this.handleHide.bind(_this);\n _this.makeOverlay = _this.makeOverlay.bind(_this);\n\n _this.handleMouseOver = function (e) {\n return _this.handleMouseOverOut(_this.handleDelayedShow, e);\n };\n _this.handleMouseOut = function (e) {\n return _this.handleMouseOverOut(_this.handleDelayedHide, e);\n };\n\n _this._mountNode = null;\n\n var visible = void 0;\n if ('visible' in props) {\n visible = !!props.visible;\n } else {\n visible = !!props.defaultOverlayShown;\n }\n\n _this.state = {\n show: visible\n };\n return _this;\n }\n\n OverlayTrigger.prototype.componentDidMount = function componentDidMount() {\n this._mountNode = document.createElement('div');\n !isReact16 && this.renderOverlay();\n };\n\n OverlayTrigger.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n !isReact16 && this.renderOverlay();\n if ('visible' in this.props && prevProps.visible !== this.props.visible) {\n this.setState({\n show: this.props.visible\n });\n }\n if ('isHoverShow' in this.props && prevProps.isHoverShow !== this.props.isHoverShow) {\n this.setState({\n show: this.props.isHoverShow\n });\n }\n };\n\n OverlayTrigger.prototype.componentWillUnmount = function componentWillUnmount() {\n !isReact16 && _reactDom2[\"default\"].unmountComponentAtNode(this._mountNode);\n this._mountNode = null;\n // 加判断去掉 clearTimeout\n this._hoverShowDelay && clearTimeout(this._hoverShowDelay);\n this._hoverShowDelay && clearTimeout(this._hoverHideDelay);\n };\n\n OverlayTrigger.prototype.handleToggle = function handleToggle() {\n if (this.state.show) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n OverlayTrigger.prototype.handleDelayedShow = function handleDelayedShow() {\n var _this2 = this;\n\n if (this._hoverHideDelay != null) {\n clearTimeout(this._hoverHideDelay);\n this._hoverHideDelay = null;\n return;\n }\n\n if (this.state.show || this._hoverShowDelay != null) {\n return;\n }\n\n var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay;\n\n if (!delay) {\n this.show();\n return;\n }\n\n this._hoverShowDelay = setTimeout(function () {\n _this2._hoverShowDelay = null;\n _this2.show();\n }, delay);\n };\n\n OverlayTrigger.prototype.handleDelayedHide = function handleDelayedHide() {\n var _this3 = this;\n\n if (this._hoverShowDelay != null) {\n clearTimeout(this._hoverShowDelay);\n this._hoverShowDelay = null;\n return;\n }\n\n if (!this.state.show || this._hoverHideDelay != null) {\n return;\n }\n\n var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay;\n\n if (!delay) {\n this.hide();\n return;\n }\n\n this._hoverHideDelay = setTimeout(function () {\n _this3._hoverHideDelay = null;\n _this3.hide();\n }, delay);\n };\n\n // 简单实现mouseEnter和mouseLeave。\n // React的内置版本是有问题的:https://github.com/facebook/react/issues/4251\n //在触发器被禁用的情况下,mouseOut / Over可能导致闪烁\n //从一个子元素移动到另一个子元素。\n\n\n OverlayTrigger.prototype.handleMouseOverOut = function handleMouseOverOut(handler, e) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent.toElement;\n\n if (!related || related !== target && !(0, _contains2[\"default\"])(target, related)) {\n handler(e);\n }\n };\n\n OverlayTrigger.prototype.handleHide = function handleHide() {\n this.hide();\n };\n\n OverlayTrigger.prototype.show = function show() {\n this.setState({ show: true });\n };\n\n OverlayTrigger.prototype.hide = function hide() {\n this.setState({ show: false });\n };\n\n OverlayTrigger.prototype.makeOverlay = function makeOverlay(overlay, props) {\n return _react2[\"default\"].createElement(\n _Overlay2[\"default\"],\n _extends({}, props, {\n show: this.state.show,\n onHide: this.handleHide,\n target: this\n }),\n overlay\n );\n };\n\n OverlayTrigger.prototype.renderOverlay = function renderOverlay() {\n _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode);\n };\n\n OverlayTrigger.prototype.render = function render() {\n var _props = this.props,\n trigger = _props.trigger,\n overlay = _props.overlay,\n children = _props.children,\n onBlur = _props.onBlur,\n onClick = _props.onClick,\n onFocus = _props.onFocus,\n onMouseOut = _props.onMouseOut,\n onMouseOver = _props.onMouseOver,\n props = _objectWithoutProperties(_props, ['trigger', 'overlay', 'children', 'onBlur', 'onClick', 'onFocus', 'onMouseOut', 'onMouseOver']);\n\n delete props.delay;\n delete props.delayShow;\n delete props.delayHide;\n delete props.defaultOverlayShown;\n\n var child = _react2[\"default\"].Children.only(children);\n var childProps = child.props;\n\n var triggerProps = {\n 'aria-describedby': overlay.props.id\n };\n\n // FIXME: 这里用于传递这个组件上的处理程序的逻辑是不一致的。我们不应该通过任何这些道具。\n\n triggerProps.onClick = (0, _createChainedFunction2[\"default\"])(childProps.onClick, onClick);\n\n if (isOneOf('click', trigger) && !('visible' in this.props)) {\n triggerProps.onClick = (0, _createChainedFunction2[\"default\"])(triggerProps.onClick, this.handleToggle);\n }\n\n if (isOneOf('hover', trigger) && !('visible' in this.props)) {\n (0, _warning2[\"default\"])(!(trigger === 'hover'), '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the ' + 'visibility of the overlay to just mouse users. Consider also ' + 'including the `\"focus\"` trigger so that touch and keyboard only ' + 'users can see the overlay as well.');\n\n triggerProps.onMouseOver = (0, _createChainedFunction2[\"default\"])(childProps.onMouseOver, onMouseOver, this.handleMouseOver);\n triggerProps.onMouseOut = (0, _createChainedFunction2[\"default\"])(childProps.onMouseOut, onMouseOut, this.handleMouseOut);\n }\n\n if (isOneOf('focus', trigger) && !('visible' in this.props)) {\n triggerProps.onFocus = (0, _createChainedFunction2[\"default\"])(childProps.onFocus, onFocus, this.handleDelayedShow);\n triggerProps.onBlur = (0, _createChainedFunction2[\"default\"])(childProps.onBlur, onBlur, this.handleDelayedHide);\n }\n\n this._overlay = this.makeOverlay(overlay, props);\n\n if (!isReact16) {\n return (0, _react.cloneElement)(child, triggerProps);\n }\n triggerProps.key = 'overlay';\n\n var portal = _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n {\n key: 'portal',\n container: props.container },\n this._overlay\n );\n\n return [(0, _react.cloneElement)(child, triggerProps), portal];\n };\n\n return OverlayTrigger;\n}(_react.Component);\n\nOverlayTrigger.propTypes = propTypes;\nOverlayTrigger.defaultProps = defaultProps;\n\nexports[\"default\"] = OverlayTrigger;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/OverlayTrigger.js\n// module id = 106\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nexports.default = _default;\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n return false;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/contains.js\n// module id = 107\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\nvar createPortal = isReact16 ? _reactDom2[\"default\"].createPortal : _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer;\n\nvar propTypes = {\n /**\n * 存放子组件的容器\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func])\n};\n\nvar defaultProps = {};\n\n/**\n * Portal组件是将子组件渲染\n */\n\nvar Portal = function (_Component) {\n _inherits(Portal, _Component);\n\n function Portal(props) {\n _classCallCheck(this, Portal);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.getMountNode = _this.getMountNode.bind(_this);\n _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);\n _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);\n _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);\n _this.renderOverlay = _this.renderOverlay.bind(_this);\n _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);\n\n _this.overlayTarget = isReact16 ? document.createElement('div') : null;\n return _this;\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n if (isReact16) {\n this.portalContainerNode = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n } else {\n this.renderOverlay();\n }\n\n this.mounted = true;\n };\n\n Portal.prototype.componentDidUpdate = function componentDidUpdate() {\n if (isReact16) {\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n if (overlay === null) {\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n } else {}\n } else {\n this.renderOverlay();\n }\n };\n //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素\n\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.overlayTarget && nextProps.container !== this.props.container) {\n this.portalContainerNode.removeChild(this.overlayTarget);\n this.portalContainerNode = (0, _getContainer2[\"default\"])(nextProps.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n\n this.mounted = false;\n };\n\n Portal.prototype.getMountNode = function getMountNode() {\n return this.overlayTarget;\n };\n\n Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {\n if (!this.mounted) {\n throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');\n }\n\n if (this.overlayInstance) {\n return _reactDom2[\"default\"].findDOMNode(this.overlayInstance);\n }\n\n return null;\n };\n\n /**\n * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;\n */\n\n Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {\n if (!this.overlayTarget) {\n this.overlayTarget = document.createElement('div');\n this.portalContainerNode = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n }\n };\n /**\n * 将要添加的子元素从容器中移除,并把变量置为null\n */\n\n\n Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {\n if (this.overlayTarget) {\n this.portalContainerNode.removeChild(this.overlayTarget);\n this.overlayTarget = null;\n }\n this.portalContainerNode = null;\n };\n /**\n * 手动渲染_overlayTarget\n */\n\n\n Portal.prototype.renderOverlay = function renderOverlay() {\n\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n\n // Save reference for future access.\n if (overlay !== null) {\n this.mountOverlayTarget();\n this.overlayInstance = _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);\n } else {\n // Unrender if the component is null for transitions to null\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n }\n };\n /**\n * 销毁_overlayTarget组件。并把_overlayInstance置为null\n */\n\n\n Portal.prototype.unrenderOverlay = function unrenderOverlay() {\n if (this.overlayTarget) {\n !isReact16 && _reactDom2[\"default\"].unmountComponentAtNode(this.overlayTarget);\n this.overlayInstance = null;\n }\n };\n\n Portal.prototype.render = function render() {\n if (!isReact16) {\n return null;\n }\n\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n\n return _reactDom2[\"default\"].createPortal(overlay, this.overlayTarget);\n };\n\n return Portal;\n}(_react.Component);\n\n;\n\nPortal.propTypes = propTypes;\nPortal.defaultProps = defaultProps;\n\nexports[\"default\"] = Portal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Portal.js\n// module id = 108\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (componentOrElement) {\n return (0, _ownerDocument2[\"default\"])(_reactDom2[\"default\"].findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/ownerDocument.js\n// module id = 109\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/ownerDocument.js\n// module id = 110\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getContainer;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * 获取容器组件\n * @param {[type]} container [description]\n * @param {[type]} defaultContainer [description]\n * @return {[type]} [description]\n */\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom2[\"default\"].findDOMNode(container) || defaultContainer;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/getContainer.js\n// module id = 111\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _BaseOverlay = require('./BaseOverlay');\n\nvar _BaseOverlay2 = _interopRequireDefault(_BaseOverlay);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _Fade = require('./Fade');\n\nvar _Fade2 = _interopRequireDefault(_Fade);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = _extends({}, _BaseOverlay2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n /**\n * 是\n */\n rootClose: _propTypes2[\"default\"].bool,\n /**\n * 当点击rootClose触发close时的回调函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n /**\n * 使用动画\n */\n animation: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.elementType, _propTypes2[\"default\"].func]),\n\n /**\n * Callback fired before the Overlay transitions in\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired as the Overlay begins to transition in\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired after the Overlay finishes transitioning in\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired right before the Overlay transitions out\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired as the Overlay begins to transition out\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired after the Overlay finishes transitioning out\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * Sets the direction of the Overlay.\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 当Overlay在placement方向放不下时的第二优先级方向\n */\n secondPlacement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left'])\n});\n\nvar defaultProps = {\n animation: _Fade2[\"default\"],\n rootClose: false,\n show: false,\n placement: 'right'\n};\n\nvar Overlay = function (_Component) {\n _inherits(Overlay, _Component);\n\n function Overlay() {\n _classCallCheck(this, Overlay);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Overlay.prototype.render = function render() {\n var _props = this.props,\n animation = _props.animation,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['animation', 'children']);\n\n var transition = animation === true ? _Fade2[\"default\"] : animation || null;\n\n var child = void 0;\n\n if (!transition) {\n child = (0, _react.cloneElement)(children, {\n className: (0, _classnames2[\"default\"])(children.props.className, 'in')\n });\n } else {\n child = children;\n }\n\n return _react2[\"default\"].createElement(\n _BaseOverlay2[\"default\"],\n _extends({}, props, {\n transition: transition\n }),\n child\n );\n };\n\n return Overlay;\n}(_react.Component);\n\nOverlay.propTypes = propTypes;\nOverlay.defaultProps = defaultProps;\n\nexports[\"default\"] = Overlay;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Overlay.js\n// module id = 112\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _RootCloseWrapper = require('./RootCloseWrapper');\n\nvar _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\n\nvar propTypes = _extends({}, _Position2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 点击其他地方,是否隐藏overlay\n */\n rootClose: _propTypes2[\"default\"].bool,\n\n /**\n * 当rootClose为true的时候,触发的隐藏方法\n * @type func\n */\n onHide: function onHide(props) {\n var propType = _propTypes2[\"default\"].func;\n if (props.rootClose) {\n propType = propType.isRequired;\n }\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return propType.apply(undefined, [props].concat(args));\n },\n\n\n /**\n * 过渡动画组件\n */\n transition: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.elementType, _propTypes2[\"default\"].func]),\n\n /**\n * overlay添加动画前的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * 开始动画的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * 渲染之后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * 关闭开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * 关闭时的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * 关闭后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n});\n\nfunction noop() {}\n\nvar defaultProps = {\n show: false,\n rootClose: true\n};\n\n/**\n * 悬浮组件\n */\n\nvar BaseOverlay = function (_Component) {\n _inherits(BaseOverlay, _Component);\n\n function BaseOverlay(props, context) {\n _classCallCheck(this, BaseOverlay);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.state = { exited: !props.show };\n _this.onHiddenListener = _this.handleHidden.bind(_this);\n return _this;\n }\n\n BaseOverlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n BaseOverlay.prototype.handleHidden = function handleHidden() {\n this.setState({ exited: true });\n\n if (this.props.onExited) {\n var _props;\n\n (_props = this.props).onExited.apply(_props, arguments);\n }\n };\n\n BaseOverlay.prototype.render = function render() {\n var _props2 = this.props,\n container = _props2.container,\n containerPadding = _props2.containerPadding,\n target = _props2.target,\n placement = _props2.placement,\n secondPlacement = _props2.secondPlacement,\n shouldUpdatePosition = _props2.shouldUpdatePosition,\n rootClose = _props2.rootClose,\n positionLeft = _props2.positionLeft,\n positionTop = _props2.positionTop,\n children = _props2.children,\n Transition = _props2.transition,\n props = _objectWithoutProperties(_props2, ['container', 'containerPadding', 'target', 'placement', 'secondPlacement', 'shouldUpdatePosition', 'rootClose', 'positionLeft', 'positionTop', 'children', 'transition']);\n\n // Don't un-render the overlay while it's transitioning out.\n\n\n var mountOverlay = props.show || Transition && !this.state.exited;\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = _react2[\"default\"].createElement(\n _Position2[\"default\"],\n {\n container: container,\n containerPadding: containerPadding,\n target: target,\n positionLeft: positionLeft,\n positionTop: positionTop,\n placement: placement,\n secondPlacement: secondPlacement,\n shouldUpdatePosition: shouldUpdatePosition },\n child\n );\n\n if (Transition) {\n var onExit = props.onExit,\n onExiting = props.onExiting,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n\n child = _react2[\"default\"].createElement(\n Transition,\n {\n 'in': props.show,\n transitionAppear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.onHiddenListener,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n child\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n child = _react2[\"default\"].createElement(\n _RootCloseWrapper2[\"default\"],\n { onRootClose: props.onHide },\n child\n );\n }\n\n if (isReact16) {\n return child;\n } else {\n return _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n { container: container },\n child\n );\n }\n };\n\n return BaseOverlay;\n}(_react.Component);\n\nBaseOverlay.propTypes = propTypes;\nBaseOverlay.defaultProps = defaultProps;\n\nexports[\"default\"] = BaseOverlay;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/BaseOverlay.js\n// module id = 113\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _calculatePosition = require('./utils/calculatePosition');\n\nvar _calculatePosition2 = _interopRequireDefault(_calculatePosition);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _ownerWindow = require('./utils/ownerWindow');\n\nvar _ownerWindow2 = _interopRequireDefault(_ownerWindow);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * 要设置定位的元素\n */\n target: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n\n /**\n * 存放的容器元素\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n /**\n * 容器padding值\n */\n containerPadding: _propTypes2[\"default\"].number,\n /**\n * 位置设置\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 第二优先级位置设置\n */\n secondPlacement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 是否需要更新位置\n */\n shouldUpdatePosition: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n};\n\n/**\n * 计算子组件的位置的组件\n */\n\nvar Position = function (_Component) {\n _inherits(Position, _Component);\n\n function Position(props, context) {\n _classCallCheck(this, Position);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n _this.needsFlush = false;\n _this.lastTarget = null;\n\n _this.getTarget = _this.getTarget.bind(_this);\n _this.maybeUpdatePosition = _this.maybeUpdatePosition.bind(_this);\n _this.updatePosition = _this.updatePosition.bind(_this);\n _this.onWindowResize = _this.onWindowResize.bind(_this);\n return _this;\n }\n\n Position.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._isMounted = true;\n\n this._windowResizeListener = (0, _addEventListener2[\"default\"])((0, _ownerWindow2[\"default\"])(this), 'resize', function () {\n return _this2.onWindowResize();\n });\n\n this.updatePosition(this.getTarget());\n };\n\n Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this.needsFlush = true;\n };\n\n Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.needsFlush) {\n this.needsFlush = false;\n\n this.maybeUpdatePosition();\n }\n };\n\n Position.prototype.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n\n if (this._windowResizeListener) {\n this._windowResizeListener.remove();\n }\n };\n\n /**\n * 获取要设置位置的子元素\n */\n\n\n Position.prototype.getTarget = function getTarget() {\n var target = this.props.target;\n\n var targetElement = typeof target === 'function' ? target() : target;\n return targetElement && _reactDom2[\"default\"].findDOMNode(targetElement) || null;\n };\n\n /**\n * 验证是否需要更新位置\n */\n\n\n Position.prototype.maybeUpdatePosition = function maybeUpdatePosition(placementChanged) {\n var target = this.getTarget();\n if (!this.props.shouldUpdatePosition && target === this.lastTarget && !placementChanged) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n Position.prototype.onWindowResize = function onWindowResize() {\n var _this3 = this;\n\n (0, _requestAnimationFrame2[\"default\"])(function () {\n return _this3.updatePosition(_this3.getTarget());\n });\n };\n\n /**\n * 更新位置\n */\n\n Position.prototype.updatePosition = function updatePosition(target) {\n var _props = this.props,\n placement = _props.placement,\n secondPlacement = _props.secondPlacement;\n\n\n if (!this._isMounted) {\n return;\n }\n this.lastTarget = target;\n\n if (!target) {\n this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n\n return;\n }\n\n var overlay = _reactDom2[\"default\"].findDOMNode(this);\n var container = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n\n // 若设置了第二渲染位置,placement的优先级是: placement > secondPlacement > placement的反方向\n if (\"secondPlacement\" in this.props && secondPlacement) {\n var initPosition = (0, _calculatePosition2[\"default\"])(placement, overlay, target, container, this.props.containerPadding);\n if (initPosition.inverseArrow) {\n var secondPosition = (0, _calculatePosition2[\"default\"])(secondPlacement, overlay, target, container, this.props.containerPadding);\n\n if (secondPosition.inverseArrow) {\n this.setState(_extends({}, initPosition, {\n renderPlacement: placement\n }));\n } else {\n this.setState(_extends({}, secondPosition, {\n renderPlacement: secondPlacement\n }));\n }\n } else {\n this.setState(_extends({}, initPosition, {\n renderPlacement: placement\n }));\n }\n } else {\n this.setState((0, _calculatePosition2[\"default\"])(placement, overlay, target, container, this.props.containerPadding));\n }\n };\n\n Position.prototype.render = function render() {\n var _props2 = this.props,\n children = _props2.children,\n className = _props2.className,\n props = _objectWithoutProperties(_props2, ['children', 'className']);\n\n var _state = this.state,\n positionLeft = _state.positionLeft,\n positionTop = _state.positionTop,\n inverseArrow = _state.inverseArrow,\n width = _state.width,\n arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop', 'inverseArrow', 'width']);\n\n // These should not be forwarded to the child.\n\n\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n var child = _react2[\"default\"].Children.only(children);\n return (0, _react.cloneElement)(child, _extends({\n className: (0, _classnames2[\"default\"])(className, child.props.className, { 'inverse-arrow': inverseArrow })\n }, arrowPosition, {\n style: _extends({}, child.props.style, {\n width: width,\n left: positionLeft,\n top: positionTop\n })\n }));\n };\n\n return Position;\n}(_react.Component);\n\nPosition.propTypes = propTypes;\nPosition.defaultProps = defaultProps;\n\nexports[\"default\"] = Position;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Position.js\n// module id = 114\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/requestAnimationFrame.js\n// module id = 115\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = calculatePosition;\n\nvar _offset = require('dom-helpers/query/offset');\n\nvar _offset2 = _interopRequireDefault(_offset);\n\nvar _position = require('dom-helpers/query/position');\n\nvar _position2 = _interopRequireDefault(_position);\n\nvar _scrollTop = require('dom-helpers/query/scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getContainerDimensions(containerNode) {\n var width = void 0,\n height = void 0,\n scroll = void 0;\n\n if (containerNode.tagName === 'BODY') {\n width = document.body.scrollWidth;\n height = document.body.scrollHeight;\n\n scroll = (0, _scrollTop2[\"default\"])((0, _ownerDocument2[\"default\"])(containerNode).documentElement) || (0, _scrollTop2[\"default\"])(containerNode);\n } else {\n var _getOffset = (0, _offset2[\"default\"])(containerNode);\n\n width = _getOffset.width;\n height = _getOffset.height;\n\n scroll = (0, _scrollTop2[\"default\"])(containerNode);\n }\n\n return { width: width, height: height, scroll: scroll };\n}\n\nfunction getTopDelta(top, overlayHeight, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerScroll = containerDimensions.scroll;\n var containerHeight = containerDimensions.height;\n\n var topEdgeOffset = top - padding - containerScroll;\n var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(left, overlayWidth, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerWidth = containerDimensions.width;\n\n var leftEdgeOffset = left - padding;\n var rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nfunction calculatePosition(placement, overlayNode, target, container, padding) {\n var childOffset = container.tagName === 'BODY' ? (0, _offset2[\"default\"])(target) : (0, _position2[\"default\"])(target, container);\n\n var _getOffset2 = (0, _offset2[\"default\"])(overlayNode),\n overlayHeight = _getOffset2.height,\n overlayWidth = _getOffset2.width;\n\n var positionLeft = void 0,\n positionTop = void 0,\n arrowOffsetLeft = void 0,\n arrowOffsetTop = void 0,\n inverseArrow = void 0;\n\n if (/^left|^right/.test(placement)) {\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n\n if (/left/.test(placement)) {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n if (/Top/.test(placement)) {\n positionTop = childOffset.top;\n } else if (/Bottom/.test(placement)) {\n positionTop = childOffset.top + childOffset.height - overlayHeight;\n }\n\n var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n //内容超出\n if (leftDelta > 0) {\n inverseArrow = true;\n positionLeft = childOffset.left + childOffset.width + 6;\n } else if (leftDelta < 0) {\n inverseArrow = true;\n positionLeft = childOffset.left - overlayWidth - 6;\n } else {\n positionLeft += leftDelta;\n }\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';\n arrowOffsetLeft = void 0;\n } else if (/^top|^bottom/.test(placement)) {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n\n if (/top/.test(placement)) {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n if (/Left/.test(placement)) {\n positionLeft = childOffset.left;\n } else if (/Right/.test(placement)) {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth);\n }\n\n var _leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n var _topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n positionLeft += _leftDelta;\n arrowOffsetLeft = 50 * (1 - 2 * _leftDelta / overlayWidth) + '%';\n arrowOffsetTop = void 0;\n if (_topDelta > 0) {\n inverseArrow = true;\n positionTop = childOffset.top + childOffset.height + 6;\n } else if (_topDelta < 0) {\n inverseArrow = true;\n positionTop = childOffset.top - overlayHeight - 6;\n } else {\n positionTop += _topDelta;\n }\n\n // if((positionLeft + panelWidth) > docWidth)\n // left = docWidth - panelWidth - 10;\n // if(left < 0)\n // left = 0;\n\n // if((top + panelHeight) > docHeight) {\n // top = docHeight - panelHeight - 10;\n // }\n\n // if(top < 0)\n // top = 0;\n } else {\n throw new Error('calcOverlayPosition(): No such placement of \"' + placement + '\" found.');\n }\n\n return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop, inverseArrow: inverseArrow, width: overlayWidth };\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/calculatePosition.js\n// module id = 116\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offset;\n\nvar _contains = _interopRequireDefault(require(\"./contains\"));\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nfunction offset(node) {\n var doc = (0, _ownerDocument.default)(node),\n win = (0, _isWindow.default)(doc),\n docElem = doc && doc.documentElement,\n box = {\n top: 0,\n left: 0,\n height: 0,\n width: 0\n };\n if (!doc) return; // Make sure it's not a disconnected DOM node\n\n if (!(0, _contains.default)(docElem, node)) return box;\n if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); // IE8 getBoundingClientRect doesn't support width & height\n\n box = {\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n width: (box.width == null ? node.offsetWidth : box.width) || 0,\n height: (box.height == null ? node.offsetHeight : box.height) || 0\n };\n return box;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/offset.js\n// module id = 117\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/isWindow.js\n// module id = 118\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = position;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _offset = _interopRequireDefault(require(\"./offset\"));\n\nvar _offsetParent = _interopRequireDefault(require(\"./offsetParent\"));\n\nvar _scrollTop = _interopRequireDefault(require(\"./scrollTop\"));\n\nvar _scrollLeft = _interopRequireDefault(require(\"./scrollLeft\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction position(node, offsetParent) {\n var parentOffset = {\n top: 0,\n left: 0\n },\n offset; // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n\n if ((0, _style.default)(node, 'position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n offsetParent = offsetParent || (0, _offsetParent.default)(node);\n offset = (0, _offset.default)(node);\n if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset.default)(offsetParent);\n parentOffset.top += parseInt((0, _style.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop.default)(offsetParent) || 0;\n parentOffset.left += parseInt((0, _style.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft.default)(offsetParent) || 0;\n } // Subtract parent offsets and node margins\n\n\n return (0, _extends2.default)({}, offset, {\n top: offset.top - parentOffset.top - (parseInt((0, _style.default)(node, 'marginTop'), 10) || 0),\n left: offset.left - parentOffset.left - (parseInt((0, _style.default)(node, 'marginLeft'), 10) || 0)\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/position.js\n// module id = 119\n// module chunks = 0","function _extends() {\n module.exports = _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 return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/extends.js\n// module id = 120\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offsetParent;\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction offsetParent(node) {\n var doc = (0, _ownerDocument.default)(node),\n offsetParent = node && node.offsetParent;\n\n while (offsetParent && nodeName(node) !== 'html' && (0, _style.default)(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || doc.documentElement;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/offsetParent.js\n// module id = 121\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/scrollTop.js\n// module id = 122\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/scrollLeft.js\n// module id = 123\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (componentOrElement) {\n return (0, _ownerWindow2[\"default\"])(_reactDom2[\"default\"].findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerWindow = require('dom-helpers/ownerWindow');\n\nvar _ownerWindow2 = _interopRequireDefault(_ownerWindow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/ownerWindow.js\n// module id = 124\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = ownerWindow;\n\nvar _ownerDocument = _interopRequireDefault(require(\"./ownerDocument\"));\n\nfunction ownerWindow(node) {\n var doc = (0, _ownerDocument.default)(node);\n return doc && doc.defaultView || doc.parentWindow;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/ownerWindow.js\n// module id = 125\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (node, event, handler, capture) {\n (0, _on2[\"default\"])(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2[\"default\"])(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/addEventListener.js\n// module id = 126\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar off = function off() {};\n\nif (_inDOM.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nvar _default = off;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/off.js\n// module id = 127\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n onRootClose: _propTypes2[\"default\"].func,\n children: _propTypes2[\"default\"].element,\n /**\n * 是否禁用\n */\n disabled: _propTypes2[\"default\"].bool,\n /**\n * 触发事件选择\n */\n event: _propTypes2[\"default\"].oneOf(['click', 'mousedown'])\n};\n\nvar defaultProps = {\n event: 'click'\n};\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar RootCloseWrapper = function (_Component) {\n _inherits(RootCloseWrapper, _Component);\n\n function RootCloseWrapper(props, context) {\n _classCallCheck(this, RootCloseWrapper);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.handleMouseCapture = function (e) {\n _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2[\"default\"])(_reactDom2[\"default\"].findDOMNode(_this), e.target);\n };\n\n _this.handleMouse = function () {\n if (!_this.preventMouseRootClose && _this.props.onRootClose) {\n _this.props.onRootClose();\n }\n };\n\n _this.handleKeyUp = function (e) {\n if (e.keyCode === 27 && _this.props.onRootClose) {\n _this.props.onRootClose();\n }\n };\n\n _this.preventMouseRootClose = false;\n\n _this.addEventListeners = _this.addEventListeners.bind(_this);\n _this.removeEventListeners = _this.removeEventListeners.bind(_this);\n\n return _this;\n }\n\n RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.disabled) {\n this.addEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (!this.props.disabled && prevProps.disabled) {\n this.addEventListeners();\n } else if (this.props.disabled && !prevProps.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.addEventListeners = function addEventListeners() {\n var event = this.props.event;\n\n var doc = (0, _ownerDocument2[\"default\"])(this);\n\n // 避免react的监听事件触发引起判断的不准确\n this.documentMouseCaptureListener = (0, _addEventListener2[\"default\"])(doc, event, this.handleMouseCapture, true);\n\n this.documentMouseListener = (0, _addEventListener2[\"default\"])(doc, event, this.handleMouse);\n\n this.documentKeyupListener = (0, _addEventListener2[\"default\"])(doc, 'keyup', this.handleKeyUp);\n };\n\n RootCloseWrapper.prototype.removeEventListeners = function removeEventListeners() {\n if (this.documentMouseCaptureListener) {\n this.documentMouseCaptureListener.remove();\n }\n\n if (this.documentMouseListener) {\n this.documentMouseListener.remove();\n }\n\n if (this.documentKeyupListener) {\n this.documentKeyupListener.remove();\n }\n };\n\n RootCloseWrapper.prototype.render = function render() {\n return this.props.children;\n };\n\n return RootCloseWrapper;\n}(_react.Component);\n\nRootCloseWrapper.propTypes = propTypes;\n\nRootCloseWrapper.defaultProps = defaultProps;\n\nexports[\"default\"] = RootCloseWrapper;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/RootCloseWrapper.js\n// module id = 128\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the has component faded in\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component fades out\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has faded out\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false\n};\n\nvar Fade = function (_React$Component) {\n _inherits(Fade, _React$Component);\n\n function Fade() {\n _classCallCheck(this, Fade);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Fade.prototype.render = function render() {\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, this.props, {\n className: (0, _classnames2[\"default\"])(this.props.className, 'fade'),\n enteredClassName: 'in',\n enteringClassName: 'in'\n }));\n };\n\n return Fade;\n}(_react2[\"default\"].Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports[\"default\"] = Fade;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Fade.js\n// module id = 129\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar transitionEndEvent = _properties2[\"default\"].end;\n\n//设置状态码\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\nvar propTypes = {\n /**\n * 是否触发动画\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * 不显示的时候是否移除组件\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * 如果设置为默认显示,挂载时显示动画\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * 设置超时时间,防止出现问题,可设置为>=动画时间\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * 退出组件时添加的class\n */\n exitedClassName: _propTypes2[\"default\"].string,\n /**\n * 退出组件中添加的class\n */\n exitingClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画后添加的class\n */\n enteredClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画时添加的class\n */\n enteringClassName: _propTypes2[\"default\"].string,\n\n /**\n * 进入动画开始时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * 进入动画中的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * 进入动画后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * 退出动画开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * 退出动画中的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * 退出动画后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n \"in\": false,\n unmountOnExit: false,\n transitionAppear: false,\n timeout: 5000,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\n/**\n * 动画组件\n */\n\nvar Transition = function (_Component) {\n _inherits(Transition, _Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n var initialStatus = void 0;\n if (props[\"in\"]) {\n // 在componentdidmount时开始执行动画\n initialStatus = props.transitionAppear ? EXITED : ENTERED;\n } else {\n initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;\n }\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n\n _this.performEnter = _this.performEnter.bind(_this);\n _this.performExit = _this.performExit.bind(_this);\n _this.cancelNextCallback = _this.cancelNextCallback.bind(_this);\n _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);\n _this.safeSetState = _this.safeSetState.bind(_this);\n _this.setNextCallback = _this.setNextCallback.bind(_this);\n\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n if (this.props.transitionAppear && this.props[\"in\"]) {\n this.performEnter(this.props);\n }\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps[\"in\"] && this.props.unmountOnExit) {\n if (this.state.status === UNMOUNTED) {\n // 在componentDidUpdate执行动画.\n this.setState({ status: EXITED });\n }\n } else {\n this._needsUpdate = true;\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n var status = this.state.status;\n\n if (this.props.unmountOnExit && status === EXITED) {\n // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态\n if (this.props[\"in\"]) {\n this.performEnter(this.props);\n } else {\n this.setState({ status: UNMOUNTED });\n }\n\n return;\n }\n\n // 确保只响应prop变化\n if (this._needsUpdate) {\n this._needsUpdate = false;\n\n if (this.props[\"in\"]) {\n if (status === EXITING) {\n this.performEnter(this.props);\n } else if (status === EXITED) {\n this.performEnter(this.props);\n }\n // 其他,当我们已经输入或输出\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.performExit(this.props);\n }\n // 我们已经输入或输出完成\n }\n }\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.performEnter = function performEnter(props) {\n var _this2 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n // 这里接收新props\n props.onEnter(node);\n\n this.safeSetState({ status: ENTERING }, function () {\n _this2.props.onEntering(node);\n\n _this2.onTransitionEnd(node, function () {\n _this2.safeSetState({ status: ENTERED }, function () {\n _this2.props.onEntered(node);\n });\n });\n });\n };\n\n Transition.prototype.performExit = function performExit(props) {\n var _this3 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n props.onExit(node);\n\n this.safeSetState({ status: EXITING }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, function () {\n _this3.safeSetState({ status: EXITED }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n Transition.prototype.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n Transition.prototype.safeSetState = function safeSetState(nextState, callback) {\n // 确保在组件销毁后挂起的setState被消除\n this.setState(nextState, this.setNextCallback(callback));\n };\n\n Transition.prototype.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {\n this.setNextCallback(handler);\n\n if (node) {\n (0, _on2[\"default\"])(node, transitionEndEvent, this.nextCallback);\n setTimeout(this.nextCallback, this.props.timeout);\n } else {\n setTimeout(this.nextCallback, 0);\n }\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2[\"default\"].Children.only(children);\n return _react2[\"default\"].cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2[\"default\"])(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react.Component);\n\nTransition.propTypes = propTypes;\n\nTransition.defaultProps = defaultProps;\n\nexports[\"default\"] = Transition;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Transition.js\n// module id = 130\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n\nexports[\"default\"] = createChainedFunction;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/createChainedFunction.js\n// module id = 131\n// module chunks = 0","'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\nexports.getComponentLocale = getComponentLocale;\nexports.getLocaleCode = getLocaleCode;\nfunction getComponentLocale(props, context, componentName, getDefaultLocale) {\n var locale = {};\n if (context && context.beeLocale && context.beeLocale[componentName]) {\n locale = context.beeLocale[componentName];\n } else {\n var defaultLocale = getDefaultLocale();\n\n locale = defaultLocale[\"default\"] || defaultLocale;\n }\n\n var result = _extends({}, locale, props.locale);\n if (props.locale) {\n result.lang = _extends({}, locale.lang, props.locale.lang);\n } else {\n result.lang = _extends({}, locale.lang);\n }\n\n return result;\n}\n\nfunction getLocaleCode(context) {\n var localeCode = context.beeLocale && context.beeLocale.lang;\n // Had use LocaleProvide but didn't set locale\n if (context.beeLocale && context.beeLocale.exist && !localeCode) {\n return 'zh-cn';\n }\n return localeCode;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-locale/build/tool.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n 'lang': 'zh-cn',\n 'copy': '复制',\n 'cut': '剪切',\n 'copyReady': '已复制',\n 'cutReady': '已剪切',\n 'copyToClipboard': '复制到剪切板',\n 'close': '关闭',\n\n 'en-us': {\n 'copy': 'copy',\n 'cut': 'cut',\n 'copyReady': 'copied',\n 'cutReady': 'cut',\n 'copyToClipboard': 'copy to clipboard',\n 'close': 'close'\n },\n 'zh-tw': {\n 'copy': '複製',\n 'cut': '剪切',\n 'copyReady': '已複製',\n 'cutReady': '已剪切',\n 'copyToClipboard': '複製到剪切板',\n 'close': '關閉'\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/i18n.js\n// module id = 133\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require('./Modal');\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Modal2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/index.js\n// module id = 134\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _events = require('dom-helpers/events');\n\nvar _events2 = _interopRequireDefault(_events);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _Modal = require('bee-overlay/build/Modal');\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nvar _isOverflowing = require('bee-overlay/build/utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _beeTransition = require('bee-transition');\n\nvar _ModalBody = require('./ModalBody');\n\nvar _ModalBody2 = _interopRequireDefault(_ModalBody);\n\nvar _ModalDialog = require('./ModalDialog');\n\nvar _ModalDialog2 = _interopRequireDefault(_ModalDialog);\n\nvar _ModalFooter = require('./ModalFooter');\n\nvar _ModalFooter2 = _interopRequireDefault(_ModalFooter);\n\nvar _ModalHeader = require('./ModalHeader');\n\nvar _ModalHeader2 = _interopRequireDefault(_ModalHeader);\n\nvar _ModalTitle = require('./ModalTitle');\n\nvar _ModalTitle2 = _interopRequireDefault(_ModalTitle);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = _extends({}, _Modal2[\"default\"].propTypes, _ModalDialog2[\"default\"].propTypes, {\n\n /**\n * 是否弹出遮罩层/遮罩层点击是否触发关闭\n */\n backdrop: _propTypes2[\"default\"].oneOf(['static', true, false]),\n\n /**\n * 点击遮罩层是否允许关闭\n */\n backdropClosable: _propTypes2[\"default\"].bool,\n /**\n * esc触发关闭\n */\n keyboard: _propTypes2[\"default\"].bool,\n\n /**\n * 显隐时是否使用动画\n */\n animation: _propTypes2[\"default\"].bool,\n\n /**\n * 传递给模态框的样式\n */\n dialogComponentClass: _tinperBeeCore.elementType,\n\n /**\n * 自动设置焦点\n */\n autoFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 防止打开时焦点离开模态框\n */\n enforceFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 是否打开模态框\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n onEnter: _propTypes2[\"default\"].func,\n\n onEntering: _propTypes2[\"default\"].func,\n\n onEntered: _propTypes2[\"default\"].func,\n\n onExit: _propTypes2[\"default\"].func,\n\n onExiting: _propTypes2[\"default\"].func,\n\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * 要添加到的元素\n */\n container: _Modal2[\"default\"].propTypes.container,\n\n /**\n * 尺寸\n */\n size: _propTypes2[\"default\"].oneOf([\"sm\", \"lg\", \"xlg\", \"\"]),\n /**\n * 自定义宽度\n */\n width: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string])\n});\n\nvar defaultProps = _extends({}, _Modal2[\"default\"].defaultProps, {\n backdropClosable: true,\n animation: true,\n dialogComponentClass: _ModalDialog2[\"default\"],\n clsPrefix: 'u-modal'\n});\n\nvar childContextTypes = {\n $u_modal: _propTypes2[\"default\"].shape({\n onHide: _propTypes2[\"default\"].func\n })\n};\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal(props, context) {\n _classCallCheck(this, Modal);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleEntering = _this.handleEntering.bind(_this);\n _this.handleExited = _this.handleExited.bind(_this);\n _this.handleWindowResize = _this.handleWindowResize.bind(_this);\n _this.handleDialogClick = _this.handleDialogClick.bind(_this);\n\n _this.state = {\n style: {}\n };\n return _this;\n }\n\n Modal.prototype.getChildContext = function getChildContext() {\n return {\n $u_modal: {\n onHide: this.props.onHide\n }\n };\n };\n\n Modal.prototype.componentWillUnmount = function componentWillUnmount() {\n // Clean up the listener if we need to.\n this.handleExited();\n };\n\n Modal.prototype.handleEntering = function handleEntering() {\n // FIXME: This should work even when animation is disabled.\n _events2[\"default\"].on(window, 'resize', this.handleWindowResize);\n this.updateStyle();\n };\n\n Modal.prototype.handleExited = function handleExited() {\n // FIXME: This should work even when animation is disabled.\n _events2[\"default\"].off(window, 'resize', this.handleWindowResize);\n };\n\n Modal.prototype.handleWindowResize = function handleWindowResize() {\n this.updateStyle();\n };\n\n Modal.prototype.handleDialogClick = function handleDialogClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n this.props.onHide();\n };\n\n Modal.prototype.updateStyle = function updateStyle() {\n if (!_inDOM2[\"default\"] || !this._modal) {\n return;\n }\n\n var dialogNode = this._modal.getDialogElement();\n var dialogHeight = dialogNode.scrollHeight;\n\n var document = (0, _ownerDocument2[\"default\"])(dialogNode);\n var bodyIsOverflowing = (0, _isOverflowing2[\"default\"])(_reactDom2[\"default\"].findDOMNode(this.props.container || document.body));\n var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;\n\n this.setState({\n style: {\n paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2[\"default\"])() : undefined,\n paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2[\"default\"])() : undefined\n }\n });\n };\n\n Modal.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n backdrop = _props.backdrop,\n backdropClosable = _props.backdropClosable,\n animation = _props.animation,\n show = _props.show,\n Dialog = _props.dialogComponentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n _props$style = _props.style,\n style = _props$style === undefined ? {} : _props$style,\n size = _props.size,\n width = _props.width,\n children = _props.children,\n onEntering = _props.onEntering,\n onExited = _props.onExited,\n props = _objectWithoutProperties(_props, ['backdrop', 'backdropClosable', 'animation', 'show', 'dialogComponentClass', 'className', 'clsPrefix', 'style', 'size', 'width', 'children', 'onEntering', 'onExited']);\n\n var _splitComponent = (0, _tinperBeeCore.splitComponent)(props, _Modal2[\"default\"]),\n _splitComponent2 = _slicedToArray(_splitComponent, 2),\n baseModalProps = _splitComponent2[0],\n dialogProps = _splitComponent2[1];\n\n var inClassName = show && !animation && 'in';\n\n var backdropClasses = _defineProperty({}, clsPrefix + '-backdrop', true);\n var containerClasses = _defineProperty({}, clsPrefix + '-open', true);\n if (Number(width)) width += 'px';\n\n var styleRes = _extends({}, this.state.style, style);\n if (width) {\n _extends(styleRes, { width: width });\n }\n return _react2[\"default\"].createElement(\n _Modal2[\"default\"],\n _extends({}, baseModalProps, {\n ref: function ref(c) {\n _this2._modal = c;\n },\n show: show,\n onEntering: (0, _tinperBeeCore.createChainedFunction)(onEntering, this.handleEntering),\n onExited: (0, _tinperBeeCore.createChainedFunction)(onExited, this.handleExited),\n backdrop: backdrop,\n backdropClassName: (0, _classnames2[\"default\"])(backdropClasses, inClassName),\n containerClassName: (0, _classnames2[\"default\"])(containerClasses),\n transition: animation ? _beeTransition.Fade : undefined,\n dialogTransitionTimeout: Modal.TRANSITION_DURATION,\n backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION\n }),\n _react2[\"default\"].createElement(\n Dialog,\n _extends({}, dialogProps, {\n style: styleRes,\n className: (0, _classnames2[\"default\"])(className, inClassName),\n onClick: backdrop === true && !!backdropClosable ? this.handleDialogClick : null,\n size: size\n }),\n children\n )\n );\n };\n\n return Modal;\n}(_react2[\"default\"].Component);\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.childContextTypes = childContextTypes;\n\nModal.Body = _ModalBody2[\"default\"];\nModal.Header = _ModalHeader2[\"default\"];\nModal.Title = _ModalTitle2[\"default\"];\nModal.Footer = _ModalFooter2[\"default\"];\n\nModal.Dialog = _ModalDialog2[\"default\"];\n\nModal.TRANSITION_DURATION = 200000;\nModal.BACKDROP_TRANSITION_DURATION = 10000;\n\nexports[\"default\"] = Modal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/Modal.js\n// module id = 135\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nexports.on = _on.default;\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nexports.off = _off.default;\n\nvar _filter = _interopRequireDefault(require(\"./filter\"));\n\nexports.filter = _filter.default;\n\nvar _listen = _interopRequireDefault(require(\"./listen\"));\n\nexports.listen = _listen.default;\nvar _default = {\n on: _on.default,\n off: _off.default,\n filter: _filter.default,\n listen: _listen.default\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/index.js\n// module id = 136\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = filterEvents;\n\nvar _contains = _interopRequireDefault(require(\"../query/contains\"));\n\nvar _querySelectorAll = _interopRequireDefault(require(\"../query/querySelectorAll\"));\n\nfunction filterEvents(selector, handler) {\n return function filterHandler(e) {\n var top = e.currentTarget,\n target = e.target,\n matches = (0, _querySelectorAll.default)(top, selector);\n if (matches.some(function (match) {\n return (0, _contains.default)(match, target);\n })) handler.call(this, e);\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/filter.js\n// module id = 137\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = qsa;\n// Zepto.js\n// (c) 2010-2015 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\nvar simpleSelectorRE = /^[\\w-]*$/;\nvar toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n\nfunction qsa(element, selector) {\n var maybeID = selector[0] === '#',\n maybeClass = selector[0] === '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n isSimple = simpleSelectorRE.test(nameOnly),\n found;\n\n if (isSimple) {\n if (maybeID) {\n element = element.getElementById ? element : document;\n return (found = element.getElementById(nameOnly)) ? [found] : [];\n }\n\n if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));\n return toArray(element.getElementsByTagName(selector));\n }\n\n return toArray(element.querySelectorAll(selector));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/querySelectorAll.js\n// module id = 138\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nvar listen = function listen() {};\n\nif (_inDOM.default) {\n listen = function listen(node, eventName, handler, capture) {\n (0, _on.default)(node, eventName, handler, capture);\n return function () {\n (0, _off.default)(node, eventName, handler, capture);\n };\n };\n}\n\nvar _default = listen;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/listen.js\n// module id = 139\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollbarSize;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar size;\n\nfunction scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (_inDOM.default) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/scrollbarSize.js\n// module id = 140\n// module chunks = 0","'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; }; /*eslint-disable react/prop-types */\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _ModalManager = require('./ModalManager');\n\nvar _ModalManager2 = _interopRequireDefault(_ModalManager);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _addFocusListener = require('./utils/addFocusListener');\n\nvar _addFocusListener2 = _interopRequireDefault(_addFocusListener);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _activeElement = require('dom-helpers/activeElement');\n\nvar _activeElement2 = _interopRequireDefault(_activeElement);\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar modalManager = new _ModalManager2[\"default\"]();\n\n/**\n * 模态框\n */\n\nvar propTypes = _extends({}, _Portal2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 容器\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n\n /**\n * 当模态框打开时的钩子函数\n */\n onShow: _propTypes2[\"default\"].func,\n\n /**\n * 当show参数为false时触发的模态框关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n /**\n * 是否包含背景\n */\n backdrop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].bool, _propTypes2[\"default\"].oneOf(['static'])]),\n\n /**\n *返回背景组件的函数\n */\n renderBackdrop: _propTypes2[\"default\"].func,\n\n /**\n * 设置esc键特殊钩子函数\n */\n onEscapeKeyUp: _propTypes2[\"default\"].func,\n\n /**\n * 当点击背景时触发的函数\n */\n onBackdropClick: _propTypes2[\"default\"].func,\n\n /**\n * 背景的style\n */\n backdropStyle: _propTypes2[\"default\"].object,\n\n /**\n * 背景的class\n */\n backdropClassName: _propTypes2[\"default\"].string,\n\n /**\n *容器的class\n */\n containerClassName: _propTypes2[\"default\"].string,\n\n /**\n * 按esc键是否关闭模态框\n */\n keyboard: _propTypes2[\"default\"].bool,\n\n /**\n * 动画组件\n */\n transition: _tinperBeeCore.elementType,\n\n /**\n * 设置动画超时时间\n */\n dialogTransitionTimeout: _propTypes2[\"default\"].number,\n\n /**\n * 设置背景动画超时时间\n */\n backdropTransitionTimeout: _propTypes2[\"default\"].number,\n\n /**\n * 是否自动设置焦点\n */\n autoFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 防止焦点离开模态框\n */\n enforceFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 模态框进入时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * 模态框开始进入时的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * 模态框进入后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * 模态框退出时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * 模态框开始退出时的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * 模态框推出后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n *管理model状态的实例\n */\n manager: _propTypes2[\"default\"].object.isRequired\n});\n\nvar defaultProps = {\n show: false,\n backdrop: true,\n keyboard: true,\n autoFocus: true,\n enforceFocus: true,\n onHide: function onHide() {},\n manager: modalManager,\n renderBackdrop: function renderBackdrop(props) {\n return _react2[\"default\"].createElement('div', props);\n }\n};\n\nvar BaseModal = function (_Component) {\n _inherits(BaseModal, _Component);\n\n function BaseModal(props, content) {\n _classCallCheck(this, BaseModal);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.state = {\n exited: !_this.props.show\n };\n\n _this.onShow = _this.onShow.bind(_this);\n _this.onHide = _this.onHide.bind(_this);\n _this.setMountNode = _this.setMountNode.bind(_this);\n _this.handleHidden = _this.handleHidden.bind(_this);\n _this.handleBackdropClick = _this.handleBackdropClick.bind(_this);\n _this.handleDocumentKeyUp = _this.handleDocumentKeyUp.bind(_this);\n _this.checkForFocus = _this.checkForFocus.bind(_this);\n _this.focus = _this.focus.bind(_this);\n _this.restoreLastFocus = _this.restoreLastFocus.bind(_this);\n _this.enforceFocus = _this.enforceFocus.bind(_this);\n _this.getDialogElement = _this.getDialogElement.bind(_this);\n _this.isTopModal = _this.isTopModal.bind(_this);\n _this.renderBackdrop = _this.renderBackdrop.bind(_this);\n return _this;\n }\n\n BaseModal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n BaseModal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (!this.props.show && nextProps.show) {\n this.checkForFocus();\n }\n };\n\n BaseModal.prototype.componentDidMount = function componentDidMount() {\n if (this.props.show) {\n this.onShow();\n }\n this.mounted = true;\n };\n\n BaseModal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var transition = this.props.transition;\n\n\n if (prevProps.show && !this.props.show && !transition) {\n // Otherwise handleHidden will call this.\n this.onHide();\n } else if (!prevProps.show && this.props.show) {\n this.onShow();\n }\n };\n\n BaseModal.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props = this.props,\n show = _props.show,\n transition = _props.transition;\n\n\n if (show || transition && !this.state.exited) {\n this.onHide();\n }\n\n this.mounted = false;\n };\n\n BaseModal.prototype.onShow = function onShow() {\n var doc = (0, _ownerDocument2[\"default\"])(this);\n var container = (0, _getContainer2[\"default\"])(this.props.container, doc.body);\n\n this.props.manager.add(this, container, this.props.containerClassName);\n\n this._onDocumentKeyupListener = (0, _addEventListener2[\"default\"])(doc, 'keyup', this.handleDocumentKeyUp);\n\n this._onFocusinListener = (0, _addFocusListener2[\"default\"])(this.enforceFocus);\n\n this.focus();\n\n if (this.props.onShow) {\n this.props.onShow();\n }\n };\n\n BaseModal.prototype.onHide = function onHide() {\n this.props.manager.remove(this);\n\n this._onDocumentKeyupListener.remove();\n\n this._onFocusinListener.remove();\n\n this.restoreLastFocus();\n };\n\n BaseModal.prototype.setMountNode = function setMountNode(ref) {\n this.mountNode = ref ? ref.getMountNode() : ref;\n };\n\n BaseModal.prototype.handleHidden = function handleHidden() {\n this.setState({ exited: true });\n this.onHide();\n\n if (this.props.onExited) {\n var _props2;\n\n (_props2 = this.props).onExited.apply(_props2, arguments);\n }\n };\n\n BaseModal.prototype.handleBackdropClick = function handleBackdropClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (this.props.onBackdropClick) {\n this.props.onBackdropClick(e);\n }\n\n if (this.props.backdrop === true) {\n this.props.onHide();\n }\n };\n\n BaseModal.prototype.handleDocumentKeyUp = function handleDocumentKeyUp(e) {\n if (this.props.keyboard && e.keyCode === 27 && this.isTopModal()) {\n if (this.props.onEscapeKeyUp) {\n this.props.onEscapeKeyUp(e);\n }\n this.props.onHide();\n }\n };\n\n BaseModal.prototype.checkForFocus = function checkForFocus() {\n if (_inDOM2[\"default\"]) {\n this.lastFocus = (0, _activeElement2[\"default\"])();\n }\n };\n\n BaseModal.prototype.focus = function focus() {\n var autoFocus = this.props.autoFocus;\n var modalContent = this.getDialogElement();\n var current = (0, _activeElement2[\"default\"])((0, _ownerDocument2[\"default\"])(this));\n var focusInModal = current && (0, _contains2[\"default\"])(modalContent, current);\n\n if (modalContent && autoFocus && !focusInModal) {\n this.lastFocus = current;\n\n if (!modalContent.hasAttribute('tabIndex')) {\n modalContent.setAttribute('tabIndex', -1);\n (0, _warning2[\"default\"])(false, 'The modal content node does not accept focus. ' + 'For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".');\n }\n\n modalContent.focus();\n }\n };\n\n BaseModal.prototype.restoreLastFocus = function restoreLastFocus() {\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n if (this.lastFocus && this.lastFocus.focus) {\n this.lastFocus.focus();\n this.lastFocus = null;\n }\n };\n\n BaseModal.prototype.enforceFocus = function enforceFocus() {\n var enforceFocus = this.props.enforceFocus;\n\n\n if (!enforceFocus || !this.mounted || !this.isTopModal()) {\n return;\n }\n\n var active = (0, _activeElement2[\"default\"])((0, _ownerDocument2[\"default\"])(this));\n var modal = this.getDialogElement();\n\n if (modal && modal !== active && !(0, _contains2[\"default\"])(modal, active)) {\n modal.focus();\n }\n };\n\n //instead of a ref, which might conflict with one the parent applied.\n\n\n BaseModal.prototype.getDialogElement = function getDialogElement() {\n var node = this.refs.modal;\n return node && node.lastChild;\n };\n\n BaseModal.prototype.isTopModal = function isTopModal() {\n return this.props.manager.isTopModal(this);\n };\n\n BaseModal.prototype.renderBackdrop = function renderBackdrop() {\n var _this2 = this;\n\n var _props3 = this.props,\n backdropStyle = _props3.backdropStyle,\n backdropClassName = _props3.backdropClassName,\n renderBackdrop = _props3.renderBackdrop,\n Transition = _props3.transition,\n backdropTransitionTimeout = _props3.backdropTransitionTimeout;\n\n\n var backdropRef = function backdropRef(ref) {\n return _this2.backdrop = ref;\n };\n\n var backdrop = _react2[\"default\"].createElement('div', {\n ref: backdropRef,\n style: this.props.backdropStyle,\n className: this.props.backdropClassName,\n onClick: this.handleBackdropClick\n });\n\n if (Transition) {\n backdrop = _react2[\"default\"].createElement(\n Transition,\n { transitionAppear: true,\n 'in': this.props.show,\n timeout: backdropTransitionTimeout\n },\n renderBackdrop({\n ref: backdropRef,\n style: backdropStyle,\n className: backdropClassName,\n onClick: this.handleBackdropClick\n })\n );\n }\n\n return backdrop;\n };\n\n BaseModal.prototype.render = function render() {\n var _props4 = this.props,\n show = _props4.show,\n container = _props4.container,\n children = _props4.children,\n Transition = _props4.transition,\n backdrop = _props4.backdrop,\n dialogTransitionTimeout = _props4.dialogTransitionTimeout,\n className = _props4.className,\n style = _props4.style,\n onExit = _props4.onExit,\n onExiting = _props4.onExiting,\n onEnter = _props4.onEnter,\n onEntering = _props4.onEntering,\n onEntered = _props4.onEntered;\n\n\n var dialog = _react2[\"default\"].Children.only(children);\n\n var mountModal = show || Transition && !this.state.exited;\n if (!mountModal) {\n return null;\n }\n\n var _dialog$props = dialog.props,\n role = _dialog$props.role,\n tabIndex = _dialog$props.tabIndex;\n\n\n if (role === undefined || tabIndex === undefined) {\n dialog = (0, _react.cloneElement)(dialog, {\n role: role === undefined ? 'document' : role,\n tabIndex: tabIndex == null ? '-1' : tabIndex\n });\n }\n\n if (Transition) {\n dialog = _react2[\"default\"].createElement(\n Transition,\n {\n transitionAppear: true,\n unmountOnExit: true,\n 'in': show,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n dialog\n );\n }\n\n return _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n {\n ref: this.setMountNode,\n container: container\n },\n _react2[\"default\"].createElement(\n 'div',\n {\n ref: 'modal',\n role: role || 'dialog',\n style: style,\n className: className\n },\n backdrop && this.renderBackdrop(),\n dialog\n )\n );\n };\n\n return BaseModal;\n}(_react.Component);\n\n;\n\nBaseModal.Manager = _ModalManager2[\"default\"];\n\nBaseModal.propTypes = propTypes;\nBaseModal.defaultProps = defaultProps;\n\nexports[\"default\"] = BaseModal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Modal.js\n// module id = 141\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _class = require('dom-helpers/class');\n\nvar _class2 = _interopRequireDefault(_class);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _isOverflowing = require('./utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _manageAriaHidden = require('./utils/manageAriaHidden');\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 findIndexOf(arr, cb) {\n var idx = -1;\n arr.some(function (d, i) {\n if (cb(d, i)) {\n idx = i;\n return true;\n }\n });\n return idx;\n}\n\n//查找容器\nfunction findContainer(data, modal) {\n return findIndexOf(data, function (d) {\n return d.modals.indexOf(modal) !== -1;\n });\n}\n\n//设置容器style\nfunction setContainerStyle(state, container) {\n var style = { overflow: 'hidden' };\n\n state.style = {\n overflow: container.style.overflow,\n paddingRight: container.style.paddingRight\n };\n\n if (state.overflowing) {\n //设置内边距,和添加滚动条宽度\n style.paddingRight = parseInt((0, _style2[\"default\"])(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2[\"default\"])() + 'px';\n }\n\n (0, _style2[\"default\"])(container, style);\n}\n//移除容器style\nfunction removeContainerStyle(_ref, container) {\n var style = _ref.style;\n\n\n Object.keys(style).forEach(function (key) {\n return container.style[key] = style[key];\n });\n}\n/**\n * 容器的正确状态管理和那些容器中的模态。\n */\n\nvar ModalManager = function () {\n function ModalManager() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$hideSiblingNode = _ref2.hideSiblingNodes,\n hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode,\n _ref2$handleContainer = _ref2.handleContainerOverflow,\n handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer;\n\n _classCallCheck(this, ModalManager);\n\n this.hideSiblingNodes = hideSiblingNodes;\n this.handleContainerOverflow = handleContainerOverflow;\n this.modals = [];\n this.containers = [];\n this.data = [];\n }\n\n ModalManager.prototype.add = function add(modal, container, className) {\n var modalIdx = this.modals.indexOf(modal);\n var containerIdx = this.containers.indexOf(container);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n\n if (this.hideSiblingNodes) {\n (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode);\n }\n\n if (containerIdx !== -1) {\n this.data[containerIdx].modals.push(modal);\n return modalIdx;\n }\n\n var data = {\n modals: [modal],\n //right now only the first modal of a container will have its classes applied\n classes: className ? className.split(/\\s+/) : [],\n\n overflowing: (0, _isOverflowing2[\"default\"])(container)\n };\n\n if (this.handleContainerOverflow) {\n setContainerStyle(data, container);\n }\n\n data.classes.forEach(_class2[\"default\"].addClass.bind(null, container));\n\n this.containers.push(container);\n this.data.push(data);\n\n return modalIdx;\n };\n\n ModalManager.prototype.remove = function remove(modal) {\n var modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n var containerIdx = findContainer(this.data, modal);\n var data = this.data[containerIdx];\n var container = this.containers[containerIdx];\n\n data.modals.splice(data.modals.indexOf(modal), 1);\n\n this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (data.modals.length === 0) {\n data.classes.forEach(_class2[\"default\"].removeClass.bind(null, container));\n\n if (this.handleContainerOverflow) {\n removeContainerStyle(data, container);\n }\n\n if (this.hideSiblingNodes) {\n (0, _manageAriaHidden.showSiblings)(container, modal.mountNode);\n }\n this.containers.splice(containerIdx, 1);\n this.data.splice(containerIdx, 1);\n } else if (this.hideSiblingNodes) {\n //otherwise make sure the next top modal is visible to a SR\n (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode);\n }\n };\n\n ModalManager.prototype.isTopModal = function isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n };\n\n return ModalManager;\n}();\n\nexports[\"default\"] = ModalManager;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/ModalManager.js\n// module id = 142\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _addClass = _interopRequireDefault(require(\"./addClass\"));\n\nexports.addClass = _addClass.default;\n\nvar _removeClass = _interopRequireDefault(require(\"./removeClass\"));\n\nexports.removeClass = _removeClass.default;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nexports.hasClass = _hasClass.default;\nvar _default = {\n addClass: _addClass.default,\n removeClass: _removeClass.default,\n hasClass: _hasClass.default\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/index.js\n// module id = 143\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isOverflowing;\n\nvar _isWindow = require('dom-helpers/query/isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n}\n\nfunction bodyIsOverflowing(node) {\n var doc = (0, _ownerDocument2[\"default\"])(node);\n var win = (0, _isWindow2[\"default\"])(doc);\n var fullWidth = win.innerWidth;\n\n // Support: ie8, no innerWidth\n if (!fullWidth) {\n var documentElementRect = doc.documentElement.getBoundingClientRect();\n fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n\n return doc.body.clientWidth < fullWidth;\n}\n\nfunction isOverflowing(container) {\n var win = (0, _isWindow2[\"default\"])(container);\n\n return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/isOverflowing.js\n// module id = 144\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\n\nvar BLACKLIST = ['template', 'script', 'style'];\n\nvar isHidable = function isHidable(_ref) {\n var nodeType = _ref.nodeType,\n tagName = _ref.tagName;\n return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;\n};\n\nvar siblings = function siblings(container, mount, cb) {\n mount = [].concat(mount);\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n cb(node);\n }\n });\n};\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/manageAriaHidden.js\n// module id = 145\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = addFocusListener;\n/**\n * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling\n * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8\n *\n * We only allow one Listener at a time to avoid stack overflows\n */\nfunction addFocusListener(handler) {\n var useFocusin = !document.addEventListener;\n var remove = void 0;\n\n if (useFocusin) {\n document.attachEvent('onfocusin', handler);\n remove = function remove() {\n return document.detachEvent('onfocusin', handler);\n };\n } else {\n document.addEventListener('focus', handler, true);\n remove = function remove() {\n return document.removeEventListener('focus', handler, true);\n };\n }\n\n return { remove: remove };\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/addFocusListener.js\n// module id = 146\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = activeElement;\n\nvar _ownerDocument = _interopRequireDefault(require(\"./ownerDocument\"));\n\nfunction activeElement(doc) {\n if (doc === void 0) {\n doc = (0, _ownerDocument.default)();\n }\n\n try {\n return doc.activeElement;\n } catch (e) {\n /* ie throws if no active element */\n }\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/activeElement.js\n// module id = 147\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-modal-body'\n};\n\nvar ModalBody = function (_React$Component) {\n _inherits(ModalBody, _React$Component);\n\n function ModalBody() {\n _classCallCheck(this, ModalBody);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalBody.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalBody;\n}(_react2[\"default\"].Component);\n\nModalBody.propTypes = propTypes;\nModalBody.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalBody;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalBody.js\n// module id = 148\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * 传给dialog的classname\n */\n dialogClassName: _propTypes2[\"default\"].string,\n contentStyle: _propTypes2[\"default\"].object\n\n};\n\nvar defaultProps = {\n clsPrefix: 'u-modal'\n};\n\nvar ModalDialog = function (_React$Component) {\n _inherits(ModalDialog, _React$Component);\n\n function ModalDialog() {\n _classCallCheck(this, ModalDialog);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalDialog.prototype.render = function render() {\n var _dialogClasses;\n\n var _props = this.props,\n dialogClassName = _props.dialogClassName,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n size = _props.size,\n style = _props.style,\n contentStyle = _props.contentStyle,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['dialogClassName', 'className', 'clsPrefix', 'size', 'style', 'contentStyle', 'children']);\n // const [bsProps, elementProps] = splitBsProps(props);\n //\n\n\n var uClassName = _defineProperty({}, '' + clsPrefix, true);\n\n var modalStyle = { display: 'block' };\n\n var dialogClasses = (_dialogClasses = {}, _defineProperty(_dialogClasses, uClassName, false), _defineProperty(_dialogClasses, clsPrefix + '-dialog', true), _dialogClasses);\n if (size) {\n dialogClasses[clsPrefix + '-' + size] = true;\n }\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n tabIndex: '-1',\n role: 'dialog',\n style: modalStyle,\n className: (0, _classnames2[\"default\"])(className, uClassName)\n }),\n _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(dialogClassName, dialogClasses), style: style },\n _react2[\"default\"].createElement(\n 'div',\n { style: contentStyle, className: (0, _classnames2[\"default\"])([clsPrefix + '-content']), role: 'document' },\n children\n )\n )\n );\n };\n\n return ModalDialog;\n}(_react2[\"default\"].Component);\n\nModalDialog.propTypes = propTypes;\nModalDialog.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalDialog;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalDialog.js\n// module id = 149\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-modal-footer'\n};\n\nvar ModalFooter = function (_React$Component) {\n _inherits(ModalFooter, _React$Component);\n\n function ModalFooter() {\n _classCallCheck(this, ModalFooter);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalFooter.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalFooter;\n}(_react2[\"default\"].Component);\n\nModalFooter.propTypes = propTypes;\nModalFooter.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalFooter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalFooter.js\n// module id = 150\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\n /**\n * 是否显示关闭按钮\n */\n closeButton: _propTypes2[\"default\"].bool,\n\n /**\n * 关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n 'aria-label': 'Close',\n closeButton: false,\n clsPrefix: 'u-modal-header'\n};\n\nvar contextTypes = {\n $u_modal: _propTypes2[\"default\"].shape({\n onHide: _propTypes2[\"default\"].func\n })\n};\n\nvar ModalHeader = function (_React$Component) {\n _inherits(ModalHeader, _React$Component);\n\n function ModalHeader() {\n _classCallCheck(this, ModalHeader);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalHeader.prototype.render = function render() {\n var _props = this.props,\n label = _props['aria-label'],\n closeButton = _props.closeButton,\n onHide = _props.onHide,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['aria-label', 'closeButton', 'onHide', 'className', 'clsPrefix', 'children']);\n\n var modal = this.context.$u_modal;\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }),\n closeButton && _react2[\"default\"].createElement(\n 'button',\n {\n type: 'button',\n className: 'u-close',\n 'aria-label': label,\n onClick: (0, _tinperBeeCore.createChainedFunction)(modal.onHide, onHide)\n },\n _react2[\"default\"].createElement(\n 'span',\n { 'aria-hidden': 'true' },\n _react2[\"default\"].createElement('i', { className: 'uf uf-close' })\n )\n ),\n children\n );\n };\n\n return ModalHeader;\n}(_react2[\"default\"].Component);\n\nModalHeader.propTypes = propTypes;\nModalHeader.defaultProps = defaultProps;\nModalHeader.contextTypes = contextTypes;\n\nexports[\"default\"] = ModalHeader;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalHeader.js\n// module id = 151\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'h4',\n clsPrefix: 'u-modal-title'\n};\n\nvar ModalTitle = function (_React$Component) {\n _inherits(ModalTitle, _React$Component);\n\n function ModalTitle() {\n _classCallCheck(this, ModalTitle);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalTitle.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n props = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalTitle;\n}(_react2[\"default\"].Component);\n\nModalTitle.propTypes = propTypes;\nModalTitle.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalTitle;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalTitle.js\n// module id = 152\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormControl = require('./FormControl');\n\nvar _FormControl2 = _interopRequireDefault(_FormControl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _FormControl2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/index.js\n// module id = 153\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _beeIcon = require('bee-icon');\n\nvar _beeIcon2 = _interopRequireDefault(_beeIcon);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n type: _propTypes2[\"default\"].string,\n size: _propTypes2[\"default\"].oneOf(['sm', 'md', 'lg']),\n onSearch: _propTypes2[\"default\"].func,\n onChange: _propTypes2[\"default\"].func,\n onBlur: _propTypes2[\"default\"].func,\n showClose: _propTypes2[\"default\"].bool,\n focusSelect: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n componentClass: 'input',\n clsPrefix: 'u-form-control',\n type: 'text',\n size: 'md'\n};\n\nvar FormControl = function (_React$Component) {\n _inherits(FormControl, _React$Component);\n\n function FormControl(props) {\n _classCallCheck(this, FormControl);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleSearchChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n value: value,\n showSearch: value == null || value === \"\"\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n showClose: true\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.clearValue = function () {\n var onChange = _this.props.onChange;\n\n _this.setState({\n showSearch: true,\n value: \"\",\n showClose: false\n });\n if (onChange) {\n onChange(\"\");\n }\n _this.input.focus();\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onSearch = _this$props.onSearch,\n type = _this$props.type;\n\n if (e.keyCode === 13 && type === \"search\") {\n if (onSearch) {\n onSearch(_this.input.value);\n }\n }\n };\n\n _this.handleSearch = function (e) {\n var onSearch = _this.props.onSearch;\n\n if (onSearch) onSearch(_this.input.value);\n };\n\n _this.handleBlur = function (e) {\n var value = _this.state.value;\n var onBlur = _this.props.onBlur;\n\n\n if (onBlur) {\n onBlur(value, e);\n }\n };\n\n _this.handleFocus = function (e) {\n var value = _this.state.value;\n var onFocus = _this.props.onFocus;\n\n if (_this.props.focusSelect) {\n _this.input.select();\n }\n if (onFocus) {\n onFocus(value, e);\n }\n };\n\n _this.renderInput = function () {\n var _this$props2 = _this.props,\n Component = _this$props2.componentClass,\n type = _this$props2.type,\n className = _this$props2.className,\n size = _this$props2.size,\n clsPrefix = _this$props2.clsPrefix,\n value = _this$props2.value,\n onChange = _this$props2.onChange,\n onSearch = _this$props2.onSearch,\n onBlur = _this$props2.onBlur,\n showClose = _this$props2.showClose,\n focusSelect = _this$props2.focusSelect,\n others = _objectWithoutProperties(_this$props2, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur', 'showClose', 'focusSelect']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n\n var classNames = void 0;\n if (type !== 'file') {\n classNames = (0, _classnames2[\"default\"])(clsPrefix, classes);\n }\n\n return showClose ? _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-close', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _this.state.showClose ? _react2[\"default\"].createElement(_beeIcon2[\"default\"], { onClick: _this.clearValue, type: 'uf-close-c' }) : ''\n )\n ) : _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n }));\n };\n\n _this.renderSearch = function () {\n var _this$props3 = _this.props,\n Component = _this$props3.componentClass,\n type = _this$props3.type,\n className = _this$props3.className,\n size = _this$props3.size,\n clsPrefix = _this$props3.clsPrefix,\n value = _this$props3.value,\n onChange = _this$props3.onChange,\n onSearch = _this$props3.onSearch,\n onBlur = _this$props3.onBlur,\n others = _objectWithoutProperties(_this$props3, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n classes[clsPrefix + '-search'] = true;\n\n if (type === \"search\") {\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-search', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n onChange: _this.handleSearchChange,\n value: value,\n onKeyDown: _this.handleKeyDown,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, clsPrefix, classes)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _react2[\"default\"].createElement(_beeIcon2[\"default\"], { type: 'uf-search', onClick: _this.handleSearch })\n )\n );\n }\n };\n\n _this.state = {\n showSearch: !props.value,\n value: props.value == null ? \"\" : props.value,\n showClose: false\n };\n _this.input = {};\n return _this;\n }\n\n FormControl.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProp) {\n if (nextProp.value !== this.state.value) {\n this.setState({ value: nextProp.value });\n }\n };\n\n FormControl.prototype.render = function render() {\n\n if (this.props.type === \"search\") {\n return this.renderSearch();\n }\n\n return this.renderInput();\n };\n\n return FormControl;\n}(_react2[\"default\"].Component);\n\nFormControl.propTypes = propTypes;\nFormControl.defaultProps = defaultProps;\n\nexports[\"default\"] = FormControl;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/FormControl.js\n// module id = 154\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Button2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/index.js\n// module id = 155\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * @title 尺寸\n */\n size: _propTypes2[\"default\"].oneOf(['sm', 'xg', 'lg']),\n /**\n * @title 样式\n */\n style: _propTypes2[\"default\"].object,\n /**\n * @title 形状\n */\n shape: _propTypes2[\"default\"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),\n\n bordered: _propTypes2[\"default\"].bool,\n /**\n * @title 类型\n */\n colors: _propTypes2[\"default\"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default']),\n /**\n * @title 是否禁用\n * @veIgnore\n */\n disabled: _propTypes2[\"default\"].bool,\n /**\n * @title 类名\n * @veIgnore\n */\n className: _propTypes2[\"default\"].string,\n\n /**\n * @title 的 type\n * @veIgnore\n */\n htmlType: _propTypes2[\"default\"].oneOf(['submit', 'button', 'reset']),\n isSubmit: _propTypes2[\"default\"].bool //是否作为form的提交按钮\n};\n\nvar defaultProps = {\n disabled: false,\n htmlType: 'button',\n clsPrefix: 'u-button',\n bordered: false,\n isSubmit: false\n};\n\nvar sizeMap = {\n sm: 'sm',\n xg: 'xg',\n lg: 'lg'\n},\n colorsMap = {\n primary: 'primary',\n accent: 'accent',\n success: 'success',\n info: 'info',\n warning: 'warning',\n danger: 'danger'\n},\n shapeMap = {\n block: 'block',\n round: 'round',\n border: 'border',\n squared: 'squared',\n floating: 'floating',\n pillRight: 'pill-right',\n pillLeft: 'pill-left',\n icon: 'icon'\n};\n\nvar Button = function (_Component) {\n _inherits(Button, _Component);\n\n function Button(props) {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, _Component.call(this, props));\n }\n\n Button.prototype.render = function render() {\n var _props = this.props,\n colors = _props.colors,\n shape = _props.shape,\n disabled = _props.disabled,\n className = _props.className,\n size = _props.size,\n bordered = _props.bordered,\n children = _props.children,\n htmlType = _props.htmlType,\n clsPrefix = _props.clsPrefix,\n isSubmit = _props.isSubmit,\n others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);\n\n var clsObj = {};\n if (className) {\n clsObj[className] = true;\n }\n if (sizeMap[size]) {\n clsObj[clsPrefix + '-' + sizeMap[size]] = true;\n }\n\n if (shapeMap[shape]) {\n clsObj[clsPrefix + '-' + shapeMap[shape]] = true;\n }\n if (colorsMap[colors]) {\n clsObj[clsPrefix + '-' + colorsMap[colors]] = true;\n }\n //clsObj[`${clsPrefix}-border`] = bordered;\n var classes = (0, _classnames2[\"default\"])(clsPrefix, clsObj);\n return _react2[\"default\"].createElement(\n 'button',\n _extends({\n type: htmlType,\n className: classes,\n disabled: disabled\n }, others),\n this.props.children\n );\n };\n\n return Button;\n}(_react.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexports[\"default\"] = Button;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/Button.js\n// module id = 156\n// module chunks = 0","import Dnd from './Dnd';\r\nexport default Dnd;\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import React, {Component} from 'react';\nimport {DragDropContext, Droppable, Draggable} from 'react-beautiful-dnd';\nimport Drag from 'react-draggable'\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport SortList from './SortList';\nimport Between from './Between';\nimport GridLayout from './GridLayout';\n\n\nconst propTypes = {\n onStart: PropTypes.func,\n onDrag: PropTypes.func,\n onStop: PropTypes.func,\n onDragUpdate: PropTypes.func,\n dropClass: PropTypes.string,\n dropOverClass: PropTypes.string,\n dragClass: PropTypes.string,\n dragingClass: PropTypes.string,\n draggedClass:PropTypes.string,\n className:PropTypes.string,\n style:PropTypes.object,\n list: PropTypes.array,\n otherList: PropTypes.array,\n type:PropTypes.oneOf(['vertical','horizontal','betweenVertical','betweenHorizontal']),\n showKey:PropTypes.string\n\n};\nconst defaultProps = {\n onStart: () => {\n\n },\n onDrag:()=>{\n\n },\n onStop: () => {\n\n },\n onDragUpdate: () => {\n\n },\n list: false,\n otherList:[],\n dropClass:'',\n dropOverClass:'',\n dragClass:'',\n dragingClass:'',\n draggedClass:'',\n type:'vertical'\n};\n\n\nclass Dnd extends Component {\n constructor(props) {\n super(props);\n this.state={\n items:this.props.list||[]\n }\n }\n componentWillReceiveProps(nextProps){\n if(!isEqual(this.state.items,nextProps.list)){\n this.setState({\n items:nextProps.list\n })\n }\n }\n\n render() {\n let self = this;\n let DndType = () => {\n switch(this.props.type){\n case 'vertical':\n return ;\n break;\n case 'horizontal':\n return ;\n break;\n case 'betweenVertical':\n return ;\n break;\n case 'betweenHorizontal':\n return ;\n break;\n default :\n return ;\n break;\n }\n }\n return (\n \n {\n self.state.items.length ? \n DndType(): (\n \n {self.props.children}\n \n )\n }\n
\n\n\n );\n }\n}\nDnd.propTypes = propTypes;\nDnd.defaultProps = defaultProps;\nDnd.Drag = Drag;\nDnd.DragDropContext = DragDropContext;\nDnd.Droppable = Droppable;\nDnd.Draggable = Draggable;\nDnd.GridLayout = GridLayout;\nexport default Dnd;\n\n\n// WEBPACK FOOTER //\n// ./src/Dnd.js","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar _extends = _interopDefault(require('@babel/runtime-corejs2/helpers/extends'));\nvar invariant = _interopDefault(require('tiny-invariant'));\nvar cssBoxModel = require('css-box-model');\nvar _Object$keys = _interopDefault(require('@babel/runtime-corejs2/core-js/object/keys'));\nvar memoizeOne = _interopDefault(require('memoize-one'));\nvar redux = require('redux');\nvar _Object$assign = _interopDefault(require('@babel/runtime-corejs2/core-js/object/assign'));\nvar rafSchd = _interopDefault(require('raf-schd'));\nvar _inheritsLoose = _interopDefault(require('@babel/runtime-corejs2/helpers/inheritsLoose'));\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar PropTypes = _interopDefault(require('prop-types'));\nvar reactRedux = require('react-redux');\nvar reactMotion = require('react-motion');\n\nvar vertical = {\n direction: 'vertical',\n line: 'y',\n crossAxisLine: 'x',\n start: 'top',\n end: 'bottom',\n size: 'height',\n crossAxisStart: 'left',\n crossAxisEnd: 'right',\n crossAxisSize: 'width'\n};\nvar horizontal = {\n direction: 'horizontal',\n line: 'x',\n crossAxisLine: 'y',\n start: 'left',\n end: 'right',\n size: 'width',\n crossAxisStart: 'top',\n crossAxisEnd: 'bottom',\n crossAxisSize: 'height'\n};\n\nvar origin = {\n x: 0,\n y: 0\n};\nvar add = function add(point1, point2) {\n return {\n x: point1.x + point2.x,\n y: point1.y + point2.y\n };\n};\nvar subtract = function subtract(point1, point2) {\n return {\n x: point1.x - point2.x,\n y: point1.y - point2.y\n };\n};\nvar isEqual = function isEqual(point1, point2) {\n return point1.x === point2.x && point1.y === point2.y;\n};\nvar negate = function negate(point) {\n return {\n x: point.x !== 0 ? -point.x : 0,\n y: point.y !== 0 ? -point.y : 0\n };\n};\nvar absolute = function absolute(point) {\n return {\n x: Math.abs(point.x),\n y: Math.abs(point.y)\n };\n};\nvar patch = function patch(line, value, otherValue) {\n var _ref;\n\n if (otherValue === void 0) {\n otherValue = 0;\n }\n\n return _ref = {}, _ref[line] = value, _ref[line === 'x' ? 'y' : 'x'] = otherValue, _ref;\n};\nvar distance = function distance(point1, point2) {\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\n};\nvar closest = function closest(target, points) {\n return Math.min.apply(Math, points.map(function (point) {\n return distance(target, point);\n }));\n};\nvar apply = function apply(fn) {\n return function (point) {\n return {\n x: fn(point.x),\n y: fn(point.y)\n };\n };\n};\n\nvar offsetByPosition = function offsetByPosition(spacing, point) {\n return {\n top: spacing.top + point.y,\n left: spacing.left + point.x,\n bottom: spacing.bottom + point.y,\n right: spacing.right + point.x\n };\n};\nvar expandByPosition = function expandByPosition(spacing, position) {\n return {\n top: spacing.top - position.y,\n left: spacing.left - position.x,\n right: spacing.right + position.x,\n bottom: spacing.bottom + position.y\n };\n};\nvar getCorners = function getCorners(spacing) {\n return [{\n x: spacing.left,\n y: spacing.top\n }, {\n x: spacing.right,\n y: spacing.top\n }, {\n x: spacing.left,\n y: spacing.bottom\n }, {\n x: spacing.right,\n y: spacing.bottom\n }];\n};\n\nvar getMaxScroll = (function (_ref) {\n var scrollHeight = _ref.scrollHeight,\n scrollWidth = _ref.scrollWidth,\n height = _ref.height,\n width = _ref.width;\n var maxScroll = subtract({\n x: scrollWidth,\n y: scrollHeight\n }, {\n x: width,\n y: height\n });\n var adjustedMaxScroll = {\n x: Math.max(0, maxScroll.x),\n y: Math.max(0, maxScroll.y)\n };\n return adjustedMaxScroll;\n});\n\nvar clip = function clip(frame, subject) {\n var result = cssBoxModel.getRect({\n top: Math.max(subject.top, frame.top),\n right: Math.min(subject.right, frame.right),\n bottom: Math.min(subject.bottom, frame.bottom),\n left: Math.max(subject.left, frame.left)\n });\n\n if (result.width <= 0 || result.height <= 0) {\n return null;\n }\n\n return result;\n};\nvar getDroppableDimension = function getDroppableDimension(_ref) {\n var descriptor = _ref.descriptor,\n isEnabled = _ref.isEnabled,\n direction = _ref.direction,\n client = _ref.client,\n page = _ref.page,\n closest$$1 = _ref.closest;\n\n var scrollable = function () {\n if (!closest$$1) {\n return null;\n }\n\n var maxScroll = getMaxScroll({\n scrollHeight: closest$$1.scrollHeight,\n scrollWidth: closest$$1.scrollWidth,\n height: closest$$1.client.paddingBox.height,\n width: closest$$1.client.paddingBox.width\n });\n return {\n framePageMarginBox: closest$$1.page.marginBox,\n shouldClipSubject: closest$$1.shouldClipSubject,\n scroll: {\n initial: closest$$1.scroll,\n current: closest$$1.scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n }();\n\n var subjectPageMarginBox = page.marginBox;\n var clippedPageMarginBox = scrollable && scrollable.shouldClipSubject ? clip(scrollable.framePageMarginBox, subjectPageMarginBox) : subjectPageMarginBox;\n var viewport = {\n closestScrollable: scrollable,\n subjectPageMarginBox: subjectPageMarginBox,\n clippedPageMarginBox: clippedPageMarginBox\n };\n var dimension = {\n descriptor: descriptor,\n axis: direction === 'vertical' ? vertical : horizontal,\n isEnabled: isEnabled,\n client: client,\n page: page,\n viewport: viewport\n };\n return dimension;\n};\nvar scrollDroppable = function scrollDroppable(droppable, newScroll) {\n !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var scrollable = droppable.viewport.closestScrollable;\n var framePageMarginBox = scrollable.framePageMarginBox;\n var scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n var scrollDisplacement = negate(scrollDiff);\n var closestScrollable = {\n framePageMarginBox: scrollable.framePageMarginBox,\n shouldClipSubject: scrollable.shouldClipSubject,\n scroll: {\n initial: scrollable.scroll.initial,\n current: newScroll,\n diff: {\n value: scrollDiff,\n displacement: scrollDisplacement\n },\n max: scrollable.scroll.max\n }\n };\n var displacedSubject = offsetByPosition(droppable.viewport.subjectPageMarginBox, scrollDisplacement);\n var clippedPageMarginBox = closestScrollable.shouldClipSubject ? clip(framePageMarginBox, displacedSubject) : cssBoxModel.getRect(displacedSubject);\n var viewport = {\n closestScrollable: closestScrollable,\n subjectPageMarginBox: droppable.viewport.subjectPageMarginBox,\n clippedPageMarginBox: clippedPageMarginBox\n };\n\n var result = _extends({}, droppable, {\n viewport: viewport\n });\n\n return result;\n};\n\nvar toDroppableMap = memoizeOne(function (droppables) {\n return droppables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDraggableMap = memoizeOne(function (draggables) {\n return draggables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDroppableList = memoizeOne(function (droppables) {\n return _Object$keys(droppables).map(function (id) {\n return droppables[id];\n });\n});\nvar toDraggableList = memoizeOne(function (draggables) {\n return _Object$keys(draggables).map(function (id) {\n return draggables[id];\n });\n});\n\nvar getDraggablesInsideDroppable = memoizeOne(function (droppable, draggables) {\n return toDraggableList(draggables).filter(function (draggable) {\n return droppable.descriptor.id === draggable.descriptor.droppableId;\n }).sort(function (a, b) {\n return a.descriptor.index - b.descriptor.index;\n });\n});\n\nvar isWithin = (function (lowerBound, upperBound) {\n return function (value) {\n return value <= upperBound && value >= lowerBound;\n };\n});\n\nvar isPositionInFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (point) {\n return isWithinVertical(point.y) && isWithinVertical(point.y) && isWithinHorizontal(point.x) && isWithinHorizontal(point.x);\n };\n});\n\nvar getRequiredGrowth = memoizeOne(function (draggable, draggables, droppable) {\n var getResult = function getResult(existingSpace) {\n var requiredSpace = draggable.page.marginBox[droppable.axis.size];\n\n if (requiredSpace <= existingSpace) {\n return null;\n }\n\n var requiredGrowth = patch(droppable.axis.line, requiredSpace - existingSpace);\n return requiredGrowth;\n };\n\n var dimensions = getDraggablesInsideDroppable(droppable, draggables);\n\n if (!dimensions.length) {\n var _existingSpace = droppable.page.marginBox[droppable.axis.size];\n return getResult(_existingSpace);\n }\n\n var endOfDraggables = dimensions[dimensions.length - 1].page.marginBox[droppable.axis.end];\n var endOfDroppable = droppable.page.marginBox[droppable.axis.end];\n var existingSpace = endOfDroppable - endOfDraggables;\n return getResult(existingSpace);\n});\nvar getWithGrowth = memoizeOne(function (area, growth) {\n return cssBoxModel.getRect(expandByPosition(area, growth));\n});\n\nvar getClippedRectWithPlaceholder = function getClippedRectWithPlaceholder(_ref) {\n var draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppable = _ref.droppable,\n previousDroppableOverId = _ref.previousDroppableOverId;\n var isHome = draggable.descriptor.droppableId === droppable.descriptor.id;\n var wasOver = Boolean(previousDroppableOverId && previousDroppableOverId === droppable.descriptor.id);\n var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;\n\n if (!clippedPageMarginBox) {\n return clippedPageMarginBox;\n }\n\n if (isHome || !wasOver) {\n return clippedPageMarginBox;\n }\n\n var requiredGrowth = getRequiredGrowth(draggable, draggables, droppable);\n\n if (!requiredGrowth) {\n return clippedPageMarginBox;\n }\n\n var subjectWithGrowth = getWithGrowth(clippedPageMarginBox, requiredGrowth);\n var closestScrollable = droppable.viewport.closestScrollable;\n\n if (!closestScrollable) {\n return subjectWithGrowth;\n }\n\n if (!closestScrollable.shouldClipSubject) {\n return subjectWithGrowth;\n }\n\n return clip(closestScrollable.framePageMarginBox, subjectWithGrowth);\n};\n\nvar getDroppableOver = (function (_ref2) {\n var target = _ref2.target,\n draggable = _ref2.draggable,\n draggables = _ref2.draggables,\n droppables = _ref2.droppables,\n previousDroppableOverId = _ref2.previousDroppableOverId;\n var maybe = toDroppableList(droppables).filter(function (droppable) {\n return droppable.isEnabled;\n }).find(function (droppable) {\n var withPlaceholder = getClippedRectWithPlaceholder({\n draggable: draggable,\n draggables: draggables,\n droppable: droppable,\n previousDroppableOverId: previousDroppableOverId\n });\n\n if (!withPlaceholder) {\n return false;\n }\n\n return isPositionInFrame(withPlaceholder)(target);\n });\n return maybe ? maybe.descriptor.id : null;\n});\n\nvar noMovement = {\n displaced: [],\n amount: origin,\n isBeyondStartPosition: false\n};\nvar noImpact = {\n movement: noMovement,\n direction: null,\n destination: null\n};\n\nvar getDisplacementMap = memoizeOne(function (displaced) {\n return displaced.reduce(function (map, displacement) {\n map[displacement.draggableId] = displacement;\n return map;\n }, {});\n});\n\nvar isPartiallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n\n if (isContained) {\n return true;\n }\n\n var isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n var isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n var isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n\n if (isPartiallyContained) {\n return true;\n }\n\n var isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n var isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n var isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n\n if (isTargetBiggerThanFrame) {\n return true;\n }\n\n var isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n return isTargetBiggerOnOneAxis;\n };\n});\n\nvar isTotallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n return isContained;\n };\n});\n\nvar isVisible = function isVisible(_ref) {\n var target = _ref.target,\n destination = _ref.destination,\n viewport = _ref.viewport,\n isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;\n var displacement = destination.viewport.closestScrollable ? destination.viewport.closestScrollable.scroll.diff.displacement : origin;\n var withDisplacement = offsetByPosition(target, displacement);\n\n if (!destination.viewport.clippedPageMarginBox) {\n return false;\n }\n\n var isVisibleInDroppable = isVisibleThroughFrameFn(destination.viewport.clippedPageMarginBox)(withDisplacement);\n var isVisibleInViewport = isVisibleThroughFrameFn(viewport)(withDisplacement);\n return isVisibleInDroppable && isVisibleInViewport;\n};\n\nvar isPartiallyVisible = function isPartiallyVisible(_ref2) {\n var target = _ref2.target,\n destination = _ref2.destination,\n viewport = _ref2.viewport;\n return isVisible({\n target: target,\n destination: destination,\n viewport: viewport,\n isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n });\n};\nvar isTotallyVisible = function isTotallyVisible(_ref3) {\n var target = _ref3.target,\n destination = _ref3.destination,\n viewport = _ref3.viewport;\n return isVisible({\n target: target,\n destination: destination,\n viewport: viewport,\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n });\n};\n\nvar getDisplacement = (function (_ref) {\n var draggable = _ref.draggable,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var id = draggable.descriptor.id;\n var map = getDisplacementMap(previousImpact.movement.displaced);\n var isVisible = isPartiallyVisible({\n target: draggable.page.marginBox,\n destination: destination,\n viewport: viewport\n });\n\n var shouldAnimate = function () {\n if (!isVisible) {\n return false;\n }\n\n var previous = map[id];\n\n if (!previous) {\n return true;\n }\n\n return previous.shouldAnimate;\n }();\n\n var displacement = {\n draggableId: id,\n isVisible: isVisible,\n shouldAnimate: shouldAnimate\n };\n return displacement;\n});\n\nvar withDroppableScroll = (function (droppable, point) {\n var closestScrollable = droppable.viewport.closestScrollable;\n\n if (!closestScrollable) {\n return point;\n }\n\n return add(point, closestScrollable.scroll.diff.value);\n});\n\nvar inHomeList = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n home = _ref.home,\n insideHome = _ref.insideHome,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var axis = home.axis;\n var originalCenter = draggable.page.borderBox.center;\n var currentCenter = withDroppableScroll(home, pageBorderBoxCenter);\n var isBeyondStartPosition = currentCenter[axis.line] - originalCenter[axis.line] > 0;\n var amount = patch(axis.line, draggable.client.marginBox[axis.size]);\n var displaced = insideHome.filter(function (child) {\n if (child === draggable) {\n return false;\n }\n\n var borderBox = child.page.borderBox;\n\n if (isBeyondStartPosition) {\n if (borderBox.center[axis.line] < originalCenter[axis.line]) {\n return false;\n }\n\n return currentCenter[axis.line] > borderBox[axis.start];\n }\n\n if (originalCenter[axis.line] < borderBox.center[axis.line]) {\n return false;\n }\n\n return currentCenter[axis.line] < borderBox[axis.end];\n }).map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: home,\n previousImpact: previousImpact,\n viewport: viewport.frame\n });\n });\n var ordered = isBeyondStartPosition ? displaced.reverse() : displaced;\n\n var index = function () {\n var startIndex = draggable.descriptor.index;\n var length = ordered.length;\n\n if (!length) {\n return startIndex;\n }\n\n if (isBeyondStartPosition) {\n return startIndex + length;\n }\n\n return startIndex - length;\n }();\n\n var movement = {\n amount: amount,\n displaced: ordered,\n isBeyondStartPosition: isBeyondStartPosition\n };\n var impact = {\n movement: movement,\n direction: axis.direction,\n destination: {\n droppableId: home.descriptor.id,\n index: index\n }\n };\n return impact;\n});\n\nvar inForeignList = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var axis = destination.axis;\n var currentCenter = withDroppableScroll(destination, pageBorderBoxCenter);\n var displaced = insideDestination.filter(function (child) {\n var threshold = child.page.borderBox[axis.end];\n return threshold > currentCenter[axis.line];\n }).map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: destination,\n previousImpact: previousImpact,\n viewport: viewport.frame\n });\n });\n var newIndex = insideDestination.length - displaced.length;\n var movement = {\n amount: patch(axis.line, draggable.page.marginBox[axis.size]),\n displaced: displaced,\n isBeyondStartPosition: false\n };\n var impact = {\n movement: movement,\n direction: axis.direction,\n destination: {\n droppableId: destination.descriptor.id,\n index: newIndex\n }\n };\n return impact;\n});\n\nvar getDragImpact = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var previousDroppableOverId = previousImpact.destination && previousImpact.destination.droppableId;\n var destinationId = getDroppableOver({\n target: pageBorderBoxCenter,\n draggable: draggable,\n draggables: draggables,\n droppables: droppables,\n previousDroppableOverId: previousDroppableOverId\n });\n\n if (!destinationId) {\n return noImpact;\n }\n\n var destination = droppables[destinationId];\n\n if (!destination.isEnabled) {\n return noImpact;\n }\n\n var home = droppables[draggable.descriptor.droppableId];\n var isWithinHomeDroppable = home.descriptor.id === destinationId;\n var insideDestination = getDraggablesInsideDroppable(destination, draggables);\n\n if (isWithinHomeDroppable) {\n return inHomeList({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n home: home,\n insideHome: insideDestination,\n previousImpact: previousImpact || noImpact,\n viewport: viewport\n });\n }\n\n return inForeignList({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n destination: destination,\n insideDestination: insideDestination,\n previousImpact: previousImpact || noImpact,\n viewport: viewport\n });\n});\n\nvar getHomeLocation = (function (critical) {\n return {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n});\n\nvar getSafeClipped = function getSafeClipped(droppable) {\n var rect = droppable.viewport.clippedPageMarginBox;\n !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n return rect;\n};\n\nvar getBestCrossAxisDroppable = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n source = _ref.source,\n droppables = _ref.droppables,\n viewport = _ref.viewport;\n var sourceClipped = source.viewport.clippedPageMarginBox;\n\n if (!sourceClipped) {\n return null;\n }\n\n var axis = source.axis;\n var isBetweenSourceClipped = isWithin(sourceClipped[axis.start], sourceClipped[axis.end]);\n var candidates = toDroppableList(droppables).filter(function (droppable) {\n return droppable !== source;\n }).filter(function (droppable) {\n return droppable.isEnabled;\n }).filter(function (droppable) {\n var clippedPageMarginBox = droppable.viewport.clippedPageMarginBox;\n\n if (!clippedPageMarginBox) {\n return false;\n }\n\n return isPartiallyVisibleThroughFrame(viewport.frame)(clippedPageMarginBox);\n }).filter(function (droppable) {\n var targetClipped = getSafeClipped(droppable);\n\n if (isMovingForward) {\n return sourceClipped[axis.crossAxisEnd] < targetClipped[axis.crossAxisEnd];\n }\n\n return targetClipped[axis.crossAxisStart] < sourceClipped[axis.crossAxisStart];\n }).filter(function (droppable) {\n var targetClipped = getSafeClipped(droppable);\n var isBetweenDestinationClipped = isWithin(targetClipped[axis.start], targetClipped[axis.end]);\n return isBetweenSourceClipped(targetClipped[axis.start]) || isBetweenSourceClipped(targetClipped[axis.end]) || isBetweenDestinationClipped(sourceClipped[axis.start]) || isBetweenDestinationClipped(sourceClipped[axis.end]);\n }).sort(function (a, b) {\n var first = getSafeClipped(a)[axis.crossAxisStart];\n var second = getSafeClipped(b)[axis.crossAxisStart];\n\n if (isMovingForward) {\n return first - second;\n }\n\n return second - first;\n }).filter(function (droppable, index, array) {\n return getSafeClipped(droppable)[axis.crossAxisStart] === getSafeClipped(array[0])[axis.crossAxisStart];\n });\n\n if (!candidates.length) {\n return null;\n }\n\n if (candidates.length === 1) {\n return candidates[0];\n }\n\n var contains = candidates.filter(function (droppable) {\n var isWithinDroppable = isWithin(getSafeClipped(droppable)[axis.start], getSafeClipped(droppable)[axis.end]);\n return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n });\n\n if (contains.length === 1) {\n return contains[0];\n }\n\n if (contains.length > 1) {\n return contains.sort(function (a, b) {\n return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];\n })[0];\n }\n\n return candidates.sort(function (a, b) {\n var first = closest(pageBorderBoxCenter, getCorners(getSafeClipped(a)));\n var second = closest(pageBorderBoxCenter, getCorners(getSafeClipped(b)));\n\n if (first !== second) {\n return first - second;\n }\n\n return getSafeClipped(a)[axis.start] - getSafeClipped(b)[axis.start];\n })[0];\n});\n\nvar withDroppableDisplacement = (function (droppable, point) {\n var closestScrollable = droppable.viewport.closestScrollable;\n\n if (!closestScrollable) {\n return point;\n }\n\n return add(point, closestScrollable.scroll.diff.displacement);\n});\n\nvar getClosestDraggable = (function (_ref) {\n var axis = _ref.axis,\n viewport = _ref.viewport,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination;\n\n if (!insideDestination.length) {\n return null;\n }\n\n var result = insideDestination.filter(function (draggable) {\n return isTotallyVisible({\n target: draggable.page.borderBox,\n destination: destination,\n viewport: viewport.frame\n });\n }).sort(function (a, b) {\n var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, a.page.borderBox.center));\n var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, b.page.borderBox.center));\n\n if (distanceToA < distanceToB) {\n return -1;\n }\n\n if (distanceToB < distanceToA) {\n return 1;\n }\n\n return a.page.borderBox[axis.start] - b.page.borderBox[axis.start];\n });\n return result.length ? result[0] : null;\n});\n\nvar moveToEdge = (function (_ref) {\n var source = _ref.source,\n sourceEdge = _ref.sourceEdge,\n destination = _ref.destination,\n destinationEdge = _ref.destinationEdge,\n destinationAxis = _ref.destinationAxis;\n\n var getCorner = function getCorner(area) {\n return patch(destinationAxis.line, area[destinationAxis[destinationEdge]], area[destinationAxis.crossAxisStart]);\n };\n\n var corner = getCorner(destination);\n var centerDiff = absolute(subtract(source.center, getCorner(source)));\n var signed = patch(destinationAxis.line, (sourceEdge === 'end' ? -1 : 1) * centerDiff[destinationAxis.line], centerDiff[destinationAxis.crossAxisLine]);\n return add(corner, signed);\n});\n\nvar toHomeList = (function (_ref) {\n var amount = _ref.amount,\n homeIndex = _ref.homeIndex,\n movingRelativeTo = _ref.movingRelativeTo,\n insideDestination = _ref.insideDestination,\n draggable = _ref.draggable,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var axis = destination.axis;\n var targetIndex = insideDestination.indexOf(movingRelativeTo);\n !(targetIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unable to find target in destination droppable') : invariant(false) : void 0;\n\n if (targetIndex === homeIndex) {\n var _newCenter = draggable.page.borderBox.center;\n var _newImpact = {\n movement: {\n displaced: [],\n amount: amount,\n isBeyondStartPosition: false\n },\n direction: destination.axis.direction,\n destination: {\n droppableId: destination.descriptor.id,\n index: homeIndex\n }\n };\n return {\n pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),\n impact: _newImpact\n };\n }\n\n var isMovingPastOriginalIndex = targetIndex > homeIndex;\n var edge = isMovingPastOriginalIndex ? 'end' : 'start';\n var newCenter = moveToEdge({\n source: draggable.page.borderBox,\n sourceEdge: edge,\n destination: isMovingPastOriginalIndex ? movingRelativeTo.page.borderBox : movingRelativeTo.page.marginBox,\n destinationEdge: edge,\n destinationAxis: axis\n });\n\n var modified = function () {\n if (!isMovingPastOriginalIndex) {\n return insideDestination.slice(targetIndex, homeIndex);\n }\n\n var from = homeIndex + 1;\n var to = targetIndex + 1;\n return insideDestination.slice(from, to).reverse();\n }();\n\n var displaced = modified.map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: destination,\n previousImpact: previousImpact,\n viewport: viewport.frame\n });\n });\n var newImpact = {\n movement: {\n displaced: displaced,\n amount: amount,\n isBeyondStartPosition: isMovingPastOriginalIndex\n },\n direction: axis.direction,\n destination: {\n droppableId: destination.descriptor.id,\n index: targetIndex\n }\n };\n return {\n pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),\n impact: newImpact\n };\n});\n\nvar toForeignList = (function (_ref) {\n var amount = _ref.amount,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n movingRelativeTo = _ref.movingRelativeTo,\n insideDestination = _ref.insideDestination,\n draggable = _ref.draggable,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var axis = destination.axis;\n var isGoingBeforeTarget = Boolean(movingRelativeTo && pageBorderBoxCenter[destination.axis.line] < movingRelativeTo.page.borderBox.center[destination.axis.line]);\n\n if (!movingRelativeTo) {\n var _newCenter = moveToEdge({\n source: draggable.page.borderBox,\n sourceEdge: 'start',\n destination: destination.page.contentBox,\n destinationEdge: 'start',\n destinationAxis: axis\n });\n\n var _newImpact = {\n movement: {\n displaced: [],\n amount: amount,\n isBeyondStartPosition: false\n },\n direction: axis.direction,\n destination: {\n droppableId: destination.descriptor.id,\n index: 0\n }\n };\n return {\n pageBorderBoxCenter: withDroppableDisplacement(destination, _newCenter),\n impact: _newImpact\n };\n }\n\n var targetIndex = insideDestination.indexOf(movingRelativeTo);\n !(targetIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'The target was not found within its droppable') : invariant(false) : void 0;\n var proposedIndex = isGoingBeforeTarget ? targetIndex : targetIndex + 1;\n var newCenter = moveToEdge({\n source: draggable.page.borderBox,\n sourceEdge: 'start',\n destination: movingRelativeTo.page.marginBox,\n destinationEdge: isGoingBeforeTarget ? 'start' : 'end',\n destinationAxis: axis\n });\n var displaced = insideDestination.slice(proposedIndex, insideDestination.length).map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: destination,\n viewport: viewport.frame,\n previousImpact: previousImpact\n });\n });\n var newImpact = {\n movement: {\n displaced: displaced,\n amount: amount,\n isBeyondStartPosition: false\n },\n direction: axis.direction,\n destination: {\n droppableId: destination.descriptor.id,\n index: proposedIndex\n }\n };\n return {\n pageBorderBoxCenter: withDroppableDisplacement(destination, newCenter),\n impact: newImpact\n };\n});\n\nvar moveToNewDroppable = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n draggable = _ref.draggable,\n movingRelativeTo = _ref.movingRelativeTo,\n home = _ref.home,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var amount = patch(destination.axis.line, draggable.client.marginBox[destination.axis.size]);\n\n if (destination.descriptor.id === draggable.descriptor.droppableId) {\n !movingRelativeTo ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'There will always be a target in the original list') : invariant(false) : void 0;\n return toHomeList({\n amount: amount,\n homeIndex: home.index,\n movingRelativeTo: movingRelativeTo,\n insideDestination: insideDestination,\n draggable: draggable,\n destination: destination,\n previousImpact: previousImpact,\n viewport: viewport\n });\n }\n\n return toForeignList({\n amount: amount,\n pageBorderBoxCenter: pageBorderBoxCenter,\n movingRelativeTo: movingRelativeTo,\n insideDestination: insideDestination,\n draggable: draggable,\n destination: destination,\n previousImpact: previousImpact,\n viewport: viewport\n });\n});\n\nvar moveCrossAxis = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggableId = _ref.draggableId,\n droppableId = _ref.droppableId,\n home = _ref.home,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport;\n var draggable = draggables[draggableId];\n var source = droppables[droppableId];\n var destination = getBestCrossAxisDroppable({\n isMovingForward: isMovingForward,\n pageBorderBoxCenter: pageBorderBoxCenter,\n source: source,\n droppables: droppables,\n viewport: viewport\n });\n\n if (!destination) {\n return null;\n }\n\n var insideDestination = getDraggablesInsideDroppable(destination, draggables);\n var movingRelativeTo = getClosestDraggable({\n axis: destination.axis,\n pageBorderBoxCenter: pageBorderBoxCenter,\n destination: destination,\n insideDestination: insideDestination,\n viewport: viewport\n });\n\n if (insideDestination.length && !movingRelativeTo) {\n return null;\n }\n\n return moveToNewDroppable({\n pageBorderBoxCenter: pageBorderBoxCenter,\n destination: destination,\n draggable: draggable,\n movingRelativeTo: movingRelativeTo,\n insideDestination: insideDestination,\n home: home,\n previousImpact: previousImpact || noImpact,\n viewport: viewport\n });\n});\n\nvar isTotallyVisibleInNewLocation = (function (_ref) {\n var draggable = _ref.draggable,\n destination = _ref.destination,\n newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,\n viewport = _ref.viewport;\n var diff = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n var shifted = offsetByPosition(draggable.page.borderBox, diff);\n return isTotallyVisible({\n target: shifted,\n destination: destination,\n viewport: viewport\n });\n});\n\nvar withFirstAdded = function withFirstAdded(_ref) {\n var add = _ref.add,\n previousImpact = _ref.previousImpact,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n viewport = _ref.viewport;\n var newDisplacement = {\n draggableId: add,\n isVisible: true,\n shouldAnimate: true\n };\n var added = [newDisplacement].concat(previousImpact.movement.displaced);\n var withUpdatedVisibility = added.map(function (current) {\n if (current === newDisplacement) {\n return current;\n }\n\n var updated = getDisplacement({\n draggable: draggables[current.draggableId],\n destination: droppable,\n previousImpact: previousImpact,\n viewport: viewport.frame\n });\n return updated;\n });\n return withUpdatedVisibility;\n};\n\nvar forceVisibleDisplacement = function forceVisibleDisplacement(current) {\n if (current.isVisible) {\n return current;\n }\n\n return {\n draggableId: current.draggableId,\n isVisible: true,\n shouldAnimate: false\n };\n};\n\nvar withFirstRemoved = function withFirstRemoved(_ref2) {\n var dragging = _ref2.dragging,\n isVisibleInNewLocation = _ref2.isVisibleInNewLocation,\n previousImpact = _ref2.previousImpact,\n droppable = _ref2.droppable,\n draggables = _ref2.draggables;\n var last = previousImpact.movement.displaced;\n !last.length ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove displacement from empty list') : invariant(false) : void 0;\n var withFirstRestored = last.slice(1, last.length);\n\n if (!withFirstRestored.length) {\n return withFirstRestored;\n }\n\n if (isVisibleInNewLocation) {\n return withFirstRestored;\n }\n\n var axis = droppable.axis;\n var sizeOfRestored = draggables[last[0].draggableId].page.marginBox[axis.size];\n var sizeOfDragging = draggables[dragging].page.marginBox[axis.size];\n var buffer = sizeOfRestored + sizeOfDragging;\n var withUpdatedVisibility = withFirstRestored.map(function (displacement, index) {\n if (index === 0) {\n return forceVisibleDisplacement(displacement);\n }\n\n if (buffer > 0) {\n var current = draggables[displacement.draggableId];\n var size = current.page.marginBox[axis.size];\n buffer -= size;\n return forceVisibleDisplacement(displacement);\n }\n\n return {\n draggableId: displacement.draggableId,\n isVisible: false,\n shouldAnimate: false\n };\n });\n return withUpdatedVisibility;\n};\n\nvar inHomeList$1 = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n draggableId = _ref.draggableId,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n previousImpact = _ref.previousImpact,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n viewport = _ref.viewport;\n var location = previousImpact.destination;\n !location ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move to next index in home list when there is no previous destination') : invariant(false) : void 0;\n var draggable = draggables[draggableId];\n var axis = droppable.axis;\n var insideDroppable = getDraggablesInsideDroppable(droppable, draggables);\n var startIndex = draggable.descriptor.index;\n var currentIndex = location.index;\n var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n\n if (proposedIndex > insideDroppable.length - 1) {\n return null;\n }\n\n if (proposedIndex < 0) {\n return null;\n }\n\n var destination = insideDroppable[proposedIndex];\n var isMovingTowardStart = isMovingForward && proposedIndex <= startIndex || !isMovingForward && proposedIndex >= startIndex;\n\n var edge = function () {\n if (!isMovingTowardStart) {\n return isMovingForward ? 'end' : 'start';\n }\n\n return isMovingForward ? 'start' : 'end';\n }();\n\n var newPageBorderBoxCenter = moveToEdge({\n source: draggable.page.borderBox,\n sourceEdge: edge,\n destination: destination.page.borderBox,\n destinationEdge: edge,\n destinationAxis: droppable.axis\n });\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: droppable,\n newPageBorderBoxCenter: newPageBorderBoxCenter,\n viewport: viewport.frame\n });\n var displaced = isMovingTowardStart ? withFirstRemoved({\n dragging: draggableId,\n isVisibleInNewLocation: isVisibleInNewLocation,\n previousImpact: previousImpact,\n droppable: droppable,\n draggables: draggables\n }) : withFirstAdded({\n add: destination.descriptor.id,\n previousImpact: previousImpact,\n droppable: droppable,\n draggables: draggables,\n viewport: viewport\n });\n var newImpact = {\n movement: {\n displaced: displaced,\n amount: patch(axis.line, draggable.page.marginBox[axis.size]),\n isBeyondStartPosition: proposedIndex > startIndex\n },\n destination: {\n droppableId: droppable.descriptor.id,\n index: proposedIndex\n },\n direction: droppable.axis.direction\n };\n\n if (isVisibleInNewLocation) {\n return {\n pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),\n impact: newImpact,\n scrollJumpRequest: null\n };\n }\n\n var distance$$1 = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);\n var distanceWithScroll = withDroppableDisplacement(droppable, distance$$1);\n return {\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n impact: newImpact,\n scrollJumpRequest: distanceWithScroll\n };\n});\n\nvar inForeignList$1 = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n draggableId = _ref.draggableId,\n previousImpact = _ref.previousImpact,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n viewport = _ref.viewport;\n !previousImpact.destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move to next index where there is no previous destination') : invariant(false) : void 0;\n var location = previousImpact.destination;\n var draggable = draggables[draggableId];\n var axis = droppable.axis;\n var insideForeignDroppable = getDraggablesInsideDroppable(droppable, draggables);\n var currentIndex = location.index;\n var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n var lastIndex = insideForeignDroppable.length - 1;\n\n if (proposedIndex > insideForeignDroppable.length) {\n return null;\n }\n\n if (proposedIndex < 0) {\n return null;\n }\n\n var movingRelativeTo = insideForeignDroppable[Math.min(proposedIndex, lastIndex)];\n var isMovingPastLastIndex = proposedIndex > lastIndex;\n var sourceEdge = 'start';\n\n var destinationEdge = function () {\n if (isMovingPastLastIndex) {\n return 'end';\n }\n\n return 'start';\n }();\n\n var newPageBorderBoxCenter = moveToEdge({\n source: draggable.page.borderBox,\n sourceEdge: sourceEdge,\n destination: movingRelativeTo.page.marginBox,\n destinationEdge: destinationEdge,\n destinationAxis: droppable.axis\n });\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: droppable,\n newPageBorderBoxCenter: newPageBorderBoxCenter,\n viewport: viewport.frame\n });\n\n var displaced = function () {\n if (isMovingForward) {\n return withFirstRemoved({\n dragging: draggableId,\n isVisibleInNewLocation: isVisibleInNewLocation,\n previousImpact: previousImpact,\n droppable: droppable,\n draggables: draggables\n });\n }\n\n return withFirstAdded({\n add: movingRelativeTo.descriptor.id,\n previousImpact: previousImpact,\n droppable: droppable,\n draggables: draggables,\n viewport: viewport\n });\n }();\n\n var newImpact = {\n movement: {\n displaced: displaced,\n amount: patch(axis.line, draggable.page.marginBox[axis.size]),\n isBeyondStartPosition: false\n },\n destination: {\n droppableId: droppable.descriptor.id,\n index: proposedIndex\n },\n direction: droppable.axis.direction\n };\n\n if (isVisibleInNewLocation) {\n return {\n pageBorderBoxCenter: withDroppableDisplacement(droppable, newPageBorderBoxCenter),\n impact: newImpact,\n scrollJumpRequest: null\n };\n }\n\n var distanceMoving = subtract(newPageBorderBoxCenter, previousPageBorderBoxCenter);\n var distanceWithScroll = withDroppableDisplacement(droppable, distanceMoving);\n return {\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n impact: newImpact,\n scrollJumpRequest: distanceWithScroll\n };\n});\n\nvar moveToNextIndex = (function (args) {\n var draggableId = args.draggableId,\n draggables = args.draggables,\n droppable = args.droppable;\n var draggable = draggables[draggableId];\n var isInHomeList = draggable.descriptor.droppableId === droppable.descriptor.id;\n\n if (!droppable.isEnabled) {\n return null;\n }\n\n if (isInHomeList) {\n return inHomeList$1(args);\n }\n\n return inForeignList$1(args);\n});\n\nvar getClientSelection = function getClientSelection(pageBorderBoxCenter, currentScroll) {\n return subtract(pageBorderBoxCenter, currentScroll);\n};\n\nvar moveInDirection = (function (_ref) {\n var state = _ref.state,\n type = _ref.type;\n\n var _ref2 = function () {\n if (state.impact.destination) {\n return {\n droppable: state.dimensions.droppables[state.impact.destination.droppableId],\n isMainAxisMovementAllowed: true\n };\n }\n\n return {\n droppable: state.dimensions.droppables[state.critical.droppable.id],\n isMainAxisMovementAllowed: false\n };\n }(),\n droppable = _ref2.droppable,\n isMainAxisMovementAllowed = _ref2.isMainAxisMovementAllowed;\n\n var direction = droppable.axis.direction;\n var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n\n if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n return null;\n }\n\n var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n\n if (isMovingOnMainAxis) {\n var _result = moveToNextIndex({\n isMovingForward: isMovingForward,\n draggableId: state.critical.draggable.id,\n droppable: droppable,\n draggables: state.dimensions.draggables,\n previousPageBorderBoxCenter: state.current.page.borderBoxCenter,\n previousImpact: state.impact,\n viewport: state.viewport\n });\n\n if (!_result) {\n return null;\n }\n\n return {\n impact: _result.impact,\n clientSelection: getClientSelection(_result.pageBorderBoxCenter, state.viewport.scroll.current),\n scrollJumpRequest: _result.scrollJumpRequest\n };\n }\n\n var home = getHomeLocation(state.critical);\n var result = moveCrossAxis({\n isMovingForward: isMovingForward,\n pageBorderBoxCenter: state.current.page.borderBoxCenter,\n draggableId: state.critical.draggable.id,\n droppableId: droppable.descriptor.id,\n home: home,\n draggables: state.dimensions.draggables,\n droppables: state.dimensions.droppables,\n previousImpact: state.impact,\n viewport: state.viewport\n });\n\n if (!result) {\n return null;\n }\n\n return {\n clientSelection: getClientSelection(result.pageBorderBoxCenter, state.viewport.scroll.current),\n impact: result.impact,\n scrollJumpRequest: null\n };\n});\n\nvar scrollViewport = (function (viewport, newScroll) {\n var diff = subtract(newScroll, viewport.scroll.initial);\n var displacement = negate(diff);\n var frame = cssBoxModel.getRect({\n top: newScroll.y,\n bottom: newScroll.y + viewport.frame.height,\n left: newScroll.x,\n right: newScroll.x + viewport.frame.width\n });\n var updated = {\n frame: frame,\n scroll: {\n initial: viewport.scroll.initial,\n max: viewport.scroll.max,\n current: newScroll,\n diff: {\n value: diff,\n displacement: displacement\n }\n }\n };\n return updated;\n});\n\nvar getHomeImpact = (function (critical, dimensions) {\n var home = dimensions.droppables[critical.droppable.id];\n var axis = home.axis;\n var draggable = dimensions.draggables[critical.draggable.id];\n return {\n movement: {\n displaced: [],\n isBeyondStartPosition: false,\n amount: patch(axis.line, draggable.client.marginBox[axis.size])\n },\n direction: axis.direction,\n destination: getHomeLocation(critical)\n };\n});\n\nvar getPageItemPositions = (function (client, windowScroll) {\n return {\n selection: add(client.selection, windowScroll),\n borderBoxCenter: add(client.borderBoxCenter, windowScroll),\n offset: add(client.offset, windowScroll)\n };\n});\n\nfunction isMovementAllowed(state) {\n return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nvar idle = {\n phase: 'IDLE'\n};\nvar preparing = {\n phase: 'PREPARING'\n};\n\nvar moveWithPositionUpdates = function moveWithPositionUpdates(_ref) {\n var state = _ref.state,\n clientSelection = _ref.clientSelection,\n shouldAnimate = _ref.shouldAnimate,\n viewport = _ref.viewport,\n impact = _ref.impact,\n scrollJumpRequest = _ref.scrollJumpRequest;\n var newViewport = viewport || state.viewport;\n var currentWindowScroll = newViewport.scroll.current;\n\n var client = function () {\n var offset = subtract(clientSelection, state.initial.client.selection);\n return {\n offset: offset,\n selection: clientSelection,\n borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n };\n }();\n\n var page = getPageItemPositions(client, currentWindowScroll);\n var current = {\n client: client,\n page: page\n };\n\n if (state.phase === 'COLLECTING') {\n return _extends({\n phase: 'COLLECTING'\n }, state, {\n current: current\n });\n }\n\n var newImpact = impact || getDragImpact({\n pageBorderBoxCenter: page.borderBoxCenter,\n draggable: state.dimensions.draggables[state.critical.draggable.id],\n draggables: state.dimensions.draggables,\n droppables: state.dimensions.droppables,\n previousImpact: state.impact,\n viewport: newViewport\n });\n\n var result = _extends({}, state, {\n current: current,\n shouldAnimate: shouldAnimate,\n impact: newImpact,\n scrollJumpRequest: scrollJumpRequest || null,\n viewport: newViewport\n });\n\n return result;\n};\n\nvar reducer = (function (state, action) {\n if (state === void 0) {\n state = idle;\n }\n\n if (action.type === 'CLEAN') {\n return idle;\n }\n\n if (action.type === 'PREPARE') {\n return preparing;\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a PREPARING phase') : invariant(false) : void 0;\n var _action$payload = action.payload,\n critical = _action$payload.critical,\n client = _action$payload.client,\n viewport = _action$payload.viewport,\n dimensions = _action$payload.dimensions,\n autoScrollMode = _action$payload.autoScrollMode;\n var initial = {\n client: client,\n page: {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial),\n offset: origin\n }\n };\n var result = {\n phase: 'DRAGGING',\n isDragging: true,\n critical: critical,\n autoScrollMode: autoScrollMode,\n dimensions: dimensions,\n initial: initial,\n current: initial,\n impact: getHomeImpact(critical, dimensions),\n viewport: viewport,\n scrollJumpRequest: null,\n shouldAnimate: false\n };\n return result;\n }\n\n if (action.type === 'COLLECTION_STARTING') {\n var _extends2;\n\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Collection cannot start from phase \" + state.phase) : invariant(false) : void 0;\n\n var _result = _extends({\n phase: 'COLLECTING'\n }, state, (_extends2 = {}, _extends2[\"phase\"] = 'COLLECTING', _extends2));\n\n return _result;\n }\n\n if (action.type === 'PUBLISH') {\n !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected \" + action.type + \" received in phase \" + state.phase) : invariant(false) : void 0;\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"Dynamic additions and removals of Draggable and Droppable components\\n is currently not supported. But will be soon!\") : invariant(false);\n }\n\n if (action.type === 'MOVE') {\n if (state.phase === 'PREPARING') {\n return state;\n }\n\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload2 = action.payload,\n _client = _action$payload2.client,\n shouldAnimate = _action$payload2.shouldAnimate;\n\n if (state.shouldAnimate === shouldAnimate && isEqual(_client, state.current.client.selection)) {\n return state;\n }\n\n var impact = state.autoScrollMode === 'JUMP' ? state.impact : null;\n return moveWithPositionUpdates({\n state: state,\n clientSelection: _client,\n impact: impact,\n shouldAnimate: shouldAnimate\n });\n }\n\n if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n var _extends3, _extends4;\n\n if (state.phase === 'PREPARING') {\n return state;\n }\n\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload3 = action.payload,\n id = _action$payload3.id,\n offset = _action$payload3.offset;\n var target = state.dimensions.droppables[id];\n\n if (!target) {\n return state;\n }\n\n var updated = scrollDroppable(target, offset);\n\n var _dimensions = _extends({}, state.dimensions, {\n droppables: _extends({}, state.dimensions.droppables, (_extends3 = {}, _extends3[id] = updated, _extends3))\n });\n\n var _impact = function () {\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n\n if (state.autoScrollMode === 'JUMP') {\n return state.impact;\n }\n\n return getDragImpact({\n pageBorderBoxCenter: state.current.page.borderBoxCenter,\n draggable: _dimensions.draggables[state.critical.draggable.id],\n draggables: _dimensions.draggables,\n droppables: _dimensions.droppables,\n previousImpact: state.impact,\n viewport: state.viewport\n });\n }();\n\n return _extends({\n phase: 'DRAGGING'\n }, state, (_extends4 = {}, _extends4[\"phase\"] = state.phase, _extends4.impact = _impact, _extends4.dimensions = _dimensions, _extends4.scrollJumpRequest = null, _extends4));\n }\n\n if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n var _extends5, _extends6;\n\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload4 = action.payload,\n _id = _action$payload4.id,\n isEnabled = _action$payload4.isEnabled;\n var _target = state.dimensions.droppables[_id];\n !_target ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id + \"] to toggle its enabled state\") : invariant(false) : void 0;\n !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isEnabled to \" + String(isEnabled) + \"\\n but it is already \" + String(_target.isEnabled)) : invariant(false) : void 0;\n\n var _updated = _extends({}, _target, {\n isEnabled: isEnabled\n });\n\n var _dimensions2 = _extends({}, state.dimensions, {\n droppables: _extends({}, state.dimensions.droppables, (_extends5 = {}, _extends5[_id] = _updated, _extends5))\n });\n\n var _impact2 = getDragImpact({\n pageBorderBoxCenter: state.current.page.borderBoxCenter,\n draggable: _dimensions2.draggables[state.critical.draggable.id],\n draggables: _dimensions2.draggables,\n droppables: _dimensions2.droppables,\n previousImpact: state.impact,\n viewport: state.viewport\n });\n\n return _extends({\n phase: 'DRAGGING'\n }, state, (_extends6 = {}, _extends6[\"phase\"] = state.phase, _extends6.impact = _impact2, _extends6.dimensions = _dimensions2, _extends6));\n }\n\n if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n if (state.phase === 'PREPARING') {\n return state;\n }\n\n if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot move by window in phase \" + state.phase) : invariant(false) : void 0;\n var newScroll = action.payload.scroll;\n\n if (isEqual(state.viewport.scroll.current, newScroll)) {\n return state;\n }\n\n var isJumpScrolling = state.autoScrollMode === 'JUMP';\n\n var _impact3 = isJumpScrolling ? state.impact : null;\n\n var _viewport = scrollViewport(state.viewport, newScroll);\n\n return moveWithPositionUpdates({\n state: state,\n clientSelection: state.current.client.selection,\n viewport: _viewport,\n shouldAnimate: false,\n impact: _impact3\n });\n }\n\n if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n var _extends7;\n\n !state.isDragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot update the max viewport scroll if not dragging') : invariant(false) : void 0;\n var existing = state.viewport;\n\n var _viewport2 = _extends({}, existing, {\n scroll: _extends({}, existing.scroll, {\n max: action.payload\n })\n });\n\n return _extends({\n phase: 'DRAGGING'\n }, state, (_extends7 = {}, _extends7[\"phase\"] = state.phase, _extends7.viewport = _viewport2, _extends7));\n }\n\n if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n if (state.phase === 'PREPARING') {\n return state;\n }\n\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" received while not in DRAGGING phase\") : invariant(false) : void 0;\n\n var _result2 = moveInDirection({\n state: state,\n type: action.type\n });\n\n if (!_result2) {\n return state;\n }\n\n return moveWithPositionUpdates({\n state: state,\n impact: _result2.impact,\n clientSelection: _result2.clientSelection,\n shouldAnimate: true,\n scrollJumpRequest: _result2.scrollJumpRequest\n });\n }\n\n if (action.type === 'DROP_PENDING') {\n var _extends8;\n\n var reason = action.payload.reason;\n !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n\n var newState = _extends({\n phase: 'DROP_PENDING'\n }, state, (_extends8 = {}, _extends8[\"phase\"] = 'DROP_PENDING', _extends8.isWaiting = true, _extends8.reason = reason, _extends8));\n\n return newState;\n }\n\n if (action.type === 'DROP_ANIMATE') {\n var pending = action.payload;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot animate drop from phase \" + state.phase) : invariant(false) : void 0;\n var _result3 = {\n phase: 'DROP_ANIMATING',\n pending: pending,\n dimensions: state.dimensions\n };\n return _result3;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n return idle;\n }\n\n return state;\n});\n\nvar lift = function lift(args) {\n return {\n type: 'LIFT',\n payload: args\n };\n};\nvar initialPublish = function initialPublish(args) {\n return {\n type: 'INITIAL_PUBLISH',\n payload: args\n };\n};\nvar publish = function publish(args) {\n return {\n type: 'PUBLISH',\n payload: args\n };\n};\nvar collectionStarting = function collectionStarting() {\n return {\n type: 'COLLECTION_STARTING',\n payload: null\n };\n};\nvar updateDroppableScroll = function updateDroppableScroll(args) {\n return {\n type: 'UPDATE_DROPPABLE_SCROLL',\n payload: args\n };\n};\nvar updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {\n return {\n type: 'UPDATE_DROPPABLE_IS_ENABLED',\n payload: args\n };\n};\nvar move = function move(args) {\n return {\n type: 'MOVE',\n payload: args\n };\n};\nvar moveByWindowScroll = function moveByWindowScroll(args) {\n return {\n type: 'MOVE_BY_WINDOW_SCROLL',\n payload: args\n };\n};\nvar updateViewportMaxScroll = function updateViewportMaxScroll(max) {\n return {\n type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n payload: max\n };\n};\nvar moveUp = function moveUp() {\n return {\n type: 'MOVE_UP',\n payload: null\n };\n};\nvar moveDown = function moveDown() {\n return {\n type: 'MOVE_DOWN',\n payload: null\n };\n};\nvar moveRight = function moveRight() {\n return {\n type: 'MOVE_RIGHT',\n payload: null\n };\n};\nvar moveLeft = function moveLeft() {\n return {\n type: 'MOVE_LEFT',\n payload: null\n };\n};\nvar clean = function clean() {\n return {\n type: 'CLEAN',\n payload: null\n };\n};\nvar prepare = function prepare() {\n return {\n type: 'PREPARE',\n payload: null\n };\n};\nvar animateDrop = function animateDrop(pending) {\n return {\n type: 'DROP_ANIMATE',\n payload: pending\n };\n};\nvar completeDrop = function completeDrop(result) {\n return {\n type: 'DROP_COMPLETE',\n payload: result\n };\n};\nvar drop = function drop(args) {\n return {\n type: 'DROP',\n payload: args\n };\n};\nvar dropPending = function dropPending(args) {\n return {\n type: 'DROP_PENDING',\n payload: args\n };\n};\nvar dropAnimationFinished = function dropAnimationFinished() {\n return {\n type: 'DROP_ANIMATION_FINISHED',\n payload: null\n };\n};\n\nvar lift$1 = (function (getMarshal) {\n var timeoutId = null;\n\n var tryAbortCriticalCollection = function tryAbortCriticalCollection() {\n if (timeoutId == null) {\n return;\n }\n\n clearTimeout(timeoutId);\n timeoutId = null;\n };\n\n return function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type === 'CLEAN') {\n tryAbortCriticalCollection();\n next(action);\n return;\n }\n\n if (action.type !== 'LIFT') {\n next(action);\n return;\n }\n\n !!timeoutId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'There should not be a pending complete lift phase when a lift action is fired') : invariant(false) : void 0;\n var marshal = getMarshal();\n var _action$payload = action.payload,\n id = _action$payload.id,\n client = _action$payload.client,\n autoScrollMode = _action$payload.autoScrollMode,\n viewport = _action$payload.viewport;\n var initial = getState();\n\n if (initial.phase === 'DROP_ANIMATING') {\n dispatch(completeDrop(initial.pending.result));\n }\n\n var postFlushState = getState();\n !(postFlushState.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Incorrect phase to start a drag') : invariant(false) : void 0;\n dispatch(prepare());\n timeoutId = setTimeout(function () {\n timeoutId = null;\n var state = getState();\n !(state.phase === 'PREPARING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid phase for completing lift') : invariant(false) : void 0;\n var scrollOptions = {\n shouldPublishImmediately: autoScrollMode === 'JUMP'\n };\n var request = {\n draggableId: id,\n scrollOptions: scrollOptions\n };\n\n var _marshal$startPublish = marshal.startPublishing(request, viewport.scroll.current),\n critical = _marshal$startPublish.critical,\n dimensions = _marshal$startPublish.dimensions;\n\n dispatch(initialPublish({\n critical: critical,\n dimensions: dimensions,\n client: client,\n autoScrollMode: autoScrollMode,\n viewport: viewport\n }));\n });\n };\n };\n };\n});\n\nvar style = (function (marshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n marshal.dragging();\n }\n\n if (action.type === 'COLLECTION_STARTING') {\n marshal.collecting();\n }\n\n if (action.type === 'PUBLISH') {\n marshal.dragging();\n }\n\n if (action.type === 'DROP_ANIMATE') {\n marshal.dropping(action.payload.result.reason);\n }\n\n if (action.type === 'CLEAN' || action.type === 'DROP_COMPLETE') {\n marshal.resting();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar getNewHomeClientBorderBoxCenter = (function (_ref) {\n var movement = _ref.movement,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n destination = _ref.destination;\n var originalCenter = draggable.client.borderBox.center;\n\n if (destination == null) {\n return originalCenter;\n }\n\n var displaced = movement.displaced,\n isBeyondStartPosition = movement.isBeyondStartPosition;\n var axis = destination.axis;\n var isWithinHomeDroppable = destination.descriptor.id === draggable.descriptor.droppableId;\n\n if (isWithinHomeDroppable && !displaced.length) {\n return originalCenter;\n }\n\n var draggablesInDestination = getDraggablesInsideDroppable(destination, draggables);\n\n var movingRelativeTo = function () {\n if (isWithinHomeDroppable) {\n return draggables[displaced[0].draggableId].client.borderBox;\n }\n\n if (displaced.length) {\n return draggables[displaced[0].draggableId].client.borderBox;\n }\n\n if (draggablesInDestination.length) {\n return draggablesInDestination[draggablesInDestination.length - 1].client.marginBox;\n }\n\n return destination.client.contentBox;\n }();\n\n var _ref2 = function () {\n if (isWithinHomeDroppable) {\n if (isBeyondStartPosition) {\n return {\n sourceEdge: 'end',\n destinationEdge: 'end'\n };\n }\n\n return {\n sourceEdge: 'start',\n destinationEdge: 'start'\n };\n }\n\n if (!displaced.length && draggablesInDestination.length) {\n return {\n sourceEdge: 'start',\n destinationEdge: 'end'\n };\n }\n\n return {\n sourceEdge: 'start',\n destinationEdge: 'start'\n };\n }(),\n sourceEdge = _ref2.sourceEdge,\n destinationEdge = _ref2.destinationEdge;\n\n var source = draggable.client.borderBox;\n var targetCenter = moveToEdge({\n source: source,\n sourceEdge: sourceEdge,\n destination: movingRelativeTo,\n destinationEdge: destinationEdge,\n destinationAxis: axis\n });\n return targetCenter;\n});\n\nvar getScrollDisplacement = function getScrollDisplacement(droppable, viewport) {\n return withDroppableDisplacement(droppable, viewport.scroll.diff.displacement);\n};\n\nvar drop$1 = (function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP') {\n next(action);\n return;\n }\n\n var state = getState();\n var reason = action.payload.reason;\n\n if (state.phase === 'COLLECTING') {\n dispatch(dropPending({\n reason: reason\n }));\n return;\n }\n\n if (state.phase === 'PREPARING') {\n dispatch(clean());\n return;\n }\n\n if (state.phase === 'IDLE') {\n return;\n }\n\n var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot drop in phase: \" + state.phase) : invariant(false) : void 0;\n var critical = state.critical;\n var dimensions = state.dimensions;\n var impact = reason === 'DROP' ? state.impact : noImpact;\n var home = dimensions.droppables[state.critical.droppable.id];\n var draggable = dimensions.draggables[state.critical.draggable.id];\n var droppable = impact && impact.destination ? dimensions.droppables[impact.destination.droppableId] : null;\n var source = {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n var destination = reason === 'DROP' ? impact.destination : null;\n var result = {\n draggableId: draggable.descriptor.id,\n type: home.descriptor.type,\n source: source,\n destination: destination,\n reason: reason\n };\n\n var clientOffset = function () {\n if (reason === 'CANCEL') {\n return origin;\n }\n\n var newBorderBoxClientCenter = getNewHomeClientBorderBoxCenter({\n movement: impact.movement,\n draggable: draggable,\n draggables: dimensions.draggables,\n destination: droppable\n });\n return subtract(newBorderBoxClientCenter, draggable.client.borderBox.center);\n }();\n\n var newHomeOffset = add(clientOffset, getScrollDisplacement(droppable || home, state.viewport));\n var isAnimationRequired = !isEqual(state.current.client.offset, newHomeOffset);\n var pending = {\n newHomeOffset: newHomeOffset,\n result: result,\n impact: impact\n };\n\n if (isAnimationRequired) {\n dispatch(animateDrop(pending));\n return;\n }\n\n dispatch(completeDrop(result));\n };\n };\n});\n\nvar onDragStart = function onDragStart(start) {\n return \"\\n You have lifted an item in position \" + (start.source.index + 1) + \".\\n Use the arrow keys to move, space bar to drop, and escape to cancel.\\n\";\n};\n\nvar onDragUpdate = function onDragUpdate(update) {\n if (!update.destination) {\n return 'You are currently not dragging over a droppable area';\n }\n\n if (update.source.droppableId === update.destination.droppableId) {\n return \"You have moved the item to position \" + (update.destination.index + 1);\n }\n\n return \"\\n You have moved the item from list \" + update.source.droppableId + \" in position \" + (update.source.index + 1) + \"\\n to list \" + update.destination.droppableId + \" in position \" + (update.destination.index + 1) + \"\\n \";\n};\n\nvar onDragEnd = function onDragEnd(result) {\n if (result.reason === 'CANCEL') {\n return \"\\n Movement cancelled.\\n The item has returned to its starting position of \" + (result.source.index + 1) + \"\\n \";\n }\n\n if (!result.destination) {\n return \"\\n The item has been dropped while not over a droppable location.\\n The item has returned to its starting position of \" + (result.source.index + 1) + \"\\n \";\n }\n\n if (result.source.droppableId === result.destination.droppableId) {\n if (result.source.index === result.destination.index) {\n return \"\\n You have dropped the item.\\n It has been dropped on its starting position of \" + (result.source.index + 1) + \"\\n \";\n }\n\n return \"\\n You have dropped the item.\\n It has moved from position \" + (result.source.index + 1) + \" to \" + (result.destination.index + 1) + \"\\n \";\n }\n\n return \"\\n You have dropped the item.\\n It has moved from position \" + (result.source.index + 1) + \" in list \" + result.source.droppableId + \"\\n to position \" + (result.destination.index + 1) + \" in list \" + result.destination.droppableId + \"\\n \";\n};\n\nvar preset = {\n onDragStart: onDragStart,\n onDragUpdate: onDragUpdate,\n onDragEnd: onDragEnd\n};\n\nvar records = {};\nvar flag = '__react-beautiful-dnd-debug-timings-hook__';\n\nvar isTimingsEnabled = function isTimingsEnabled() {\n return Boolean(window[flag]);\n};\n\nvar start = function start(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isTimingsEnabled()) {\n return;\n }\n\n var now = performance.now();\n records[key] = now;\n }\n};\nvar finish = function finish(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isTimingsEnabled()) {\n return;\n }\n\n var now = performance.now();\n var previous = records[key];\n !previous ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'cannot finish timing as no previous time found') : invariant(false) : void 0;\n var result = now - previous;\n var rounded = result.toFixed(2);\n\n var style = function () {\n if (result < 12) {\n return {\n textColor: 'green',\n symbol: '✅'\n };\n }\n\n if (result < 40) {\n return {\n textColor: 'orange',\n symbol: '⚠️'\n };\n }\n\n return {\n textColor: 'red',\n symbol: '❌'\n };\n }();\n\n console.log(style.symbol + \" %cTiming %c\" + rounded + \" %cms %c\" + key, 'color: blue; font-weight: bold; ', \"color: \" + style.textColor + \"; font-size: 1.1em;\", 'color: grey;', 'color: purple; font-weight: bold;');\n }\n};\n\nvar withTimings = function withTimings(key, fn) {\n start(key);\n fn();\n finish(key);\n};\n\nvar areLocationsEqual = function areLocationsEqual(first, second) {\n if (first == null && second == null) {\n return true;\n }\n\n if (first == null || second == null) {\n return false;\n }\n\n return first.droppableId === second.droppableId && first.index === second.index;\n};\n\nvar isCriticalEqual = function isCriticalEqual(first, second) {\n if (first === second) {\n return true;\n }\n\n var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n return isDraggableEqual && isDroppableEqual;\n};\n\nvar getExpiringAnnounce = function getExpiringAnnounce(announce) {\n var wasCalled = false;\n var isExpired = false;\n setTimeout(function () {\n isExpired = true;\n });\n\n var result = function result(message) {\n if (wasCalled) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Announcement already made. Not making a second announcement');\n }\n\n return;\n }\n\n if (isExpired) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"\\n Announcements cannot be made asynchronously.\\n Default message has already been announced.\\n \");\n }\n\n return;\n }\n\n wasCalled = true;\n announce(message);\n };\n\n result.wasCalled = function () {\n return wasCalled;\n };\n\n return result;\n};\n\nvar getDragStart = function getDragStart(critical) {\n return {\n draggableId: critical.draggable.id,\n type: critical.droppable.type,\n source: {\n droppableId: critical.droppable.id,\n index: critical.draggable.index\n }\n };\n};\n\nvar hooks = (function (getHooks, announce) {\n var execute = function execute(hook, data, getDefaultMessage) {\n if (!hook) {\n announce(getDefaultMessage(data));\n return;\n }\n\n var willExpire = getExpiringAnnounce(announce);\n var provided = {\n announce: willExpire\n };\n hook(data, provided);\n\n if (!willExpire.wasCalled()) {\n announce(getDefaultMessage(data));\n }\n };\n\n var publisher = function () {\n var lastLocation = null;\n var lastCritical = null;\n var _isDragStartPublished = false;\n\n var beforeStart = function beforeStart(critical) {\n !!_isDragStartPublished ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeDragStart', function () {\n var fn = getHooks().onBeforeDragStart;\n\n if (fn) {\n fn(getDragStart(critical));\n }\n });\n };\n\n var start$$1 = function start$$1(critical) {\n !!_isDragStartPublished ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n var data = getDragStart(critical);\n lastCritical = critical;\n lastLocation = data.source;\n _isDragStartPublished = true;\n withTimings('onDragStart', function () {\n return execute(getHooks().onDragStart, data, preset.onDragStart);\n });\n };\n\n var move = function move(critical, location) {\n !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n var hasCriticalChanged = !isCriticalEqual(critical, lastCritical);\n\n if (hasCriticalChanged) {\n lastCritical = critical;\n }\n\n var hasLocationChanged = !areLocationsEqual(lastLocation, location);\n\n if (hasLocationChanged) {\n lastLocation = location;\n }\n\n if (!hasCriticalChanged && !hasLocationChanged) {\n return;\n }\n\n var data = _extends({}, getDragStart(critical), {\n destination: location\n });\n\n withTimings('onDragUpdate', function () {\n return execute(getHooks().onDragUpdate, data, preset.onDragUpdate);\n });\n };\n\n var drop = function drop(result) {\n !_isDragStartPublished ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n _isDragStartPublished = false;\n lastLocation = null;\n lastCritical = null;\n withTimings('onDragEnd', function () {\n return execute(getHooks().onDragEnd, result, preset.onDragEnd);\n });\n };\n\n var abort = function abort() {\n !(_isDragStartPublished && lastCritical) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot cancel when onDragStart not fired') : invariant(false) : void 0;\n\n var result = _extends({}, getDragStart(lastCritical), {\n destination: null,\n reason: 'CANCEL'\n });\n\n drop(result);\n };\n\n return {\n beforeStart: beforeStart,\n start: start$$1,\n move: move,\n drop: drop,\n abort: abort,\n isDragStartPublished: function isDragStartPublished() {\n return _isDragStartPublished;\n }\n };\n }();\n\n return function (store) {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n var critical = action.payload.critical;\n publisher.beforeStart(critical);\n next(action);\n publisher.start(critical);\n return;\n }\n\n next(action);\n\n if (action.type === 'DROP_COMPLETE') {\n var result = action.payload;\n publisher.drop(result);\n return;\n }\n\n if (action.type === 'CLEAN') {\n if (publisher.isDragStartPublished()) {\n publisher.abort();\n }\n\n return;\n }\n\n if (!publisher.isDragStartPublished()) {\n return;\n }\n\n var state = store.getState();\n\n if (state.phase === 'DRAGGING') {\n publisher.move(state.critical, state.impact.destination);\n }\n };\n };\n };\n});\n\nvar dropAnimationFinish = (function (store) {\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP_ANIMATION_FINISHED') {\n next(action);\n return;\n }\n\n var state = store.getState();\n !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n store.dispatch(completeDrop(state.pending.result));\n };\n };\n});\n\nvar dimensionMarshalStopper = (function (getMarshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'DROP_COMPLETE' || action.type === 'CLEAN' || action.type === 'DROP_ANIMATE') {\n var marshal = getMarshal();\n marshal.stopPublishing();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar shouldCancel = function shouldCancel(action) {\n return action.type === 'CANCEL' || action.type === 'DROP_ANIMATE' || action.type === 'DROP' || action.type === 'DROP_COMPLETE' || action.type === 'COLLECTION_STARTING';\n};\n\nvar autoScroll = (function (getScroller) {\n return function (store) {\n return function (next) {\n return function (action) {\n if (shouldCancel(action)) {\n getScroller().cancel();\n next(action);\n return;\n }\n\n next(action);\n var state = store.getState();\n\n if (state.phase !== 'DRAGGING') {\n return;\n }\n\n if (state.autoScrollMode === 'FLUID') {\n getScroller().fluidScroll(state);\n return;\n }\n\n if (!state.scrollJumpRequest) {\n return;\n }\n\n getScroller().jumpScroll(state);\n };\n };\n };\n});\n\nvar shouldCheckOnAction = function shouldCheckOnAction(action) {\n return action.type === 'MOVE' || action.type === 'MOVE_UP' || action.type === 'MOVE_RIGHT' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_BY_WINDOW_SCROLL';\n};\n\nvar hasDroppableOverChanged = function hasDroppableOverChanged(previous, current) {\n if (!previous) {\n return Boolean(current);\n }\n\n if (!current) {\n return Boolean(previous);\n }\n\n return previous.droppableId !== current.droppableId;\n};\n\nvar getNewMaxScroll = function getNewMaxScroll(previous, current, action) {\n if (!shouldCheckOnAction(action)) {\n return null;\n }\n\n if (!isMovementAllowed(previous) || !isMovementAllowed(current)) {\n return null;\n }\n\n if (!hasDroppableOverChanged(previous.impact.destination, current.impact.destination)) {\n return null;\n }\n\n var viewport = current.viewport;\n var doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find document.documentElement') : invariant(false) : void 0;\n var maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: viewport.frame.width,\n height: viewport.frame.height\n });\n\n if (isEqual(maxScroll, viewport.scroll.max)) {\n return null;\n }\n\n return maxScroll;\n};\n\nvar maxScrollUpdater = (function (store) {\n return function (next) {\n return function (action) {\n var previous = store.getState();\n next(action);\n var current = store.getState();\n var maxScroll = getNewMaxScroll(previous, current, action);\n\n if (maxScroll) {\n next(updateViewportMaxScroll(maxScroll));\n }\n };\n };\n});\n\nvar composeEnhancers = typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : redux.compose;\nvar createStore = (function (_ref) {\n var getDimensionMarshal = _ref.getDimensionMarshal,\n styleMarshal = _ref.styleMarshal,\n getHooks = _ref.getHooks,\n announce = _ref.announce,\n getScroller = _ref.getScroller;\n return redux.createStore(reducer, composeEnhancers(redux.applyMiddleware(style(styleMarshal), dimensionMarshalStopper(getDimensionMarshal), lift$1(getDimensionMarshal), drop$1, dropAnimationFinish, maxScrollUpdater, autoScroll(getScroller), hooks(getHooks, announce))));\n});\n\nvar getEmptyMap = function getEmptyMap() {\n return {\n draggables: {},\n droppables: {}\n };\n};\n\nvar timingKey = 'Publish collection from DOM';\nvar createPublisher = (function (_ref) {\n var getProvided = _ref.getProvided,\n callbacks = _ref.callbacks;\n\n var advancedUsageWarning = function () {\n if (process.env.NODE_ENV === 'production') {\n return function () {};\n }\n\n var hasAnnounced = false;\n return function () {\n if (hasAnnounced) {\n return;\n }\n\n hasAnnounced = true;\n\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n console.warn(\"\\n Advanced usage warning: you are adding or removing a dimension during a drag\\n This an advanced feature used to support dynamic interactions such as lazy loading lists.\\n\\n Keep in mind the following restrictions:\\n\\n - Draggable's can only be added to Droppable's that are scroll containers\\n - Adding a Droppable cannot impact the placement of other Droppables\\n (it cannot push a Droppable on the page)\\n\\n (This warning will be stripped in production builds)\\n \".trim());\n };\n }();\n\n var additions = getEmptyMap();\n var removals = getEmptyMap();\n var frameId = null;\n\n var reset = function reset() {\n additions = getEmptyMap();\n removals = getEmptyMap();\n };\n\n var collect = function collect() {\n advancedUsageWarning();\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n callbacks.collectionStarting();\n start(timingKey);\n\n var _getProvided = getProvided(),\n entries = _getProvided.entries,\n collection = _getProvided.collection;\n\n var windowScroll = collection.initialWindowScroll;\n\n var draggables = _Object$keys(additions.draggables).map(function (id) {\n return entries.draggables[id].getDimension(windowScroll);\n });\n\n var droppables = _Object$keys(additions.droppables).map(function (id) {\n return entries.droppables[id].callbacks.getDimensionAndWatchScroll(windowScroll, collection.scrollOptions);\n });\n\n var result = {\n additions: {\n draggables: draggables,\n droppables: droppables\n },\n removals: {\n draggables: _Object$keys(removals.draggables),\n droppables: _Object$keys(removals.droppables)\n }\n };\n reset();\n finish(timingKey);\n callbacks.publish(result);\n });\n };\n\n var addDraggable = function addDraggable(id) {\n additions.draggables[id] = true;\n\n if (removals.draggables[id]) {\n delete removals.draggables[id];\n }\n\n collect();\n };\n\n var removeDraggable = function removeDraggable(id) {\n removals.draggables[id] = true;\n\n if (additions.draggables[id]) {\n delete additions.draggables[id];\n }\n\n collect();\n };\n\n var addDroppable = function addDroppable(id) {\n additions.droppables[id] = true;\n\n if (removals.droppables[id]) {\n delete removals.droppables[id];\n }\n\n collect();\n };\n\n var removeDroppable = function removeDroppable(id) {\n removals.droppables[id] = true;\n\n if (additions.droppables[id]) {\n delete additions.droppables[id];\n }\n\n collect();\n };\n\n var stop = function stop() {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n reset();\n };\n\n return {\n addDraggable: addDraggable,\n removeDraggable: removeDraggable,\n addDroppable: addDroppable,\n removeDroppable: removeDroppable,\n stop: stop\n };\n});\n\nvar createDimensionMarshal = (function (callbacks) {\n var entries = {\n droppables: {},\n draggables: {}\n };\n var collection = null;\n var publisher = createPublisher({\n callbacks: {\n publish: callbacks.publish,\n collectionStarting: callbacks.collectionStarting\n },\n getProvided: function getProvided() {\n !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get scroll options when there is no collection') : invariant(false) : void 0;\n return {\n entries: entries,\n collection: collection\n };\n }\n });\n\n var registerDraggable = function registerDraggable(descriptor, getDimension) {\n var entry = {\n descriptor: descriptor,\n getDimension: getDimension\n };\n entries.draggables[descriptor.id] = entry;\n\n if (!collection) {\n return;\n }\n\n if (collection.critical.draggable.type !== descriptor.type) {\n return;\n }\n\n publisher.addDraggable(descriptor.id);\n };\n\n var updateDraggable = function updateDraggable(previous, descriptor, getDimension) {\n !entries.draggables[previous.id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot update draggable registration as no previous registration was found') : invariant(false) : void 0;\n delete entries.draggables[previous.id];\n var entry = {\n descriptor: descriptor,\n getDimension: getDimension\n };\n entries.draggables[descriptor.id] = entry;\n };\n\n var unregisterDraggable = function unregisterDraggable(descriptor) {\n var entry = entries.draggables[descriptor.id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot unregister Draggable with id \" + descriptor.id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (entry.descriptor !== descriptor) {\n return;\n }\n\n delete entries.draggables[descriptor.id];\n\n if (!collection) {\n return;\n }\n\n !(collection.critical.draggable.id !== descriptor.id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove the dragging item during a drag') : invariant(false) : void 0;\n\n if (descriptor.type !== collection.critical.draggable.type) {\n return;\n }\n\n publisher.removeDraggable(descriptor.id);\n };\n\n var registerDroppable = function registerDroppable(descriptor, droppableCallbacks) {\n var id = descriptor.id;\n entries.droppables[id] = {\n descriptor: descriptor,\n callbacks: droppableCallbacks\n };\n\n if (!collection) {\n return;\n }\n\n if (descriptor.type !== collection.critical.droppable.type) {\n return;\n }\n\n publisher.addDroppable(id);\n };\n\n var updateDroppable = function updateDroppable(previous, descriptor, droppableCallbacks) {\n !entries.droppables[previous.id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot update droppable registration as no previous registration was found') : invariant(false) : void 0;\n delete entries.droppables[previous.id];\n var entry = {\n descriptor: descriptor,\n callbacks: droppableCallbacks\n };\n entries.droppables[descriptor.id] = entry;\n\n if (collection) {\n process.env.NODE_ENV !== \"production\" ? invariant(false, 'You are not able to update the id or type of a droppable during a drag') : invariant(false);\n }\n };\n\n var unregisterDroppable = function unregisterDroppable(descriptor) {\n var entry = entries.droppables[descriptor.id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot unregister Droppable with id \" + descriptor.id + \" as as it is not registered\") : invariant(false) : void 0;\n\n if (entry.descriptor !== descriptor) {\n return;\n }\n\n delete entries.droppables[descriptor.id];\n\n if (!collection) {\n return;\n }\n\n !(collection.critical.droppable.id !== descriptor.id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove the home Droppable during a drag') : invariant(false) : void 0;\n\n if (collection.critical.droppable.type !== descriptor.type) {\n return;\n }\n\n publisher.removeDroppable(descriptor.id);\n };\n\n var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {\n !entries.droppables[id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update the scroll on Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableIsEnabled({\n id: id,\n isEnabled: isEnabled\n });\n };\n\n var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {\n !entries.droppables[id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update the scroll on Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableScroll({\n id: id,\n offset: newScroll\n });\n };\n\n var scrollDroppable = function scrollDroppable(id, change) {\n var entry = entries.droppables[id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot scroll Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n entry.callbacks.scroll(change);\n };\n\n var getInitialPublish = function getInitialPublish(args) {\n var critical = args.critical,\n scrollOptions = args.scrollOptions,\n windowScroll = args.initialWindowScroll;\n var timingKey = 'Initial collection from DOM';\n start(timingKey);\n var home = critical.droppable;\n\n var droppables = _Object$keys(entries.droppables).map(function (id) {\n return entries.droppables[id];\n }).filter(function (entry) {\n return entry.descriptor.type === home.type;\n }).map(function (entry) {\n return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);\n }).reduce(function (previous, dimension) {\n previous[dimension.descriptor.id] = dimension;\n return previous;\n }, {});\n\n var draggables = _Object$keys(entries.draggables).map(function (id) {\n return entries.draggables[id];\n }).filter(function (entry) {\n return entry.descriptor.type === critical.draggable.type;\n }).map(function (entry) {\n return entry.getDimension(windowScroll);\n }).reduce(function (previous, dimension) {\n previous[dimension.descriptor.id] = dimension;\n return previous;\n }, {});\n\n finish(timingKey);\n var dimensions = {\n draggables: draggables,\n droppables: droppables\n };\n var result = {\n dimensions: dimensions,\n critical: critical\n };\n return result;\n };\n\n var stopPublishing = function stopPublishing() {\n if (!collection) {\n return;\n }\n\n publisher.stop();\n var home = collection.critical.droppable;\n\n _Object$keys(entries.droppables).filter(function (id) {\n return entries.droppables[id].descriptor.type === home.type;\n }).forEach(function (id) {\n return entries.droppables[id].callbacks.unwatchScroll();\n });\n\n collection = null;\n };\n\n var startPublishing = function startPublishing(request, windowScroll) {\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n var entry = entries.draggables[request.draggableId];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find critical draggable entry') : invariant(false) : void 0;\n var home = entries.droppables[entry.descriptor.droppableId];\n !home ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find critical droppable entry') : invariant(false) : void 0;\n var critical = {\n draggable: entry.descriptor,\n droppable: home.descriptor\n };\n collection = {\n scrollOptions: request.scrollOptions,\n critical: critical,\n initialWindowScroll: windowScroll\n };\n return getInitialPublish(collection);\n };\n\n var marshal = {\n registerDraggable: registerDraggable,\n updateDraggable: updateDraggable,\n unregisterDraggable: unregisterDraggable,\n registerDroppable: registerDroppable,\n updateDroppable: updateDroppable,\n unregisterDroppable: unregisterDroppable,\n updateDroppableIsEnabled: updateDroppableIsEnabled,\n scrollDroppable: scrollDroppable,\n updateDroppableScroll: updateDroppableScroll,\n startPublishing: startPublishing,\n stopPublishing: stopPublishing\n };\n return marshal;\n});\n\nvar physics = function () {\n var base = {\n stiffness: 1000,\n damping: 60,\n precision: 0.99\n };\n\n var standard = _extends({}, base);\n\n var fast = _extends({}, base, {\n stiffness: base.stiffness * 2\n });\n\n return {\n standard: standard,\n fast: fast\n };\n}();\nvar css = {\n outOfTheWay: 'transform 0.2s cubic-bezier(0.2, 0, 0, 1)'\n};\n\nvar prefix = 'data-react-beautiful-dnd';\nvar dragHandle = prefix + \"-drag-handle\";\nvar draggable = prefix + \"-draggable\";\nvar droppable = prefix + \"-droppable\";\n\nvar getStyles = (function (styleContext) {\n var dragHandleSelector = \"[\" + dragHandle + \"=\\\"\" + styleContext + \"\\\"]\";\n var draggableSelector = \"[\" + draggable + \"=\\\"\" + styleContext + \"\\\"]\";\n var droppableSelector = \"[\" + droppable + \"=\\\"\" + styleContext + \"\\\"]\";\n var dragHandleStyles = {\n base: \"\\n \" + dragHandleSelector + \" {\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n touch-action: manipulation;\\n }\\n \",\n grabCursor: \"\\n \" + dragHandleSelector + \" {\\n cursor: -webkit-grab;\\n cursor: grab;\\n }\\n \",\n blockPointerEvents: \"\\n \" + dragHandleSelector + \" {\\n pointer-events: none;\\n }\\n \"\n };\n var draggableStyles = {\n animateMovement: \"\\n \" + draggableSelector + \" {\\n transition: \" + css.outOfTheWay + \";\\n }\\n \"\n };\n var droppableStyles = {\n base: \"\\n \" + droppableSelector + \" {\\n overflow-anchor: none;\\n }\\n \"\n };\n var bodyStyles = {\n whileActiveDragging: \"\\n body {\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n }\\n \"\n };\n var base = [dragHandleStyles.base, droppableStyles.base];\n var resting = base.concat([dragHandleStyles.grabCursor]);\n var collecting = base.concat([dragHandleStyles.blockPointerEvents, bodyStyles.whileActiveDragging]);\n var dragging = collecting.concat([draggableStyles.animateMovement]);\n var dropAnimating = base.concat([dragHandleStyles.grabCursor, draggableStyles.animateMovement]);\n var userCancel = base.concat([draggableStyles.animateMovement]);\n return {\n resting: resting.join(''),\n dragging: dragging.join(''),\n dropAnimating: dropAnimating.join(''),\n collecting: collecting.join(''),\n userCancel: userCancel.join('')\n };\n});\n\nvar count = 0;\nvar resetStyleContext = function resetStyleContext() {\n count = 0;\n};\n\nvar getHead = function getHead() {\n var head = document.querySelector('head');\n !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n return head;\n};\n\nvar createStyleMarshal = (function () {\n var context = \"\" + count++;\n var styles = getStyles(context);\n var el = null;\n var setStyle = memoizeOne(function (proposed) {\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set style of style tag if not mounted') : invariant(false) : void 0;\n el.innerHTML = proposed;\n });\n\n var mount = function mount() {\n !!el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Style marshal already mounted') : invariant(false) : void 0;\n el = document.createElement('style');\n el.type = 'text/css';\n el.setAttribute(prefix, context);\n getHead().appendChild(el);\n setStyle(styles.resting);\n };\n\n var collecting = function collecting() {\n return setStyle(styles.collecting);\n };\n\n var dragging = function dragging() {\n return setStyle(styles.dragging);\n };\n\n var dropping = function dropping(reason) {\n if (reason === 'DROP') {\n setStyle(styles.dropAnimating);\n return;\n }\n\n setStyle(styles.userCancel);\n };\n\n var resting = function resting() {\n return setStyle(styles.resting);\n };\n\n var unmount = function unmount() {\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount style marshal as it is already unmounted') : invariant(false) : void 0;\n getHead().removeChild(el);\n el = null;\n };\n\n var marshal = {\n collecting: collecting,\n dragging: dragging,\n dropping: dropping,\n resting: resting,\n styleContext: context,\n mount: mount,\n unmount: unmount\n };\n return marshal;\n});\n\nvar canStartDrag = (function (state, id) {\n if (state.phase === 'IDLE') {\n return true;\n }\n\n if (state.phase !== 'DROP_ANIMATING') {\n return false;\n }\n\n if (state.pending.result.draggableId === id) {\n return false;\n }\n\n return state.pending.result.reason === 'DROP';\n});\n\nvar scrollWindow = (function (change) {\n window.scrollBy(change.x, change.y);\n});\n\nvar count$1 = 0;\nvar visuallyHidden = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n border: '0',\n padding: '0',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n 'clip-path': 'inset(100%)'\n};\n\nvar getBody = function getBody() {\n !document.body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Announcer cannot find document.body') : invariant(false) : void 0;\n return document.body;\n};\n\nvar createAnnouncer = (function () {\n var id = \"react-beautiful-dnd-announcement-\" + count$1++;\n var el = null;\n\n var announce = function announce(message) {\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot announce to unmounted node') : invariant(false) : void 0;\n el.textContent = message;\n };\n\n var mount = function mount() {\n !!el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Announcer already mounted') : invariant(false) : void 0;\n el = document.createElement('div');\n el.id = id;\n el.setAttribute('aria-live', 'assertive');\n el.setAttribute('role', 'log');\n el.setAttribute('aria-atomic', 'true');\n\n _Object$assign(el.style, visuallyHidden);\n\n getBody().appendChild(el);\n };\n\n var unmount = function unmount() {\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Will not unmount annoucer as it is already unmounted') : invariant(false) : void 0;\n getBody().removeChild(el);\n el = null;\n };\n\n var announcer = {\n announce: announce,\n id: id,\n mount: mount,\n unmount: unmount\n };\n return announcer;\n});\n\nvar getScrollableDroppables = memoizeOne(function (droppables) {\n return toDroppableList(droppables).filter(function (droppable) {\n if (!droppable.isEnabled) {\n return false;\n }\n\n if (!droppable.viewport.closestScrollable) {\n return false;\n }\n\n return true;\n });\n});\n\nvar getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {\n var maybe = getScrollableDroppables(droppables).find(function (droppable) {\n !droppable.viewport.closestScrollable ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n return isPositionInFrame(droppable.viewport.closestScrollable.framePageMarginBox)(target);\n });\n return maybe;\n};\n\nvar getBestScrollableDroppable = (function (_ref) {\n var center = _ref.center,\n destination = _ref.destination,\n droppables = _ref.droppables;\n\n if (destination) {\n var _dimension = droppables[destination.droppableId];\n\n if (!_dimension.viewport.closestScrollable) {\n return null;\n }\n\n return _dimension;\n }\n\n var dimension = getScrollableDroppableOver(center, droppables);\n return dimension;\n});\n\nvar smallestSigned = apply(function (value) {\n if (value === 0) {\n return 0;\n }\n\n return value > 0 ? 1 : -1;\n});\nvar getOverlap = function () {\n var getRemainder = function getRemainder(target, max) {\n if (target < 0) {\n return target;\n }\n\n if (target > max) {\n return target - max;\n }\n\n return 0;\n };\n\n return function (_ref) {\n var current = _ref.current,\n max = _ref.max,\n change = _ref.change;\n var targetScroll = add(current, change);\n var overlap = {\n x: getRemainder(targetScroll.x, max.x),\n y: getRemainder(targetScroll.y, max.y)\n };\n\n if (isEqual(overlap, origin)) {\n return null;\n }\n\n return overlap;\n };\n}();\nvar canPartiallyScroll = function canPartiallyScroll(_ref2) {\n var rawMax = _ref2.max,\n current = _ref2.current,\n change = _ref2.change;\n var max = {\n x: Math.max(current.x, rawMax.x),\n y: Math.max(current.y, rawMax.y)\n };\n var smallestChange = smallestSigned(change);\n var overlap = getOverlap({\n max: max,\n current: current,\n change: smallestChange\n });\n\n if (!overlap) {\n return true;\n }\n\n if (smallestChange.x !== 0 && overlap.x === 0) {\n return true;\n }\n\n if (smallestChange.y !== 0 && overlap.y === 0) {\n return true;\n }\n\n return false;\n};\nvar canScrollWindow = function canScrollWindow(viewport, change) {\n return canPartiallyScroll({\n current: viewport.scroll.current,\n max: viewport.scroll.max,\n change: change\n });\n};\nvar getWindowOverlap = function getWindowOverlap(viewport, change) {\n if (!canScrollWindow(viewport, change)) {\n return null;\n }\n\n var max = viewport.scroll.max;\n var current = viewport.scroll.current;\n return getOverlap({\n current: current,\n max: max,\n change: change\n });\n};\nvar canScrollDroppable = function canScrollDroppable(droppable, change) {\n var closest$$1 = droppable.viewport.closestScrollable;\n\n if (!closest$$1) {\n return false;\n }\n\n return canPartiallyScroll({\n current: closest$$1.scroll.current,\n max: closest$$1.scroll.max,\n change: change\n });\n};\nvar getDroppableOverlap = function getDroppableOverlap(droppable, change) {\n var closest$$1 = droppable.viewport.closestScrollable;\n\n if (!closest$$1) {\n return null;\n }\n\n if (!canScrollDroppable(droppable, change)) {\n return null;\n }\n\n return getOverlap({\n current: closest$$1.scroll.current,\n max: closest$$1.scroll.max,\n change: change\n });\n};\n\nvar config = {\n startFrom: 0.25,\n maxSpeedAt: 0.05,\n maxScrollSpeed: 28,\n ease: function ease(percentage) {\n return Math.pow(percentage, 2);\n }\n};\nvar clean$1 = apply(function (value) {\n return value === 0 ? 0 : value;\n});\nvar getPixelThresholds = function getPixelThresholds(container, axis) {\n var startFrom = container[axis.size] * config.startFrom;\n var maxSpeedAt = container[axis.size] * config.maxSpeedAt;\n var accelerationPlane = startFrom - maxSpeedAt;\n var thresholds = {\n startFrom: startFrom,\n maxSpeedAt: maxSpeedAt,\n accelerationPlane: accelerationPlane\n };\n return thresholds;\n};\n\nvar getSpeed = function getSpeed(distance$$1, thresholds) {\n if (distance$$1 >= thresholds.startFrom) {\n return 0;\n }\n\n if (distance$$1 <= thresholds.maxSpeedAt) {\n return config.maxScrollSpeed;\n }\n\n var distancePastStart = thresholds.startFrom - distance$$1;\n var percentage = distancePastStart / thresholds.accelerationPlane;\n var transformed = config.ease(percentage);\n var speed = config.maxScrollSpeed * transformed;\n return speed;\n};\n\nvar adjustForSizeLimits = function adjustForSizeLimits(_ref) {\n var container = _ref.container,\n subject = _ref.subject,\n proposedScroll = _ref.proposedScroll;\n var isTooBigVertically = subject.height > container.height;\n var isTooBigHorizontally = subject.width > container.width;\n\n if (!isTooBigHorizontally && !isTooBigVertically) {\n return proposedScroll;\n }\n\n if (isTooBigHorizontally && isTooBigVertically) {\n return null;\n }\n\n return {\n x: isTooBigHorizontally ? 0 : proposedScroll.x,\n y: isTooBigVertically ? 0 : proposedScroll.y\n };\n};\n\nvar getRequiredScroll = function getRequiredScroll(_ref2) {\n var container = _ref2.container,\n subject = _ref2.subject,\n center = _ref2.center;\n var distance$$1 = {\n top: center.y - container.top,\n right: container.right - center.x,\n bottom: container.bottom - center.y,\n left: center.x - container.left\n };\n\n var y = function () {\n var thresholds = getPixelThresholds(container, vertical);\n var isCloserToBottom = distance$$1.bottom < distance$$1.top;\n\n if (isCloserToBottom) {\n return getSpeed(distance$$1.bottom, thresholds);\n }\n\n return -1 * getSpeed(distance$$1.top, thresholds);\n }();\n\n var x = function () {\n var thresholds = getPixelThresholds(container, horizontal);\n var isCloserToRight = distance$$1.right < distance$$1.left;\n\n if (isCloserToRight) {\n return getSpeed(distance$$1.right, thresholds);\n }\n\n return -1 * getSpeed(distance$$1.left, thresholds);\n }();\n\n var required = clean$1({\n x: x,\n y: y\n });\n\n if (isEqual(required, origin)) {\n return null;\n }\n\n var limited = adjustForSizeLimits({\n container: container,\n subject: subject,\n proposedScroll: required\n });\n\n if (!limited) {\n return null;\n }\n\n return isEqual(limited, origin) ? null : limited;\n};\n\nvar withPlaceholder = function withPlaceholder(droppable, draggable) {\n var closest$$1 = droppable.viewport.closestScrollable;\n\n if (!closest$$1) {\n return null;\n }\n\n var isOverHome = droppable.descriptor.id === draggable.descriptor.droppableId;\n var max = closest$$1.scroll.max;\n var current = closest$$1.scroll.current;\n\n if (isOverHome) {\n return {\n max: max,\n current: current\n };\n }\n\n var spaceForPlaceholder = patch(droppable.axis.line, draggable.placeholder.client.borderBox[droppable.axis.size]);\n var newMax = add(max, spaceForPlaceholder);\n var newCurrent = {\n x: Math.min(current.x, newMax.x),\n y: Math.min(current.y, newMax.y)\n };\n return {\n max: newMax,\n current: newCurrent\n };\n};\n\nvar createFluidScroller = (function (_ref3) {\n var scrollWindow = _ref3.scrollWindow,\n scrollDroppable = _ref3.scrollDroppable;\n var scheduleWindowScroll = rafSchd(scrollWindow);\n var scheduleDroppableScroll = rafSchd(scrollDroppable);\n\n var scroller = function scroller(state) {\n var center = state.current.page.borderBoxCenter;\n var draggable = state.dimensions.draggables[state.critical.draggable.id];\n var subject = draggable.page.marginBox;\n var viewport = state.viewport;\n var requiredWindowScroll = getRequiredScroll({\n container: viewport.frame,\n subject: subject,\n center: center\n });\n\n if (requiredWindowScroll && canScrollWindow(viewport, requiredWindowScroll)) {\n scheduleWindowScroll(requiredWindowScroll);\n return;\n }\n\n var droppable = getBestScrollableDroppable({\n center: center,\n destination: state.impact.destination,\n droppables: state.dimensions.droppables\n });\n\n if (!droppable) {\n return;\n }\n\n var closestScrollable = droppable.viewport.closestScrollable;\n\n if (!closestScrollable) {\n return;\n }\n\n var requiredFrameScroll = getRequiredScroll({\n container: closestScrollable.framePageMarginBox,\n subject: subject,\n center: center\n });\n\n if (!requiredFrameScroll) {\n return;\n }\n\n var result = withPlaceholder(droppable, draggable);\n\n if (!result) {\n return;\n }\n\n var closest$$1 = droppable.viewport.closestScrollable;\n\n if (!closest$$1) {\n return;\n }\n\n var canScrollDroppable$$1 = canPartiallyScroll({\n current: result.current,\n max: result.max,\n change: requiredFrameScroll\n });\n\n if (canScrollDroppable$$1) {\n scheduleDroppableScroll(droppable.descriptor.id, requiredFrameScroll);\n }\n };\n\n scroller.cancel = function () {\n scheduleWindowScroll.cancel();\n scheduleDroppableScroll.cancel();\n };\n\n return scroller;\n});\n\nvar createJumpScroller = (function (_ref) {\n var move = _ref.move,\n scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow;\n\n var moveByOffset = function moveByOffset(state, offset) {\n var client = add(state.current.client.selection, offset);\n move({\n client: client,\n shouldAnimate: true\n });\n };\n\n var scrollDroppableAsMuchAsItCan = function scrollDroppableAsMuchAsItCan(droppable, change) {\n if (!canScrollDroppable(droppable, change)) {\n return change;\n }\n\n var overlap = getDroppableOverlap(droppable, change);\n\n if (!overlap) {\n scrollDroppable(droppable.descriptor.id, change);\n return null;\n }\n\n var whatTheDroppableCanScroll = subtract(change, overlap);\n scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n var remainder = subtract(change, whatTheDroppableCanScroll);\n return remainder;\n };\n\n var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(viewport, change) {\n if (!canScrollWindow(viewport, change)) {\n return change;\n }\n\n var overlap = getWindowOverlap(viewport, change);\n\n if (!overlap) {\n scrollWindow(change);\n return null;\n }\n\n var whatTheWindowCanScroll = subtract(change, overlap);\n scrollWindow(whatTheWindowCanScroll);\n var remainder = subtract(change, whatTheWindowCanScroll);\n return remainder;\n };\n\n var jumpScroller = function jumpScroller(state) {\n var request = state.scrollJumpRequest;\n\n if (!request) {\n return;\n }\n\n var destination = state.impact.destination;\n !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination.droppableId], request);\n\n if (!droppableRemainder) {\n return;\n }\n\n var viewport = state.viewport;\n var windowRemainder = scrollWindowAsMuchAsItCan(viewport, droppableRemainder);\n\n if (!windowRemainder) {\n return;\n }\n\n moveByOffset(state, windowRemainder);\n };\n\n return jumpScroller;\n});\n\nvar createAutoScroller = (function (_ref) {\n var scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow,\n move = _ref.move;\n var fluidScroll = createFluidScroller({\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n var jumpScroll = createJumpScroller({\n move: move,\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n var marshal = {\n cancel: fluidScroll.cancel,\n fluidScroll: fluidScroll,\n jumpScroll: jumpScroll\n };\n return marshal;\n});\n\nvar prefix$1 = function prefix(key) {\n return \"private-react-beautiful-dnd-key-do-not-use-\" + key;\n};\n\nvar storeKey = prefix$1('store');\nvar droppableIdKey = prefix$1('droppable-id');\nvar droppableTypeKey = prefix$1('droppable-type');\nvar dimensionMarshalKey = prefix$1('dimension-marshal');\nvar styleContextKey = prefix$1('style-context');\nvar canLiftContextKey = prefix$1('can-lift');\n\nvar _DragDropContext$chil;\nvar resetServerContext = function resetServerContext() {\n resetStyleContext();\n};\n\nvar printFatalDevError = function printFatalDevError(error) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n console.warn(\"\\n An error has occurred while a drag is occurring.\\n Any existing drag will be cancelled.\\n\\n Raw error:\\n \");\n console.error(error);\n};\n\nvar DragDropContext = function (_React$Component) {\n _inheritsLoose(DragDropContext, _React$Component);\n\n function DragDropContext(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.store = void 0;\n _this.dimensionMarshal = void 0;\n _this.styleMarshal = void 0;\n _this.autoScroller = void 0;\n _this.announcer = void 0;\n _this.unsubscribe = void 0;\n\n _this.canLift = function (id) {\n return canStartDrag(_this.store.getState(), id);\n };\n\n _this.onFatalError = function (error) {\n printFatalDevError(error);\n\n var state = _this.store.getState();\n\n if (state.phase !== 'IDLE') {\n _this.store.dispatch(clean());\n }\n };\n\n _this.onWindowError = function (error) {\n return _this.onFatalError(error);\n };\n\n _this.announcer = createAnnouncer();\n _this.styleMarshal = createStyleMarshal();\n _this.store = createStore({\n getDimensionMarshal: function getDimensionMarshal() {\n return _this.dimensionMarshal;\n },\n styleMarshal: _this.styleMarshal,\n getHooks: function getHooks() {\n return {\n onBeforeDragStart: _this.props.onBeforeDragStart,\n onDragStart: _this.props.onDragStart,\n onDragEnd: _this.props.onDragEnd,\n onDragUpdate: _this.props.onDragUpdate\n };\n },\n announce: _this.announcer.announce,\n getScroller: function getScroller() {\n return _this.autoScroller;\n }\n });\n var callbacks = redux.bindActionCreators({\n collectionStarting: collectionStarting,\n publish: publish,\n updateDroppableScroll: updateDroppableScroll,\n updateDroppableIsEnabled: updateDroppableIsEnabled\n }, _this.store.dispatch);\n _this.dimensionMarshal = createDimensionMarshal(callbacks);\n _this.autoScroller = createAutoScroller(_extends({\n scrollWindow: scrollWindow,\n scrollDroppable: _this.dimensionMarshal.scrollDroppable\n }, redux.bindActionCreators({\n move: move\n }, _this.store.dispatch)));\n return _this;\n }\n\n var _proto = DragDropContext.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this.store, _ref[dimensionMarshalKey] = this.dimensionMarshal, _ref[styleContextKey] = this.styleMarshal.styleContext, _ref[canLiftContextKey] = this.canLift, _ref;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener('error', this.onWindowError);\n this.styleMarshal.mount();\n this.announcer.mount();\n };\n\n _proto.componentDidCatch = function componentDidCatch(error) {\n this.onFatalError(error);\n\n if (error.message.indexOf('Invariant failed') !== -1) {\n this.setState({});\n return;\n }\n\n throw error;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('error', this.onWindowError);\n var state = this.store.getState();\n\n if (state.phase !== 'IDLE') {\n this.store.dispatch(clean());\n }\n\n this.styleMarshal.unmount();\n this.announcer.unmount();\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return DragDropContext;\n}(React__default.Component);\n\nDragDropContext.childContextTypes = (_DragDropContext$chil = {}, _DragDropContext$chil[storeKey] = PropTypes.shape({\n dispatch: PropTypes.func.isRequired,\n subscribe: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n}).isRequired, _DragDropContext$chil[dimensionMarshalKey] = PropTypes.object.isRequired, _DragDropContext$chil[styleContextKey] = PropTypes.string.isRequired, _DragDropContext$chil[canLiftContextKey] = PropTypes.func.isRequired, _DragDropContext$chil);\n\nvar isScrollable = function isScrollable() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return values.some(function (value) {\n return value === 'auto' || value === 'scroll';\n });\n};\n\nvar isElementScrollable = function isElementScrollable(el) {\n var style = window.getComputedStyle(el);\n return isScrollable(style.overflow, style.overflowY, style.overflowX);\n};\n\nvar getClosestScrollable = function getClosestScrollable(el) {\n if (el == null) {\n return null;\n }\n\n if (!isElementScrollable(el)) {\n return getClosestScrollable(el.parentElement);\n }\n\n return el;\n};\n\nvar _DroppableDimensionPu;\n\nvar getScroll = function getScroll(el) {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n };\n};\n\nvar checkForNestedScrollContainers = function checkForNestedScrollContainers(scrollable) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (!scrollable) {\n return;\n }\n\n var anotherScrollParent = getClosestScrollable(scrollable.parentElement);\n\n if (!anotherScrollParent) {\n return;\n }\n\n console.warn(\"\\n Droppable: unsupported nested scroll container detected.\\n A Droppable can only have one scroll parent (which can be itself)\\n Nested scroll containers are currently not supported.\\n\\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\\n \");\n};\n\nvar listenerOptions = {\n passive: true\n};\n\nvar DroppableDimensionPublisher = function (_React$Component) {\n _inheritsLoose(DroppableDimensionPublisher, _React$Component);\n\n function DroppableDimensionPublisher(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.watchingScroll = null;\n _this.callbacks = void 0;\n _this.publishedDescriptor = null;\n\n _this.getClosestScroll = function () {\n if (!_this.watchingScroll) {\n return origin;\n }\n\n return getScroll(_this.watchingScroll.closestScrollable);\n };\n\n _this.memoizedUpdateScroll = memoizeOne(function (x, y) {\n !_this.publishedDescriptor ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot update scroll on unpublished droppable') : invariant(false) : void 0;\n var newScroll = {\n x: x,\n y: y\n };\n var marshal = _this.context[dimensionMarshalKey];\n marshal.updateDroppableScroll(_this.publishedDescriptor.id, newScroll);\n });\n\n _this.updateScroll = function () {\n var offset = _this.getClosestScroll();\n\n _this.memoizedUpdateScroll(offset.x, offset.y);\n };\n\n _this.scheduleScrollUpdate = rafSchd(_this.updateScroll);\n\n _this.onClosestScroll = function () {\n !_this.watchingScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n var options = _this.watchingScroll.options;\n\n if (options.shouldPublishImmediately) {\n _this.updateScroll();\n\n return;\n }\n\n _this.scheduleScrollUpdate();\n };\n\n _this.scroll = function (change) {\n !_this.watchingScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n var closestScrollable = _this.watchingScroll.closestScrollable;\n closestScrollable.scrollTop += change.y;\n closestScrollable.scrollLeft += change.x;\n };\n\n _this.watchScroll = function (closestScrollable, options) {\n !!_this.watchingScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Droppable cannot watch scroll as it is already watching scroll') : invariant(false) : void 0;\n\n if (!closestScrollable) {\n return;\n }\n\n _this.watchingScroll = {\n options: options,\n closestScrollable: closestScrollable\n };\n closestScrollable.addEventListener('scroll', _this.onClosestScroll, listenerOptions);\n };\n\n _this.unwatchScroll = function () {\n var watching = _this.watchingScroll;\n\n if (!watching) {\n return;\n }\n\n _this.scheduleScrollUpdate.cancel();\n\n watching.closestScrollable.removeEventListener('scroll', _this.onClosestScroll, listenerOptions);\n _this.watchingScroll = null;\n };\n\n _this.getMemoizedDescriptor = memoizeOne(function (id, type) {\n return {\n id: id,\n type: type\n };\n });\n\n _this.publish = function () {\n var marshal = _this.context[dimensionMarshalKey];\n\n var descriptor = _this.getMemoizedDescriptor(_this.props.droppableId, _this.props.type);\n\n if (!_this.publishedDescriptor) {\n marshal.registerDroppable(descriptor, _this.callbacks);\n _this.publishedDescriptor = descriptor;\n return;\n }\n\n if (_this.publishedDescriptor === descriptor) {\n return;\n }\n\n marshal.updateDroppable(_this.publishedDescriptor, descriptor, _this.callbacks);\n _this.publishedDescriptor = descriptor;\n };\n\n _this.unpublish = function () {\n !_this.publishedDescriptor ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unpublish descriptor when none is published') : invariant(false) : void 0;\n var marshal = _this.context[dimensionMarshalKey];\n marshal.unregisterDroppable(_this.publishedDescriptor);\n _this.publishedDescriptor = null;\n };\n\n _this.getDimensionAndWatchScroll = function (windowScroll, options) {\n var _this$props = _this.props,\n direction = _this$props.direction,\n ignoreContainerClipping = _this$props.ignoreContainerClipping,\n isDropDisabled = _this$props.isDropDisabled,\n getDroppableRef = _this$props.getDroppableRef;\n var targetRef = getDroppableRef();\n var descriptor = _this.publishedDescriptor;\n !targetRef ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot calculate a dimension when not attached to the DOM') : invariant(false) : void 0;\n !descriptor ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension for unpublished droppable') : invariant(false) : void 0;\n var scrollableRef = getClosestScrollable(targetRef);\n checkForNestedScrollContainers(scrollableRef);\n\n _this.watchScroll(scrollableRef, options);\n\n var client = function () {\n var base = cssBoxModel.getBox(targetRef);\n\n if (!scrollableRef) {\n return base;\n }\n\n if (targetRef !== scrollableRef) {\n return base;\n }\n\n var top = base.paddingBox.top - scrollableRef.scrollTop;\n var left = base.paddingBox.left - scrollableRef.scrollLeft;\n var bottom = top + scrollableRef.scrollHeight;\n var right = left + scrollableRef.scrollWidth;\n var paddingBox = {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n var borderBox = {\n top: paddingBox.top - base.border.top,\n right: paddingBox.right + base.border.right,\n bottom: paddingBox.bottom + base.border.bottom,\n left: paddingBox.left - base.border.left\n };\n return cssBoxModel.createBox({\n borderBox: borderBox,\n margin: base.margin,\n border: base.border,\n padding: base.padding\n });\n }();\n\n var page = cssBoxModel.withScroll(client, windowScroll);\n\n var closest$$1 = function () {\n if (!scrollableRef) {\n return null;\n }\n\n var frameClient = cssBoxModel.getBox(scrollableRef);\n return {\n client: frameClient,\n page: cssBoxModel.withScroll(frameClient),\n scrollHeight: scrollableRef.scrollHeight,\n scrollWidth: scrollableRef.scrollWidth,\n scroll: getScroll(scrollableRef),\n shouldClipSubject: !ignoreContainerClipping\n };\n }();\n\n return getDroppableDimension({\n descriptor: descriptor,\n isEnabled: !isDropDisabled,\n direction: direction,\n client: client,\n page: page,\n closest: closest$$1\n });\n };\n\n var callbacks = {\n getDimensionAndWatchScroll: _this.getDimensionAndWatchScroll,\n unwatchScroll: _this.unwatchScroll,\n scroll: _this.scroll\n };\n _this.callbacks = callbacks;\n return _this;\n }\n\n var _proto = DroppableDimensionPublisher.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.publish();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n this.publish();\n\n if (this.props.isDropDisabled === prevProps.isDropDisabled) {\n return;\n }\n\n var marshal = this.context[dimensionMarshalKey];\n marshal.updateDroppableIsEnabled(this.props.droppableId, !this.props.isDropDisabled);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.watchingScroll) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Unmounting droppable while it was watching scroll');\n }\n\n this.unwatchScroll();\n }\n\n this.unpublish();\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return DroppableDimensionPublisher;\n}(React__default.Component);\n\nDroppableDimensionPublisher.contextTypes = (_DroppableDimensionPu = {}, _DroppableDimensionPu[dimensionMarshalKey] = PropTypes.object.isRequired, _DroppableDimensionPu);\n\nvar Placeholder = function (_PureComponent) {\n _inheritsLoose(Placeholder, _PureComponent);\n\n function Placeholder() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n var _proto = Placeholder.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) {\n this.props.onMount();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) {\n this.props.onUnmount();\n }\n };\n\n _proto.render = function render() {\n var placeholder = this.props.placeholder;\n var client = placeholder.client,\n display = placeholder.display,\n tagName = placeholder.tagName;\n var style = {\n display: display,\n boxSizing: 'border-box',\n width: client.borderBox.width,\n height: client.borderBox.height,\n marginTop: client.margin.top,\n marginRight: client.margin.right,\n marginBottom: client.margin.bottom,\n marginLeft: client.margin.left,\n flexShrink: '0',\n flexGrow: '0',\n pointerEvents: 'none'\n };\n return React__default.createElement(tagName, {\n style: style\n });\n };\n\n return Placeholder;\n}(React.PureComponent);\n\nvar throwIfRefIsInvalid = (function (ref) {\n !(ref && ref instanceof HTMLElement) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n provided.innerRef has not been provided with a HTMLElement.\\n\\n You can find a guide on using the innerRef callback functions at:\\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\\n \") : invariant(false) : void 0;\n});\n\nvar _Droppable$contextTyp, _Droppable$childConte;\n\nvar Droppable = function (_Component) {\n _inheritsLoose(Droppable, _Component);\n\n function Droppable(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.styleContext = void 0;\n _this.ref = null;\n _this.isPlaceholderMounted = false;\n\n _this.onPlaceholderMount = function () {\n _this.isPlaceholderMounted = true;\n };\n\n _this.onPlaceholderUnmount = function () {\n _this.isPlaceholderMounted = false;\n };\n\n _this.setRef = function (ref) {\n if (ref === null) {\n return;\n }\n\n if (ref === _this.ref) {\n return;\n }\n\n _this.ref = ref;\n throwIfRefIsInvalid(ref);\n };\n\n _this.getDroppableRef = function () {\n return _this.ref;\n };\n\n _this.styleContext = context[styleContextKey];\n return _this;\n }\n\n var _proto = Droppable.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _value;\n\n var value = (_value = {}, _value[droppableIdKey] = this.props.droppableId, _value[droppableTypeKey] = this.props.type, _value);\n return value;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n throwIfRefIsInvalid(this.ref);\n this.warnIfPlaceholderNotMounted();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.warnIfPlaceholderNotMounted();\n };\n\n _proto.warnIfPlaceholderNotMounted = function warnIfPlaceholderNotMounted() {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n if (!this.props.placeholder) {\n return;\n }\n\n if (this.isPlaceholderMounted) {\n return;\n }\n\n console.warn(\"\\n Droppable setup issue: DroppableProvided > placeholder could not be found.\\n Please be sure to add the {provided.placeholder} Node as a child of your Droppable\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd#1-provided-droppableprovided\\n \");\n };\n\n _proto.getPlaceholder = function getPlaceholder() {\n if (!this.props.placeholder) {\n return null;\n }\n\n return React__default.createElement(Placeholder, {\n placeholder: this.props.placeholder,\n onMount: this.onPlaceholderMount,\n onUnmount: this.onPlaceholderUnmount\n });\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n direction = _this$props.direction,\n droppableId = _this$props.droppableId,\n ignoreContainerClipping = _this$props.ignoreContainerClipping,\n isDraggingOver = _this$props.isDraggingOver,\n isDropDisabled = _this$props.isDropDisabled,\n draggingOverWith = _this$props.draggingOverWith,\n type = _this$props.type;\n var provided = {\n innerRef: this.setRef,\n placeholder: this.getPlaceholder(),\n droppableProps: {\n 'data-react-beautiful-dnd-droppable': this.styleContext\n }\n };\n var snapshot = {\n isDraggingOver: isDraggingOver,\n draggingOverWith: draggingOverWith\n };\n return React__default.createElement(DroppableDimensionPublisher, {\n droppableId: droppableId,\n type: type,\n direction: direction,\n ignoreContainerClipping: ignoreContainerClipping,\n isDropDisabled: isDropDisabled,\n getDroppableRef: this.getDroppableRef\n }, children(provided, snapshot));\n };\n\n return Droppable;\n}(React.Component);\n\nDroppable.contextTypes = (_Droppable$contextTyp = {}, _Droppable$contextTyp[styleContextKey] = PropTypes.string.isRequired, _Droppable$contextTyp);\nDroppable.childContextTypes = (_Droppable$childConte = {}, _Droppable$childConte[droppableIdKey] = PropTypes.string.isRequired, _Droppable$childConte[droppableTypeKey] = PropTypes.string.isRequired, _Droppable$childConte);\n\nvar isStrictEqual = (function (a, b) {\n return a === b;\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getIsDraggingOver = function getIsDraggingOver(id, destination) {\n if (!destination) {\n return false;\n }\n\n return destination.droppableId === id;\n };\n\n var shouldUsePlaceholder = function shouldUsePlaceholder(id, descriptor, destination) {\n if (!destination) {\n return false;\n }\n\n if (id === descriptor.droppableId) {\n return false;\n }\n\n return id === destination.droppableId;\n };\n\n var getMapProps = memoizeOne(function (isDraggingOver, draggingOverWith, placeholder) {\n return {\n isDraggingOver: isDraggingOver,\n draggingOverWith: draggingOverWith,\n placeholder: placeholder\n };\n });\n\n var getDefault = function getDefault() {\n return getMapProps(false, null, null);\n };\n\n var selector = function selector(state, ownProps) {\n if (ownProps.isDropDisabled) {\n return getDefault();\n }\n\n var id = ownProps.droppableId;\n\n if (state.isDragging) {\n var destination = state.impact.destination;\n var isDraggingOver = getIsDraggingOver(id, destination);\n var draggableId = state.critical.draggable.id;\n var draggingOverWith = isDraggingOver ? draggableId : null;\n var draggable = state.dimensions.draggables[draggableId];\n var placeholder = shouldUsePlaceholder(id, draggable.descriptor, destination) ? draggable.placeholder : null;\n return getMapProps(isDraggingOver, draggingOverWith, placeholder);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var _destination = state.pending.impact.destination;\n\n var _isDraggingOver = getIsDraggingOver(id, _destination);\n\n var _draggableId = state.pending.result.draggableId;\n\n var _draggingOverWith = _isDraggingOver ? _draggableId : null;\n\n var _draggable = state.dimensions.draggables[_draggableId];\n\n var _placeholder = shouldUsePlaceholder(id, _draggable.descriptor, _destination) ? _draggable.placeholder : null;\n\n return getMapProps(_isDraggingOver, _draggingOverWith, _placeholder);\n }\n\n return getDefault();\n };\n\n return selector;\n};\nvar connectedDroppable = reactRedux.connect(makeMapStateToProps, null, null, {\n storeKey: storeKey,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Droppable);\nconnectedDroppable.defaultProps = {\n type: 'DEFAULT',\n isDropDisabled: false,\n direction: 'vertical',\n ignoreContainerClipping: false\n};\n\nvar _DraggableDimensionPu;\n\nvar DraggableDimensionPublisher = function (_Component) {\n _inheritsLoose(DraggableDimensionPublisher, _Component);\n\n function DraggableDimensionPublisher() {\n var _this;\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.publishedDescriptor = null;\n _this.getMemoizedDescriptor = memoizeOne(function (id, index, droppableId, type) {\n return {\n id: id,\n index: index,\n droppableId: droppableId,\n type: type\n };\n });\n\n _this.publish = function () {\n var marshal = _this.context[dimensionMarshalKey];\n\n var descriptor = _this.getMemoizedDescriptor(_this.props.draggableId, _this.props.index, _this.props.droppableId, _this.props.type);\n\n if (!_this.publishedDescriptor) {\n marshal.registerDraggable(descriptor, _this.getDimension);\n _this.publishedDescriptor = descriptor;\n return;\n }\n\n if (descriptor === _this.publishedDescriptor) {\n return;\n }\n\n marshal.updateDraggable(_this.publishedDescriptor, descriptor, _this.getDimension);\n _this.publishedDescriptor = descriptor;\n };\n\n _this.unpublish = function () {\n !_this.publishedDescriptor ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unpublish descriptor when none is published') : invariant(false) : void 0;\n var marshal = _this.context[dimensionMarshalKey];\n marshal.unregisterDraggable(_this.publishedDescriptor);\n _this.publishedDescriptor = null;\n };\n\n _this.getDimension = function (windowScroll) {\n var targetRef = _this.props.getDraggableRef();\n\n var descriptor = _this.publishedDescriptor;\n !targetRef ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'DraggableDimensionPublisher cannot calculate a dimension when not attached to the DOM') : invariant(false) : void 0;\n !descriptor ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension for unpublished draggable') : invariant(false) : void 0;\n var computedStyles = window.getComputedStyle(targetRef);\n var borderBox = targetRef.getBoundingClientRect();\n var client = cssBoxModel.calculateBox(borderBox, computedStyles);\n var page = cssBoxModel.withScroll(client, windowScroll);\n var placeholder = {\n client: client,\n tagName: targetRef.tagName.toLowerCase(),\n display: computedStyles.display\n };\n var dimension = {\n descriptor: descriptor,\n placeholder: placeholder,\n client: client,\n page: page\n };\n return dimension;\n };\n\n return _this;\n }\n\n var _proto = DraggableDimensionPublisher.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.publish();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.publish();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unpublish();\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return DraggableDimensionPublisher;\n}(React.Component);\n\nDraggableDimensionPublisher.contextTypes = (_DraggableDimensionPu = {}, _DraggableDimensionPu[dimensionMarshalKey] = PropTypes.object.isRequired, _DraggableDimensionPu);\n\nvar DoubleRenderBlocker = function (_React$Component) {\n _inheritsLoose(DoubleRenderBlocker, _React$Component);\n\n function DoubleRenderBlocker() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DoubleRenderBlocker.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n if (isEqual(origin, nextProps.change)) {\n return true;\n }\n\n if (isEqual(this.props.change, nextProps.change)) {\n return false;\n }\n\n return true;\n };\n\n _proto.render = function render() {\n return this.props.children(this.props.change);\n };\n\n return DoubleRenderBlocker;\n}(React__default.Component);\n\nvar Moveable = function (_Component) {\n _inheritsLoose(Moveable, _Component);\n\n function Moveable() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto2 = Moveable.prototype;\n\n _proto2.getFinal = function getFinal() {\n var destination = this.props.destination;\n var speed = this.props.speed;\n\n if (speed === 'INSTANT') {\n return destination;\n }\n\n var config = speed === 'FAST' ? physics.fast : physics.standard;\n return {\n x: reactMotion.spring(destination.x, config),\n y: reactMotion.spring(destination.y, config)\n };\n };\n\n _proto2.render = function render() {\n var _this = this;\n\n var final = this.getFinal();\n return React__default.createElement(reactMotion.Motion, {\n defaultStyle: origin,\n style: final,\n onRest: this.props.onMoveEnd\n }, function (current) {\n var _this$props = _this.props,\n speed = _this$props.speed,\n destination = _this$props.destination,\n children = _this$props.children;\n var target = speed === 'INSTANT' ? destination : current;\n return React__default.createElement(DoubleRenderBlocker, {\n change: target\n }, children);\n });\n };\n\n return Moveable;\n}(React.Component);\n\nMoveable.defaultProps = {\n destination: origin\n};\n\nvar getWindowFromRef = (function (ref) {\n return ref ? ref.ownerDocument.defaultView : window;\n});\n\nvar selector = \"[\" + dragHandle + \"]\";\n\nvar isSVG = function isSVG(el) {\n if (typeof SVGElement === 'undefined') {\n return false;\n }\n\n return el instanceof SVGElement;\n};\n\nvar throwIfSVG = function throwIfSVG(el) {\n !!isSVG(el) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"A drag handle cannot be an SVGElement: it has inconsistent focus support.\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/tree/master/docs/guides/dragging-svgs.md\") : invariant(false) : void 0;\n};\n\nvar getDragHandleRef = function getDragHandleRef(draggableRef) {\n if (draggableRef.hasAttribute(dragHandle)) {\n throwIfSVG(draggableRef);\n return draggableRef;\n }\n\n var el = draggableRef.querySelector(selector);\n throwIfSVG(draggableRef);\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n Cannot find drag handle element inside of Draggable.\\n Please be sure to apply the {...provided.dragHandleProps} to your Draggable\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd#draggable\\n \") : invariant(false) : void 0;\n !(el instanceof HTMLElement) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A drag handle must be a HTMLElement') : invariant(false) : void 0;\n return el;\n};\n\nvar retainingFocusFor = null;\nvar listenerOptions$1 = {\n capture: true\n};\n\nvar clearRetentionOnFocusChange = function () {\n var isBound = false;\n\n var bind = function bind() {\n if (isBound) {\n return;\n }\n\n isBound = true;\n window.addEventListener('focus', onWindowFocusChange, listenerOptions$1);\n };\n\n var unbind = function unbind() {\n if (!isBound) {\n return;\n }\n\n isBound = false;\n window.removeEventListener('focus', onWindowFocusChange, listenerOptions$1);\n };\n\n var onWindowFocusChange = function onWindowFocusChange() {\n unbind();\n retainingFocusFor = null;\n };\n\n var result = function result() {\n return bind();\n };\n\n result.cancel = function () {\n return unbind();\n };\n\n return result;\n}();\n\nvar retain = function retain(id) {\n retainingFocusFor = id;\n clearRetentionOnFocusChange();\n};\n\nvar tryRestoreFocus = function tryRestoreFocus(id, draggableRef) {\n if (!retainingFocusFor) {\n return;\n }\n\n if (id !== retainingFocusFor) {\n return;\n }\n\n retainingFocusFor = null;\n clearRetentionOnFocusChange.cancel();\n var dragHandleRef = getDragHandleRef(draggableRef);\n\n if (!dragHandleRef) {\n console.warn('Could not find drag handle in the DOM to focus on it');\n return;\n }\n\n dragHandleRef.focus();\n};\n\nvar retainer = {\n retain: retain,\n tryRestoreFocus: tryRestoreFocus\n};\n\nvar interactiveTagNames = {\n input: true,\n button: true,\n textarea: true,\n select: true,\n option: true,\n optgroup: true,\n video: true,\n audio: true\n};\n\nvar isAnInteractiveElement = function isAnInteractiveElement(parent, current) {\n if (current == null) {\n return false;\n }\n\n var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);\n\n if (hasAnInteractiveTag) {\n return true;\n }\n\n var attribute = current.getAttribute('contenteditable');\n\n if (attribute === 'true' || attribute === '') {\n return true;\n }\n\n if (current === parent) {\n return false;\n }\n\n return isAnInteractiveElement(parent, current.parentElement);\n};\n\nvar shouldAllowDraggingFromTarget = (function (event, props) {\n if (props.canDragInteractiveElements) {\n return true;\n }\n\n var target = event.target,\n currentTarget = event.currentTarget;\n\n if (!(target instanceof Element) || !(currentTarget instanceof Element)) {\n return true;\n }\n\n return !isAnInteractiveElement(currentTarget, target);\n});\n\nvar createScheduler = (function (callbacks) {\n var memoizedMove = memoizeOne(function (x, y) {\n var point = {\n x: x,\n y: y\n };\n callbacks.onMove(point);\n });\n var move = rafSchd(function (point) {\n return memoizedMove(point.x, point.y);\n });\n var moveUp = rafSchd(callbacks.onMoveUp);\n var moveDown = rafSchd(callbacks.onMoveDown);\n var moveRight = rafSchd(callbacks.onMoveRight);\n var moveLeft = rafSchd(callbacks.onMoveLeft);\n var windowScrollMove = rafSchd(callbacks.onWindowScroll);\n\n var cancel = function cancel() {\n move.cancel();\n moveUp.cancel();\n moveDown.cancel();\n moveRight.cancel();\n moveLeft.cancel();\n windowScrollMove.cancel();\n };\n\n return {\n move: move,\n moveUp: moveUp,\n moveDown: moveDown,\n moveRight: moveRight,\n moveLeft: moveLeft,\n windowScrollMove: windowScrollMove,\n cancel: cancel\n };\n});\n\nvar sloppyClickThreshold = 5;\nvar isSloppyClickThresholdExceeded = (function (original, current) {\n return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n});\n\nvar tab = 9;\nvar enter = 13;\nvar escape = 27;\nvar space = 32;\nvar pageUp = 33;\nvar pageDown = 34;\nvar end = 35;\nvar home = 36;\nvar arrowLeft = 37;\nvar arrowUp = 38;\nvar arrowRight = 39;\nvar arrowDown = 40;\n\nvar _preventedKeys;\nvar preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);\nvar preventStandardKeyEvents = (function (event) {\n if (preventedKeys[event.keyCode]) {\n event.preventDefault();\n }\n});\n\nvar getOptions = function getOptions(shared, fromBinding) {\n return _extends({}, shared, fromBinding);\n};\n\nvar bindEvents = function bindEvents(el, bindings, sharedOptions) {\n bindings.forEach(function (binding) {\n var options = getOptions(sharedOptions, binding.options);\n el.addEventListener(binding.eventName, binding.fn, options);\n });\n};\nvar unbindEvents = function unbindEvents(el, bindings, sharedOptions) {\n bindings.forEach(function (binding) {\n var options = getOptions(sharedOptions, binding.options);\n el.removeEventListener(binding.eventName, binding.fn, options);\n });\n};\n\nvar sharedOptions = {\n capture: true\n};\nvar createPostDragEventPreventer = (function (getWindow) {\n var isBound = false;\n\n var bind = function bind() {\n if (isBound) {\n return;\n }\n\n isBound = true;\n bindEvents(getWindow(), pointerEvents, sharedOptions);\n };\n\n var unbind = function unbind() {\n if (!isBound) {\n return;\n }\n\n isBound = false;\n unbindEvents(getWindow(), pointerEvents, sharedOptions);\n };\n\n var pointerEvents = [{\n eventName: 'click',\n fn: function fn(event) {\n event.preventDefault();\n unbind();\n }\n }, {\n eventName: 'mousedown',\n fn: unbind\n }, {\n eventName: 'touchstart',\n fn: unbind\n }];\n\n var preventNext = function preventNext() {\n if (isBound) {\n unbind();\n }\n\n bind();\n };\n\n var preventer = {\n preventNext: preventNext,\n abort: unbind\n };\n return preventer;\n});\n\nvar createEventMarshal = (function () {\n var isMouseDownHandled = false;\n\n var handle = function handle() {\n !!isMouseDownHandled ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot handle mouse down as it is already handled') : invariant(false) : void 0;\n isMouseDownHandled = true;\n };\n\n var isHandled = function isHandled() {\n return isMouseDownHandled;\n };\n\n var reset = function reset() {\n isMouseDownHandled = false;\n };\n\n return {\n handle: handle,\n isHandled: isHandled,\n reset: reset\n };\n});\n\nvar supportedEventName = function () {\n var base = 'visibilitychange';\n\n if (typeof document === 'undefined') {\n return base;\n }\n\n var candidates = [base, \"ms\" + base, \"webkit\" + base, \"moz\" + base, \"o\" + base];\n var supported = candidates.find(function (eventName) {\n return \"on\" + eventName in document;\n });\n return supported || base;\n}();\n\nvar primaryButton = 0;\n\nvar noop = function noop() {};\n\nvar mouseDownMarshal = createEventMarshal();\nvar createMouseSensor = (function (_ref) {\n var callbacks = _ref.callbacks,\n getWindow = _ref.getWindow,\n canStartCapturing = _ref.canStartCapturing;\n var state = {\n isDragging: false,\n pending: null\n };\n\n var setState = function setState(newState) {\n state = newState;\n };\n\n var isDragging = function isDragging() {\n return state.isDragging;\n };\n\n var isCapturing = function isCapturing() {\n return Boolean(state.pending || state.isDragging);\n };\n\n var schedule = createScheduler(callbacks);\n var postDragEventPreventer = createPostDragEventPreventer(getWindow);\n\n var startDragging = function startDragging(fn) {\n if (fn === void 0) {\n fn = noop;\n }\n\n setState({\n pending: null,\n isDragging: true\n });\n fn();\n };\n\n var stopDragging = function stopDragging(fn, shouldBlockClick) {\n if (fn === void 0) {\n fn = noop;\n }\n\n if (shouldBlockClick === void 0) {\n shouldBlockClick = true;\n }\n\n schedule.cancel();\n unbindWindowEvents();\n mouseDownMarshal.reset();\n\n if (shouldBlockClick) {\n postDragEventPreventer.preventNext();\n }\n\n setState({\n isDragging: false,\n pending: null\n });\n fn();\n };\n\n var startPendingDrag = function startPendingDrag(point) {\n setState({\n pending: point,\n isDragging: false\n });\n bindWindowEvents();\n };\n\n var stopPendingDrag = function stopPendingDrag() {\n stopDragging(noop, false);\n };\n\n var kill = function kill(fn) {\n if (fn === void 0) {\n fn = noop;\n }\n\n if (state.pending) {\n stopPendingDrag();\n return;\n }\n\n stopDragging(fn);\n };\n\n var unmount = function unmount() {\n kill();\n postDragEventPreventer.abort();\n };\n\n var cancel = function cancel() {\n kill(callbacks.onCancel);\n };\n\n var windowBindings = [{\n eventName: 'mousemove',\n fn: function fn(event) {\n var button = event.button,\n clientX = event.clientX,\n clientY = event.clientY;\n\n if (button !== primaryButton) {\n return;\n }\n\n var point = {\n x: clientX,\n y: clientY\n };\n\n if (state.isDragging) {\n event.preventDefault();\n schedule.move(point);\n return;\n }\n\n if (!state.pending) {\n kill();\n process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected there to be a pending drag') : invariant(false);\n }\n\n if (!isSloppyClickThresholdExceeded(state.pending, point)) {\n return;\n }\n\n event.preventDefault();\n startDragging(function () {\n return callbacks.onLift({\n clientSelection: point,\n autoScrollMode: 'FLUID'\n });\n });\n }\n }, {\n eventName: 'mouseup',\n fn: function fn(event) {\n if (state.pending) {\n stopPendingDrag();\n return;\n }\n\n event.preventDefault();\n stopDragging(callbacks.onDrop);\n }\n }, {\n eventName: 'mousedown',\n fn: function fn(event) {\n if (state.isDragging) {\n event.preventDefault();\n }\n\n stopDragging(callbacks.onCancel);\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n if (!state.isDragging) {\n cancel();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn() {\n if (state.pending) {\n stopPendingDrag();\n return;\n }\n\n schedule.windowScrollMove();\n }\n }, {\n eventName: 'webkitmouseforcechanged',\n fn: function fn(event) {\n if (event.webkitForce == null || MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN == null) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('handling a mouse force changed event when it is not supported');\n }\n\n return;\n }\n\n var forcePressThreshold = MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN;\n var isForcePressing = event.webkitForce >= forcePressThreshold;\n\n if (isForcePressing) {\n cancel();\n }\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n\n var bindWindowEvents = function bindWindowEvents() {\n var win = getWindow();\n bindEvents(win, windowBindings, {\n capture: true\n });\n };\n\n var unbindWindowEvents = function unbindWindowEvents() {\n var win = getWindow();\n unbindEvents(win, windowBindings, {\n capture: true\n });\n };\n\n var onMouseDown = function onMouseDown(event) {\n if (mouseDownMarshal.isHandled()) {\n return;\n }\n\n !!isCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not be able to perform a mouse down while a drag or pending drag is occurring') : invariant(false) : void 0;\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n if (event.button !== primaryButton) {\n return;\n }\n\n if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n return;\n }\n\n mouseDownMarshal.handle();\n event.preventDefault();\n var point = {\n x: event.clientX,\n y: event.clientY\n };\n startPendingDrag(point);\n };\n\n var sensor = {\n onMouseDown: onMouseDown,\n kill: kill,\n isCapturing: isCapturing,\n isDragging: isDragging,\n unmount: unmount\n };\n return sensor;\n});\n\nvar getBorderBoxCenterPosition = (function (el) {\n return cssBoxModel.getRect(el.getBoundingClientRect()).center;\n});\n\nvar _scrollJumpKeys;\nvar scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);\n\nvar noop$1 = function noop() {};\n\nvar createKeyboardSensor = (function (_ref) {\n var callbacks = _ref.callbacks,\n getWindow = _ref.getWindow,\n getDraggableRef = _ref.getDraggableRef,\n canStartCapturing = _ref.canStartCapturing;\n var state = {\n isDragging: false\n };\n\n var setState = function setState(newState) {\n state = newState;\n };\n\n var startDragging = function startDragging(fn) {\n if (fn === void 0) {\n fn = noop$1;\n }\n\n setState({\n isDragging: true\n });\n bindWindowEvents();\n fn();\n };\n\n var stopDragging = function stopDragging(fn) {\n if (fn === void 0) {\n fn = noop$1;\n }\n\n schedule.cancel();\n unbindWindowEvents();\n setState({\n isDragging: false\n });\n fn();\n };\n\n var kill = function kill() {\n return stopDragging();\n };\n\n var cancel = function cancel() {\n stopDragging(callbacks.onCancel);\n };\n\n var isDragging = function isDragging() {\n return state.isDragging;\n };\n\n var schedule = createScheduler(callbacks);\n\n var onKeyDown = function onKeyDown(event) {\n if (!isDragging()) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n if (event.keyCode !== space) {\n return;\n }\n\n var ref = getDraggableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a keyboard drag without a draggable ref') : invariant(false) : void 0;\n var center = getBorderBoxCenterPosition(ref);\n event.preventDefault();\n startDragging(function () {\n return callbacks.onLift({\n clientSelection: center,\n autoScrollMode: 'JUMP'\n });\n });\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n if (event.keyCode === space) {\n event.preventDefault();\n stopDragging(callbacks.onDrop);\n return;\n }\n\n if (event.keyCode === arrowDown) {\n event.preventDefault();\n schedule.moveDown();\n return;\n }\n\n if (event.keyCode === arrowUp) {\n event.preventDefault();\n schedule.moveUp();\n return;\n }\n\n if (event.keyCode === arrowRight) {\n event.preventDefault();\n schedule.moveRight();\n return;\n }\n\n if (event.keyCode === arrowLeft) {\n event.preventDefault();\n schedule.moveLeft();\n return;\n }\n\n if (scrollJumpKeys[event.keyCode]) {\n event.preventDefault();\n return;\n }\n\n preventStandardKeyEvents(event);\n };\n\n var windowBindings = [{\n eventName: 'mousedown',\n fn: cancel\n }, {\n eventName: 'mouseup',\n fn: cancel\n }, {\n eventName: 'click',\n fn: cancel\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'wheel',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n capture: false\n },\n fn: callbacks.onWindowScroll\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n\n var bindWindowEvents = function bindWindowEvents() {\n bindEvents(getWindow(), windowBindings, {\n capture: true\n });\n };\n\n var unbindWindowEvents = function unbindWindowEvents() {\n unbindEvents(getWindow(), windowBindings, {\n capture: true\n });\n };\n\n var sensor = {\n onKeyDown: onKeyDown,\n kill: kill,\n isDragging: isDragging,\n isCapturing: isDragging,\n unmount: kill\n };\n return sensor;\n});\n\nvar timeForLongPress = 150;\nvar forcePressThreshold = 0.15;\nvar touchStartMarshal = createEventMarshal();\n\nvar noop$2 = function noop() {};\n\nvar webkitHack = function () {\n var stub = {\n preventTouchMove: noop$2,\n releaseTouchMove: noop$2\n };\n\n if (typeof window === 'undefined') {\n return stub;\n }\n\n if (!('ontouchstart' in window)) {\n return stub;\n }\n\n var isBlocking = false;\n window.addEventListener('touchmove', function (event) {\n if (!isBlocking) {\n return;\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n }, {\n passive: false,\n capture: false\n });\n\n var preventTouchMove = function preventTouchMove() {\n isBlocking = true;\n };\n\n var releaseTouchMove = function releaseTouchMove() {\n isBlocking = false;\n };\n\n return {\n preventTouchMove: preventTouchMove,\n releaseTouchMove: releaseTouchMove\n };\n}();\n\nvar initial = {\n isDragging: false,\n pending: null,\n hasMoved: false,\n longPressTimerId: null\n};\nvar createTouchSensor = (function (_ref) {\n var callbacks = _ref.callbacks,\n getWindow = _ref.getWindow,\n canStartCapturing = _ref.canStartCapturing;\n var state = initial;\n\n var setState = function setState(partial) {\n state = _extends({}, state, partial);\n };\n\n var isDragging = function isDragging() {\n return state.isDragging;\n };\n\n var isCapturing = function isCapturing() {\n return Boolean(state.pending || state.isDragging || state.longPressTimerId);\n };\n\n var schedule = createScheduler(callbacks);\n var postDragEventPreventer = createPostDragEventPreventer(getWindow);\n\n var startDragging = function startDragging() {\n var pending = state.pending;\n\n if (!pending) {\n kill();\n process.env.NODE_ENV !== \"production\" ? invariant(false, 'cannot start a touch drag without a pending position') : invariant(false);\n }\n\n setState({\n isDragging: true,\n hasMoved: false,\n pending: null,\n longPressTimerId: null\n });\n callbacks.onLift({\n clientSelection: pending,\n autoScrollMode: 'FLUID'\n });\n };\n\n var stopDragging = function stopDragging(fn) {\n if (fn === void 0) {\n fn = noop$2;\n }\n\n schedule.cancel();\n touchStartMarshal.reset();\n webkitHack.releaseTouchMove();\n unbindWindowEvents();\n postDragEventPreventer.preventNext();\n setState(initial);\n fn();\n };\n\n var startPendingDrag = function startPendingDrag(event) {\n var touch = event.touches[0];\n var clientX = touch.clientX,\n clientY = touch.clientY;\n var point = {\n x: clientX,\n y: clientY\n };\n var longPressTimerId = setTimeout(startDragging, timeForLongPress);\n setState({\n longPressTimerId: longPressTimerId,\n pending: point,\n isDragging: false,\n hasMoved: false\n });\n bindWindowEvents();\n };\n\n var stopPendingDrag = function stopPendingDrag() {\n if (state.longPressTimerId) {\n clearTimeout(state.longPressTimerId);\n }\n\n schedule.cancel();\n touchStartMarshal.reset();\n webkitHack.releaseTouchMove();\n unbindWindowEvents();\n setState(initial);\n };\n\n var kill = function kill(fn) {\n if (fn === void 0) {\n fn = noop$2;\n }\n\n if (state.pending) {\n stopPendingDrag();\n return;\n }\n\n stopDragging(fn);\n };\n\n var unmount = function unmount() {\n kill();\n postDragEventPreventer.abort();\n };\n\n var cancel = function cancel() {\n kill(callbacks.onCancel);\n };\n\n var windowBindings = [{\n eventName: 'touchmove',\n options: {\n passive: false\n },\n fn: function fn(event) {\n if (!state.isDragging) {\n stopPendingDrag();\n return;\n }\n\n if (!state.hasMoved) {\n setState({\n hasMoved: true\n });\n }\n\n var _event$touches$ = event.touches[0],\n clientX = _event$touches$.clientX,\n clientY = _event$touches$.clientY;\n var point = {\n x: clientX,\n y: clientY\n };\n event.preventDefault();\n schedule.move(point);\n }\n }, {\n eventName: 'touchend',\n fn: function fn(event) {\n if (!state.isDragging) {\n stopPendingDrag();\n return;\n }\n\n event.preventDefault();\n stopDragging(callbacks.onDrop);\n }\n }, {\n eventName: 'touchcancel',\n fn: function fn(event) {\n if (!state.isDragging) {\n stopPendingDrag();\n return;\n }\n\n event.preventDefault();\n stopDragging(callbacks.onCancel);\n }\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'orientationchange',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn() {\n if (state.pending) {\n stopPendingDrag();\n return;\n }\n\n schedule.windowScrollMove();\n }\n }, {\n eventName: 'contextmenu',\n fn: function fn(event) {\n event.preventDefault();\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n if (!state.isDragging) {\n cancel();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n }\n\n cancel();\n }\n }, {\n eventName: 'touchforcechange',\n fn: function fn(event) {\n if (state.hasMoved) {\n event.preventDefault();\n return;\n }\n\n var touch = event.touches[0];\n\n if (touch.force >= forcePressThreshold) {\n cancel();\n }\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n\n var bindWindowEvents = function bindWindowEvents() {\n bindEvents(getWindow(), windowBindings, {\n capture: true\n });\n };\n\n var unbindWindowEvents = function unbindWindowEvents() {\n unbindEvents(getWindow(), windowBindings, {\n capture: true\n });\n };\n\n var onTouchStart = function onTouchStart(event) {\n if (touchStartMarshal.isHandled()) {\n return;\n }\n\n !!isCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not be able to perform a touch start while a drag or pending drag is occurring') : invariant(false) : void 0;\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n touchStartMarshal.handle();\n webkitHack.preventTouchMove();\n startPendingDrag(event);\n };\n\n var sensor = {\n onTouchStart: onTouchStart,\n kill: kill,\n isCapturing: isCapturing,\n isDragging: isDragging,\n unmount: unmount\n };\n return sensor;\n});\n\nvar _DragHandle$contextTy;\n\nvar preventHtml5Dnd = function preventHtml5Dnd(event) {\n event.preventDefault();\n};\n\nvar DragHandle = function (_Component) {\n _inheritsLoose(DragHandle, _Component);\n\n function DragHandle(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.mouseSensor = void 0;\n _this.keyboardSensor = void 0;\n _this.touchSensor = void 0;\n _this.sensors = void 0;\n _this.styleContext = void 0;\n _this.canLift = void 0;\n _this.isFocused = false;\n _this.lastDraggableRef = void 0;\n\n _this.onFocus = function () {\n _this.isFocused = true;\n };\n\n _this.onBlur = function () {\n _this.isFocused = false;\n };\n\n _this.onKeyDown = function (event) {\n if (_this.mouseSensor.isCapturing() || _this.touchSensor.isCapturing()) {\n return;\n }\n\n _this.keyboardSensor.onKeyDown(event);\n };\n\n _this.onMouseDown = function (event) {\n if (_this.keyboardSensor.isCapturing() || _this.mouseSensor.isCapturing()) {\n return;\n }\n\n _this.mouseSensor.onMouseDown(event);\n };\n\n _this.onTouchStart = function (event) {\n if (_this.mouseSensor.isCapturing() || _this.keyboardSensor.isCapturing()) {\n return;\n }\n\n _this.touchSensor.onTouchStart(event);\n };\n\n _this.canStartCapturing = function (event) {\n if (_this.isAnySensorCapturing()) {\n return false;\n }\n\n if (!_this.canLift(_this.props.draggableId)) {\n return false;\n }\n\n return shouldAllowDraggingFromTarget(event, _this.props);\n };\n\n _this.isAnySensorCapturing = function () {\n return _this.sensors.some(function (sensor) {\n return sensor.isCapturing();\n });\n };\n\n _this.getProvided = memoizeOne(function (isEnabled) {\n if (!isEnabled) {\n return null;\n }\n\n var provided = {\n onMouseDown: _this.onMouseDown,\n onKeyDown: _this.onKeyDown,\n onTouchStart: _this.onTouchStart,\n onFocus: _this.onFocus,\n onBlur: _this.onBlur,\n tabIndex: 0,\n 'data-react-beautiful-dnd-drag-handle': _this.styleContext,\n 'aria-roledescription': 'Draggable item. Press space bar to lift',\n draggable: false,\n onDragStart: preventHtml5Dnd\n };\n return provided;\n });\n\n var getWindow = function getWindow() {\n return getWindowFromRef(_this.props.getDraggableRef());\n };\n\n var args = {\n callbacks: _this.props.callbacks,\n getDraggableRef: _this.props.getDraggableRef,\n getWindow: getWindow,\n canStartCapturing: _this.canStartCapturing\n };\n _this.mouseSensor = createMouseSensor(args);\n _this.keyboardSensor = createKeyboardSensor(args);\n _this.touchSensor = createTouchSensor(args);\n _this.sensors = [_this.mouseSensor, _this.keyboardSensor, _this.touchSensor];\n _this.styleContext = context[styleContextKey];\n _this.canLift = context[canLiftContextKey];\n return _this;\n }\n\n var _proto = DragHandle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var draggableRef = this.props.getDraggableRef();\n this.lastDraggableRef = draggableRef;\n !draggableRef ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get draggable ref from drag handle') : invariant(false) : void 0;\n\n if (!this.props.isEnabled) {\n return;\n }\n\n var dragHandleRef = getDragHandleRef(draggableRef);\n retainer.tryRestoreFocus(this.props.draggableId, dragHandleRef);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n var ref = this.props.getDraggableRef();\n\n if (ref !== this.lastDraggableRef) {\n this.lastDraggableRef = ref;\n\n if (!ref || !this.isFocused) {\n return;\n }\n\n if (!this.props.isEnabled) {\n return;\n }\n\n getDragHandleRef(ref).focus();\n }\n\n var isCapturing = this.isAnySensorCapturing();\n\n if (!isCapturing) {\n return;\n }\n\n var isDragStopping = prevProps.isDragging && !this.props.isDragging;\n\n if (isDragStopping) {\n this.sensors.forEach(function (sensor) {\n if (sensor.isCapturing()) {\n sensor.kill();\n }\n });\n }\n\n if (this.props.isEnabled) {\n return;\n }\n\n this.sensors.forEach(function (sensor) {\n if (!sensor.isCapturing()) {\n return;\n }\n\n var wasDragging = sensor.isDragging();\n sensor.kill();\n\n if (wasDragging) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('You have disabled dragging on a Draggable while it was dragging. The drag has been cancelled');\n }\n\n _this2.props.callbacks.onCancel();\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var _this3 = this;\n\n this.sensors.forEach(function (sensor) {\n var wasDragging = sensor.isDragging();\n sensor.unmount();\n\n if (wasDragging) {\n _this3.props.callbacks.onCancel();\n }\n });\n\n var shouldRetainFocus = function () {\n if (!_this3.props.isEnabled) {\n return false;\n }\n\n if (!_this3.isFocused) {\n return false;\n }\n\n return _this3.props.isDragging || _this3.props.isDropAnimating;\n }();\n\n if (shouldRetainFocus) {\n retainer.retain(this.props.draggableId);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n isEnabled = _this$props.isEnabled;\n return children(this.getProvided(isEnabled));\n };\n\n return DragHandle;\n}(React.Component);\n\nDragHandle.contextTypes = (_DragHandle$contextTy = {}, _DragHandle$contextTy[styleContextKey] = PropTypes.string.isRequired, _DragHandle$contextTy[canLiftContextKey] = PropTypes.func.isRequired, _DragHandle$contextTy);\n\nvar getWindowScroll = (function () {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n});\n\nvar getViewport = (function () {\n var scroll = getWindowScroll();\n var top = scroll.y;\n var left = scroll.x;\n var doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find document.documentElement') : invariant(false) : void 0;\n var width = doc.clientWidth;\n var height = doc.clientHeight;\n var right = left + width;\n var bottom = top + height;\n var frame = cssBoxModel.getRect({\n top: top,\n left: left,\n right: right,\n bottom: bottom\n });\n var maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: frame.width,\n height: frame.height\n });\n var viewport = {\n frame: frame,\n scroll: {\n initial: scroll,\n current: scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n return viewport;\n});\n\nvar _Draggable$contextTyp;\nvar zIndexOptions = {\n dragging: 5000,\n dropAnimating: 4500\n};\n\nvar getTranslate = function getTranslate(offset) {\n if (isEqual(offset, origin)) {\n return null;\n }\n\n return \"translate(\" + offset.x + \"px, \" + offset.y + \"px)\";\n};\n\nvar getSpeed$1 = function getSpeed(isDragging, shouldAnimateDragMovement, isDropAnimating) {\n if (isDropAnimating) {\n return 'STANDARD';\n }\n\n if (isDragging && shouldAnimateDragMovement) {\n return 'FAST';\n }\n\n return 'INSTANT';\n};\n\nvar Draggable = function (_Component) {\n _inheritsLoose(Draggable, _Component);\n\n function Draggable(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.callbacks = void 0;\n _this.styleContext = void 0;\n _this.ref = null;\n\n _this.onMoveEnd = function () {\n if (_this.props.isDropAnimating) {\n _this.props.dropAnimationFinished();\n }\n };\n\n _this.onLift = function (options) {\n start('LIFT');\n var ref = _this.ref;\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n !!_this.props.isDragDisabled ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot lift a Draggable when it is disabled') : invariant(false) : void 0;\n var clientSelection = options.clientSelection,\n autoScrollMode = options.autoScrollMode;\n var _this$props = _this.props,\n lift = _this$props.lift,\n draggableId = _this$props.draggableId;\n var client = {\n selection: clientSelection,\n borderBoxCenter: getBorderBoxCenterPosition(ref),\n offset: origin\n };\n lift({\n id: draggableId,\n client: client,\n autoScrollMode: autoScrollMode,\n viewport: getViewport()\n });\n finish('LIFT');\n };\n\n _this.setRef = function (ref) {\n if (ref === null) {\n return;\n }\n\n if (ref === _this.ref) {\n return;\n }\n\n _this.ref = ref;\n throwIfRefIsInvalid(ref);\n };\n\n _this.getDraggableRef = function () {\n return _this.ref;\n };\n\n _this.getDraggingStyle = memoizeOne(function (change, dimension, isDropAnimating) {\n var box = dimension.client;\n var style = {\n position: 'fixed',\n top: box.marginBox.top,\n left: box.marginBox.left,\n boxSizing: 'border-box',\n width: box.borderBox.width,\n height: box.borderBox.height,\n transition: 'none',\n zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n transform: getTranslate(change),\n pointerEvents: 'none'\n };\n return style;\n });\n _this.getNotDraggingStyle = memoizeOne(function (current, shouldAnimateDisplacement) {\n var style = {\n transform: getTranslate(current),\n transition: shouldAnimateDisplacement ? null : 'none'\n };\n return style;\n });\n _this.getProvided = memoizeOne(function (change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps) {\n var useDraggingStyle = isDragging || isDropAnimating;\n\n var draggableStyle = function () {\n if (!useDraggingStyle) {\n return _this.getNotDraggingStyle(change, shouldAnimateDisplacement);\n }\n\n !dimension ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'draggable dimension required for dragging') : invariant(false) : void 0;\n return _this.getDraggingStyle(change, dimension, isDropAnimating);\n }();\n\n var provided = {\n innerRef: _this.setRef,\n draggableProps: {\n 'data-react-beautiful-dnd-draggable': _this.styleContext,\n style: draggableStyle\n },\n dragHandleProps: dragHandleProps\n };\n return provided;\n });\n _this.getSnapshot = memoizeOne(function (isDragging, isDropAnimating, draggingOver) {\n return {\n isDragging: isDragging || isDropAnimating,\n isDropAnimating: isDropAnimating,\n draggingOver: draggingOver\n };\n });\n\n _this.renderChildren = function (change, dragHandleProps) {\n var _this$props2 = _this.props,\n isDragging = _this$props2.isDragging,\n isDropAnimating = _this$props2.isDropAnimating,\n dimension = _this$props2.dimension,\n draggingOver = _this$props2.draggingOver,\n shouldAnimateDisplacement = _this$props2.shouldAnimateDisplacement,\n children = _this$props2.children;\n var child = children(_this.getProvided(change, isDragging, isDropAnimating, shouldAnimateDisplacement, dimension, dragHandleProps), _this.getSnapshot(isDragging, isDropAnimating, draggingOver));\n var isDraggingOrDropping = isDragging || isDropAnimating;\n\n var placeholder = function () {\n if (!isDraggingOrDropping) {\n return null;\n }\n\n !dimension ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable: Dimension is required for dragging') : invariant(false) : void 0;\n return React__default.createElement(Placeholder, {\n placeholder: dimension.placeholder\n });\n }();\n\n return React__default.createElement(React.Fragment, null, child, placeholder);\n };\n\n var callbacks = {\n onLift: _this.onLift,\n onMove: function onMove(clientSelection) {\n return props.move({\n client: clientSelection,\n shouldAnimate: false\n });\n },\n onDrop: function onDrop() {\n return props.drop({\n reason: 'DROP'\n });\n },\n onCancel: function onCancel() {\n return props.drop({\n reason: 'CANCEL'\n });\n },\n onMoveUp: props.moveUp,\n onMoveDown: props.moveDown,\n onMoveRight: props.moveRight,\n onMoveLeft: props.moveLeft,\n onWindowScroll: function onWindowScroll() {\n return props.moveByWindowScroll({\n scroll: getWindowScroll()\n });\n }\n };\n _this.callbacks = callbacks;\n _this.styleContext = context[styleContextKey];\n return _this;\n }\n\n var _proto = Draggable.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.ref = null;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n draggableId = _this$props3.draggableId,\n index = _this$props3.index,\n offset = _this$props3.offset,\n isDragging = _this$props3.isDragging,\n isDropAnimating = _this$props3.isDropAnimating,\n isDragDisabled = _this$props3.isDragDisabled,\n shouldAnimateDragMovement = _this$props3.shouldAnimateDragMovement,\n disableInteractiveElementBlocking = _this$props3.disableInteractiveElementBlocking;\n var droppableId = this.context[droppableIdKey];\n var type = this.context[droppableTypeKey];\n var speed = getSpeed$1(isDragging, shouldAnimateDragMovement, isDropAnimating);\n return React__default.createElement(DraggableDimensionPublisher, {\n key: draggableId,\n draggableId: draggableId,\n droppableId: droppableId,\n type: type,\n index: index,\n getDraggableRef: this.getDraggableRef\n }, React__default.createElement(Moveable, {\n speed: speed,\n destination: offset,\n onMoveEnd: this.onMoveEnd\n }, function (change) {\n return React__default.createElement(DragHandle, {\n draggableId: draggableId,\n isDragging: isDragging,\n isDropAnimating: isDropAnimating,\n isEnabled: !isDragDisabled,\n callbacks: _this2.callbacks,\n getDraggableRef: _this2.getDraggableRef,\n canDragInteractiveElements: disableInteractiveElementBlocking\n }, function (dragHandleProps) {\n return _this2.renderChildren(change, dragHandleProps);\n });\n }));\n };\n\n return Draggable;\n}(React.Component);\n\nDraggable.contextTypes = (_Draggable$contextTyp = {}, _Draggable$contextTyp[droppableIdKey] = PropTypes.string.isRequired, _Draggable$contextTyp[droppableTypeKey] = PropTypes.string.isRequired, _Draggable$contextTyp[styleContextKey] = PropTypes.string.isRequired, _Draggable$contextTyp);\n\nvar defaultMapProps = {\n isDropAnimating: false,\n isDragging: false,\n offset: origin,\n shouldAnimateDragMovement: false,\n shouldAnimateDisplacement: true,\n dimension: null,\n draggingOver: null\n};\nvar makeMapStateToProps$1 = function makeMapStateToProps() {\n var memoizedOffset = memoizeOne(function (x, y) {\n return {\n x: x,\n y: y\n };\n });\n var getNotDraggingProps = memoizeOne(function (offset, shouldAnimateDisplacement) {\n return {\n isDropAnimating: false,\n isDragging: false,\n offset: offset,\n shouldAnimateDisplacement: shouldAnimateDisplacement,\n shouldAnimateDragMovement: false,\n dimension: null,\n draggingOver: null\n };\n });\n var getDraggingProps = memoizeOne(function (offset, shouldAnimateDragMovement, dimension, draggingOver) {\n return {\n isDragging: true,\n isDropAnimating: false,\n shouldAnimateDisplacement: false,\n offset: offset,\n shouldAnimateDragMovement: shouldAnimateDragMovement,\n dimension: dimension,\n draggingOver: draggingOver\n };\n });\n\n var getOutOfTheWayMovement = function getOutOfTheWayMovement(id, movement) {\n var map = getDisplacementMap(movement.displaced);\n var displacement = map[id];\n\n if (!displacement) {\n return null;\n }\n\n if (!displacement.isVisible) {\n return null;\n }\n\n var amount = movement.isBeyondStartPosition ? negate(movement.amount) : movement.amount;\n return getNotDraggingProps(memoizedOffset(amount.x, amount.y), displacement.shouldAnimate);\n };\n\n var draggingSelector = function draggingSelector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id !== ownProps.draggableId) {\n return null;\n }\n\n var offset = state.current.client.offset;\n var dimension = state.dimensions.draggables[ownProps.draggableId];\n var shouldAnimateDragMovement = state.shouldAnimate;\n var draggingOver = state.impact.destination ? state.impact.destination.droppableId : null;\n return getDraggingProps(memoizedOffset(offset.x, offset.y), shouldAnimateDragMovement, dimension, draggingOver);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var pending = state.pending;\n\n if (pending.result.draggableId !== ownProps.draggableId) {\n return null;\n }\n\n var _draggingOver = pending.result.destination ? pending.result.destination.droppableId : null;\n\n return {\n isDragging: false,\n isDropAnimating: true,\n offset: pending.newHomeOffset,\n dimension: state.dimensions.draggables[ownProps.draggableId],\n draggingOver: _draggingOver,\n shouldAnimateDragMovement: false,\n shouldAnimateDisplacement: false\n };\n }\n\n return null;\n };\n\n var movingOutOfTheWaySelector = function movingOutOfTheWaySelector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id === ownProps.draggableId) {\n return null;\n }\n\n return getOutOfTheWayMovement(ownProps.draggableId, state.impact.movement);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n if (state.pending.result.draggableId === ownProps.draggableId) {\n return null;\n }\n\n return getOutOfTheWayMovement(ownProps.draggableId, state.pending.impact.movement);\n }\n\n return null;\n };\n\n var selector = function selector(state, ownProps) {\n var dragging = draggingSelector(state, ownProps);\n\n if (dragging) {\n return dragging;\n }\n\n var movingOutOfTheWay = movingOutOfTheWaySelector(state, ownProps);\n\n if (movingOutOfTheWay) {\n return movingOutOfTheWay;\n }\n\n return defaultMapProps;\n };\n\n return selector;\n};\nvar mapDispatchToProps = {\n lift: lift,\n move: move,\n moveUp: moveUp,\n moveDown: moveDown,\n moveLeft: moveLeft,\n moveRight: moveRight,\n moveByWindowScroll: moveByWindowScroll,\n drop: drop,\n dropAnimationFinished: dropAnimationFinished\n};\nvar ConnectedDraggable = reactRedux.connect(makeMapStateToProps$1, mapDispatchToProps, null, {\n storeKey: storeKey,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Draggable);\nConnectedDraggable.defaultProps = {\n isDragDisabled: false,\n disableInteractiveElementBlocking: false\n};\n\nexports.DragDropContext = DragDropContext;\nexports.Droppable = connectedDroppable;\nexports.Draggable = ConnectedDraggable;\nexports.resetServerContext = resetServerContext;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-beautiful-dnd/dist/react-beautiful-dnd.cjs.js\n// module id = 159\n// module chunks = 0","var _Object$assign = require(\"../core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _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 return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/helpers/extends.js\n// module id = 160\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/assign\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/assign.js\n// module id = 161\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 162\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 163\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 164\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 165\n// module chunks = 0","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 166\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 167\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 168\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 169\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 170\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 171\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 172\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 173\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 174\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 175\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 176\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 177\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 178\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 179\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 180\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 181\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 182\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 183\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 184\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 185\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 186\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 187\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 188\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 189\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-absolute-index.js\n// module id = 190\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 191\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 192\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 193\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 194\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 195\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 196\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 197\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 198\n// module chunks = 0","'use strict';\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tiny-invariant/dist/tiny-invariant.cjs.js\n// module id = 199\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar invariant = _interopDefault(require('tiny-invariant'));\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n !(suffix === 'px') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Expected value to be a pixel value.\\n Expected form: 10px\\n Actual value: \" + raw + \"\\n \") : invariant(false) : void 0;\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexports.getRect = getRect;\nexports.expand = expand;\nexports.shrink = shrink;\nexports.createBox = createBox;\nexports.offset = offset;\nexports.withScroll = withScroll;\nexports.calculateBox = calculateBox;\nexports.getBox = getBox;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-box-model/dist/css-box-model.cjs.js\n// module id = 200\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/keys\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/keys.js\n// module id = 201\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 202\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 203\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 204\n// module chunks = 0","'use strict';\n\nvar simpleIsEqual = function simpleIsEqual(a, b) {\n return a === b;\n};\n\nfunction index (resultFn, isEqual) {\n if (isEqual === void 0) {\n isEqual = simpleIsEqual;\n }\n\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n\n var isNewArgEqualToLast = function isNewArgEqualToLast(newArg, index) {\n return isEqual(newArg, lastArgs[index]);\n };\n\n var result = function result() {\n for (var _len = arguments.length, newArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n newArgs[_key] = arguments[_key];\n }\n\n if (calledOnce && lastThis === this && newArgs.length === lastArgs.length && newArgs.every(isNewArgEqualToLast)) {\n return lastResult;\n }\n\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n };\n\n return result;\n}\n\nmodule.exports = index;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/memoize-one/dist/memoize-one.cjs.js\n// module id = 205\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar $$observable = _interopDefault(require('symbol-observable'));\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers);\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(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\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(\"Dispatching while constructing your middleware is not allowed. \" + \"Other middleware would not be applied to this dispatch.\");\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexports.createStore = createStore;\nexports.combineReducers = combineReducers;\nexports.bindActionCreators = bindActionCreators;\nexports.applyMiddleware = applyMiddleware;\nexports.compose = compose;\nexports.__DO_NOT_USE__ActionTypes = ActionTypes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/lib/redux.js\n// module id = 206\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill.js');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 207\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 208\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 209\n// module chunks = 0","'use strict';\n\nvar index = (function (fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(undefined, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n var resultFn = wrapperFn;\n\n return resultFn;\n});\n\nmodule.exports = index;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/raf-schd/dist/raf-schd.cjs.js\n// module id = 210\n// module chunks = 0","var _Object$create = require(\"../core-js/object/create\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = _Object$create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/helpers/inheritsLoose.js\n// module id = 211\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/create\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/create.js\n// module id = 212\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/create.js\n// module id = 213\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.create.js\n// module id = 214\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 215\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 216\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 217\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nexports.__esModule = true;\n\nvar _Provider = _interopRequireWildcard(require(\"./components/Provider\"));\n\nexports.Provider = _Provider.default;\nexports.createProvider = _Provider.createProvider;\n\nvar _connectAdvanced = _interopRequireDefault(require(\"./components/connectAdvanced\"));\n\nexports.connectAdvanced = _connectAdvanced.default;\n\nvar _connect = _interopRequireDefault(require(\"./connect/connect\"));\n\nexports.connect = _connect.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/index.js\n// module id = 218\n// module chunks = 0","function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nmodule.exports = _interopRequireWildcard;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/interopRequireWildcard.js\n// module id = 219\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createProvider = createProvider;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = require(\"react\");\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _PropTypes = require(\"../utils/PropTypes\");\n\nvar _warning = _interopRequireDefault(require(\"../utils/warning\"));\n\nvar didWarnAboutReceivingStore = false;\n\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n\n didWarnAboutReceivingStore = true;\n (0, _warning.default)(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reduxjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nfunction createProvider(storeKey) {\n var _Provider$childContex;\n\n if (storeKey === void 0) {\n storeKey = 'store';\n }\n\n var subscriptionKey = storeKey + \"Subscription\";\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n (0, _inheritsLoose2.default)(Provider, _Component);\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;\n };\n\n function Provider(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this[storeKey] = props.store;\n return _this;\n }\n\n _proto.render = function render() {\n return _react.Children.only(this.props.children);\n };\n\n return Provider;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n if (this[storeKey] !== nextProps.store) {\n warnAboutReceivingStore();\n }\n };\n }\n\n Provider.propTypes = {\n store: _PropTypes.storeShape.isRequired,\n children: _propTypes.default.element.isRequired\n };\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = _PropTypes.storeShape.isRequired, _Provider$childContex[subscriptionKey] = _PropTypes.subscriptionShape, _Provider$childContex);\n return Provider;\n}\n\nvar _default = createProvider();\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/components/Provider.js\n// module id = 220\n// module chunks = 0","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/inheritsLoose.js\n// module id = 221\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.storeShape = exports.subscriptionShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar subscriptionShape = _propTypes.default.shape({\n trySubscribe: _propTypes.default.func.isRequired,\n tryUnsubscribe: _propTypes.default.func.isRequired,\n notifyNestedSubs: _propTypes.default.func.isRequired,\n isSubscribed: _propTypes.default.func.isRequired\n});\n\nexports.subscriptionShape = subscriptionShape;\n\nvar storeShape = _propTypes.default.shape({\n subscribe: _propTypes.default.func.isRequired,\n dispatch: _propTypes.default.func.isRequired,\n getState: _propTypes.default.func.isRequired\n});\n\nexports.storeShape = storeShape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/PropTypes.js\n// module id = 222\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = warning;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/warning.js\n// module id = 223\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = connectAdvanced;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _hoistNonReactStatics = _interopRequireDefault(require(\"hoist-non-react-statics\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _react = require(\"react\");\n\nvar _reactIs = require(\"react-is\");\n\nvar _Subscription = _interopRequireDefault(require(\"../utils/Subscription\"));\n\nvar _PropTypes = require(\"../utils/PropTypes\");\n\nvar hotReloadingVersion = 0;\nvar dummyState = {};\n\nfunction noop() {}\n\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n return selector;\n}\n\nfunction connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n var _contextTypes, _childContextTypes;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n connectOptions = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\"]);\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = _PropTypes.storeShape, _contextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _childContextTypes);\n return function wrapWithConnect(WrappedComponent) {\n (0, _invariant.default)((0, _reactIs.isValidElementType)(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + JSON.stringify(WrappedComponent)));\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n var selectorFactoryOptions = (0, _extends2.default)({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps\n\n /* eslint-disable react/no-deprecated */\n\n });\n\n var Connect =\n /*#__PURE__*/\n function (_Component) {\n (0, _inheritsLoose2.default)(Connect, _Component);\n\n function Connect(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n (0, _invariant.default)(_this.store, \"Could not find \\\"\" + storeKey + \"\\\" in either the context or props of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + (\"or explicitly pass \\\"\" + storeKey + \"\\\" as a prop to \\\"\" + displayName + \"\\\".\"));\n\n _this.initSelector();\n\n _this.initSubscription();\n\n return _this;\n }\n\n var _proto = Connect.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref3;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n _proto.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant.default)(withRef, \"To access the wrapped instance, you need to specify \" + (\"{ withRef: true } in the options argument of the \" + methodName + \"() call.\"));\n return this.wrappedInstance;\n };\n\n _proto.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n _proto.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n _proto.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new _Subscription.default(this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n _proto.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n _proto.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n\n var withExtras = (0, _extends2.default)({}, props);\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n _proto.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return (0, _react.createElement)(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(_react.Component);\n /* eslint-enable react/no-deprecated */\n\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n\n this.initSubscription();\n\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return (0, _hoistNonReactStatics.default)(Connect, WrappedComponent);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/components/connectAdvanced.js\n// module id = 224\n// module chunks = 0","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/assertThisInitialized.js\n// module id = 225\n// module chunks = 0","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\n// module id = 226\n// module chunks = 0","'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 ReactIs = require('react-is');\nvar React = require('react');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: 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 FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // 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 var targetStatics = TYPE_STATICS[targetComponent['$$typeof']] || REACT_STATICS;\n var sourceStatics = TYPE_STATICS[sourceComponent['$$typeof']] || REACT_STATICS;\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\n// module id = 227\n// module chunks = 0","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/index.js\n// module id = 228\n// module chunks = 0","/** @license React v16.6.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.concurrent_mode\"):60111,m=b?Symbol.for(\"react.forward_ref\"):60112,n=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.memo\"):60115,r=b?Symbol.for(\"react.lazy\"):\n60116;function t(a){if(\"object\"===typeof a&&null!==a){var p=a.$$typeof;switch(p){case c:switch(a=a.type,a){case l:case e:case g:case f:return a;default:switch(a=a&&a.$$typeof,a){case k:case m:case h:return a;default:return p}}case d:return p}}}function u(a){return t(a)===l}exports.typeOf=t;exports.AsyncMode=l;exports.ConcurrentMode=l;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=m;exports.Fragment=e;exports.Profiler=g;exports.Portal=d;\nexports.StrictMode=f;exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===l||a===g||a===f||a===n||\"object\"===typeof a&&null!==a&&(a.$$typeof===r||a.$$typeof===q||a.$$typeof===h||a.$$typeof===k||a.$$typeof===m)};exports.isAsyncMode=function(a){return u(a)};exports.isConcurrentMode=u;exports.isContextConsumer=function(a){return t(a)===k};exports.isContextProvider=function(a){return t(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return t(a)===m};exports.isFragment=function(a){return t(a)===e};exports.isProfiler=function(a){return t(a)===g};exports.isPortal=function(a){return t(a)===d};exports.isStrictMode=function(a){return t(a)===f};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/cjs/react-is.production.min.js\n// module id = 229\n// module chunks = 0","/** @license React v16.6.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode alias is deprecated along with isAsyncMode\nvar AsyncMode = REACT_CONCURRENT_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object);\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Profiler = Profiler;\nexports.Portal = Portal;\nexports.StrictMode = StrictMode;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isProfiler = isProfiler;\nexports.isPortal = isPortal;\nexports.isStrictMode = isStrictMode;\n })();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/cjs/react-is.development.js\n// module id = 230\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/invariant/browser.js\n// module id = 231\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub, onStateChange) {\n this.store = store;\n this.parentSub = parentSub;\n this.onStateChange = onStateChange;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexports.default = Subscription;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/Subscription.js\n// module id = 232\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createConnect = createConnect;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _connectAdvanced = _interopRequireDefault(require(\"../components/connectAdvanced\"));\n\nvar _shallowEqual = _interopRequireDefault(require(\"../utils/shallowEqual\"));\n\nvar _mapDispatchToProps = _interopRequireDefault(require(\"./mapDispatchToProps\"));\n\nvar _mapStateToProps = _interopRequireDefault(require(\"./mapStateToProps\"));\n\nvar _mergeProps = _interopRequireDefault(require(\"./mergeProps\"));\n\nvar _selectorFactory = _interopRequireDefault(require(\"./selectorFactory\"));\n\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nfunction createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? _connectAdvanced.default : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps.default : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps.default : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps.default : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory.default : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _shallowEqual.default : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _shallowEqual.default : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _shallowEqual.default : _ref3$areMergedPropsE,\n extraOptions = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, (0, _extends2.default)({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\n\nvar _default = createConnect();\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/connect.js\n// module id = 233\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = shallowEqual;\nvar hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/shallowEqual.js\n// module id = 234\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.whenMapDispatchToPropsIsFunction = whenMapDispatchToPropsIsFunction;\nexports.whenMapDispatchToPropsIsMissing = whenMapDispatchToPropsIsMissing;\nexports.whenMapDispatchToPropsIsObject = whenMapDispatchToPropsIsObject;\nexports.default = void 0;\n\nvar _redux = require(\"redux\");\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nfunction whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\n\nfunction whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\n\nfunction whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {\n return (0, _redux.bindActionCreators)(mapDispatchToProps, dispatch);\n }) : undefined;\n}\n\nvar _default = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mapDispatchToProps.js\n// module id = 235\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapMapToPropsConstant = wrapMapToPropsConstant;\nexports.getDependsOnOwnProps = getDependsOnOwnProps;\nexports.wrapMapToPropsFunc = wrapMapToPropsFunc;\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nfunction wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\n\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \n\n\nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/wrapMapToProps.js\n// module id = 236\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = verifyPlainObject;\n\nvar _isPlainObject = _interopRequireDefault(require(\"./isPlainObject\"));\n\nvar _warning = _interopRequireDefault(require(\"./warning\"));\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!(0, _isPlainObject.default)(value)) {\n (0, _warning.default)(methodName + \"() in \" + displayName + \" must return a plain object. Instead received \" + value + \".\");\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/verifyPlainObject.js\n// module id = 237\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isPlainObject;\n\n/**\r\n * @param {any} obj The object to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/isPlainObject.js\n// module id = 238\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.whenMapStateToPropsIsFunction = whenMapStateToPropsIsFunction;\nexports.whenMapStateToPropsIsMissing = whenMapStateToPropsIsMissing;\nexports.default = void 0;\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nfunction whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : undefined;\n}\n\nfunction whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function () {\n return {};\n }) : undefined;\n}\n\nvar _default = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mapStateToProps.js\n// module id = 239\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.defaultMergeProps = defaultMergeProps;\nexports.wrapMergePropsFunc = wrapMergePropsFunc;\nexports.whenMergePropsIsFunction = whenMergePropsIsFunction;\nexports.whenMergePropsIsOmitted = whenMergePropsIsOmitted;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nfunction defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return (0, _extends2.default)({}, ownProps, stateProps, dispatchProps);\n}\n\nfunction wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\n\nfunction whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\n\nfunction whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\n\nvar _default = [whenMergePropsIsFunction, whenMergePropsIsOmitted];\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mergeProps.js\n// module id = 240\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.impureFinalPropsSelectorFactory = impureFinalPropsSelectorFactory;\nexports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory;\nexports.default = finalPropsSelectorFactory;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _verifySubselectors = _interopRequireDefault(require(\"./verifySubselectors\"));\n\nfunction impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\n\nfunction pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\n\nfunction finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n (0, _verifySubselectors.default)(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/selectorFactory.js\n// module id = 241\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = verifySubselectors;\n\nvar _warning = _interopRequireDefault(require(\"../utils/warning\"));\n\nfunction verify(selector, methodName, displayName) {\n if (!selector) {\n throw new Error(\"Unexpected value for \" + methodName + \" in \" + displayName + \".\");\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!selector.hasOwnProperty('dependsOnOwnProps')) {\n (0, _warning.default)(\"The selector for \" + methodName + \" of \" + displayName + \" did not specify a value for dependsOnOwnProps.\");\n }\n }\n}\n\nfunction verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {\n verify(mapStateToProps, 'mapStateToProps', displayName);\n verify(mapDispatchToProps, 'mapDispatchToProps', displayName);\n verify(mergeProps, 'mergeProps', displayName);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/verifySubselectors.js\n// module id = 242\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _Motion = require('./Motion');\n\nexports.Motion = _interopRequire(_Motion);\n\nvar _StaggeredMotion = require('./StaggeredMotion');\n\nexports.StaggeredMotion = _interopRequire(_StaggeredMotion);\n\nvar _TransitionMotion = require('./TransitionMotion');\n\nexports.TransitionMotion = _interopRequire(_TransitionMotion);\n\nvar _spring = require('./spring');\n\nexports.spring = _interopRequire(_spring);\n\nvar _presets = require('./presets');\n\nexports.presets = _interopRequire(_presets);\n\nvar _stripStyle = require('./stripStyle');\n\nexports.stripStyle = _interopRequire(_stripStyle);\n\n// deprecated, dummy warning function\n\nvar _reorderKeys = require('./reorderKeys');\n\nexports.reorderKeys = _interopRequire(_reorderKeys);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/react-motion.js\n// module id = 243\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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\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 _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 _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nvar Motion = (function (_React$Component) {\n _inherits(Motion, _React$Component);\n\n _createClass(Motion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,\n children: _propTypes2['default'].func.isRequired,\n onRest: _propTypes2['default'].func\n },\n enumerable: true\n }]);\n\n function Motion(props) {\n var _this = this;\n\n _classCallCheck(this, Motion);\n\n _React$Component.call(this, props);\n this.wasAnimating = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyle = null;\n\n this.clearUnreadPropStyle = function (destStyle) {\n var dirty = false;\n var _state = _this.state;\n var currentStyle = _state.currentStyle;\n var currentVelocity = _state.currentVelocity;\n var lastIdealStyle = _state.lastIdealStyle;\n var lastIdealVelocity = _state.lastIdealVelocity;\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyle = _extends({}, currentStyle);\n currentVelocity = _extends({}, currentVelocity);\n lastIdealStyle = _extends({}, lastIdealStyle);\n lastIdealVelocity = _extends({}, lastIdealVelocity);\n }\n\n currentStyle[key] = styleValue;\n currentVelocity[key] = 0;\n lastIdealStyle[key] = styleValue;\n lastIdealVelocity[key] = 0;\n }\n }\n\n if (dirty) {\n _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // check if we need to animate in the first place\n var propsStyle = _this.props.style;\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n }\n\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.wasAnimating = false;\n _this.accumulatedTime = 0;\n return;\n }\n\n _this.wasAnimating = true;\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n\n for (var key in propsStyle) {\n if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {\n continue;\n }\n\n var styleValue = propsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyle[key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];\n for (var i = 0; i < framesToCatchUp; i++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity,\n lastIdealStyle: newLastIdealStyle,\n lastIdealVelocity: newLastIdealVelocity\n });\n\n _this.unreadPropStyle = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n Motion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || _stripStyle2['default'](style);\n var currentVelocity = _mapToZero2['default'](currentStyle);\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\n };\n };\n\n // it's possible that currentStyle's value is stale: if props is immediately\n // changed from 0 to 400 to spring(0) again, the async currentStyle is still\n // at 0 (didn't have time to tick and interpolate even once). If we naively\n // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n // In reality currentStyle should be 400\n\n Motion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyle != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyle);\n }\n\n this.unreadPropStyle = props.style;\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n Motion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n Motion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyle);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return Motion;\n})(_react2['default'].Component);\n\nexports['default'] = Motion;\nmodule.exports = exports['default'];\n\n// after checking for unreadPropStyle != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/Motion.js\n// module id = 244\n// module chunks = 0","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/mapToZero.js\n// module id = 245\n// module chunks = 0","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/stripStyle.js\n// module id = 246\n// module chunks = 0","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/stepper.js\n// module id = 247\n// module chunks = 0","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/performance-now/lib/performance-now.js\n// module id = 248\n// module chunks = 0","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/raf/index.js\n// module id = 249\n// module chunks = 0","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/shouldStopAnimation.js\n// module id = 250\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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\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 _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 _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nfunction shouldStopAnimationAll(currentStyles, styles, currentVelocities) {\n for (var i = 0; i < currentStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], styles[i], currentVelocities[i])) {\n return false;\n }\n }\n return true;\n}\n\nvar StaggeredMotion = (function (_React$Component) {\n _inherits(StaggeredMotion, _React$Component);\n\n _createClass(StaggeredMotion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].objectOf(_propTypes2['default'].number)),\n styles: _propTypes2['default'].func.isRequired,\n children: _propTypes2['default'].func.isRequired\n },\n enumerable: true\n }]);\n\n function StaggeredMotion(props) {\n var _this = this;\n\n _classCallCheck(this, StaggeredMotion);\n\n _React$Component.call(this, props);\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _state = _this.state;\n var currentStyles = _state.currentStyles;\n var currentVelocities = _state.currentVelocities;\n var lastIdealStyles = _state.lastIdealStyles;\n var lastIdealVelocities = _state.lastIdealVelocities;\n\n var someDirty = false;\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i];\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n someDirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n }\n }\n }\n\n if (someDirty) {\n _this.setState({ currentStyles: currentStyles, currentVelocities: currentVelocities, lastIdealStyles: lastIdealStyles, lastIdealVelocities: lastIdealVelocities });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n var destStyles = _this.props.styles(_this.state.lastIdealStyles);\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n\n for (var i = 0; i < destStyles.length; i++) {\n var destStyle = destStyles[i];\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyles[i][key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n StaggeredMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n\n var currentStyles = defaultStyles || styles().map(_stripStyle2['default']);\n var currentVelocities = currentStyles.map(function (currentStyle) {\n return _mapToZero2['default'](currentStyle);\n });\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: currentStyles,\n lastIdealVelocities: currentVelocities\n };\n };\n\n StaggeredMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n StaggeredMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n this.unreadPropStyles = props.styles(this.state.lastIdealStyles);\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n StaggeredMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n StaggeredMotion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return StaggeredMotion;\n})(_react2['default'].Component);\n\nexports['default'] = StaggeredMotion;\nmodule.exports = exports['default'];\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400\n\n// after checking for unreadPropStyles != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/StaggeredMotion.js\n// module id = 251\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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\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 _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 _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\n// the children function & (potential) styles function asks as param an\n// Array, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/TransitionMotion.js\n// module id = 252\n// module chunks = 0","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/mergeDiff.js\n// module id = 253\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/spring.js\n// module id = 254\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/presets.js\n// module id = 255\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\nexports['default'] = reorderKeys;\n\nvar hasWarned = false;\n\nfunction reorderKeys() {\n if (process.env.NODE_ENV === 'development') {\n if (!hasWarned) {\n hasWarned = true;\n console.error('`reorderKeys` has been removed, since it is no longer needed for TransitionMotion\\'s new styles array API.');\n }\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-motion/lib/reorderKeys.js\n// module id = 256\n// module chunks = 0","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react-dom\"), require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react-dom\", \"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"react-dom\"), require(\"react\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"ReactDOM\"], root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_6__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 12);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findInArray = findInArray;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\nexports.int = int;\nexports.dontSetMe = dontSetMe;\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/ {\n for (var i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\n\nfunction isFunction(func /*: any*/) /*: boolean*/ {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\n\nfunction isNum(num /*: any*/) /*: boolean*/ {\n return typeof num === 'number' && !isNaN(num);\n}\n\nfunction int(a /*: string*/) /*: number*/ {\n return parseInt(a, 10);\n}\n\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) {\n if (props[propName]) {\n return new Error('Invalid prop ' + propName + ' passed to ' + componentName + ' - do not set this, set it on the child.');\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.addEvent = addEvent;\nexports.removeEvent = removeEvent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nexports.styleHacks = styleHacks;\nexports.addClassName = addClassName;\nexports.removeClassName = removeClassName;\n\nvar _shims = __webpack_require__(0);\n\nvar _getPrefix = __webpack_require__(19);\n\nvar _getPrefix2 = _interopRequireDefault(_getPrefix);\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\n/*:: import type {ControlPosition, MouseTouchEvent} from './types';*/\n\n\nvar matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/ {\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/ {\n var node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n node = node.parentNode;\n } while (node);\n\n return false;\n}\n\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {\n if (!el) {\n return;\n }\n if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else if (el.addEventListener) {\n el.addEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\n\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {\n if (!el) {\n return;\n }\n if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else if (el.removeEventListener) {\n el.removeEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\n\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/ {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\n\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/ {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/ {\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\n\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/ {\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: {clientX: number, clientY: number}*/, offsetParent /*: HTMLElement*/) /*: ControlPosition*/ {\n var isBody = offsetParent === offsetParent.ownerDocument.body;\n var offsetParentRect = isBody ? { left: 0, top: 0 } : offsetParent.getBoundingClientRect();\n\n var x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left;\n var y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top;\n\n return { x: x, y: y };\n}\n\nfunction createCSSTransform(_ref) /*: Object*/ {\n var x = _ref.x,\n y = _ref.y;\n\n // Replace unitless items with px\n return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix2.default), 'translate(' + x + 'px,' + y + 'px)');\n}\n\nfunction createSVGTransform(_ref3) /*: string*/ {\n var x = _ref3.x,\n y = _ref3.y;\n\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/ {\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {\n return identifier === t.identifier;\n }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {\n return identifier === t.identifier;\n });\n}\n\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/ {\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n var styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {background: transparent;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {background: transparent;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\n\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n try {\n if (doc && doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n window.getSelection().removeAllRanges(); // remove selection caused by scroll\n } catch (e) {\n // probably IE\n }\n}\n\nfunction styleHacks() /*: Object*/ {\n var childStyle /*: Object*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // Workaround IE pointer events; see #51\n // https://github.com/mzabriskie/react-draggable/issues/51#issuecomment-103488278\n return _extends({\n touchAction: 'none'\n }, childStyle);\n}\n\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp('(?:^|\\\\s)' + className + '(?!\\\\S)'))) {\n el.className += ' ' + className;\n }\n }\n}\n\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(?:^|\\\\s)' + className + '(?!\\\\S)', 'g'), '');\n }\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(14)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(17)();\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBoundPosition = getBoundPosition;\nexports.snapToGrid = snapToGrid;\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.getControlPosition = getControlPosition;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\n\nvar _shims = __webpack_require__(0);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _domFns = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/ {\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n var bounds = draggable.props.bounds;\n\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n var node = findDOMNode(draggable);\n\n if (typeof bounds === 'string') {\n var ownerDocument = node.ownerDocument;\n\n var ownerWindow = ownerDocument.defaultView;\n var boundNode = void 0;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n var nodeStyle = ownerWindow.getComputedStyle(node);\n var boundNodeStyle = ownerWindow.getComputedStyle(boundNode);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNode) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNode) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n\n return [x, y];\n}\n\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/ {\n var x = Math.round(pendingX / grid[0]) * grid[0];\n var y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\n\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/ {\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\n\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/ {\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/ {\n var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n var node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/ {\n var state = draggable.state;\n var isStart = !(0, _shims.isNum)(state.lastX);\n var node = findDOMNode(draggable);\n\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node: node,\n deltaX: 0, deltaY: 0,\n lastX: x, lastY: y,\n x: x, y: y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node: node,\n deltaX: x - state.lastX, deltaY: y - state.lastY,\n lastX: state.lastX, lastY: state.lastY,\n x: x, y: y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/ {\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX,\n y: draggable.state.y + coreData.deltaY,\n deltaX: coreData.deltaX,\n deltaY: coreData.deltaY,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/ {\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\n\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/ {\n var node = _reactDom2.default.findDOMNode(draggable);\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 = __webpack_require__(6);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _domFns = __webpack_require__(5);\n\nvar _positionFns = __webpack_require__(9);\n\nvar _shims = __webpack_require__(0);\n\nvar _log = __webpack_require__(11);\n\nvar _log2 = _interopRequireDefault(_log);\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 type {EventHandler, MouseTouchEvent} from './utils/types';*/\n\n\n// Simple abstraction for dragging events names.\n/*:: import type {Element as ReactElement} from 'react';*/\nvar eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nvar dragEventFor = eventsFor.mouse;\n\n/*:: type DraggableCoreState = {\n dragging: boolean,\n lastX: number,\n lastY: number,\n touchIdentifier: ?number\n};*/\n/*:: export type DraggableBounds = {\n left: number,\n right: number,\n top: number,\n bottom: number,\n};*/\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n\n\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\n/*:: export type DraggableCoreProps = {\n allowAnyClick: boolean,\n cancel: string,\n children: ReactElement,\n disabled: boolean,\n enableUserSelectHack: boolean,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n};*/\n\nvar DraggableCore = function (_React$Component) {\n _inherits(DraggableCore, _React$Component);\n\n function DraggableCore() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, DraggableCore);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DraggableCore.__proto__ || Object.getPrototypeOf(DraggableCore)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n dragging: false,\n // Used while dragging to determine deltas.\n lastX: NaN, lastY: NaN,\n touchIdentifier: null\n }, _this.handleDragStart = function (e) {\n // Make it possible to attach event handlers on top of this one.\n _this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n var thisNode = _reactDom2.default.findDOMNode(_this);\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n var ownerDocument = thisNode.ownerDocument;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n\n if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.handle, thisNode) || _this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.cancel, thisNode)) {\n return;\n }\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n _this.setState({ touchIdentifier: touchIdentifier });\n\n // Get the current drag point from the event. This is used as the offset.\n var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _this);\n if (position == null) return; // not possible but satisfies flow\n var x = position.x,\n y = position.y;\n\n // Create an event object with all the data parents need to make a decision here.\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n (0, _log2.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log2.default)('calling', _this.props.onStart);\n var shouldUpdate = _this.props.onStart(e, coreEvent);\n if (shouldUpdate === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n _this.setState({\n dragging: true,\n\n lastX: x,\n lastY: y\n });\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);\n }, _this.handleDrag = function (e) {\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n if (e.type === 'touchmove') e.preventDefault();\n\n // Get the current drag point from the event. This is used as the offset.\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _this);\n if (position == null) return;\n var x = position.x,\n y = position.y;\n\n // Snap to grid if prop has been provided\n\n if (Array.isArray(_this.props.grid)) {\n var _deltaX = x - _this.state.lastX,\n _deltaY = y - _this.state.lastY;\n\n var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, _deltaX, _deltaY);\n\n var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);\n\n _deltaX = _snapToGrid2[0];\n _deltaY = _snapToGrid2[1];\n\n if (!_deltaX && !_deltaY) return; // skip useless drag\n x = _this.state.lastX + _deltaX, y = _this.state.lastY + _deltaY;\n }\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n (0, _log2.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n var shouldUpdate = _this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false) {\n try {\n // $FlowIgnore\n _this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n var event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n _this.handleDragStop(event);\n }\n return;\n }\n\n _this.setState({\n lastX: x,\n lastY: y\n });\n }, _this.handleDragStop = function (e) {\n if (!_this.state.dragging) return;\n\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _this);\n if (position == null) return;\n var x = position.x,\n y = position.y;\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n var thisNode = _reactDom2.default.findDOMNode(_this);\n if (thisNode) {\n // Remove user-select hack\n if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n\n (0, _log2.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n _this.setState({\n dragging: false,\n lastX: NaN,\n lastY: NaN\n });\n\n // Call event handler\n _this.props.onStop(e, coreEvent);\n\n if (thisNode) {\n // Remove event handlers\n (0, _log2.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);\n }\n }, _this.onMouseDown = function (e) {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return _this.handleDragStart(e);\n }, _this.onMouseUp = function (e) {\n dragEventFor = eventsFor.mouse;\n\n return _this.handleDragStop(e);\n }, _this.onTouchStart = function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return _this.handleDragStart(e);\n }, _this.onTouchEnd = function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return _this.handleDragStop(e);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(DraggableCore, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n var thisNode = _reactDom2.default.findDOMNode(this);\n if (thisNode) {\n var ownerDocument = thisNode.ownerDocument;\n\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // Same as onMouseDown (start drag), but now consider this a touch device.\n\n }, {\n key: 'render',\n value: function render() {\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), {\n style: (0, _domFns.styleHacks)(this.props.children.props.style),\n\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onTouchStart: this.onTouchStart,\n onMouseUp: this.onMouseUp,\n onTouchEnd: this.onTouchEnd\n });\n }\n }]);\n\n return DraggableCore;\n}(_react2.default.Component);\n\nDraggableCore.displayName = 'DraggableCore';\nDraggableCore.propTypes = {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes2.default.bool,\n\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes2.default.bool,\n\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes2.default.bool,\n\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function offsetParent(props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (process.browser === true && props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes2.default.arrayOf(_propTypes2.default.number),\n\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * \n *
Click me to drag
\n *
This is some other content
\n *
\n * \n * );\n * }\n * });\n * ```\n */\n handle: _propTypes2.default.string,\n\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n * \n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n * \n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes2.default.string,\n\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes2.default.func,\n\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes2.default.func,\n\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes2.default.func,\n\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes2.default.func,\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n};\nDraggableCore.defaultProps = {\n allowAnyClick: false, // by default only accept left click\n cancel: null,\n disabled: false,\n enableUserSelectHack: true,\n offsetParent: null,\n handle: null,\n grid: null,\n transform: null,\n onStart: function onStart() {},\n onDrag: function onDrag() {},\n onStop: function onStop() {},\n onMouseDown: function onMouseDown() {}\n};\nexports.default = DraggableCore;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n\n/*eslint no-console:0*/\nfunction log() {\n var _console;\n\n if (undefined) (_console = console).log.apply(_console, arguments);\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Draggable = __webpack_require__(13).default;\n\n// Previous versions of this lib exported as the root export. As to not break\n// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = __webpack_require__(10).default;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 = __webpack_require__(6);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _classnames = __webpack_require__(18);\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _domFns = __webpack_require__(5);\n\nvar _positionFns = __webpack_require__(9);\n\nvar _shims = __webpack_require__(0);\n\nvar _DraggableCore = __webpack_require__(10);\n\nvar _DraggableCore2 = _interopRequireDefault(_DraggableCore);\n\nvar _log = __webpack_require__(11);\n\nvar _log2 = _interopRequireDefault(_log);\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 _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 type {ControlPosition, DraggableBounds, DraggableCoreProps} from './DraggableCore';*/\n/*:: import type {DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean\n};*/\n\n\n//\n// Define \n//\n\n/*:: export type DraggableProps = {\n ...$Exact,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: DraggableBounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n position: ControlPosition,\n};*/\n\nvar Draggable = function (_React$Component) {\n _inherits(Draggable, _React$Component);\n\n function Draggable(props /*: DraggableProps*/) {\n _classCallCheck(this, Draggable);\n\n var _this = _possibleConstructorReturn(this, (Draggable.__proto__ || Object.getPrototypeOf(Draggable)).call(this, props));\n\n _this.onDragStart = function (e, coreData) {\n (0, _log2.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n var shouldStart = _this.props.onStart(e, (0, _positionFns.createDraggableData)(_this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n\n _this.setState({ dragging: true, dragged: true });\n };\n\n _this.onDrag = function (e, coreData) {\n if (!_this.state.dragging) return false;\n (0, _log2.default)('Draggable: onDrag: %j', coreData);\n\n var uiData = (0, _positionFns.createDraggableData)(_this, coreData);\n\n var newState /*: $Shape*/ = {\n x: uiData.x,\n y: uiData.y\n };\n\n // Keep within bounds.\n if (_this.props.bounds) {\n // Save original x and y.\n var _x = newState.x,\n _y = newState.y;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n\n newState.x += _this.state.slackX;\n newState.y += _this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n\n var _getBoundPosition = (0, _positionFns.getBoundPosition)(_this, newState.x, newState.y),\n _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),\n newStateX = _getBoundPosition2[0],\n newStateY = _getBoundPosition2[1];\n\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = _this.state.slackX + (_x - newState.x);\n newState.slackY = _this.state.slackY + (_y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - _this.state.x;\n uiData.deltaY = newState.y - _this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n var shouldUpdate = _this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n\n _this.setState(newState);\n };\n\n _this.onDragStop = function (e, coreData) {\n if (!_this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n var shouldStop = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_this, coreData));\n if (shouldStop === false) return false;\n\n (0, _log2.default)('Draggable: onDragStop: %j', coreData);\n\n var newState /*: $Shape*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n var controlled = Boolean(_this.props.position);\n if (controlled) {\n var _this$props$position = _this.props.position,\n _x2 = _this$props$position.x,\n _y2 = _this$props$position.y;\n\n newState.x = _x2;\n newState.y = _y2;\n }\n\n _this.setState(newState);\n };\n\n _this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n\n // Whether or not we have been dragged before.\n dragged: false,\n\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n\n // Used for compensating for out-of-bounds drags\n slackX: 0, slackY: 0,\n\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n return _this;\n }\n\n _createClass(Draggable, [{\n key: 'componentWillMount',\n value: function componentWillMount() {\n if (this.props.position && !(this.props.onDrag || this.props.onStop)) {\n // eslint-disable-next-line\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && _reactDom2.default.findDOMNode(this) instanceof window.SVGElement) {\n this.setState({ isElementSVG: true });\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps /*: Object*/) {\n // Set x/y if position has changed\n if (nextProps.position && (!this.props.position || nextProps.position.x !== this.props.position.x || nextProps.position.y !== this.props.position.y)) {\n this.setState({ x: nextProps.position.x, y: nextProps.position.y });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.setState({ dragging: false }); // prevents invariant if unmounted while dragging\n }\n }, {\n key: 'render',\n value: function render() /*: ReactElement*/ {\n var _classNames;\n\n var style = {},\n svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n var controlled = Boolean(this.props.position);\n var draggable = !controlled || this.state.dragging;\n\n var position = this.props.position || this.props.defaultPosition;\n var transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : position.x,\n\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : position.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts);\n }\n\n var _props = this.props,\n defaultClassName = _props.defaultClassName,\n defaultClassNameDragging = _props.defaultClassNameDragging,\n defaultClassNameDragged = _props.defaultClassNameDragged;\n\n\n var children = _react2.default.Children.only(this.props.children);\n\n // Mark with class while dragging\n var className = (0, _classnames2.default)(children.props.className || '', defaultClassName, (_classNames = {}, _defineProperty(_classNames, defaultClassNameDragging, this.state.dragging), _defineProperty(_classNames, defaultClassNameDragged, this.state.dragged), _classNames));\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return _react2.default.createElement(\n _DraggableCore2.default,\n _extends({}, this.props, { onStart: this.onDragStart, onDrag: this.onDrag, onStop: this.onDragStop }),\n _react2.default.cloneElement(children, {\n className: className,\n style: _extends({}, children.props.style, style),\n transform: svgTransform\n })\n );\n }\n }]);\n\n return Draggable;\n}(_react2.default.Component);\n\nDraggable.displayName = 'Draggable';\nDraggable.propTypes = _extends({}, _DraggableCore2.default.propTypes, {\n\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes2.default.oneOf(['both', 'x', 'y', 'none']),\n\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * Content
\n * \n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes2.default.oneOfType([_propTypes2.default.shape({\n left: _propTypes2.default.number,\n right: _propTypes2.default.number,\n top: _propTypes2.default.number,\n bottom: _propTypes2.default.number\n }), _propTypes2.default.string, _propTypes2.default.oneOf([false])]),\n\n defaultClassName: _propTypes2.default.string,\n defaultClassNameDragging: _propTypes2.default.string,\n defaultClassNameDragged: _propTypes2.default.string,\n\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * I start with transformX: 25px and transformY: 25px;
\n * \n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes2.default.shape({\n x: _propTypes2.default.number,\n y: _propTypes2.default.number\n }),\n\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * I start with transformX: 25px and transformY: 25px;
\n * \n * );\n * }\n * });\n * ```\n */\n position: _propTypes2.default.shape({\n x: _propTypes2.default.number,\n y: _propTypes2.default.number\n }),\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\nDraggable.defaultProps = _extends({}, _DraggableCore2.default.defaultProps, {\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: { x: 0, y: 0 },\n position: null\n});\nexports.default = Draggable;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar warning = __webpack_require__(8);\nvar assign = __webpack_require__(15);\n\nvar ReactPropTypesSecret = __webpack_require__(3);\nvar checkPropTypes = __webpack_require__(16);\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var invariant = __webpack_require__(2);\n var warning = __webpack_require__(8);\n var ReactPropTypesSecret = __webpack_require__(3);\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar ReactPropTypesSecret = __webpack_require__(3);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\treturn classNames;\n\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPrefix = getPrefix;\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nvar prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/ {\n var prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n\n // Checking specifically for 'window.document' is for pseudo-browser server-side\n // environments that define 'window' as the global context.\n // E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)\n if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';\n\n var style = window.document.documentElement.style;\n\n if (prop in style) return '';\n\n for (var i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n\n return '';\n}\n\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/ {\n return prefix ? '' + prefix + kebabToTitleCase(prop) : prop;\n}\n\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/ {\n return prefix ? '-' + prefix.toLowerCase() + '-' + prop : prop;\n}\n\nfunction kebabToTitleCase(str /*: string*/) /*: string*/ {\n var out = '';\n var shouldCapitalize = true;\n for (var i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nexports.default = getPrefix();\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=react-draggable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-draggable/dist/react-draggable.js\n// module id = 257\n// module chunks = 0","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\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/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\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\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\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\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\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 `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\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\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\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash.isequal/index.js\n// module id = 258\n// module chunks = 0","import React, { Component } from 'react';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport { getClass } from './util';\nimport classnames from 'classnames';\nimport isEqual from 'lodash.isequal';\n\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nclass Vertical extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: this.props.list||[],\n };\n }\n componentWillReceiveProps(nextProps){\n if(!isEqual(this.state.items,nextProps.list)){\n this.setState({\n items:nextProps.list\n })\n }\n }\n\n onDragEnd = result => {\n if (!result.destination) {\n return;\n }\n const items = reorder(\n this.state.items,\n result.source.index,\n result.destination.index\n );\n\n this.setState({\n items,\n });\n this.props.onStop(result,items);\n }\n\n onDragStart = result =>{\n this.props.onStart(result,this.state.items);\n }\n\n\n render() {\n const { onStart,onDrag,onStop,onDragUpdate,dropClass,dropOverClass,\n dragClass,dragingClass,showKey,type } = this.props;\n \n return (\n \n \n {(provided, snapshot) => (\n \n {this.state.items.map((item, index) => (\n
\n {(provided, snapshot) => (\n \n {showKey?item[showKey]:item}\n
\n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n \n \n );\n }\n}\n\nexport default Vertical;\n\n\n// WEBPACK FOOTER //\n// ./src/SortList.js","export const getClass = (props,doing) =>{\r\n let { dropClass,dropOverClass,dragClass,dragingClass,type } = props;\r\n \r\n let verticalObj = {\r\n drop:{},drag:{}\r\n };\r\n verticalObj.drop['u-drop '+dropClass]=true;\r\n verticalObj.drop['u-droping '+dropOverClass]=doing;\r\n verticalObj.drag['u-drag '+dragClass]=true;\r\n verticalObj.drag['u-draging '+dragingClass]=doing;\r\n\r\n let horizontalObj = {\r\n drop:{},drag:{}\r\n }\r\n horizontalObj.drop['u-drop u-drop-horizontal '+dropClass]=true;\r\n horizontalObj.drop['u-droping u-droping-horizontal '+dropOverClass]=doing;\r\n horizontalObj.drag['u-drag u-drag-horizontal '+dragClass]=true;\r\n horizontalObj.drag['u-draging u-draging-horizontal '+dragingClass]=doing;\r\n\r\n switch (type){\r\n case 'vertical':\r\n return verticalObj;\r\n break;\r\n case 'horizontal':\r\n return horizontalObj;\r\n break;\r\n case 'betweenVertical':\r\n return verticalObj;\r\n break;\r\n case 'betweenHorizontal':\r\n return horizontalObj;\r\n break;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util.js","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\r\nimport { getClass } from './util';\r\nimport classnames from 'classnames';\r\nimport isEqual from 'lodash.isequal';\r\n\r\n\r\nconst reorder = (list, startIndex, endIndex) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Moves an item from one list to another list.\r\n */\r\nconst move = (source, destination, droppableSource, droppableDestination) => {\r\n const sourceClone = Array.from(source);\r\n const destClone = Array.from(destination);\r\n const [removed] = sourceClone.splice(droppableSource.index, 1);\r\n\r\n destClone.splice(droppableDestination.index, 0, removed);\r\n\r\n const result = {};\r\n result[droppableSource.droppableId] = sourceClone;\r\n result[droppableDestination.droppableId] = destClone;\r\n\r\n return result;\r\n};\r\n\r\n\r\nclass Between extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: this.props.list,\r\n selected: this.props.otherList\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(!isEqual(this.state.items,nextProps.list)){\r\n this.setState({\r\n items:nextProps.list\r\n })\r\n }\r\n if(!isEqual(this.state.selected,nextProps.otherList)){\r\n this.setState({\r\n selected:nextProps.otherList\r\n })\r\n }\r\n }\r\n\r\n id2List = {\r\n droppable: 'items',\r\n droppable2: 'selected'\r\n };\r\n\r\n getList = id => this.state[this.id2List[id]];\r\n\r\n onDragEnd = result => {\r\n console.log(result);\r\n const { source, destination } = result;\r\n\r\n // dropped outside the list\r\n if (!destination) {\r\n return;\r\n }\r\n let list=this.state.items;\r\n let otherList=this.state.selected;\r\n\r\n if (source.droppableId === destination.droppableId) {\r\n const items = reorder(\r\n this.getList(source.droppableId),\r\n source.index,\r\n destination.index\r\n );\r\n\r\n let state = { items };\r\n list=items;\r\n\r\n if (source.droppableId === 'droppable2') {\r\n state = { selected: items };\r\n otherList=items;\r\n list=this.state.items;\r\n }\r\n this.setState(state);\r\n } else {\r\n const result = move(\r\n this.getList(source.droppableId),\r\n this.getList(destination.droppableId),\r\n source,\r\n destination\r\n );\r\n\r\n this.setState({\r\n items: result.droppable,\r\n selected: result.droppable2\r\n });\r\n list=result.droppable;\r\n otherList=result.droppable2;\r\n }\r\n this.props.onStop(result,{\r\n list:list,\r\n otherList:otherList\r\n })\r\n \r\n };\r\n\r\n onDragStart = result =>{\r\n this.props.onStart(result,{\r\n list:this.state.list,\r\n otherList:this.state.selected\r\n })\r\n }\r\n\r\n render() {\r\n const { onStart,onDrag,onStop,onDragUpdate,dropClass,dropOverClass,\r\n dragClass,dragingClass,showKey,type } = this.props;\r\n\r\n return (\r\n \r\n
\r\n \r\n {(provided, snapshot) => (\r\n \r\n {this.state.items.map((item, index) => (\r\n
\r\n {(provided, snapshot) => (\r\n \r\n {showKey?item[showKey]:item}\r\n
\r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n {(provided, snapshot) => (\r\n \r\n {this.state.selected.map((item, index) => (\r\n
\r\n {(provided, snapshot) => (\r\n \r\n {showKey?item[showKey]:item}\r\n
\r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default Between;\n\n\n// WEBPACK FOOTER //\n// ./src/Between.js","import GridLayout from 'react-grid-layout';\r\n\r\nexport default GridLayout;\n\n\n// WEBPACK FOOTER //\n// ./src/GridLayout.js","module.exports = require('./build/ReactGridLayout').default;\nmodule.exports.utils = require('./build/utils');\nmodule.exports.Responsive = require('./build/ResponsiveReactGridLayout').default;\nmodule.exports.Responsive.utils = require('./build/responsiveUtils');\nmodule.exports.WidthProvider = require('./build/components/WidthProvider').default;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/index.js\n// module id = 263\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require(\"./utils\");\n\nvar _GridItem = require(\"./GridItem\");\n\nvar _GridItem2 = _interopRequireDefault(_GridItem);\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// End Types\n\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n// Types\nvar ReactGridLayout = function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n // TODO publish internal ReactClass displayName transform\n function ReactGridLayout(props, context) {\n _classCallCheck(this, ReactGridLayout);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _initialiseProps.call(_this);\n\n (0, _utils.autoBindHandlers)(_this, [\"onDragStart\", \"onDrag\", \"onDragStop\", \"onResizeStart\", \"onResize\", \"onResizeStop\"]);\n return _this;\n }\n\n ReactGridLayout.prototype.componentDidMount = function componentDidMount() {\n this.setState({ mounted: true });\n // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n };\n\n ReactGridLayout.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var newLayoutBase = void 0;\n // Legacy support for compactType\n // Allow parent to set layout directly.\n if (!(0, _lodash2.default)(nextProps.layout, this.props.layout) || nextProps.compactType !== this.props.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(this.props.children, nextProps.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = this.state.layout;\n }\n\n // We need to regenerate the layout.\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, this.compactType(nextProps));\n var _oldLayout = this.state.layout;\n this.setState({ layout: newLayout });\n this.onLayoutMaybeChanged(newLayout, _oldLayout);\n }\n };\n\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n\n ReactGridLayout.prototype.containerHeight = function containerHeight() {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n };\n\n ReactGridLayout.prototype.compactType = function compactType(props) {\n if (!props) props = this.props;\n return props.verticalCompact === false ? null : props.compactType;\n };\n\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDragStart = function onDragStart(i, x, y, _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = this.state.layout;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout\n });\n\n return this.props.onDragStart(layout, l, l, null, e, node);\n };\n\n /**\n * Each drag movement create a new dragelement and move the element to the dragged location\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDrag = function onDrag(i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = this.state.oldDragItem;\n var layout = this.state.layout;\n var cols = this.props.cols;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n\n // Move the element to the dragged location.\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, this.props.preventCollision, this.compactType(), cols);\n\n this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n this.setState({\n layout: (0, _utils.compact)(layout, this.compactType(), cols),\n activeDrag: placeholder\n });\n };\n\n /**\n * When dragging stops, figure out which position the element is closest to and update its x and y.\n * @param {String} i Index of the child.\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDragStop = function onDragStop(i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n var oldDragItem = this.state.oldDragItem;\n var layout = this.state.layout;\n var _props = this.props,\n cols = _props.cols,\n preventCollision = _props.preventCollision;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Move the element here\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, this.compactType(), cols);\n\n this.props.onDragStop(layout, oldDragItem, l, null, e, node);\n\n // Set state\n var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);\n var oldLayout = this.state.oldLayout;\n\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n };\n\n ReactGridLayout.prototype.onLayoutMaybeChanged = function onLayoutMaybeChanged(newLayout, oldLayout) {\n if (!oldLayout) oldLayout = this.state.layout;\n if (!(0, _lodash2.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n };\n\n ReactGridLayout.prototype.onResizeStart = function onResizeStart(i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = this.state.layout;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout\n });\n\n this.props.onResizeStart(layout, l, l, null, e, node);\n };\n\n ReactGridLayout.prototype.onResize = function onResize(i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _state = this.state,\n layout = _state.layout,\n oldResizeItem = _state.oldResizeItem;\n var _props2 = this.props,\n cols = _props2.cols,\n preventCollision = _props2.preventCollision;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions = void 0;\n if (preventCollision) {\n var collisions = (0, _utils.getAllCollisions)(layout, _extends({}, l, { w: w, h: h })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0;\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n // Create placeholder element (display only)\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n this.props.onResize(layout, oldResizeItem, l, placeholder, e, node);\n\n // Re-compact the layout and set the drag placeholder.\n this.setState({\n layout: (0, _utils.compact)(layout, this.compactType(), cols),\n activeDrag: placeholder\n });\n };\n\n ReactGridLayout.prototype.onResizeStop = function onResizeStop(i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _state2 = this.state,\n layout = _state2.layout,\n oldResizeItem = _state2.oldResizeItem;\n var cols = this.props.cols;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n this.props.onResizeStop(layout, oldResizeItem, l, null, e, node);\n\n // Set state\n var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);\n var oldLayout = this.state.oldLayout;\n\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n };\n\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n\n\n ReactGridLayout.prototype.placeholder = function placeholder() {\n var activeDrag = this.state.activeDrag;\n\n if (!activeDrag) return null;\n var _props3 = this.props,\n width = _props3.width,\n cols = _props3.cols,\n margin = _props3.margin,\n containerPadding = _props3.containerPadding,\n rowHeight = _props3.rowHeight,\n maxRows = _props3.maxRows,\n useCSSTransforms = _props3.useCSSTransforms;\n\n // {...this.state.activeDrag} is pretty slow, actually\n\n return _react2.default.createElement(\n _GridItem2.default,\n {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n useCSSTransforms: useCSSTransforms\n },\n _react2.default.createElement(\"div\", null)\n );\n };\n\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n\n ReactGridLayout.prototype.processGridItem = function processGridItem(child) {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _props4 = this.props,\n width = _props4.width,\n cols = _props4.cols,\n margin = _props4.margin,\n containerPadding = _props4.containerPadding,\n rowHeight = _props4.rowHeight,\n maxRows = _props4.maxRows,\n isDraggable = _props4.isDraggable,\n isResizable = _props4.isResizable,\n useCSSTransforms = _props4.useCSSTransforms,\n draggableCancel = _props4.draggableCancel,\n draggableHandle = _props4.draggableHandle;\n var mounted = this.state.mounted;\n\n // Parse 'static'. Any properties defined directly on the grid item will take precedence.\n\n var draggable = Boolean(!l.static && isDraggable && (l.isDraggable || l.isDraggable == null));\n var resizable = Boolean(!l.static && isResizable && (l.isResizable || l.isResizable == null));\n\n return _react2.default.createElement(\n _GridItem2.default,\n {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n \"static\": l.static\n },\n child\n );\n };\n\n ReactGridLayout.prototype.render = function render() {\n var _this2 = this;\n\n var _props5 = this.props,\n className = _props5.className,\n style = _props5.style;\n\n\n var mergedClassName = (0, _classnames2.default)(\"react-grid-layout\", className);\n var mergedStyle = _extends({\n height: this.containerHeight()\n }, style);\n\n return _react2.default.createElement(\n \"div\",\n { className: mergedClassName, style: mergedStyle },\n _react2.default.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }),\n this.placeholder()\n );\n };\n\n return ReactGridLayout;\n}(_react2.default.Component);\n\nReactGridLayout.displayName = \"ReactGridLayout\";\nReactGridLayout.propTypes = {\n //\n // Basic props\n //\n className: _propTypes2.default.string,\n style: _propTypes2.default.object,\n\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes2.default.number,\n\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes2.default.bool,\n // # of cols.\n cols: _propTypes2.default.number,\n\n // A selector that will not be draggable.\n draggableCancel: _propTypes2.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes2.default.string,\n\n // Deprecated\n verticalCompact: function verticalCompact(props) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn(\n // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: _propTypes2.default.oneOf([\"vertical\", \"horizontal\"]),\n\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props) {\n var layout = props.layout;\n // I hope you're setting the data-grid property on the grid items\n if (layout === undefined) return;\n (0, _utils.validateLayout)(layout, \"layout\");\n },\n\n //\n // Grid Dimensions\n //\n\n // Margin between items [x, y] in px\n margin: _propTypes2.default.arrayOf(_propTypes2.default.number),\n // Padding inside the container [x, y] in px\n containerPadding: _propTypes2.default.arrayOf(_propTypes2.default.number),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes2.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes2.default.number,\n\n //\n // Flags\n //\n isDraggable: _propTypes2.default.bool,\n isResizable: _propTypes2.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes2.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes2.default.bool,\n\n //\n // Callbacks\n //\n\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes2.default.func,\n\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes2.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes2.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes2.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes2.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes2.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes2.default.func,\n\n //\n // Other validations\n //\n\n // Children must not have duplicate keys.\n children: function children(props, propName) {\n var children = props[propName];\n\n // Check children keys for duplicates. Throw if found.\n var keys = {};\n _react2.default.Children.forEach(children, function (child) {\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n keys[child.key] = true;\n });\n }\n};\nReactGridLayout.defaultProps = {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity, // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isDraggable: true,\n isResizable: true,\n useCSSTransforms: true,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n this.state = {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(this.props.layout, this.props.children, this.props.cols,\n // Legacy support for verticalCompact: false\n this.compactType()),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null\n };\n};\n\nexports.default = ReactGridLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/ReactGridLayout.js\n// module id = 264\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.noop = undefined;\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\nexports.bottom = bottom;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.childrenEqual = childrenEqual;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.correctBounds = correctBounds;\nexports.getLayoutItem = getLayoutItem;\nexports.getFirstCollision = getFirstCollision;\nexports.getAllCollisions = getAllCollisions;\nexports.getStatics = getStatics;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.perc = perc;\nexports.setTransform = setTransform;\nexports.setTopLeft = setTopLeft;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.autoBindHandlers = autoBindHandlers;\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// All callbacks are of the signature (layout, oldItem, newItem, placeholder, e).\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\nfunction bottom(layout) {\n var max = 0,\n bottomY = void 0;\n for (var _i = 0, len = layout.length; _i < len; _i++) {\n bottomY = layout[_i].y + layout[_i].h;\n if (bottomY > max) max = bottomY;\n }\n return max;\n}\n\nfunction cloneLayout(layout) {\n var newLayout = Array(layout.length);\n for (var _i2 = 0, len = layout.length; _i2 < len; _i2++) {\n newLayout[_i2] = cloneLayoutItem(layout[_i2]);\n }\n return newLayout;\n}\n\n// Fast path to cloning, since this is monomorphic\nfunction cloneLayoutItem(layoutItem) {\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable\n };\n}\n\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\nfunction childrenEqual(a, b) {\n return (0, _lodash2.default)(_react2.default.Children.map(a, function (c) {\n return c.key;\n }), _react2.default.Children.map(b, function (c) {\n return c.key;\n }));\n}\n\n/**\n * Given two layoutitems, check if they collide.\n */\nfunction collides(l1, l2) {\n if (l1 === l2) return false; // same element\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n return true; // boxes overlap\n}\n\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\nfunction compact(layout, compactType, cols) {\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout);\n // We go through the items by row and column.\n var sorted = sortLayoutItems(layout, compactType);\n // Holding for new items.\n var out = Array(layout.length);\n\n for (var _i3 = 0, len = sorted.length; _i3 < len; _i3++) {\n var l = cloneLayoutItem(sorted[_i3]);\n\n // Don't move static elements\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted);\n\n // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n compareWith.push(l);\n }\n\n // Add to output array to make sure they still come out in the right order.\n out[layout.indexOf(sorted[_i3])] = l;\n\n // Clear moved flag, if it exists.\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = { x: \"w\", y: \"h\" };\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\nfunction resolveCompactionCollision(layout, item, moveToCoord, axis) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.indexOf(item);\n\n // Go through each item we collide with.\n for (var _i4 = itemIndex + 1; _i4 < layout.length; _i4++) {\n var otherItem = layout[_i4];\n // Ignore static items\n if (otherItem.static) continue;\n\n // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n\n/**\n * Compact an item in the layout.\n */\nfunction compactItem(compareWith, l, compactType, cols, fullLayout) {\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element up as far as it can go without colliding.\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n\n // Move it down, and keep moving it down if it's colliding.\n var collides = void 0;\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n }\n // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n }\n return l;\n}\n\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\nfunction correctBounds(layout, bounds) {\n var collidesWith = getStatics(layout);\n for (var _i5 = 0, len = layout.length; _i5 < len; _i5++) {\n var l = layout[_i5];\n // Overflows right\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w;\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n return layout;\n}\n\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\nfunction getLayoutItem(layout, id) {\n for (var _i6 = 0, len = layout.length; _i6 < len; _i6++) {\n if (layout[_i6].i === id) return layout[_i6];\n }\n}\n\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\nfunction getFirstCollision(layout, layoutItem) {\n for (var _i7 = 0, len = layout.length; _i7 < len; _i7++) {\n if (collides(layout[_i7], layoutItem)) return layout[_i7];\n }\n}\n\nfunction getAllCollisions(layout, layoutItem) {\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\nfunction getStatics(layout) {\n return layout.filter(function (l) {\n return l.static;\n });\n}\n\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\nfunction moveElement(layout, l, x, y, isUserAction, preventCollision, compactType, cols) {\n if (l.static) return layout;\n\n // Short-circuit if nothing to do.\n if (l.y === y && l.x === x) return layout;\n\n log(\"Moving element \" + l.i + \" to [\" + String(x) + \",\" + String(y) + \"] from [\" + l.x + \",\" + l.y + \"]\");\n var oldX = l.x;\n var oldY = l.y;\n\n // This is quite a bit faster than extending the object\n if (typeof x === 'number') l.x = x;\n if (typeof y === 'number') l.y = y;\n l.moved = true;\n\n // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === 'number' ? oldY >= y : compactType === \"horizontal\" && typeof x === 'number' ? oldX >= x : false;\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n\n // There was a collision; abort\n if (preventCollision && collisions.length) {\n log(\"Collision prevented on \" + l.i + \", reverting.\");\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout;\n }\n\n // Move each item that collides away from this element.\n for (var _i8 = 0, len = collisions.length; _i8 < len; _i8++) {\n var collision = collisions[_i8];\n log(\"Resolving collision between \" + l.i + \" at [\" + l.x + \",\" + l.y + \"] and \" + collision.i + \" at [\" + collision.x + \",\" + collision.y + \"]\");\n\n // Short circuit so we can't infinite loop\n if (collision.moved) continue;\n\n // Don't move static items - we have to move *this* element away\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\nfunction moveElementAwayFromCollision(layout, collidesWith, itemToMove, isUserAction, compactType, cols) {\n var compactH = compactType === \"horizontal\";\n var compactV = compactType === \"vertical\";\n var preventCollision = false; // we're already colliding\n\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false;\n\n // Make a mock item so we don't modify the item here, only modify in moveElement.\n var fakeItem = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n };\n\n // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \" + itemToMove.i + \" up to [\" + fakeItem.x + \",\" + fakeItem.y + \"].\");\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\nfunction perc(num) {\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref) {\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n\n // Replace unitless items with px\n var translate = \"translate(\" + left + \"px,\" + top + \"px)\";\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: width + \"px\",\n height: height + \"px\",\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2) {\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n\n return {\n top: top + \"px\",\n left: left + \"px\",\n width: width + \"px\",\n height: height + \"px\",\n position: \"absolute\"\n };\n}\n\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\nfunction sortLayoutItems(layout, compactType) {\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);else return sortLayoutItemsByRowCol(layout);\n}\n\nfunction sortLayoutItemsByRowCol(layout) {\n return [].concat(layout).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n return -1;\n });\n}\n\nfunction sortLayoutItemsByColRow(layout) {\n return [].concat(layout).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n return -1;\n });\n}\n\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\nfunction synchronizeLayoutWithChildren(initialLayout, children, cols, compactType) {\n initialLayout = initialLayout || [];\n\n // Generate one layout item per child.\n var layout = [];\n _react2.default.Children.forEach(children, function (child, i) {\n // Don't overwrite if it already exists.\n var exists = getLayoutItem(initialLayout, String(child.key));\n if (exists) {\n layout[i] = cloneLayoutItem(exists);\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + // eslint-disable-line\n \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n var g = child.props[\"data-grid\"] || child.props._grid;\n\n // Hey, this item has a data-grid property, use it.\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n }\n layout[i] = cloneLayoutItem(_extends({}, g, { i: child.key }));\n } else {\n // Nothing provided: ensure this is added to the bottom\n layout[i] = cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n });\n }\n }\n });\n\n // Correct the layout.\n layout = correctBounds(layout, { cols: cols });\n layout = compact(layout, compactType, cols);\n\n return layout;\n}\n\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\nfunction validateLayout(layout) {\n var contextName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n for (var _i9 = 0, len = layout.length; _i9 < len; _i9++) {\n var item = layout[_i9];\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n if (item.i && typeof item.i !== \"string\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].i must be a string!\");\n }\n if (item.static !== undefined && typeof item.static !== \"boolean\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].static must be a boolean!\");\n }\n }\n}\n\n// Flow can't really figure this out, so we just use Object\nfunction autoBindHandlers(el, fns) {\n fns.forEach(function (key) {\n return el[key] = el[key].bind(el);\n });\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return;\n // eslint-disable-next-line no-console\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = exports.noop = function noop() {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/utils.js\n// module id = 265\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\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/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n function GridItem() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n resizing: null,\n dragging: null,\n className: \"\"\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // Helper for generating column width\n GridItem.prototype.calcColWidth = function calcColWidth() {\n var _props = this.props,\n margin = _props.margin,\n containerPadding = _props.containerPadding,\n containerWidth = _props.containerWidth,\n cols = _props.cols;\n\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n };\n\n /**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} Object containing coords.\n */\n\n\n GridItem.prototype.calcPosition = function calcPosition(x, y, w, h, state) {\n var _props2 = this.props,\n margin = _props2.margin,\n containerPadding = _props2.containerPadding,\n rowHeight = _props2.rowHeight;\n\n var colWidth = this.calcColWidth();\n\n var out = {\n left: Math.round((colWidth + margin[0]) * x + containerPadding[0]),\n top: Math.round((rowHeight + margin[1]) * y + containerPadding[1]),\n // 0 * Infinity === NaN, which causes problems with resize constraints;\n // Fix this if it occurs.\n // Note we do it here rather than later because Math.round(Infinity) causes deopt\n width: w === Infinity ? w : Math.round(colWidth * w + Math.max(0, w - 1) * margin[0]),\n height: h === Infinity ? h : Math.round(rowHeight * h + Math.max(0, h - 1) * margin[1])\n };\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n }\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n }\n\n return out;\n };\n\n /**\n * Translate x and y coordinates from pixels to grid units.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @return {Object} x and y in grid units.\n */\n\n\n GridItem.prototype.calcXY = function calcXY(top, left) {\n var _props3 = this.props,\n margin = _props3.margin,\n cols = _props3.cols,\n rowHeight = _props3.rowHeight,\n w = _props3.w,\n h = _props3.h,\n maxRows = _props3.maxRows;\n\n var colWidth = this.calcColWidth();\n\n // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n x = Math.max(Math.min(x, cols - w), 0);\n y = Math.max(Math.min(y, maxRows - h), 0);\n\n return { x: x, y: y };\n };\n\n /**\n * Given a height and width in pixel values, calculate grid units.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @return {Object} w, h as grid units.\n */\n\n\n GridItem.prototype.calcWH = function calcWH(_ref) {\n var height = _ref.height,\n width = _ref.width;\n var _props4 = this.props,\n margin = _props4.margin,\n maxRows = _props4.maxRows,\n cols = _props4.cols,\n rowHeight = _props4.rowHeight,\n x = _props4.x,\n y = _props4.y;\n\n var colWidth = this.calcColWidth();\n\n // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n w = Math.max(Math.min(w, cols - x), 0);\n h = Math.max(Math.min(h, maxRows - y), 0);\n return { w: w, h: h };\n };\n\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n\n GridItem.prototype.createStyle = function createStyle(pos) {\n var _props5 = this.props,\n usePercentages = _props5.usePercentages,\n containerWidth = _props5.containerWidth,\n useCSSTransforms = _props5.useCSSTransforms;\n\n\n var style = void 0;\n // CSS Transforms support (default)\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos);\n\n // This is used for server rendering.\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n };\n\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n\n GridItem.prototype.mixinDraggable = function mixinDraggable(child) {\n return _react2.default.createElement(\n _reactDraggable.DraggableCore,\n {\n onStart: this.onDragHandler(\"onDragStart\"),\n onDrag: this.onDragHandler(\"onDrag\"),\n onStop: this.onDragHandler(\"onDragStop\"),\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\")\n },\n child\n );\n };\n\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n\n GridItem.prototype.mixinResizable = function mixinResizable(child, position) {\n var _props6 = this.props,\n cols = _props6.cols,\n x = _props6.x,\n minW = _props6.minW,\n minH = _props6.minH,\n maxW = _props6.maxW,\n maxH = _props6.maxH;\n\n // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = this.calcPosition(0, 0, cols - x, 0).width;\n\n // Calculate min/max constraints using our min & maxes\n var mins = this.calcPosition(0, 0, minW, minH);\n var maxes = this.calcPosition(0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return _react2.default.createElement(\n _reactResizable.Resizable,\n {\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeHandler(\"onResizeStop\"),\n onResizeStart: this.onResizeHandler(\"onResizeStart\"),\n onResize: this.onResizeHandler(\"onResize\")\n },\n child\n );\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n GridItem.prototype.onDragHandler = function onDragHandler(handlerName) {\n var _this2 = this;\n\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n\n var handler = _this2.props[handlerName];\n if (!handler) return;\n\n var newPosition = { top: 0, left: 0 };\n\n // Get new XY\n switch (handlerName) {\n case \"onDragStart\":\n {\n // TODO: this wont work on nested parents\n var offsetParent = node.offsetParent;\n\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n newPosition.left = clientRect.left - parentRect.left + offsetParent.scrollLeft;\n newPosition.top = clientRect.top - parentRect.top + offsetParent.scrollTop;\n _this2.setState({ dragging: newPosition });\n break;\n }\n case \"onDrag\":\n if (!_this2.state.dragging) throw new Error(\"onDrag called before onDragStart.\");\n newPosition.left = _this2.state.dragging.left + deltaX;\n newPosition.top = _this2.state.dragging.top + deltaY;\n _this2.setState({ dragging: newPosition });\n break;\n case \"onDragStop\":\n if (!_this2.state.dragging) throw new Error(\"onDragEnd called before onDragStart.\");\n newPosition.left = _this2.state.dragging.left;\n newPosition.top = _this2.state.dragging.top;\n _this2.setState({ dragging: null });\n break;\n default:\n throw new Error(\"onDragHandler called with unrecognized handlerName: \" + handlerName);\n }\n\n var _calcXY = _this2.calcXY(newPosition.top, newPosition.left),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return handler.call(_this2, _this2.props.i, x, y, { e: e, node: node, newPosition: newPosition });\n };\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n GridItem.prototype.onResizeHandler = function onResizeHandler(handlerName) {\n var _this3 = this;\n\n return function (e, _ref3) {\n var node = _ref3.node,\n size = _ref3.size;\n\n var handler = _this3.props[handlerName];\n if (!handler) return;\n var _props7 = _this3.props,\n cols = _props7.cols,\n x = _props7.x,\n i = _props7.i,\n maxW = _props7.maxW,\n minW = _props7.minW,\n maxH = _props7.maxH,\n minH = _props7.minH;\n\n // Get new XY\n\n var _calcWH = _this3.calcWH(size),\n w = _calcWH.w,\n h = _calcWH.h;\n\n // Cap w at numCols\n\n\n w = Math.min(w, cols - x);\n // Ensure w is at least 1\n w = Math.max(w, 1);\n\n // Min/max capping\n w = Math.max(Math.min(w, maxW), minW);\n h = Math.max(Math.min(h, maxH), minH);\n\n _this3.setState({ resizing: handlerName === \"onResizeStop\" ? null : size });\n\n handler.call(_this3, i, w, h, { e: e, node: node, size: size });\n };\n };\n\n GridItem.prototype.render = function render() {\n var _props8 = this.props,\n x = _props8.x,\n y = _props8.y,\n w = _props8.w,\n h = _props8.h,\n isDraggable = _props8.isDraggable,\n isResizable = _props8.isResizable,\n useCSSTransforms = _props8.useCSSTransforms;\n\n\n var pos = this.calcPosition(x, y, w, h, this.state);\n var child = _react2.default.Children.only(this.props.children);\n\n // Create the child element. We clone the existing element but modify its className and style.\n var newChild = _react2.default.cloneElement(child, {\n className: (0, _classnames2.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _extends({}, this.props.style, child.props.style, this.createStyle(pos))\n });\n\n // Resizable support. This is usually on but the user can toggle it off.\n if (isResizable) newChild = this.mixinResizable(newChild, pos);\n\n // Draggable support. This is always on, except for with placeholders.\n if (isDraggable) newChild = this.mixinDraggable(newChild);\n\n return newChild;\n };\n\n return GridItem;\n}(_react2.default.Component);\n\nGridItem.propTypes = {\n // Children must be only a single element\n children: _propTypes2.default.element,\n\n // General grid attributes\n cols: _propTypes2.default.number.isRequired,\n containerWidth: _propTypes2.default.number.isRequired,\n rowHeight: _propTypes2.default.number.isRequired,\n margin: _propTypes2.default.array.isRequired,\n maxRows: _propTypes2.default.number.isRequired,\n containerPadding: _propTypes2.default.array.isRequired,\n\n // These are all in grid units\n x: _propTypes2.default.number.isRequired,\n y: _propTypes2.default.number.isRequired,\n w: _propTypes2.default.number.isRequired,\n h: _propTypes2.default.number.isRequired,\n\n // All optional\n minW: function minW(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n\n maxW: function maxW(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n\n minH: function minH(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n\n maxH: function maxH(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n\n // ID is nice to have for callbacks\n i: _propTypes2.default.string.isRequired,\n\n // Functions\n onDragStop: _propTypes2.default.func,\n onDragStart: _propTypes2.default.func,\n onDrag: _propTypes2.default.func,\n onResizeStop: _propTypes2.default.func,\n onResizeStart: _propTypes2.default.func,\n onResize: _propTypes2.default.func,\n\n // Flags\n isDraggable: _propTypes2.default.bool.isRequired,\n isResizable: _propTypes2.default.bool.isRequired,\n static: _propTypes2.default.bool,\n\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes2.default.bool.isRequired,\n\n // Others\n className: _propTypes2.default.string,\n // Selector for draggable handle\n handle: _propTypes2.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes2.default.string\n};\nGridItem.defaultProps = {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity\n};\nexports.default = GridItem;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/GridItem.js\n// module id = 266\n// module chunks = 0","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/index.js\n// module id = 267\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDraggable = require('react-draggable');\n\nvar _cloneElement = require('./cloneElement');\n\nvar _cloneElement2 = _interopRequireDefault(_cloneElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 Resizable = function (_React$Component) {\n _inherits(Resizable, _React$Component);\n\n function Resizable() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Resizable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n resizing: false,\n width: _this.props.width, height: _this.props.height,\n slackW: 0, slackH: 0\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Resizable.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If parent changes height/width, set that in our state.\n if (!this.state.resizing && (nextProps.width !== this.props.width || nextProps.height !== this.props.height)) {\n this.setState({\n width: nextProps.width,\n height: nextProps.height\n });\n }\n };\n\n Resizable.prototype.lockAspectRatio = function lockAspectRatio(width, height, aspectRatio) {\n height = width / aspectRatio;\n width = height * aspectRatio;\n return [width, height];\n };\n\n // If you do this, be careful of constraints\n\n\n Resizable.prototype.runConstraints = function runConstraints(width, height) {\n var _ref = [this.props.minConstraints, this.props.maxConstraints],\n min = _ref[0],\n max = _ref[1];\n\n\n if (this.props.lockAspectRatio) {\n var ratio = this.state.width / this.state.height;\n height = width / ratio;\n width = height * ratio;\n }\n\n if (!min && !max) return [width, height];\n\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n\n var _state = this.state,\n slackW = _state.slackW,\n slackH = _state.slackH;\n\n width += slackW;\n height += slackH;\n\n if (min) {\n width = Math.max(min[0], width);\n height = Math.max(min[1], height);\n }\n if (max) {\n width = Math.min(max[0], width);\n height = Math.min(max[1], height);\n }\n\n // If the numbers changed, we must have introduced some slack. Record it for the next iteration.\n slackW += oldW - width;\n slackH += oldH - height;\n if (slackW !== this.state.slackW || slackH !== this.state.slackH) {\n this.setState({ slackW: slackW, slackH: slackH });\n }\n\n return [width, height];\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n Resizable.prototype.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && ['n', 's'].indexOf(axis) === -1;\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && ['e', 'w'].indexOf(axis) === -1;\n\n // reverse delta if using top or left drag handles\n if (canDragX && axis[axis.length - 1] === 'w') {\n deltaX = -deltaX;\n }\n if (canDragY && axis[0] === 'n') {\n deltaY = -deltaY;\n }\n\n // Update w/h\n var width = _this2.state.width + (canDragX ? deltaX : 0);\n var height = _this2.state.height + (canDragY ? deltaY : 0);\n\n // Early return if no change\n var widthChanged = width !== _this2.state.width,\n heightChanged = height !== _this2.state.height;\n if (handlerName === 'onResize' && !widthChanged && !heightChanged) return;\n\n // Set the appropriate state for this handler.\n var _runConstraints = _this2.runConstraints(width, height);\n\n width = _runConstraints[0];\n height = _runConstraints[1];\n var newState = {};\n if (handlerName === 'onResizeStart') {\n newState.resizing = true;\n } else if (handlerName === 'onResizeStop') {\n newState.resizing = false;\n newState.slackW = newState.slackH = 0;\n } else {\n // Early return if no change after constraints\n if (width === _this2.state.width && height === _this2.state.height) return;\n newState.width = width;\n newState.height = height;\n }\n\n var hasCb = typeof _this2.props[handlerName] === 'function';\n if (hasCb) {\n // $FlowIgnore isn't refining this correctly to SyntheticEvent\n if (typeof e.persist === 'function') e.persist();\n _this2.setState(newState, function () {\n return _this2.props[handlerName](e, { node: node, size: { width: width, height: height }, handle: axis });\n });\n } else {\n _this2.setState(newState);\n }\n };\n };\n\n Resizable.prototype.renderResizeHandle = function renderResizeHandle(resizeHandle) {\n var handle = this.props.handle;\n\n if (handle) {\n if (typeof handle === 'function') {\n return handle(resizeHandle);\n }\n return handle;\n }\n return _react2.default.createElement('span', { className: 'react-resizable-handle react-resizable-handle-' + resizeHandle });\n };\n\n Resizable.prototype.render = function render() {\n var _this3 = this;\n\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n children = _props.children,\n draggableOpts = _props.draggableOpts,\n width = _props.width,\n height = _props.height,\n handleSize = _props.handleSize,\n lockAspectRatio = _props.lockAspectRatio,\n axis = _props.axis,\n minConstraints = _props.minConstraints,\n maxConstraints = _props.maxConstraints,\n onResize = _props.onResize,\n onResizeStop = _props.onResizeStop,\n onResizeStart = _props.onResizeStart,\n resizeHandles = _props.resizeHandles,\n p = _objectWithoutProperties(_props, ['children', 'draggableOpts', 'width', 'height', 'handleSize', 'lockAspectRatio', 'axis', 'minConstraints', 'maxConstraints', 'onResize', 'onResizeStop', 'onResizeStart', 'resizeHandles']);\n\n var className = p.className ? p.className + ' react-resizable' : 'react-resizable';\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // Its original children (resizable's child's children), and\n // One or more draggable handles.\n return (0, _cloneElement2.default)(children, _extends({}, p, {\n className: className,\n children: [children.props.children, resizeHandles.map(function (h) {\n return _react2.default.createElement(\n _reactDraggable.DraggableCore,\n _extends({}, draggableOpts, {\n key: 'resizableHandle-' + h,\n onStop: _this3.resizeHandler('onResizeStop', h),\n onStart: _this3.resizeHandler('onResizeStart', h),\n onDrag: _this3.resizeHandler('onResize', h)\n }),\n _this3.renderResizeHandle(h)\n );\n })]\n }));\n };\n\n return Resizable;\n}(_react2.default.Component);\n\nResizable.propTypes = {\n //\n // Required Props\n //\n\n // Require that one and only one child be present.\n children: _propTypes2.default.element.isRequired,\n\n // Initial w/h\n width: _propTypes2.default.number.isRequired,\n height: _propTypes2.default.number.isRequired,\n\n //\n // Optional props\n //\n\n // Custom resize handle\n handle: _propTypes2.default.element,\n\n // If you change this, be sure to update your css\n handleSize: _propTypes2.default.array,\n\n // Defines which resize handles should be rendered (default: 'se')\n // Allows for any combination of:\n // 's' - South handle (bottom-center)\n // 'w' - West handle (left-center)\n // 'e' - East handle (right-center)\n // 'n' - North handle (top-center)\n // 'sw' - Southwest handle (bottom-left)\n // 'nw' - Northwest handle (top-left)\n // 'se' - Southeast handle (bottom-right)\n // 'ne' - Northeast handle (top-center)\n resizeHandles: _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n\n // If true, will only allow width/height to move in lockstep\n lockAspectRatio: _propTypes2.default.bool,\n\n // Restricts resizing to a particular axis (default: 'both')\n // 'both' - allows resizing by width or height\n // 'x' - only allows the width to be changed\n // 'y' - only allows the height to be changed\n // 'none' - disables resizing altogether\n axis: _propTypes2.default.oneOf(['both', 'x', 'y', 'none']),\n\n // Min/max size\n minConstraints: _propTypes2.default.arrayOf(_propTypes2.default.number),\n maxConstraints: _propTypes2.default.arrayOf(_propTypes2.default.number),\n\n // Callbacks\n onResizeStop: _propTypes2.default.func,\n onResizeStart: _propTypes2.default.func,\n onResize: _propTypes2.default.func,\n\n // These will be passed wholesale to react-draggable's DraggableCore\n draggableOpts: _propTypes2.default.object\n};\nResizable.defaultProps = {\n handleSize: [20, 20],\n lockAspectRatio: false,\n axis: 'both',\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se']\n};\nexports.default = Resizable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/Resizable.js\n// module id = 268\n// module chunks = 0","'use strict';\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// React.addons.cloneWithProps look-alike that merges style & className.\nmodule.exports = function cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _extends({}, element.props.style, props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + ' ' + props.className;\n }\n return _react2.default.cloneElement(element, props);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/cloneElement.js\n// module id = 269\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Resizable = require('./Resizable');\n\nvar _Resizable2 = _interopRequireDefault(_Resizable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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// An example use of Resizable.\nvar ResizableBox = function (_React$Component) {\n _inherits(ResizableBox, _React$Component);\n\n function ResizableBox() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ResizableBox);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n width: _this.props.width,\n height: _this.props.height\n }, _this.onResize = function (e, data) {\n var size = data.size;\n var width = size.width,\n height = size.height;\n\n\n if (_this.props.onResize) {\n e.persist && e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ResizableBox.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.width !== this.props.width || nextProps.height !== this.props.height) {\n this.setState({\n width: nextProps.width,\n height: nextProps.height\n });\n }\n };\n\n ResizableBox.prototype.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _props = this.props,\n handle = _props.handle,\n handleSize = _props.handleSize,\n onResize = _props.onResize,\n onResizeStart = _props.onResizeStart,\n onResizeStop = _props.onResizeStop,\n draggableOpts = _props.draggableOpts,\n minConstraints = _props.minConstraints,\n maxConstraints = _props.maxConstraints,\n lockAspectRatio = _props.lockAspectRatio,\n axis = _props.axis,\n width = _props.width,\n height = _props.height,\n resizeHandles = _props.resizeHandles,\n props = _objectWithoutProperties(_props, ['handle', 'handleSize', 'onResize', 'onResizeStart', 'onResizeStop', 'draggableOpts', 'minConstraints', 'maxConstraints', 'lockAspectRatio', 'axis', 'width', 'height', 'resizeHandles']);\n\n return _react2.default.createElement(\n _Resizable2.default,\n {\n handle: handle,\n handleSize: handleSize,\n width: this.state.width,\n height: this.state.height,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n draggableOpts: draggableOpts,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n lockAspectRatio: lockAspectRatio,\n axis: axis,\n resizeHandles: resizeHandles\n },\n _react2.default.createElement('div', _extends({ style: { width: this.state.width + 'px', height: this.state.height + 'px' } }, props))\n );\n };\n\n return ResizableBox;\n}(_react2.default.Component);\n\nResizableBox.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number\n};\nResizableBox.defaultProps = {\n handleSize: [20, 20]\n};\nexports.default = ResizableBox;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/ResizableBox.js\n// module id = 270\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = require(\"./ReactGridLayout\");\n\nvar _ReactGridLayout2 = _interopRequireDefault(_ReactGridLayout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n\nvar ResponsiveReactGridLayout = function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n function ResponsiveReactGridLayout() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = _this.generateInitialState(), _this.onLayoutChange = function (layout) {\n var _extends2;\n\n _this.props.onLayoutChange(layout, _extends({}, _this.props.layouts, (_extends2 = {}, _extends2[_this.state.breakpoint] = layout, _extends2)));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n // This should only include propTypes needed in this code; RGL itself\n // will do validation of the rest props passed to it.\n\n\n ResponsiveReactGridLayout.prototype.generateInitialState = function generateInitialState() {\n var _props = this.props,\n width = _props.width,\n breakpoints = _props.breakpoints,\n layouts = _props.layouts,\n cols = _props.cols;\n\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols);\n // verticalCompact compatibility, now deprecated\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType;\n // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n };\n\n ResponsiveReactGridLayout.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // Allow parent to set width or breakpoint directly.\n if (nextProps.width != this.props.width || nextProps.breakpoint !== this.props.breakpoint || !(0, _lodash2.default)(nextProps.breakpoints, this.props.breakpoints) || !(0, _lodash2.default)(nextProps.cols, this.props.cols)) {\n this.onWidthChange(nextProps);\n } else if (!(0, _lodash2.default)(nextProps.layouts, this.props.layouts)) {\n // Allow parent to set layouts directly.\n var _state = this.state,\n _breakpoint = _state.breakpoint,\n _cols = _state.cols;\n\n // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, _breakpoint, _breakpoint, _cols, nextProps.compactType);\n this.setState({ layout: newLayout });\n }\n };\n\n // wrap layouts so we do not need to pass layouts to child\n\n\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n ResponsiveReactGridLayout.prototype.onWidthChange = function onWidthChange(nextProps) {\n var breakpoints = nextProps.breakpoints,\n cols = nextProps.cols,\n layouts = nextProps.layouts,\n compactType = nextProps.compactType;\n\n var newBreakpoint = nextProps.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(nextProps.breakpoints, nextProps.width);\n\n var lastBreakpoint = this.state.breakpoint;\n\n // Breakpoint change\n if (lastBreakpoint !== newBreakpoint || this.props.breakpoints !== breakpoints || this.props.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in layouts)) layouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout);\n\n // Find or generate a new layout.\n var newCols = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n var _layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType);\n\n // This adds missing items.\n _layout = (0, _utils.synchronizeLayoutWithChildren)(_layout, nextProps.children, newCols, compactType);\n\n // Store the new layout.\n layouts[newBreakpoint] = _layout;\n\n // callbacks\n this.props.onLayoutChange(_layout, layouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.props.onWidthChange(nextProps.width, nextProps.margin, newCols, nextProps.containerPadding);\n\n this.setState({\n breakpoint: newBreakpoint,\n layout: _layout,\n cols: newCols\n });\n }\n };\n\n ResponsiveReactGridLayout.prototype.render = function render() {\n /* eslint-disable no-unused-vars */\n var _props2 = this.props,\n breakpoint = _props2.breakpoint,\n breakpoints = _props2.breakpoints,\n cols = _props2.cols,\n layouts = _props2.layouts,\n onBreakpointChange = _props2.onBreakpointChange,\n onLayoutChange = _props2.onLayoutChange,\n onWidthChange = _props2.onWidthChange,\n other = _objectWithoutProperties(_props2, [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"]);\n /* eslint-enable no-unused-vars */\n\n return _react2.default.createElement(_ReactGridLayout2.default, _extends({}, other, {\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n };\n\n return ResponsiveReactGridLayout;\n}(_react2.default.Component);\n\nResponsiveReactGridLayout.propTypes = {\n //\n // Basic props\n //\n\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes2.default.string,\n\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes2.default.object,\n\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes2.default.object,\n\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props, propName) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n\n\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes2.default.number.isRequired,\n\n //\n // Callbacks\n //\n\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes2.default.func,\n\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes2.default.func,\n\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes2.default.func\n};\nResponsiveReactGridLayout.defaultProps = {\n breakpoints: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 },\n cols: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 },\n layouts: {},\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n};\nexports.default = ResponsiveReactGridLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/ResponsiveReactGridLayout.js\n// module id = 271\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints, width) {\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint, cols) {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nfunction findOrGenerateResponsiveLayout(layouts, breakpoints, breakpoint, lastBreakpoint, cols, compactType) {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]);\n // Find or generate the next layout\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, { cols: cols }), compactType, cols);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nfunction sortBreakpoints(breakpoints) {\n var keys = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/responsiveUtils.js\n// module id = 272\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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\nexports.default = WidthProvider;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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/*\n * A simple HOC that provides facility for listening to container resizes.\n */\nfunction WidthProvider(ComposedComponent) {\n var _class, _temp2;\n\n return _temp2 = _class = function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n function WidthProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n width: 1280\n }, _this.mounted = false, _this.onWindowResize = function () {\n if (!_this.mounted) return;\n // eslint-disable-next-line\n var node = _reactDom2.default.findDOMNode(_this); // Flow casts this to Text | Element\n if (node instanceof HTMLElement) _this.setState({ width: node.offsetWidth });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n WidthProvider.prototype.componentDidMount = function componentDidMount() {\n this.mounted = true;\n\n window.addEventListener(\"resize\", this.onWindowResize);\n // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n this.onWindowResize();\n };\n\n WidthProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n };\n\n WidthProvider.prototype.render = function render() {\n var _props = this.props,\n measureBeforeMount = _props.measureBeforeMount,\n rest = _objectWithoutProperties(_props, [\"measureBeforeMount\"]);\n\n if (measureBeforeMount && !this.mounted) {\n return _react2.default.createElement(\"div\", { className: this.props.className, style: this.props.style });\n }\n\n return _react2.default.createElement(ComposedComponent, _extends({}, rest, this.state));\n };\n\n return WidthProvider;\n }(_react2.default.Component), _class.defaultProps = {\n measureBeforeMount: false\n }, _class.propTypes = {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes2.default.bool\n }, _temp2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/components/WidthProvider.js\n// module id = 273\n// module chunks = 0","\n/**\n *\n * @title 基础拖拽\n * @description 将某个元素设置为可拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Button from 'bee-button';\nimport Dnd from '../../src/index';\n\nclass Demo1 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo1.js","\n/**\n *\n * @title 单个元素沿x轴y轴拖拽\n * @description 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Button from 'bee-button';\nimport Dnd from '../../src/index';\n\nclass Demo2 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\nexport default Demo2;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo2.js","\r\n/**\r\n *\r\n * @title 设置元素不可拖拽\r\n * @description 设置 onStart 的返回值为false,则不可以拖拽\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo3 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n return false;\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我不可以拖拽
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\nexport default Demo3;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo3.js","/**\r\n *\r\n * @title 单个元素拖拽把手\r\n * @description 设置 handle,值为选择器,例如 '.handle'\r\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Icon from 'bee-icon';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo4 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo4;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo4.js","\r\n/**\r\n *\r\n * @title 每次拖拽移动距离\r\n * @description 设置 grid={[x,y]}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo5 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我每次拖拽可移动25px
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo5;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo5.js","\r\n/**\r\n *\r\n * @title 元素拖拽范围\r\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo6 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我只能再上下左右50px内移动
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo6;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo6.js","\r\n/**\r\n *\r\n * @title 在指定容器中拖拽\r\n * @description 设置只可以在指定容器中移动\r\n * bounds的也可以设置为选择器,bounds=\".demo8-parent\"意为在class=demo8-parent的容器中移动\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo7 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n 我只能在父级元素中移动
\r\n \r\n
\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo7;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo7.js","/**\n *\n * @title 数据集合拖拽列表排序\n * @description 增加list 可以为 [1,2,3]数组,\n * 也可以为 [{},{}...],需要配置 showKey 。\n * 也可以为 dom集合,见后边示例\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from '../../src/index';\n\nclass Demo8 extends Component {\n \n onDragStart=(result,list)=>{\n console.log('开始');\n }\n onDragEnd=(result,list)=>{ \n console.log('结束');\n }\n onDragUpdate=(result)=>{\n console.log('update')\n }\n render() {\n let list=[\n {\n name:'第一',\n code:'a'\n },\n {\n name:'第二',\n code:'b'\n },\n {\n name:'第三',\n code:'c'\n },\n {\n name:'第四',\n code:'d'\n },\n {\n name:'第五',\n code:'e'\n },\n ];\n return (\n \n );\n }\n}\n\nexport default Demo8;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo8.js","\r\n/**\r\n *\r\n * @title DOM集合拖拽列表排序\r\n * @description list传dom集合\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo9 extends Component {\r\n\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,list)=>{\r\n console.log('结束');\r\n }\r\n render() {\r\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo9\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo9.js","\r\n/**\r\n *\r\n * @title 横向拖拽列表排序\r\n * @description type='horizontal'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list=['第一','第二','第三','第四','第五'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo90.js","\r\n/**\r\n *\r\n * @title 两列纵向拖拽\r\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo91.js","\r\n/**\r\n *\r\n * @title 两列横向拖拽\r\n * @description 设置 type='betweenVertical'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,listObj)=>{\r\n console.log('结束');\r\n console.log(listObj)\r\n }\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo92.js","\r\n/**\r\n *\r\n * @title 网格排序\r\n * @description \r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nconst GridLayout = Dnd.GridLayout;\r\n\r\nclass Demo93 extends Component {\r\n render() {\r\n let layout = [\r\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\r\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\r\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\r\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\r\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\r\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\r\n ];\r\n return (\r\n \r\n a
\r\n b
\r\n static
\r\n d
\r\n e
\r\n f
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo93;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo93.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 13c53966cb9010e42460","webpack:///./demo/index.js","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./~/bee-layout/build/index.js","webpack:///./~/bee-layout/build/Col.js","webpack:///./~/classnames/index.js","webpack:///external \"PropTypes\"","webpack:///./~/bee-layout/build/Row.js","webpack:///./~/bee-layout/build/Layout.js","webpack:///./~/bee-panel/build/index.js","webpack:///./~/bee-panel/build/Panel.js","webpack:///./~/bee-transition/build/index.js","webpack:///./~/bee-transition/build/Transition.js","webpack:///./~/dom-helpers/transition/properties.js","webpack:///./~/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./~/dom-helpers/util/inDOM.js","webpack:///./~/dom-helpers/events/on.js","webpack:///./~/bee-transition/build/Collapse.js","webpack:///./~/dom-helpers/style/index.js","webpack:///./~/dom-helpers/util/camelizeStyle.js","webpack:///./~/dom-helpers/util/camelize.js","webpack:///./~/dom-helpers/util/hyphenateStyle.js","webpack:///./~/dom-helpers/util/hyphenate.js","webpack:///./~/dom-helpers/style/getComputedStyle.js","webpack:///./~/dom-helpers/style/removeStyle.js","webpack:///./~/dom-helpers/transition/isTransform.js","webpack:///./~/bee-transition/build/util/capitalize.js","webpack:///./~/tinper-bee-core/lib/index.js","webpack:///./~/tinper-bee-core/lib/all.js","webpack:///./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js","webpack:///./~/tinper-bee-core/lib/componentOrElement.js","webpack:///./~/tinper-bee-core/lib/deprecated.js","webpack:///./~/warning/browser.js","webpack:///C:/Users/Administrator/AppData/Roaming/npm/~/bee-tools/~/process/browser.js","webpack:///./~/tinper-bee-core/lib/elementType.js","webpack:///./~/tinper-bee-core/lib/isRequiredForA11y.js","webpack:///./~/tinper-bee-core/lib/splitComponent.js","webpack:///./~/tinper-bee-core/lib/createChainedFunction.js","webpack:///./~/tinper-bee-core/lib/keyCode.js","webpack:///./~/tinper-bee-core/lib/contains.js","webpack:///./~/tinper-bee-core/lib/addEventListener.js","webpack:///./~/add-dom-event-listener/lib/index.js","webpack:///./~/add-dom-event-listener/lib/EventObject.js","webpack:///./~/add-dom-event-listener/lib/EventBaseObject.js","webpack:///./~/object-assign/index.js","webpack:///./~/tinper-bee-core/lib/cssAnimation.js","webpack:///./~/tinper-bee-core/lib/Event.js","webpack:///./~/component-classes/index.js","webpack:///./~/component-indexof/index.js","webpack:///./~/tinper-bee-core/lib/toArray.js","webpack:///./~/tinper-bee-core/lib/Align.js","webpack:///./~/dom-align/lib/index.js","webpack:///./~/dom-align/lib/align/alignElement.js","webpack:///./~/dom-align/lib/align/align.js","webpack:///./~/dom-align/lib/utils.js","webpack:///./~/dom-align/lib/propertyUtils.js","webpack:///./~/dom-align/lib/getVisibleRectForElement.js","webpack:///./~/dom-align/lib/getOffsetParent.js","webpack:///./~/dom-align/lib/isAncestorFixed.js","webpack:///./~/dom-align/lib/adjustForViewport.js","webpack:///./~/dom-align/lib/getRegion.js","webpack:///./~/dom-align/lib/getElFuturePos.js","webpack:///./~/dom-align/lib/getAlignOffset.js","webpack:///./~/dom-align/lib/align/alignPoint.js","webpack:///./~/bee-transition/build/Fade.js","webpack:///./~/bee-message/build/index.js","webpack:///./~/bee-message/build/Message.js","webpack:///./~/bee-notification/build/index.js","webpack:///./~/bee-notification/build/Notification.js","webpack:///./~/bee-animate/build/index.js","webpack:///./~/bee-animate/build/Animate.js","webpack:///./~/bee-animate/build/ChildrenUtils.js","webpack:///./~/bee-animate/build/AnimateChild.js","webpack:///./~/bee-animate/build/util.js","webpack:///./~/bee-notification/build/Notice.js","webpack:///./~/copy-to-clipboard/index.js","webpack:///./~/toggle-selection/index.js","webpack:///./~/bee-panel/build/PanelGroup.js","webpack:///./~/bee-drawer/build/index.js","webpack:///./~/bee-drawer/build/Drawer.js","webpack:///./~/bee-drawer/build/common/index.js","webpack:///./~/react-transition-group/index.js","webpack:///./~/react-transition-group/CSSTransition.js","webpack:///./~/dom-helpers/class/addClass.js","webpack:///./~/dom-helpers/class/hasClass.js","webpack:///./~/dom-helpers/class/removeClass.js","webpack:///./~/react-transition-group/Transition.js","webpack:///./~/react-lifecycles-compat/react-lifecycles-compat.cjs.js","webpack:///./~/react-transition-group/utils/PropTypes.js","webpack:///./~/react-transition-group/ReplaceTransition.js","webpack:///./~/react-transition-group/TransitionGroup.js","webpack:///./~/react-transition-group/utils/ChildMapping.js","webpack:///./~/bee-clipboard/build/index.js","webpack:///./~/bee-clipboard/build/Clipboard.js","webpack:///./~/clipboard/lib/clipboard.js","webpack:///./~/clipboard/lib/clipboard-action.js","webpack:///./~/select/src/select.js","webpack:///./~/tiny-emitter/index.js","webpack:///./~/good-listener/src/listen.js","webpack:///./~/good-listener/src/is.js","webpack:///./~/delegate/src/delegate.js","webpack:///./~/delegate/src/closest.js","webpack:///./~/bee-icon/build/index.js","webpack:///./~/bee-icon/build/Icon.js","webpack:///./~/bee-tooltip/build/index.js","webpack:///./~/bee-tooltip/build/Tooltip.js","webpack:///./~/bee-overlay/build/OverlayTrigger.js","webpack:///./~/dom-helpers/query/contains.js","webpack:///./~/bee-overlay/build/Portal.js","webpack:///./~/bee-overlay/build/utils/ownerDocument.js","webpack:///./~/dom-helpers/ownerDocument.js","webpack:///./~/bee-overlay/build/utils/getContainer.js","webpack:///./~/bee-overlay/build/Overlay.js","webpack:///./~/bee-overlay/build/BaseOverlay.js","webpack:///./~/bee-overlay/build/Position.js","webpack:///./~/dom-helpers/util/requestAnimationFrame.js","webpack:///./~/bee-overlay/build/utils/calculatePosition.js","webpack:///./~/dom-helpers/query/offset.js","webpack:///./~/dom-helpers/query/isWindow.js","webpack:///./~/dom-helpers/query/position.js","webpack:///./~/@babel/runtime/helpers/extends.js","webpack:///./~/dom-helpers/query/offsetParent.js","webpack:///./~/dom-helpers/query/scrollTop.js","webpack:///./~/dom-helpers/query/scrollLeft.js","webpack:///./~/bee-overlay/build/utils/ownerWindow.js","webpack:///./~/dom-helpers/ownerWindow.js","webpack:///./~/bee-overlay/build/utils/addEventListener.js","webpack:///./~/dom-helpers/events/off.js","webpack:///./~/bee-overlay/build/RootCloseWrapper.js","webpack:///./~/bee-overlay/build/Fade.js","webpack:///./~/bee-overlay/build/Transition.js","webpack:///./~/bee-overlay/build/utils/createChainedFunction.js","webpack:///./~/bee-locale/build/tool.js","webpack:///./~/bee-clipboard/build/i18n.js","webpack:///./~/bee-modal/build/index.js","webpack:///./~/bee-modal/build/Modal.js","webpack:///./~/dom-helpers/events/index.js","webpack:///./~/dom-helpers/events/filter.js","webpack:///./~/dom-helpers/query/querySelectorAll.js","webpack:///./~/dom-helpers/events/listen.js","webpack:///./~/dom-helpers/util/scrollbarSize.js","webpack:///./~/bee-overlay/build/Modal.js","webpack:///./~/bee-overlay/build/ModalManager.js","webpack:///./~/dom-helpers/class/index.js","webpack:///./~/bee-overlay/build/utils/isOverflowing.js","webpack:///./~/bee-overlay/build/utils/manageAriaHidden.js","webpack:///./~/bee-overlay/build/utils/addFocusListener.js","webpack:///./~/dom-helpers/activeElement.js","webpack:///./~/bee-modal/build/ModalBody.js","webpack:///./~/bee-modal/build/ModalDialog.js","webpack:///./~/bee-modal/build/ModalFooter.js","webpack:///./~/bee-modal/build/ModalHeader.js","webpack:///./~/bee-modal/build/ModalTitle.js","webpack:///./~/bee-form-control/build/index.js","webpack:///./~/bee-form-control/build/FormControl.js","webpack:///./~/bee-button/build/index.js","webpack:///./~/bee-button/build/Button.js","webpack:///./src/index.js","webpack:///./src/Dnd.js","webpack:///./~/react-beautiful-dnd/dist/react-beautiful-dnd.cjs.js","webpack:///./~/@babel/runtime-corejs2/helpers/extends.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/assign.js","webpack:///./~/core-js/library/fn/object/assign.js","webpack:///./~/core-js/library/modules/es6.object.assign.js","webpack:///./~/core-js/library/modules/_export.js","webpack:///./~/core-js/library/modules/_global.js","webpack:///./~/core-js/library/modules/_core.js","webpack:///./~/core-js/library/modules/_ctx.js","webpack:///./~/core-js/library/modules/_a-function.js","webpack:///./~/core-js/library/modules/_hide.js","webpack:///./~/core-js/library/modules/_object-dp.js","webpack:///./~/core-js/library/modules/_an-object.js","webpack:///./~/core-js/library/modules/_is-object.js","webpack:///./~/core-js/library/modules/_ie8-dom-define.js","webpack:///./~/core-js/library/modules/_descriptors.js","webpack:///./~/core-js/library/modules/_fails.js","webpack:///./~/core-js/library/modules/_dom-create.js","webpack:///./~/core-js/library/modules/_to-primitive.js","webpack:///./~/core-js/library/modules/_property-desc.js","webpack:///./~/core-js/library/modules/_has.js","webpack:///./~/core-js/library/modules/_object-assign.js","webpack:///./~/core-js/library/modules/_object-keys.js","webpack:///./~/core-js/library/modules/_object-keys-internal.js","webpack:///./~/core-js/library/modules/_to-iobject.js","webpack:///./~/core-js/library/modules/_iobject.js","webpack:///./~/core-js/library/modules/_cof.js","webpack:///./~/core-js/library/modules/_defined.js","webpack:///./~/core-js/library/modules/_array-includes.js","webpack:///./~/core-js/library/modules/_to-length.js","webpack:///./~/core-js/library/modules/_to-integer.js","webpack:///./~/core-js/library/modules/_to-absolute-index.js","webpack:///./~/core-js/library/modules/_shared-key.js","webpack:///./~/core-js/library/modules/_shared.js","webpack:///./~/core-js/library/modules/_library.js","webpack:///./~/core-js/library/modules/_uid.js","webpack:///./~/core-js/library/modules/_enum-bug-keys.js","webpack:///./~/core-js/library/modules/_object-gops.js","webpack:///./~/core-js/library/modules/_object-pie.js","webpack:///./~/core-js/library/modules/_to-object.js","webpack:///./~/use-memo-one/dist/use-memo-one.cjs.js","webpack:///./~/@babel/runtime-corejs2/helpers/inheritsLoose.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/create.js","webpack:///./~/core-js/library/fn/object/create.js","webpack:///./~/core-js/library/modules/es6.object.create.js","webpack:///./~/core-js/library/modules/_object-create.js","webpack:///./~/core-js/library/modules/_object-dps.js","webpack:///./~/core-js/library/modules/_html.js","webpack:///./~/tiny-invariant/dist/tiny-invariant.cjs.js","webpack:///./~/redux/lib/redux.js","webpack:///./~/symbol-observable/lib/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./~/symbol-observable/lib/ponyfill.js","webpack:///./~/react-redux/lib/index.js","webpack:///./~/react-redux/lib/components/Provider.js","webpack:///./~/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./~/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./~/@babel/runtime/helpers/inheritsLoose.js","webpack:///./~/react-redux/lib/components/Context.js","webpack:///./~/react-redux/lib/utils/Subscription.js","webpack:///./~/react-redux/lib/utils/batch.js","webpack:///./~/react-redux/lib/components/connectAdvanced.js","webpack:///./~/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack:///./~/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./~/react-is/index.js","webpack:///./~/react-is/cjs/react-is.production.min.js","webpack:///./~/react-is/cjs/react-is.development.js","webpack:///./~/invariant/browser.js","webpack:///./~/react-redux/lib/connect/connect.js","webpack:///./~/react-redux/lib/utils/shallowEqual.js","webpack:///./~/react-redux/lib/connect/mapDispatchToProps.js","webpack:///./~/react-redux/lib/connect/wrapMapToProps.js","webpack:///./~/react-redux/lib/utils/verifyPlainObject.js","webpack:///./~/react-redux/lib/utils/isPlainObject.js","webpack:///./~/react-redux/lib/utils/warning.js","webpack:///./~/react-redux/lib/connect/mapStateToProps.js","webpack:///./~/react-redux/lib/connect/mergeProps.js","webpack:///./~/react-redux/lib/connect/selectorFactory.js","webpack:///./~/react-redux/lib/connect/verifySubselectors.js","webpack:///./~/react-redux/lib/hooks/useDispatch.js","webpack:///./~/react-redux/lib/hooks/useStore.js","webpack:///./~/react-redux/lib/hooks/useReduxContext.js","webpack:///./~/react-redux/lib/hooks/useSelector.js","webpack:///./~/react-redux/lib/utils/reactBatchedUpdates.js","webpack:///./~/css-box-model/dist/css-box-model.cjs.js","webpack:///./~/memoize-one/dist/memoize-one.cjs.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/values.js","webpack:///./~/core-js/library/fn/object/values.js","webpack:///./~/core-js/library/modules/es7.object.values.js","webpack:///./~/core-js/library/modules/_object-to-array.js","webpack:///./~/@babel/runtime-corejs2/core-js/object/keys.js","webpack:///./~/core-js/library/fn/object/keys.js","webpack:///./~/core-js/library/modules/es6.object.keys.js","webpack:///./~/core-js/library/modules/_object-sap.js","webpack:///./~/@babel/runtime-corejs2/core-js/date/now.js","webpack:///./~/core-js/library/fn/date/now.js","webpack:///./~/core-js/library/modules/es6.date.now.js","webpack:///./~/raf-schd/dist/raf-schd.cjs.js","webpack:///./~/@babel/runtime-corejs2/core-js/number/is-integer.js","webpack:///./~/core-js/library/fn/number/is-integer.js","webpack:///./~/core-js/library/modules/es6.number.is-integer.js","webpack:///./~/core-js/library/modules/_is-integer.js","webpack:///./~/react-draggable/dist/react-draggable.js","webpack:///./~/lodash.isequal/index.js","webpack:///./src/SortList.js","webpack:///./src/util.js","webpack:///./src/Between.js","webpack:///./src/GridLayout.js","webpack:///./~/react-grid-layout/index.js","webpack:///./~/react-grid-layout/build/ReactGridLayout.js","webpack:///./~/react-grid-layout/build/utils.js","webpack:///./~/react-grid-layout/build/GridItem.js","webpack:///./~/react-resizable/index.js","webpack:///./~/react-resizable/build/Resizable.js","webpack:///./~/react-resizable/build/cloneElement.js","webpack:///./~/react-resizable/build/ResizableBox.js","webpack:///./~/react-grid-layout/build/ResponsiveReactGridLayout.js","webpack:///./~/react-grid-layout/build/responsiveUtils.js","webpack:///./~/react-grid-layout/build/components/WidthProvider.js","webpack:///./demo/demolist/Demo1.js","webpack:///./demo/demolist/Demo2.js","webpack:///./demo/demolist/Demo3.js","webpack:///./demo/demolist/Demo4.js","webpack:///./demo/demolist/Demo5.js","webpack:///./demo/demolist/Demo6.js","webpack:///./demo/demolist/Demo7.js","webpack:///./demo/demolist/Demo8.js","webpack:///./demo/demolist/Demo9.js","webpack:///./demo/demolist/Demo90.js","webpack:///./demo/demolist/Demo91.js","webpack:///./demo/demolist/Demo92.js","webpack:///./demo/demolist/Demo93.js"],"names":["Demo1","require","Demo2","Demo3","Demo4","Demo5","Demo6","Demo7","Demo8","Demo9","Demo90","Demo91","Demo92","Demo93","DemoArray","Demo","props","handleClick","setState","open","state","fCloseDrawer","render","title","example","code","desc","scss_code","header","trim","Component","DemoGroup","map","child","index","ReactDOM","document","getElementById","Dnd","propTypes","onStart","PropTypes","func","onDrag","onStop","onDragUpdate","dropClass","string","dropOverClass","dragClass","dragingClass","draggedClass","className","style","object","list","array","otherList","type","oneOf","showKey","defaultProps","items","componentWillReceiveProps","nextProps","self","DndType","length","children","Drag","DragDropContext","Droppable","Draggable","GridLayout","reorder","startIndex","endIndex","result","Array","from","splice","removed","Vertical","onDragEnd","destination","source","onDragStart","provided","snapshot","innerRef","isDraggingOver","drop","item","draggableProps","dragHandleProps","isDragging","drag","placeholder","getClass","doing","verticalObj","horizontalObj","move","droppableSource","droppableDestination","sourceClone","destClone","droppableId","Between","id2List","droppable","droppable2","getList","id","console","log","selected","top","left","right","bottom","name","list1","list2","listObj","layout","i","x","y","w","h"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;ACtCA;;;;AACA;;;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;;;AAIA,KAAIA,QAAQ,mBAAAC,CAAQ,GAAR,CAAZ,CAAwC,IAAIC,QAAQ,mBAAAD,CAAQ,GAAR,CAAZ,CAAwC,IAAIE,QAAQ,mBAAAF,CAAQ,GAAR,CAAZ,CAAwC,IAAIG,QAAQ,mBAAAH,CAAQ,GAAR,CAAZ,CAAwC,IAAII,QAAQ,mBAAAJ,CAAQ,GAAR,CAAZ,CAAwC,IAAIK,QAAQ,mBAAAL,CAAQ,GAAR,CAAZ,CAAwC,IAAIM,QAAQ,mBAAAN,CAAQ,GAAR,CAAZ,CAAwC,IAAIO,QAAQ,mBAAAP,CAAQ,GAAR,CAAZ,CAAwC,IAAIQ,QAAQ,mBAAAR,CAAQ,GAAR,CAAZ,CAAwC,IAAIS,SAAS,mBAAAT,CAAQ,GAAR,CAAb,CAA0C,IAAIU,SAAS,mBAAAV,CAAQ,GAAR,CAAb,CAA0C,IAAIW,SAAS,mBAAAX,CAAQ,GAAR,CAAb,CAA0C,IAAIY,SAAS,mBAAAZ,CAAQ,GAAR,CAAb,CAA0C,IAAIa,YAAY,CAAC,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,OAA7B,EAAqC,QAAO,4kBAA5C,EAAynB,QAAO,cAAhoB,EAA+oB,aAAY,6jBAA3pB,EAAD,EAA2tC,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,cAA7B,EAA4C,QAAO,goBAAnD,EAAorB,QAAO,8CAA3rB,EAA0uB,aAAY,uhBAAtvB,EAA3tC,EAA0+E,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,ktBAAhD,EAAmwB,QAAO,+BAA1wB,EAA0yB,aAAY,4GAAtzB,EAA1+E,EAA84G,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,09BAAhD,EAA2gC,QAAO,+BAAlhC,EAAkjC,aAAY,4nBAA9jC,EAA94G,EAA0kK,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,2qBAAhD,EAA4tB,QAAO,kBAAnuB,EAAsvB,aAAY,uhBAAlwB,EAA1kK,EAAq2M,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,SAA7B,EAAuC,QAAO,kvBAA9C,EAAiyB,QAAO,uEAAxyB,EAAg3B,aAAY,2jBAA53B,EAAr2M,EAA8xP,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,WAA7B,EAAyC,QAAO,m1BAAhD,EAAo4B,QAAO,gBAA34B,EAA45B,aAAY,+rBAAx6B,EAA9xP,EAAu4S,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,aAA7B,EAA2C,QAAO,unCAAlD,EAA0qC,QAAO,wBAAjrC,EAA0sC,aAAY,EAAttC,EAAv4S,EAAimV,EAAC,WAAU,iCAAC,KAAD,OAAX,EAAqB,SAAQ,cAA7B,EAA4C,QAAO,ynBAAnD,EAA6qB,QAAO,aAAprB,EAAjmV,EAAoyW,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,WAA9B,EAA0C,QAAO,+aAAjD,EAAie,QAAO,oBAAxe,EAApyW,EAAkyX,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,SAA9B,EAAwC,QAAO,mjBAA/C,EAAmmB,QAAO,kEAA1mB,EAA6qB,aAAY,uFAAzrB,EAAlyX,EAAojZ,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,SAA9B,EAAwC,QAAO,iuBAA/C,EAAixB,QAAO,4BAAxxB,EAAqzB,aAAY,kGAAj0B,EAApjZ,EAAy9a,EAAC,WAAU,iCAAC,MAAD,OAAX,EAAsB,SAAQ,OAA9B,EAAsC,QAAO,yjCAA7C,EAAumC,QAAO,GAA9mC,EAAknC,aAAY,gWAA9nC,EAAz9a,CAAhB;;KAG1gBC,I;;;AACF,mBAAYC,KAAZ,EAAkB;AAAA;;AAAA,sDACd,sBAAMA,KAAN,CADc;;AAAA,eAMlBC,WANkB,GAMN,YAAK;AACb,mBAAKC,QAAL,CAAc,EAAEC,MAAM,CAAC,MAAKC,KAAL,CAAWD,IAApB,EAAd;AACH,UARiB;;AAAA,eASlBE,YATkB,GASL,YAAI;AACb,mBAAKH,QAAL,CAAc;AACVC,uBAAM;AADI,cAAd;AAGH,UAbiB;;AAEd,eAAKC,KAAL,GAAa;AACTD,mBAAM;AADG,UAAb;AAFc;AAKjB;;oBAUDG,M,qBAAU;AAAA,sBAC6C,KAAKN,KADlD;AAAA,aACEO,KADF,UACEA,KADF;AAAA,aACSC,OADT,UACSA,OADT;AAAA,aACkBC,IADlB,UACkBA,IADlB;AAAA,aACwBC,IADxB,UACwBA,IADxB;AAAA,aAC8BC,SAD9B,UAC8BA,SAD9B;;;AAGN,aAAMC,SACF;AAAA;AAAA;AACI;AAAA;AAAA,mBAAG,WAAU,iBAAb;AAAiCL;AAAjC,cADJ;AAEI;AAAA;AAAA;AAAKG;AAAL,cAFJ;AAGI;AAAA;AAAA,mBAAM,WAAU,gBAAhB,EAAiC,SAAS,KAAKT,WAA/C;AAAA;AAAkE,yDAAG,WAAU,mBAAb,GAAlE;AAAA;AAAA;AAHJ,UADJ;AAOA,gBACI;AAAC,2BAAD;AAAA,eAAK,IAAI,EAAT,EAAa,IAAIM,MAAMM,IAAN,EAAjB,EAA+B,WAAU,gBAAzC;AACA;AAAC,gCAAD;AAAA,mBAAO,QAAQD,MAAf;AACKJ;AADL,cADA;AAKA;AAAC,uCAAD;AAAA,mBAAQ,WAAU,mBAAlB,EAAsC,OAAOD,KAA7C,EAAoD,MAAM,KAAKH,KAAL,CAAWD,IAArE,EAA2E,WAAU,OAArF,EAA6F,SAAS,KAAKE,YAA3G;AACA;AAAA;AAAA,uBAAK,WAAU,qBAAf;AAAA;AACI,sDAAC,yBAAD,IAAW,QAAO,MAAlB,EAAyB,MAAMI,IAA/B;AADJ,kBADA;AAIA;AAAA;AAAA,uBAAK,WAAU,QAAf;AACI;AAAA;AAAA,2BAAM,WAAU,iBAAhB;AAAoCA;AAApC;AADJ,kBAJA;AAOC,kBAAC,CAACE,SAAF,GAAa;AAAA;AAAA,uBAAK,WAAU,8BAAf;AAAA;AACV,sDAAC,yBAAD,IAAW,QAAO,MAAlB,EAAyB,MAAMA,SAA/B;AADU,kBAAb,GAEM,IATP;AAUM,kBAAC,CAACA,SAAF,GAAc;AAAA;AAAA,uBAAK,WAAU,SAAf;AACf;AAAA;AAAA,2BAAM,WAAU,UAAhB;AAA6BA;AAA7B;AADe,kBAAd,GAEQ;AAZd;AALA,UADJ;AAsBH,M;;;GAhDcG,gB;;KAmDbC,S;;;AACF,wBAAYf,KAAZ,EAAkB;AAAA;;AAAA,iDACd,uBAAMA,KAAN,CADc;AAEjB;;yBACDM,M,qBAAU;AACN,gBACI;AAAC,2BAAD;AAAA;AACCR,uBAAUkB,GAAV,CAAc,UAACC,KAAD,EAAOC,KAAP,EAAiB;;AAE5B,wBACJ,iCAAC,IAAD,IAAM,SAAUD,MAAMT,OAAtB,EAA+B,OAAQS,MAAMV,KAA7C,EAAoD,MAAOU,MAAMR,IAAjE,EAAuE,WAAYQ,MAAMN,SAAzF,EAAoG,MAAOM,MAAMP,IAAjH,EAAuH,KAAMQ,KAA7H,GADI;AAIX,cANQ;AADD,UADJ;AAWH,M;;;GAhBmBJ,gB;;AAmBxBK,uBAASb,MAAT,CAAgB,iCAAC,SAAD,OAAhB,EAA8Bc,SAASC,cAAT,CAAwB,eAAxB,CAA9B,E;;;;;;ACnFA,wB;;;;;;ACAA,2B;;;;;;ACAA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,mC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAgB;;AAEhB;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,IAAG;AACH,GAAE;AACF;AACA;AACA,EAAC;;;;;;;ACnDD,4B;;;;;;ACAA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3EA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAgC;;AAEhC;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACxFA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,8C;;;;;;AClBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,sBAAqB,iCAAiC;AACtD;AACA;;AAEA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,UAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,qCAAoC,kDAAkD;AACtF;;AAEA;;;AAGA;AACA;AACA;AACA,iBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iDAAiD;AAC1D;AACA,4DAA2D,qDAAqD;AAChH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wDAAuD,kBAAkB;;AAEzE;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yCAAwC;;AAExC;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS,2GAA2G;AACpH;AACA;AACA,yGAAwG,2HAA2H;AACnO;AACA;AACA,UAAS,uDAAuD;AAChE;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACpTA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,kC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,wBAAuB,oBAAoB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAuB,mBAAmB;AAC1C;;AAEA;AACA,8BAA6B,kBAAkB;AAC/C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;;AAEA;AACA,8BAA6B,iBAAiB;AAC9C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA,8DAA6D;AAC7D;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA,iC;;;;;;ACnVA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;AC3FA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;ACRA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;AC5BA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3PA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,mEAAkE;AAClE;AACA,IAAG;;AAEH;AACA,0DAAyD;AACzD;;AAEA,2BAA0B;AAC1B;;AAEA,qC;;;;;;ACnDA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA,qC;;;;;;ACZA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACpBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAA+C;;AAE/C;AACA;AACA,0CAAyC;;AAEzC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qC;;;;;;AC3CA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACVA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,qC;;;;;;ACTA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACzEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA,uEAAsE,eAAe;AACrF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA,EAAC;AACD;AACA;AACA,M;;;;;;ACzCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,E;;;;;;AC3CA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uE;;;;;;ACnCA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;;;;;;;;AC3DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;ACvLtC;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,0E;;;;;;ACnCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA,E;;;;;;ACvBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA,IAAG;AACH;;AAEA;AACA;AACA,aAAY,SAAS;AACrB,aAAY,eAAe;AAC3B,aAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA,E;;;;;;ACzCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,yC;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0B;;;;;;AC3gBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;AClBA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;ACzBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;AClDA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;;AAED,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAqD;AACrD;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA,qC;;;;;;ACrRA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;AC9DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACzFA;;AAEA;;AAEA,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA,gC;;;;;;AC9LA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;;AAGH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,oC;;;;;;ACxFA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,cAAc;AACzB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9LA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,G;;;;;;ACNA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;AACD;AACA;AACA,M;;;;;;ACpBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,iCAAgC;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,yB;;;;;;AClMA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,gD;;;;;;ACnBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,qC;;;;;;AC7CA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACzNA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAkE,cAAc;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,wCAAuC;AACvC,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA,uEAAsE,eAAe;AACrF;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA,qC;;;;;;AC7kBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,E;;;;;;AC7GA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACxGA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC,4BAA2B,cAAc,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACvDA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC7BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACtDA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACnCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACxBA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,qC;;;;;;ACrCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,iBAAgB,eAAe,KAAK,mBAAmB;AACvD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,4DAA2D,UAAU,iBAAiB;AACtF;;AAEA;AACA,qC;;;;;;AC/DA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnHA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,sBAAqB,oDAAoD;AACzE,4DAA2D,oDAAoD;AAC/G;AACA;AACA;AACA,sBAAqB,uDAAuD;AAC5E;AACA;AACA;AACA;AACA,UAAS;AACT,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACjNA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL,iCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA,QAAO,4EAA4E;AACnF;AACA;AACA,UAAS,2CAA2C;AACpD;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,0FAAyF,UAAU,WAAW;AAC9G;;AAEA;AACA,qC;;;;;;ACxMA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAkG;AAClG,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA,qC;;;;;;ACtXA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA,E;;;;;;ACpHA;;AAEA;AACA;AACA,EAAC;;AAED,qGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC1BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,QAAO,sFAAsF;AAC7F;AACA;AACA,UAAS,yCAAyC;AAClD;AACA;AACA,YAAW,uCAAuC;AAClD;AACA;AACA;AACA;AACA,YAAW,6CAA6C;AACxD;AACA;AACA;AACA;AACA;AACA,UAAS,2EAA2E;AACpF,mDAAkD,yCAAyC;AAC3F;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA,qC;;;;;;ACzIA;;AAEA;;AAEA,4CAA2C,IAAI;;AAE/C;AACA;AACA,6BAA4B,UAAU;AACtC;;AAEA;AACA;AACA,kBAAiB,cAAc;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,0BAA0B;AAC3C;AACA;;AAEA,0CAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;;;;;;;ACtCA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAmB,iBAAiB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA,QAAO;AACP;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC7IA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,8DAA6D,uEAAuE;AACpI;;AAEA;AACA;;AAEA;AACA;AACA,KAAI,uDAAuD;AAC3D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI,6BAA6B;AACjC;AACA;AACA,MAAK,mCAAmC;AACxC;AACA;AACA;AACA;AACA;AACA,KAAI,cAAc;AAClB;AACA;AACA,MAAK;AACL;AACA,OAAM,0FAA0F;AAChG;AACA;AACA;AACA;AACA,OAAM,2BAA2B;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;AACtB;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAI,+CAA+C;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzSA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;ACrBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACjBA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,wCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAEtd,sBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wEAAuE,aAAa;AACpF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;;AAE3B;AACA,yEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED,8EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,qC;;;;;;;ACvSA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,2DAA0D,yJAAyJ;AACnN;;AAEA,qC;;;;;;ACbA;;AAEA;AACA;;AAEA;AACA,sFAAqF;AACrF;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA;;AAEA;AACA,8DAA6D,mHAAmH;AAChL,G;;;;;;ACRA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,wCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAEtd,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA,iBAAgB,aAAa;AAC7B,iBAAgB,aAAa;AAC7B;AACA;AACA,mBAAkB,aAAa;AAC/B,sBAAqB,OAAO,UAAU,SAAS;AAC/C,SAAQ;AACR;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA,qBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;AACA,0BAAyB,cAAc,UAAU,IAAI;AACrD,2BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA8C;;AAE9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAI;AACJ;AACA;AACA,iBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qEAAoE;AACpE;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA,uCAAsC;;AAEtC;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+EAA8E;;;AAG9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,IAAI;AAC9B,SAAQ;AACR,kCAAiC,aAAa,OAAO,EAAE;AACvD;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA,iBAAgB,KAAK;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2EAA0E,IAAI;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,UAAU;AACtB;AACA;AACA;AACA;;AAEA,2FAA0F,aAAa;AACvG;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4B;;;;;;;ACjmBA;;AAEA,+CAA8C,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACjKA;;AAEA;AACA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,2C;;;;;;;AC3BA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yEAAwE,aAAa;AACrF;AACA;;AAEA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA,6EAA4E,eAAe;AAC3F;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,qC;;;;;;;ACrJA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,2DAA0D,+BAA+B,iBAAiB,sCAAsC,YAAY,YAAY,uBAAuB,OAAO,qBAAqB,0CAA0C,2BAA2B,EAAE,eAAe;;AAEjT,sBAAqB,gDAAgD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG,wCAAwC;;AAE3T,gDAA+C,0DAA0D,2CAA2C,iCAAiC;;AAErL,wCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,uGAAsG;;;AAGtG;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mCAAkC;;AAElC;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,KAAK;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;AACA,qC;;;;;;;AC/MA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,EAAE;AACb,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA,YAAW,OAAO;AAClB;AACA,aAAY,OAAO;AACnB;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB,qCAAqC;AACtD;AACA;AACA;AACA;;AAEA;AACA,IAAG;;;AAGH,cAAa,wBAAwB;AACrC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA,E;;;;;;ACrJA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,+BAA8B;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kBAAiB;AACjB;AACA;AACA,sBAAqB,iDAAiD;AACtE;AACA;AACA,0BAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF,oEAAoE;AAC3J;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,qC;;;;;;ACzNA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,oBAAmB,2CAA2C;AAC9D,oBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;;AAEjB;AACA;AACA,UAAS;;AAET;AACA,MAAK;;AAEL;AACA;AACA,gBAAe,OAAO;AACtB,gBAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC,E;;;;;;AC9MD;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,oBAAmB,OAAO;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAmB,OAAO;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAqB;AACrB;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,UAAS;;AAET;AACA,MAAK;;AAEL;AACA,EAAC,E;;;;;;ACpOD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;AC1CA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAkC;;AAElC;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,0CAAyC;AACzC;AACA;;AAEA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA,IAAG;;AAEH;AACA,mCAAkC;AAClC;AACA;;AAEA;AACA,yCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AClEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,2CAA2C;AACtD,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,wBAAwB;AACnC,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;;;;;;;AC9FA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;;AAEA;AACA;;;;;;;AChDA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,qBAAqB;AAChC,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7EA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AChCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,2DAA0D,WAAW,iEAAiE;AACtI;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzEA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,4DAA2D;AAC3D;AACA;AACA,cAAa,EAAE;AACf;AACA;AACA,cAAa,6BAA6B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAoC;;AAEpC;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,uBAAsB;AACtB;AACA,kBAAiB,oDAAoD,WAAW,uBAAuB;AACvG;AACA;AACA;AACA,uBAAsB;AACtB;AACA,kBAAiB,oDAAoD,WAAW,uBAAuB;AACvG;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC7NA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,aAAa;AACxB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wBAAuB,aAAa;AACpC;;AAEA;AACA,wBAAuB,cAAc;AACrC;;AAEA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC3XA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH,EAAC;;AAED;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA,qC;;;;;;AChCA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC1MA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;ACpBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,4BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACzJA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA,IAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,oBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,gBAAgB;AACrC,MAAK;AACL;AACA,sBAAqB,eAAe;AACpC;AACA;;AAEA;AACA,oBAAmB,eAAe;;AAElC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS,4BAA4B;AACrC;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,UAAS,uBAAuB;AAChC;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC5PA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,UAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA,sBAAqB;AACrB,kBAAiB;AACjB,8CAA6C;AAC7C;AACA,sBAAqB;AACrB;AACA,cAAa;AACb,0CAAyC;AACzC;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,wFAAuF,gCAAgC;AACvH,UAAS;AACT,+BAA8B;AAC9B;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC/RA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qC;;;;;;ACrDA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA,aAAY;AACZ;AACA,qC;;;;;;AC1KA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;;AAEnB;AACA,oFAAmF;;AAEnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACrCA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qC;;;;;;ACTA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,cAAa,2DAA2D,eAAe;AACvF;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;;AAGH,mCAAkC;AAClC;AACA;AACA,IAAG;AACH;;AAEA,qC;;;;;;AChDA;AACA;AACA,oBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2B;;;;;;AClBA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gHAA+G;AAC/G;;AAEA,qC;;;;;;ACfA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+GAA8G;AAC9G;;AAEA,qC;;;;;;ACfA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;ACpBA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qC;;;;;;ACdA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,qC;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA,qC;;;;;;AC5JA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,yBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iFAAgF;AAChF;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACnHA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,oBAAmB;;AAEnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,wBAAuB,oBAAoB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wBAAuB,mBAAmB;AAC1C;;AAEA;AACA,8BAA6B,kBAAkB;AAC/C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,wBAAuB,kBAAkB;AACzC;;AAEA;AACA,8BAA6B,iBAAiB;AAC9C;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA,8DAA6D;AAC7D;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA,iC;;;;;;ACvVA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa;AACb;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yEAAwE,eAAe;AACvF;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,qC;;;;;;AC1CA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA,6BAA4B;AAC5B;AACA,kCAAiC;AACjC,MAAK;AACL,kCAAiC;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACrCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC3BA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED,+BAA8B;AAC9B;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,6CAA4C;AAC5C,8CAA6C;AAC7C;;AAEA,+BAA8B;AAC9B;AACA,2BAA0B,eAAe;AACzC;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC3UA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;AC5BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA,qC;;;;;;ACtBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC9BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qC;;;;;;AC1BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qC;;;;;;AC7BA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe,GAAG;;;AAGjQ;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;;AAEA,4BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAqB,gBAAgB;AACrC,MAAK;AACL;AACA,sBAAqB,eAAe;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAmB,eAAe;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;AACA,qC;;;;;;AC1hBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,gBAAe;;AAEf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uFAAsF;AACtF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA,qC;;;;;;AC/KA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;ACvBA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qC;;;;;;ACxCA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;AChDA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,WAAU;AACV;AACA,qC;;;;;;AC9BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;ACrBA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,wCAAuC;;AAEvC,uBAAsB;;AAEtB,6CAA4C;AAC5C;AACA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS,wFAAwF;AACjG;AACA;AACA,YAAW,2GAA2G;AACtH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;AC5GA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,YAAW,wBAAwB;AACnC,kDAAiD,2BAA2B;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA,qC;;;;;;AClHA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mEAAkE;AAClE;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACtEA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,yGAAyG;AAC1H,wEAAuE;AACvE;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,sBAAqB,mCAAmC;AACxD,qGAAoG,gDAAgD;AACpJ;AACA,wEAAuE;AACvE;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB,0GAA0G;AAC/H,4EAA2E;AAC3E;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,0BAAyB,mCAAmC;AAC5D,iFAAgF,iDAAiD;AACjI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;ACrRA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,qC;;;;;;ACbA;;AAEA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,oCAAmC,iDAAiD,gBAAgB,iBAAiB,OAAO,mBAAmB,4DAA4D,6DAA6D,wCAAwC,EAAE,EAAE,YAAY;;AAEhU,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA,qC;;;;;;;;;;;;ACzKA;;;;;;sBACeC,gB;;;;;;;;;;;;;;;ACDf;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAMC,YAAY;AACdC,cAASC,uBAAUC,IADL;AAEdC,aAAQF,uBAAUC,IAFJ;AAGdE,aAAQH,uBAAUC,IAHJ;AAIdG,mBAAcJ,uBAAUC,IAJV;AAKdI,gBAAWL,uBAAUM,MALP;AAMdC,oBAAeP,uBAAUM,MANX;AAOdE,gBAAWR,uBAAUM,MAPP;AAQdG,mBAAcT,uBAAUM,MARV;AASdI,mBAAaV,uBAAUM,MATT;AAUdK,gBAAUX,uBAAUM,MAVN;AAWdM,YAAMZ,uBAAUa,MAXF;AAYdC,WAAMd,uBAAUe,KAZF;AAadC,gBAAWhB,uBAAUe,KAbP;AAcdE,WAAKjB,uBAAUkB,KAAV,CAAgB,CAAC,UAAD,EAAY,YAAZ,EAAyB,iBAAzB,EAA2C,mBAA3C,CAAhB,CAdS;AAedC,cAAQnB,uBAAUM;;AAfJ,EAAlB;AAkBA,KAAMc,eAAe;AACjBrB,cAAS,mBAAM,CAEd,CAHgB;AAIjBG,aAAO,kBAAI,CAEV,CANgB;AAOjBC,aAAQ,kBAAM,CAEb,CATgB;AAUjBC,mBAAc,wBAAM,CAEnB,CAZgB;AAajBU,WAAM,KAbW;AAcjBE,gBAAU,EAdO;AAejBX,gBAAU,EAfO;AAgBjBE,oBAAc,EAhBG;AAiBjBC,gBAAU,EAjBO;AAkBjBC,mBAAa,EAlBI;AAmBjBC,mBAAa,EAnBI;AAoBjBO,WAAK;AApBY,EAArB;;KAwBMpB,G;;;AACF,kBAAYtB,KAAZ,EAAmB;AAAA;;AAAA,sDACf,sBAAMA,KAAN,CADe;;AAEf,eAAKI,KAAL,GAAW;AACP0C,oBAAM,MAAK9C,KAAL,CAAWuC,IAAX,IAAiB;AADhB,UAAX;AAFe;AAKlB;;mBACDQ,yB,sCAA0BC,S,EAAU;AAChC,aAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,kBAAKrC,QAAL,CAAc;AACV4C,wBAAME,UAAUT;AADN,cAAd;AAGH;AACJ,M;;mBAEDjC,M,qBAAS;AAAA;;AACL,aAAI2C,OAAO,IAAX;AACA,aAAIC,UAAU,SAAVA,OAAU,GAAM;AAChB,qBAAO,OAAKlD,KAAL,CAAW0C,IAAlB;AACI,sBAAK,UAAL;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAK1C,KAAnB,CAAP;AACA;AACJ,sBAAK,YAAL;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAKA,KAAnB,CAAP;AACA;AACJ,sBAAK,iBAAL;AACI,4BAAO,iCAAC,oBAAD,EAAa,OAAKA,KAAlB,CAAP;AACA;AACJ,sBAAK,mBAAL;AACI,4BAAO,iCAAC,oBAAD,EAAa,OAAKA,KAAlB,CAAP;AACA;AACJ;AACI,4BAAO,iCAAC,qBAAD,EAAc,OAAKA,KAAnB,CAAP;AACA;AAfR;AAiBH,UAlBD;AAmBA,gBACI;AAAA;AAAA;AAEQiD,kBAAK7C,KAAL,CAAW0C,KAAX,CAAiBK,MAAjB,GACID,SADJ,GAEI;AAAC,4CAAD;AAAA,4BAAM,kBAAkB,KAAKlD,KAAL,CAAWiC,SAAnC;AACM,+CAA0B,KAAKjC,KAAL,CAAWkC,YAD3C;AAEM,8CAAyB,KAAKlC,KAAL,CAAWmC;AAF1C,oBAGU,KAAKnC,KAHf;AAIKiD,sBAAKjD,KAAL,CAAWoD;AAJhB;AAJZ,UADJ;AAiBH,M;;;GArDatC,gB;;AAuDlBQ,KAAIC,SAAJ,GAAgBA,SAAhB;AACAD,KAAIuB,YAAJ,GAAmBA,YAAnB;AACAvB,KAAI+B,IAAJ,GAAWA,2BAAX;AACA/B,KAAIgC,eAAJ,GAAsBA,kCAAtB;AACAhC,KAAIiC,SAAJ,GAAgBA,4BAAhB;AACAjC,KAAIkC,SAAJ,GAAgBA,4BAAhB;AACAlC,KAAImC,UAAJ,GAAiBA,uBAAjB;sBACenC,G;;;;;;;AClHf;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA2B,GAAG;AAC9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAkD,kBAAkB,mBAAmB,uCAAuC;AAC9H;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA,0BAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAsB,yBAAyB;AAC/C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,2BAA0B;AAC1B;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL,0FAAyF,mBAAmB,mCAAmC,kBAAkB,gBAAgB,kBAAkB,mBAAmB;AACtN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;AACD;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA6B;AAC7B;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA8B;AAC9B;AACA,IAAG;AACH;AACA;AACA,+BAA8B;AAC9B;AACA,IAAG;AACH;AACA;AACA,+BAA8B;AAC9B;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAAyB;AACzB,6BAA4B;AAC5B;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA,gCAA+B;AAC/B,gCAA+B;AAC/B;AACA,UAAS;AACT,QAAO;;AAEP;AACA,MAAK;AACL,IAAG;;AAEH,wBAAuB;;AAEvB;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,wBAAuB;;AAEvB;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAoB;AACpB,wBAAuB;AACvB;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL,uBAAsB;AACtB;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,qBAAoB;AACpB;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL,uBAAsB;AACtB;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,qBAAoB;AACpB;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH,2BAA0B;;AAE1B;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uBAAsB;AACtB;AACA,MAAK;AACL,IAAG;;AAEH,2BAA0B;AAC1B,0BAAyB;AACzB;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;;AAEA,qBAAoB,6BAA6B;AACjD,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,IAAG,wBAAwB;;AAE3B;AACA;AACA;;AAEA;AACA;AACA,IAAG,gCAAgC;;AAEnC;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,qBAAoB;AACpB,0BAAyB;AACzB;AACA;AACA,MAAK;AACL,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAsB;AACtB;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK,wBAAwB;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA6B;AAC7B;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA8B;AAC9B;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,oCAAmC;AACnC,0BAAyB;AACzB;AACA,QAAO;AACP,MAAK;;AAEL;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK,wBAAwB;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAmC;AACnC;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA,6BAA4B;AAC5B;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA8B,gBAAgB;AAC9C,IAAG;AACH;;AAEA,6CAA4C;AAC5C;AACA;;AAEA;AACA,oDAAmD,qBAAqB;AACxE;AACA;AACA;AACA,0DAAyD,uDAAuD,uCAAuC;AACvJ;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,2EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,6CAA4C,mCAAmC,4BAA4B,oCAAoC,iCAAiC,gCAAgC,gCAAgC;AAChP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yNAAwN,qBAAqB;AAC7O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA,wEAAuE,aAAa;AACpF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAwC;AACxC;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,EAAC;;AAED;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA,EAAC;;AAED;AACA,2CAA0C;;AAE1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oKAAmK,4BAA4B;AAC/L;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;AACA;;;;;;;;ACx5PA;;AAEA;AACA;AACA,oBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,2B;;;;;;ACpBA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;;AAEA,2CAA0C,mCAAsC;;;;;;;ACHhF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE;AACjE;AACA,mFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA,0CAAyC;;;;;;;ACLzC,8BAA6B;AAC7B,wCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;;;;;;;ACFA;AACA,uEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,EAAC;;;;;;;ACFD;AACA;AACA,kCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,EAAC;;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA,wBAAuB;AACvB;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,UAAU,EAAE;AAChD,oBAAmB,sCAAsC;AACzD,EAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;;;;;;ACjCD;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA,kBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,YAAY,eAAe;AAChC;AACA,MAAK;AACL;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,mDAAkD;;AAElD;AACA,sEAAqE;AACrE,EAAC;AACD;AACA;AACA;AACA,EAAC;;;;;;;ACXD;;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA,eAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;ACJA;;AAEA,+CAA8C,cAAc;;AAE5D;;AAEA;AACA;AACA;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACRA,2C;;;;;;ACAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,+BAA8B,mCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;;;;;;;ACDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;;;;;;;AChBA;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAW,IAAI;AACf,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA,YAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,IAAI;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,gBAAe,SAAS;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAe,OAAO;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;;AAEA,oBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB,gBAAe;AACf;;;AAGA;AACA;AACA;AACA;;AAEA,kCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,gBAAe,WAAW;AAC1B;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAiB,OAAO;AACxB;AACA,oBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL,IAAG;AACH;AACA;;;AAGA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAG,aAAa;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qEAAoE;AACpE;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;;AAEA,kBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qDAAoD;AACpD;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA,cAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,kBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,uEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB,cAAa,SAAS;AACtB;;AAEA;AACA,6EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,+BAA8B;AAC9B;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/pBA;;AAEA;AACA;AACA,EAAC;;AAED;;AAEA;;AAEA,uCAAsC,uCAAuC,kBAAkB;;AAE/F,UAAS;;;AAGT;AACA;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA;;AAEA;AACA,6B;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;;AAEA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,GAAE;AACF;AACA;;AAEA;AACA,G;;;;;;ACtBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,oE;;;;;;AC3CA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,+B;;;;;;AC/FA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0C;;;;;;ACzBA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yC;;;;;;ACRA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;ACNA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,+B;;;;;;ACbA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAqC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAC;;AAED,mC;;;;;;ACtGA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8BAA6B;;AAE7B;AACA;AACA,GAAE;;;AAGF;;AAEA;AACA;AACA;;AAEA,6B;;;;;;ACvBA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oQAAmQ,UAAU,8BAA8B,UAAU,0CAA0C,oBAAoB;AACnX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,MAAK;AACL;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO,2BAA2B;;AAElC,+DAA8D;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA,qEAAoE;AACpE;;AAEA,0HAAyH;AACzH;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA,2CAA0C,oBAAoB,oBAAoB;AAClF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;;AAGA,4CAA2C;AAC3C;AACA,UAAS;AACT,QAAO,uDAAuD;AAC9D;;AAEA;AACA;AACA;AACA,yDAAwD;;;AAGxD;AACA;AACA,QAAO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;;AAGA;AACA,QAAO,oDAAoD;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA0C;;AAE1C;AACA;AACA;AACA;AACA,QAAO,EAAE;;AAET;AACA;AACA,+CAA8C;;AAE9C;AACA,oCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,YAAW;;;AAGX;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,WAAU;;;AAGV;AACA,qCAAoC;AACpC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAO,6CAA6C;AACpD;;AAEA;AACA,8FAA6F;AAC7F;AACA,UAAS;AACT,QAAO,sDAAsD;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA,QAAO;AACP;AACA,MAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA,qFAAoF;AACpF;AACA,UAAS;AACT,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;ACxWA;AACA;AACA;AACA;AACA;;AAEA,cAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gD;;;;;;ACfA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACtGA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAa,4CAA4C,SAAS;AAClE;AACA,+JAA8J,cAAc,kCAAkC,iBAAiB,UAAU,0BAA0B,mDAAmD,kCAAkC,8BAA8B,kBAAkB,gCAAgC,cAAc,gBAAgB,iBAAiB;AACvd,0BAAyB,0BAA0B,0BAA0B,kBAAkB,qBAAqB,mBAAmB,eAAe,eAAe,iBAAiB,mBAAmB,qBAAqB;AAC9N,wCAAuC,6OAA6O,gCAAgC,uBAAuB,2BAA2B,sCAAsC,iBAAiB,sCAAsC;AACnc,+BAA8B,qDAAqD,iCAAiC,iBAAiB,+BAA+B,iBAAiB,2BAA2B,iBAAiB,2BAA2B,iBAAiB,6BAA6B,iBAAiB,+BAA+B,iBAAiB,iCAAiC,iBAAiB,+BAA+B;;;;;;;ACd5b;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;;AAEA,+CAA8C,cAAc;;AAE5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,6FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;;;;;;;ACvOA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,2CAA0C,yBAAyB,EAAE;AACrE;AACA;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA;;;;;;;;AChDA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC,QAAQ;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;;;AAGA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;;AAEA,+B;;;;;;AClHA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;AChCA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,+B;;;;;;AC/BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,OAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;AC3EA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;ACfA;;AAEA;AACA;;AAEA;AACA,YAAW,IAAI;AACf,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,E;;;;;;ACpBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA,E;;;;;;AC5BA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,+B;;;;;;ACpBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,sCAAqC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA,+B;;;;;;;ACrDA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;AClGA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;ACvBA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,aAAa;AAC1B;AACA;AACA;AACA,mBAAkB,cAAc;AAChC,YAAW,mBAAmB;AAC9B;AACA,sCAAqC,QAAQ;AAC7C;AACA,0DAAyD,2BAA2B;AACpF;AACA;AACA,iBAAgB,MAAM;AACtB,2BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACjCA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,YAAW,WAAW;AACtB;AACA;AACA;AACA,mBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;AC3BA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,YAAW,kBAAkB;AAC7B;AACA,sCAAqC,QAAQ;AAC7C,aAAY,QAAQ;AACpB,mBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA,sFAAqF;AACrF;AACA,E;;;;;;ACjCA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,UAAU;AACrB;AACA,cAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,YAAW,cAAc;AACzB;AACA;AACA;AACA,mBAAkB,QAAQ;AAC1B;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,E;;;;;;AC/HA;;AAEA;AACA;;AAEA;;AAEA,qE;;;;;;ACPA;;AAEA,+CAA8C,cAAc;;AAE5D,gCAA+B,iFAAiF;;AAEhH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpKA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACrCA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;ACfA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA,sDAAqD,OAAO,EAAE;AAC9D;;;;;;;ACTA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;;AAEA,6BAA4B,mBAAmB,6BAA6B,EAAE,EAAE;;;;;;;ACHhF;;AAEA;AACA;AACA;;AAEA;AACA,wEAAuE,aAAa;AACpF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;ACnCA,2C;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;;AAEA,+BAA8B,sCAAsC;;;;;;;ACHpE;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,0BAA0B,EAAE;AAC/D,0CAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,+DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,YAAY;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sDAAqD;AACrD,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA,2BAA0B;AAC1B;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,mBAAkB,iCAAiC,gBAAgB;;;AAGnE;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAqC,iCAAiC;AACtE;AACA,oCAAmC,kBAAkB;;AAErD;AACA;;AAEA,WAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,2EAA0E,iCAAiC;AAC3G;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,yBAAyB;AAC5G,gFAA+E,yBAAyB;AACxG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA4C;AAC5C,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,mCAAkC;AAClC;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAY,4BAA4B;AACxC;AACA,uFAAsF,aAAa;AACnG;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAa;AACb;;AAEA;AACA,6FAA4F,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,gDAA+C;AAC/C,mBAAkB,wDAAwD,gBAAgB;AAC1F,wDAAuD;AACvD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAAQ,KAAK;AACb;AACA;AACA,qEAAoE;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;;AAED,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,iCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,mBAAkB,8BAA8B,sBAAsB;;;AAGtE;AACA,mBAAkB,wBAAwB,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAE;AACF,uFAAsF;AACtF,qCAAoC,sBAAsB;;;AAG1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAsB,mCAAmC;;AAEzD;AACA;AACA,oCAAmC;AACnC;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,0CAAyC;AACzC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,sCAAqC;;AAErC;AACA,MAAK;AACL;;AAEA;AACA,MAAK;AACL;AACA;;AAEA;AACA,MAAK;AACL;AACA;;AAEA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,+BAA8B;AAC9B,+BAA8B;AAC9B;AACA;AACA;AACA,6BAA4B;;AAE5B,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;;AAED,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,mCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,iCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,4CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,mBAAkB,qDAAqD,wBAAwB;AAC/F,mBAAkB,sBAAsB,sBAAsB;AAC9D,mBAAkB,wBAAwB,cAAc;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;;AAGF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAsB,gCAAgC;AACtD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,wBAAuB,qBAAqB;AAC5C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,wBAAuB,mDAAmD;AAC1E;AACA;AACA,IAAG;AACH;AACA;AACA,sBAAqB,kBAAkB,EAAE;AACzC;AACA,IAAG;AACH;AACA;AACA;;AAEA,qBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA,oHAAmH;;AAEnH;AACA;AACA;AACA;AACA,oBAAmB,eAAe,0EAA0E;AAC5G;AACA;AACA,6BAA4B;AAC5B;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA,kCAAiC;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,yBAAyB;AAC7D;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,cAAc;AACjE,mFAAkF;AAClF;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,cAAc;AAC1D,mFAAkF;AAClF;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAoB,aAAa;AACjC;AACA,EAAC;AACD;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV,8BAA6B;AAC7B,SAAQ;AACR;AACA;AACA;AACA;AACA,gCAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,6BAA4B;AAC5B,QAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,kBAAkB,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;;AAEA;AACA;AACA,sBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;;AAEA,oBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,mCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA,aAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,UAAU;AACrB;AACA;AACA;AACA,eAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iGAAgG;AAChG;AACA,UAAS;AACT;AACA;AACA,iGAAgG;AAChG;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAgB;;AAEhB;AACA;;AAEA,kBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,KAAI;AACJ;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA,IAAG;AACH;AACA,GAAE;AACF;AACA;AACA,EAAC;;;AAGD,QAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,kBAAiB,qBAAqB;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,yDAAwD;AACxD;AACA;;AAEA,QAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAqC;;AAErC;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;AAGtC,QAAO;AACP;AACA,EAAC;AACD,4C;;;;;;ACzrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,YAAW,QAAQ;AACnB;AACA;AACA,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,cAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,cAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA,8BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,+CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,kBAAiB;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;ACvzDA;;;;AACA;;AACA;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAMoC,UAAU,SAAVA,OAAU,CAACnB,IAAD,EAAOoB,UAAP,EAAmBC,QAAnB,EAAgC;AAC9C,OAAMC,SAASC,MAAMC,IAAN,CAAWxB,IAAX,CAAf;;AAD8C,wBAE5BsB,OAAOG,MAAP,CAAcL,UAAd,EAA0B,CAA1B,CAF4B;AAAA;AAAA,OAEvCM,OAFuC;;AAG9CJ,UAAOG,MAAP,CAAcJ,QAAd,EAAwB,CAAxB,EAA2BK,OAA3B;;AAEA,UAAOJ,MAAP;AACD,EAND;;KAQMK,Q;;;AACJ,qBAAYlE,KAAZ,EAAmB;AAAA;;AAAA,kDACjB,sBAAMA,KAAN,CADiB;;AAAA,WAcnBmE,SAdmB,GAcP,kBAAU;AACpB,WAAI,CAACN,OAAOO,WAAZ,EAAyB;AACvB;AACD;AACD,WAAMtB,QAAQY,QACZ,MAAKtD,KAAL,CAAW0C,KADC,EAEZe,OAAOQ,MAAP,CAAcnD,KAFF,EAGZ2C,OAAOO,WAAP,CAAmBlD,KAHP,CAAd;;AAMA,aAAKhB,QAAL,CAAc;AACZ4C;AADY,QAAd;AAGA,aAAK9C,KAAL,CAAW4B,MAAX,CAAkBiC,MAAlB,EAAyBf,KAAzB;AACD,MA5BkB;;AAAA,WA8BnBwB,WA9BmB,GA8BL,kBAAS;AACrB,aAAKtE,KAAL,CAAWwB,OAAX,CAAmBqC,MAAnB,EAA0B,MAAKzD,KAAL,CAAW0C,KAArC;AACD,MAhCkB;;AAEjB,WAAK1C,KAAL,GAAa;AACX0C,cAAO,MAAK9C,KAAL,CAAWuC,IAAX,IAAiB;AADb,MAAb;AAFiB;AAKlB;;sBACDQ,yB,sCAA0BC,S,EAAU;AAClC,SAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,YAAKrC,QAAL,CAAc;AACV4C,gBAAME,UAAUT;AADN,QAAd;AAGH;AACF,I;;sBAuBDjC,M,qBAAS;AAAA;;AAAA,kBAEmC,KAAKN,KAFxC;AAAA,SACCwB,OADD,UACCA,OADD;AAAA,SACSG,MADT,UACSA,MADT;AAAA,SACgBC,MADhB,UACgBA,MADhB;AAAA,SACuBC,YADvB,UACuBA,YADvB;AAAA,SACoCC,SADpC,UACoCA,SADpC;AAAA,SAC8CE,aAD9C,UAC8CA,aAD9C;AAAA,SAELC,SAFK,UAELA,SAFK;AAAA,SAEKC,YAFL,UAEKA,YAFL;AAAA,SAEkBU,OAFlB,UAEkBA,OAFlB;AAAA,SAE0BF,IAF1B,UAE0BA,IAF1B;;;AAIP,YACE;AAAC,yCAAD;AAAA,SAAiB,WAAW,KAAKyB,SAAjC,EAA4C,aAAa,KAAKG,WAA9D,EAA2E,cAAczC,YAAzF;AACE;AAAC,qCAAD;AAAA,WAAW,aAAY,WAAvB,EAAmC,WAAWa,IAA9C;AACG,mBAAC6B,QAAD,EAAWC,QAAX;AAAA,kBACC;AAAA;AAAA;AACE,oBAAKD,SAASE,QADhB;AAEE,0BAAW,0CACN,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADvC;AAFb;AAMG,oBAAKvE,KAAL,CAAW0C,KAAX,CAAiB9B,GAAjB,CAAqB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,sBACpB;AAAC,6CAAD;AAAA,mBAAW,KAAKA,KAAhB,EAAuB,kBAAgBA,KAAvC,EAAgD,OAAOA,KAAvD;AACG,2BAACqD,QAAD,EAAWC,QAAX;AAAA,0BACC;AAAA;AAAA;AACE,4BAAKD,SAASE;AADhB,wBAEMF,SAASM,cAFf,EAGMN,SAASO,eAHf;AAIE,kCAAW,0CACN,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADnC,EAJb;AAOE,2CAAWT,SAASM,cAAT,CAAwBxC,KAAnC;AAPF;AASGO,+BAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AATzB,oBADD;AAAA;AADH,gBADoB;AAAA,cAArB,CANH;AAuBEL,sBAASU;AAvBX,YADD;AAAA;AADH;AADF,MADF;AAiCD,I;;;GAzEoBnE,gB;;sBA4ERoD,Q;;;;;;;;;;;;AC3FR,KAAMgB,8BAAW,SAAXA,QAAW,CAAClF,KAAD,EAAOmF,KAAP,EAAgB;AAAA,SAC9BrD,SAD8B,GAC0B9B,KAD1B,CAC9B8B,SAD8B;AAAA,SACpBE,aADoB,GAC0BhC,KAD1B,CACpBgC,aADoB;AAAA,SACNC,SADM,GAC0BjC,KAD1B,CACNiC,SADM;AAAA,SACIC,YADJ,GAC0BlC,KAD1B,CACIkC,YADJ;AAAA,SACiBQ,IADjB,GAC0B1C,KAD1B,CACiB0C,IADjB;;;AAGpC,SAAI0C,cAAc;AACdT,eAAK,EADS,EACNK,MAAK;AADC,MAAlB;AAGAI,iBAAYT,IAAZ,CAAiB,YAAU7C,SAA3B,IAAsC,IAAtC;AACAsD,iBAAYT,IAAZ,CAAiB,eAAa3C,aAA9B,IAA6CmD,KAA7C;AACAC,iBAAYJ,IAAZ,CAAiB,YAAU/C,SAA3B,IAAsC,IAAtC;AACAmD,iBAAYJ,IAAZ,CAAiB,eAAa9C,YAA9B,IAA4CiD,KAA5C;;AAEA,SAAIE,gBAAgB;AAChBV,eAAK,EADW,EACRK,MAAK;AADG,MAApB;AAGAK,mBAAcV,IAAd,CAAmB,8BAA4B7C,SAA/C,IAA0D,IAA1D;AACAuD,mBAAcV,IAAd,CAAmB,oCAAkC3C,aAArD,IAAoEmD,KAApE;AACAE,mBAAcL,IAAd,CAAmB,8BAA4B/C,SAA/C,IAA0D,IAA1D;AACAoD,mBAAcL,IAAd,CAAmB,oCAAkC9C,YAArD,IAAmEiD,KAAnE;;AAEA,aAAQzC,IAAR;AACE,cAAK,UAAL;AACI,oBAAO0C,WAAP;AACA;AACJ,cAAK,YAAL;AACI,oBAAOC,aAAP;AACA;AACJ,cAAK,iBAAL;AACI,oBAAOD,WAAP;AACA;AACJ,cAAK,mBAAL;AACI,oBAAOC,aAAP;AACA;AAZN;AAcH,EAjCM,C;;;;;;;;;;;;;;;;ACAP;;;;AACA;;;;AACA;;AACA;;AACA;;;;AACA;;;;;;;;;;;;;;AAGA,KAAM3B,UAAU,SAAVA,OAAU,CAACnB,IAAD,EAAOoB,UAAP,EAAmBC,QAAnB,EAAgC;AAC5C,SAAMC,SAASC,MAAMC,IAAN,CAAWxB,IAAX,CAAf;;AAD4C,0BAE1BsB,OAAOG,MAAP,CAAcL,UAAd,EAA0B,CAA1B,CAF0B;AAAA;AAAA,SAErCM,OAFqC;;AAG5CJ,YAAOG,MAAP,CAAcJ,QAAd,EAAwB,CAAxB,EAA2BK,OAA3B;;AAEA,YAAOJ,MAAP;AACH,EAND;;AAQA;;;AAGA,KAAMyB,OAAO,SAAPA,IAAO,CAACjB,MAAD,EAASD,WAAT,EAAsBmB,eAAtB,EAAuCC,oBAAvC,EAAgE;AACzE,SAAMC,cAAc3B,MAAMC,IAAN,CAAWM,MAAX,CAApB;AACA,SAAMqB,YAAY5B,MAAMC,IAAN,CAAWK,WAAX,CAAlB;;AAFyE,+BAGvDqB,YAAYzB,MAAZ,CAAmBuB,gBAAgBrE,KAAnC,EAA0C,CAA1C,CAHuD;AAAA;AAAA,SAGlE+C,OAHkE;;AAKzEyB,eAAU1B,MAAV,CAAiBwB,qBAAqBtE,KAAtC,EAA6C,CAA7C,EAAgD+C,OAAhD;;AAEA,SAAMJ,SAAS,EAAf;AACAA,YAAO0B,gBAAgBI,WAAvB,IAAsCF,WAAtC;AACA5B,YAAO2B,qBAAqBG,WAA5B,IAA2CD,SAA3C;;AAEA,YAAO7B,MAAP;AACH,EAZD;;KAeM+B,O;;;AACF,sBAAY5F,KAAZ,EAAmB;AAAA;;AAAA,sDACf,sBAAMA,KAAN,CADe;;AAAA,eAqBnB6F,OArBmB,GAqBT;AACNC,wBAAW,OADL;AAENC,yBAAY;AAFN,UArBS;;AAAA,eA0BnBC,OA1BmB,GA0BT;AAAA,oBAAM,MAAK5F,KAAL,CAAW,MAAKyF,OAAL,CAAaI,EAAb,CAAX,CAAN;AAAA,UA1BS;;AAAA,eA4BnB9B,SA5BmB,GA4BP,kBAAU;AAClB+B,qBAAQC,GAAR,CAAYtC,MAAZ;AADkB,iBAEVQ,MAFU,GAEcR,MAFd,CAEVQ,MAFU;AAAA,iBAEFD,WAFE,GAEcP,MAFd,CAEFO,WAFE;;AAIlB;;AACA,iBAAI,CAACA,WAAL,EAAkB;AACd;AACH;AACD,iBAAI7B,OAAK,MAAKnC,KAAL,CAAW0C,KAApB;AACA,iBAAIL,YAAU,MAAKrC,KAAL,CAAWgG,QAAzB;;AAEA,iBAAI/B,OAAOsB,WAAP,KAAuBvB,YAAYuB,WAAvC,EAAoD;AAChD,qBAAM7C,QAAQY,QACV,MAAKsC,OAAL,CAAa3B,OAAOsB,WAApB,CADU,EAEVtB,OAAOnD,KAFG,EAGVkD,YAAYlD,KAHF,CAAd;;AAMA,qBAAId,QAAQ,EAAE0C,YAAF,EAAZ;AACAP,wBAAKO,KAAL;;AAEA,qBAAIuB,OAAOsB,WAAP,KAAuB,YAA3B,EAAyC;AACrCvF,6BAAQ,EAAEgG,UAAUtD,KAAZ,EAAR;AACAL,iCAAUK,KAAV;AACAP,4BAAK,MAAKnC,KAAL,CAAW0C,KAAhB;AACH;AACD,uBAAK5C,QAAL,CAAcE,KAAd;AACH,cAhBD,MAgBO;AACH,qBAAMyD,UAASyB,KACX,MAAKU,OAAL,CAAa3B,OAAOsB,WAApB,CADW,EAEX,MAAKK,OAAL,CAAa5B,YAAYuB,WAAzB,CAFW,EAGXtB,MAHW,EAIXD,WAJW,CAAf;;AAOA,uBAAKlE,QAAL,CAAc;AACV4C,4BAAOe,QAAOiC,SADJ;AAEVM,+BAAUvC,QAAOkC;AAFP,kBAAd;AAIAxD,wBAAKsB,QAAOiC,SAAZ;AACArD,6BAAUoB,QAAOkC,UAAjB;AACH;AACD,mBAAK/F,KAAL,CAAW4B,MAAX,CAAkBiC,MAAlB,EAAyB;AACrBtB,uBAAKA,IADgB;AAErBE,4BAAUA;AAFW,cAAzB;AAKH,UA3EkB;;AAAA,eA6EnB6B,WA7EmB,GA6EL,kBAAS;AACnB,mBAAKtE,KAAL,CAAWwB,OAAX,CAAmBqC,MAAnB,EAA0B;AACtBtB,uBAAK,MAAKnC,KAAL,CAAWmC,IADM;AAEtBE,4BAAU,MAAKrC,KAAL,CAAWgG;AAFC,cAA1B;AAIH,UAlFkB;;AAEf,eAAKhG,KAAL,GAAa;AACT0C,oBAAO,MAAK9C,KAAL,CAAWuC,IADT;AAET6D,uBAAU,MAAKpG,KAAL,CAAWyC;AAFZ,UAAb;AAFe;AAMlB;;uBAEDM,yB,sCAA0BC,S,EAAU;AAChC,aAAG,CAAC,yBAAQ,KAAK5C,KAAL,CAAW0C,KAAnB,EAAyBE,UAAUT,IAAnC,CAAJ,EAA6C;AACzC,kBAAKrC,QAAL,CAAc;AACV4C,wBAAME,UAAUT;AADN,cAAd;AAGH;AACD,aAAG,CAAC,yBAAQ,KAAKnC,KAAL,CAAWgG,QAAnB,EAA4BpD,UAAUP,SAAtC,CAAJ,EAAqD;AACjD,kBAAKvC,QAAL,CAAc;AACVkG,2BAASpD,UAAUP;AADT,cAAd;AAGH;AACJ,M;;uBAiEDnC,M,qBAAS;AAAA;;AAAA,sBAEuC,KAAKN,KAF5C;AAAA,aACGwB,OADH,UACGA,OADH;AAAA,aACWG,MADX,UACWA,MADX;AAAA,aACkBC,MADlB,UACkBA,MADlB;AAAA,aACyBC,YADzB,UACyBA,YADzB;AAAA,aACsCC,SADtC,UACsCA,SADtC;AAAA,aACgDE,aADhD,UACgDA,aADhD;AAAA,aAEDC,SAFC,UAEDA,SAFC;AAAA,aAESC,YAFT,UAESA,YAFT;AAAA,aAEsBU,OAFtB,UAEsBA,OAFtB;AAAA,aAE8BF,IAF9B,UAE8BA,IAF9B;;;AAIL,gBACI;AAAA;AAAA,eAAM,WAAW,6BAAW;AACxB,uCAAiBA,QAAM,iBADC;AAExB,iEAA2CA,QAAM;;AAFzB,kBAAX,CAAjB;AAKI;AAAC,mDAAD;AAAA,mBAAiB,WAAW,KAAKyB,SAAjC,EAA4C,aAAa,KAAKG,WAA9D,EAA2E,cAAczC,YAAzF;AACI;AAAC,iDAAD;AAAA,uBAAW,aAAY,WAAvB,EAAmC,WAAWa,QAAM,iBAAN,GAAwB,UAAxB,GAAmC,YAAjF;AACK,+BAAC6B,QAAD,EAAWC,QAAX;AAAA,gCACG;AAAA;AAAA;AACI,sCAAKD,SAASE,QADlB;AAEI,4CAAW,0CACJ,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADzC,EAFf;AAKK,oCAAKvE,KAAL,CAAW0C,KAAX,CAAiB9B,GAAjB,CAAqB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,wCAClB;AAAC,iEAAD;AAAA;AACI,8CAAK,MAAIA,KADb;AAEI,sDAAa,MAAIA,KAFrB;AAGI,gDAAOA,KAHX;AAIK,+CAACqD,QAAD,EAAWC,QAAX;AAAA,gDACG;AAAA;AAAA;AACI,sDAAKD,SAASE;AADlB,gDAEQF,SAASM,cAFjB,EAGQN,SAASO,eAHjB;AAII,4DAAW,0CACJ,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADrC,EAJf;AAOM,qEAAWT,SAASM,cAAT,CAAwBxC,KAAnC,CAPN;AAQKO,uDAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AAR3B,0CADH;AAAA;AAJL,kCADkB;AAAA,8BAArB,CALL;AAwBKL,sCAASU;AAxBd,0BADH;AAAA;AADL,kBADJ;AA+BI;AAAC,iDAAD;AAAA,uBAAW,aAAY,YAAvB,EAAoC,WAAWvC,QAAM,iBAAN,GAAwB,UAAxB,GAAmC,YAAlF;AACK,+BAAC6B,QAAD,EAAWC,QAAX;AAAA,gCACG;AAAA;AAAA;AACI,sCAAKD,SAASE,QADlB;AAEI,4CAAW,0CACJ,oBAAS,OAAKzE,KAAd,EAAoBwE,SAASE,cAA7B,EAA6CC,IADzC,EAFf;AAKK,oCAAKvE,KAAL,CAAWgG,QAAX,CAAoBpF,GAApB,CAAwB,UAAC4D,IAAD,EAAO1D,KAAP;AAAA,wCACrB;AAAC,iEAAD;AAAA;AACI,8CAAK,MAAIA,KADb;AAEI,sDAAa,MAAIA,KAFrB;AAGI,gDAAOA,KAHX;AAIK,+CAACqD,QAAD,EAAWC,QAAX;AAAA,gDACG;AAAA;AAAA;AACI,sDAAKD,SAASE;AADlB,gDAEQF,SAASM,cAFjB,EAGQN,SAASO,eAHjB;AAII,4DAAW,0CACJ,oBAAS,OAAK9E,KAAd,EAAoBwE,SAASO,UAA7B,EAAyCC,IADrC,EAJf;AAOM,qEAAWT,SAASM,cAAT,CAAwBxC,KAAnC,CAPN;AAQKO,uDAAQgC,KAAKhC,OAAL,CAAR,GAAsBgC;AAR3B,0CADH;AAAA;AAJL,kCADqB;AAAA,8BAAxB,CALL;AAwBKL,sCAASU;AAxBd,0BADH;AAAA;AADL;AA/BJ;AALJ,UADJ;AAuEH,M;;;GAhKiBnE,gB;;sBAoKP8E,O;;;;;;;;;;;;;ACtMf;;;;;;sBAEenC,4B;;;;;;;ACFf;AACA;AACA;AACA;AACA;;;;;;;ACJA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,oBAAoB;AACzC;AACA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,QAAQ;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAuE,MAAM,aAAa;AAC1F;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAQ,yBAAyB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,QAAO,iDAAiD;AACxD;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACnmBA;;AAEA;AACA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,wCAAuC,UAAU;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B,yCAAwC;AACxC,yCAAwC;AACxC,yCAAwC;AACxC,yCAAwC;AACxC,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,QAAQ;AACpB;AACA,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAwC,WAAW;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB;AACA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,WAAW;AACvB;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,iBAAiB;AAC7B;AACA;AACA,yCAAwC,WAAW;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,WAAW;AACvB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C,WAAW;AACvD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,WAAW;AACvB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA,gCAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB;AACA;AACA,4EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,QAAQ;AACpB,aAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAA+C,MAAM,eAAe;AACpE,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,mCAAkC,aAAa;AAC/C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA,yCAAwC,WAAW;AACnD;AACA,oBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8C;;;;;;;ACjjBA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAY;AACZ;;AAEA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc,OAAO;AACrB,eAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA,4BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0DAAyD,6CAA6C;AACtG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAuB,yDAAyD;;AAEhF,sCAAqC,+BAA+B;AACpE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,yBAAwB;AACxB,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4B;;;;;;ACzfA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACNA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,iCAAiC;AACtD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oBAAoB,+BAA+B,gBAAgB;AAClH,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,6EAA6E;AAC/H;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,6DAA4D;AAC5D;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;;;;;;AClTA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,sDAAqD,SAAS,mEAAmE,EAAE;AACnI;AACA;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;;;;;;ACzHA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,oEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;;AAEA,qDAAoD,sCAAsC;AAC1F,MAAK;AACL;AACA,6DAA4D;AAC5D;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAqB,oBAAoB;AACzC;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gFAA+E;AAC/E;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAM,YAAY,QAAQ;AAC1B;;AAEA;AACA;;AAEA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAgB,8CAA8C;AAC9D,UAAS,uCAAuC;AAChD,cAAa;AACb;AACA;AACA;AACA;AACA,6C;;;;;;AClOA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY,OAAO,uCAAuC,uBAAuB;AACjF,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,uCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,OAAO;AACnB,aAAY,QAAQ;AACpB;AACA,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,SAAS;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD,iEAAgE,aAAa;AAC7E;;AAEA;AACA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;ACtFA;;AAEA;;AAEA,oDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F,+CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,kDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,sEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA,0DAAyD;AACzD,0DAAyD,0BAA0B;AACnF,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAqD,2DAA2D;AAChH;;AAEA,0EAAyE;AACzE;;AAEA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,E;;;;;;;;;;;;ACrFA;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMzE,K;;;;;;;;;;;;iJAEFwC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,SAAS,KAAKkB,OAAnB,EAA4B,QAAQ,KAAKI,MAAzC;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBL9B,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWME,K;;;;;;;;;;;;iJAEFsC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,MAAK,GAAV,EAAc,SAAS,KAAKkB,OAA5B,EAAqC,QAAQ,KAAKI,MAAlD;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBL5B,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFqC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACA,oBAAO,KAAP;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,QAAf;AACI;AAAC,mCAAD;AAAA,mBAAK,SAAS,KAAKkB,OAAnB,EAA6B,QAAQ,KAAKI,MAA1C;AACI;AAAA;AAAA,uBAAK,WAAU,YAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAlBed,gB;;sBAoBL3B,K;;;;;;;;;;;;;ACzBf;;;;AACA;;;;AACA;;;;;;;;;;;;gfATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFoC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBAED7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,QAAf;AACI;AAAA;AAAA;AACI;AAAC,uCAAD;AAAA,uBAAK,QAAO,SAAZ,EAAsB,SAAS,KAAKkB,OAApC,EAA6C,QAAQ,KAAKI,MAA1D;AACI;AAAA;AAAA,2BAAK,WAAU,YAAf;AAAA;AAEI;AAAA;AAAA,+BAAK,WAAU,QAAf;AAAwB,8DAAC,oBAAD,IAAM,MAAK,SAAX;AAAxB;AAFJ;AADJ;AADJ;AADJ,UADJ;AAcH,M;;;GAxBed,gB;;sBA2BL1B,K;;;;;;;;;;;;;AC9Bf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFmC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAC,mCAAD;AAAA,mBAAK,MAAM,CAAC,EAAD,EAAK,EAAL,CAAX,EAAqB,SAAS,KAAKkB,OAAnC,EAA6C,QAAQ,KAAKI,MAA1D;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBLzB,K;;;;;;;;;;;;;ACxBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,K;;;;;;;;;;;;iJAEFkC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA,eAAK,WAAU,OAAf;AACI;AAAC,mCAAD;AAAA,mBAAK,QAAQ,EAAC+F,KAAK,CAAC,EAAP,EAAWC,MAAM,CAAC,EAAlB,EAAsBC,OAAO,EAA7B,EAAiCC,QAAQ,EAAzC,EAAb,EAA2D,SAAS,KAAKhF,OAAzE,EAAkF,QAAQ,KAAKI,MAA/F;AACI;AAAA;AAAA,uBAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ,UADJ;AAQH,M;;;GAjBed,gB;;sBAoBLxB,K;;;;;;;;;;;;;ACvBf;;;;AACA;;;;AACA;;;;;;;;;;;;;AATA;;;;;;;KAWMC,K;;;;;;;;;;;;iJAEFiC,O,GAAQ,YAAI;AACR0E,qBAAQC,GAAR,CAAY,OAAZ;AACH,U,QACDvE,M,GAAO,YAAI;AACPsE,qBAAQC,GAAR,CAAY,MAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,gBACI;AAAA;AAAA;AACI;AAAA;AAAA,mBAAK,WAAU,cAAf;AACI;AAAC,uCAAD;AAAA,uBAAK,QAAO,eAAZ,EAA4B,SAAS,KAAKkB,OAA1C,EAAmD,QAAQ,KAAKI,MAAhE;AACI;AAAA;AAAA,2BAAK,WAAU,MAAf;AAAA;AAAA;AADJ;AADJ;AADJ,UADJ;AAWH,M;;;GApBed,gB;;sBAuBLvB,K;;;;;;;;;;;;;AC1Bf;;;;AACA;;;;;;;;;;;;gfAVA;;;;;;;;;KAYMC,K;;;;;;;;;;;;iJAEF8E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQtB,IAAR,EAAe;AACrB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDtE,Y,GAAa,UAACgC,MAAD,EAAU;AACnBqC,qBAAQC,GAAR,CAAY,QAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,aAAIiC,OAAK,CACL;AACIkE,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UADK,EAKL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UALK,EASL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UATK,EAaL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UAbK,EAiBL;AACIgG,mBAAK,IADT;AAEIhG,mBAAK;AAFT,UAjBK,CAAT;AAsBA,gBACI,iCAAC,kBAAD,IAAK,SAAQ,MAAb,EAAoB,MAAM8B,IAA1B,EAAgC,cAAc,KAAKV,YAAnD,EAAiE,SAAS,KAAKyC,WAA/E,EAA4F,QAAQ,KAAKH,SAAzG,GADJ;AAGH,M;;;GArCerD,gB;;sBAwCLtB,K;;;;;;;;;;;;;AC5Cf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,K;;;;;;;;;;;;iJAEF6E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQtB,IAAR,EAAe;AACrB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U;;;qBACD7F,M,qBAAS;AACL,aAAIiC,OAAK,CAAC;AAAA;AAAA;AAAA;AAAA,UAAD,EAAkB;AAAA;AAAA;AAAA;AAAA,UAAlB,EAAmC;AAAA;AAAA;AAAA;AAAA,UAAnC,EAAoD;AAAA;AAAA;AAAA;AAAA,UAApD,EAAqE;AAAA;AAAA;AAAA;AAAA,UAArE,CAAT;AACA,gBACG,iCAAC,kBAAD,IAAK,MAAMA,IAAX,EAAiB,SAAS,KAAK+B,WAA/B,EAA4C,QAAQ,KAAKH,SAAzD,GADH;AAGH,M;;;GAberD,gB;;sBAgBLrB,K;;;;;;;;;;;;;ACnBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMC,M;;;;;;;;;sBAEFY,M,qBAAS;AACL,aAAIiC,OAAK,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAT;AACA,gBACG,iCAAC,gBAAD,IAAK,MAAMA,IAAX,EAAiB,MAAK,YAAtB,GADH;AAGH,M;;;GAPgBzB,gB;;sBAUNpB,M;;;;;;;;;;;;;ACbf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMA,M;;;;;;;;;sBAEFY,M,qBAAS;AACL,aAAIoG,QAAM,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAV;AACA,aAAIC,QAAM,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,GAAb,EAAiB,GAAjB,CAAV;AACA,gBACG,iCAAC,gBAAD,IAAK,WAAU,QAAf,EAAwB,MAAMD,KAA9B,EAAqC,WAAWC,KAAhD,EAAuD,MAAK,iBAA5D,GADH;AAGH,M;;;GARgB7F,gB;;sBAWNpB,M;;;;;;;;;;;;;ACdf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;KAUMA,M;;;;;;;;;;;;iJACF4E,W,GAAY,UAACT,MAAD,EAAQtB,IAAR,EAAe;AACvB2D,qBAAQC,GAAR,CAAY,IAAZ;AACH,U,QACDhC,S,GAAU,UAACN,MAAD,EAAQ+C,OAAR,EAAkB;AACxBV,qBAAQC,GAAR,CAAY,IAAZ;AACAD,qBAAQC,GAAR,CAAYS,OAAZ;AACH,U;;;sBACDtG,M,qBAAS;AACL,aAAIoG,QAAM,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,CAAV;AACA,aAAIC,QAAM,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,GAAb,EAAiB,GAAjB,CAAV;AACA,gBACG,iCAAC,gBAAD,IAAK,MAAMD,KAAX,EAAkB,WAAWC,KAA7B,EAAoC,MAAK,mBAAzC,EAA6D,SAAS,KAAKrC,WAA3E,EAAwF,QAAQ,KAAKH,SAArG,GADH;AAGH,M;;;GAdgBrD,gB;;sBAiBNpB,M;;;;;;;;;;;;;ACpBf;;;;AACA;;;;;;;;;;;;;AARA;;;;;;;AAUA,KAAM+D,aAAanC,iBAAImC,UAAvB;;KAEM5D,M;;;;;;;;;sBACFS,M,qBAAS;AACL,aAAIuG,SAAS,CACT,EAACC,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EADS,EAET,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAFS,EAGT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAAiC,UAAQ,IAAzC,EAHS,EAIT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EAJS,EAKT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EALS,EAMT,EAACJ,GAAG,GAAJ,EAASC,GAAG,CAAZ,EAAeC,GAAG,CAAlB,EAAqBC,GAAG,CAAxB,EAA2BC,GAAG,CAA9B,EANS,CAAb;AAQA,gBACI;AAAC,uBAAD;AAAA,eAAY,WAAU,QAAtB,EAA+B,QAAQL,MAAvC,EAA+C,MAAM,CAArD,EAAwD,WAAW,EAAnE,EAAuE,OAAO,GAA9E;AACI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cADJ;AAEI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAFJ;AAGI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAHJ;AAII;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cAJJ;AAKI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA,cALJ;AAMI;AAAA;AAAA,mBAAK,KAAI,GAAT;AAAA;AAAA;AANJ,UADJ;AAUH,M;;;GApBgB/F,gB;;sBAuBNjB,M","file":"demo.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 13c53966cb9010e42460","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Con, Row, Col } from 'bee-layout';\r\nimport { Panel } from 'bee-panel';\r\nimport Drawer from 'bee-drawer';\r\nimport Clipboard from 'bee-clipboard'; \r\nimport Button from '../src';\r\n\r\n\r\n\r\nvar Demo1 = require(\"./demolist/Demo1\");var Demo2 = require(\"./demolist/Demo2\");var Demo3 = require(\"./demolist/Demo3\");var Demo4 = require(\"./demolist/Demo4\");var Demo5 = require(\"./demolist/Demo5\");var Demo6 = require(\"./demolist/Demo6\");var Demo7 = require(\"./demolist/Demo7\");var Demo8 = require(\"./demolist/Demo8\");var Demo9 = require(\"./demolist/Demo9\");var Demo90 = require(\"./demolist/Demo90\");var Demo91 = require(\"./demolist/Demo91\");var Demo92 = require(\"./demolist/Demo92\");var Demo93 = require(\"./demolist/Demo93\");var DemoArray = [{\"example\": ,\"title\":\" 基础拖拽\",\"code\":\"\\n/**\\n *\\n * @title 基础拖拽\\n * @description 将某个元素设置为可拖拽\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\n\\nclass Demo1 extends Component {\\n\\n onStart=()=>{\\n console.log('start');\\n }\\n onStop=()=>{\\n console.log('stop');\\n }\\n render() {\\n return (\\n \\n\\n );\\n }\\n}\\n\\n\",\"desc\":\" 将某个元素设置为可拖拽\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 单个元素沿x轴y轴拖拽\",\"code\":\"\\n/**\\n *\\n * @title 单个元素沿x轴y轴拖拽\\n * @description 设置axis=\\\"x\\\"只可以沿着x轴拖拽,同理axis=\\\"y\\\"只可以沿着y轴拖拽\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\n\\nclass Demo2 extends Component {\\n\\n onStart=()=>{\\n console.log('start');\\n }\\n onStop=()=>{\\n console.log('stop');\\n }\\n render() {\\n return (\\n \\n\\n );\\n }\\n}\\n\\n\",\"desc\":\" 设置axis=\\\"x\\\"只可以沿着x轴拖拽,同理axis=\\\"y\\\"只可以沿着y轴拖拽\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 设置元素不可拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 设置元素不可拖拽\\r\\n * @description 设置 onStart 的返回值为false,则不可以拖拽\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo3 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n return false;\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我不可以拖拽
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\",\"desc\":\" 设置 onStart 的返回值为false,则不可以拖拽\",\"scss_code\":\".demo-3{\\r\\n .demo3:hover{\\r\\n background:rgba(247,249,251,1);\\r\\n cursor: not-allowed;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 单个元素拖拽把手\",\"code\":\"/**\\r\\n *\\r\\n * @title 单个元素拖拽把手\\r\\n * @description 设置 handle,值为选择器,例如 '.handle'\\r\\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Icon } from 'tinper-bee';\\r\\n\\r\\nclass Demo4 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n 需要拖拽把手\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 handle,值为选择器,例如 '.handle'\",\"scss_code\":\"\\r\\n.demo-4 .demo4 {\\r\\n position: relative;\\r\\n cursor: default;\\r\\n &:hover{\\r\\n background:rgba(247,249,251,1);\\r\\n cursor: default;\\r\\n }\\r\\n}\\r\\n\\r\\n.demo4 .handle {\\r\\n position: absolute;\\r\\n right: -1px;\\r\\n top: -1px;\\r\\n height: 32px;\\r\\n line-height: 30px;\\r\\n background:rgba(223,225,230,1);\\r\\n border-radius:0px 3px 3px 0px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(179,186,197,1);\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo4 .handle{\\r\\n background:rgba(179,186,197,1);\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 每次拖拽移动距离\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 每次拖拽移动距离\\r\\n * @description 设置 grid={[x,y]}\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo5 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我每次拖拽可移动25px
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 grid={[x,y]}\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\"},{\"example\": ,\"title\":\" 元素拖拽范围\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 元素拖拽范围\\r\\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\r\\n\\r\\nclass Demo6 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n 我只能再上下左右50px内移动
\\r\\n \\r\\n
\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\\r\\n.demo6{\\r\\n height: 100px;\\r\\n}\"},{\"example\": ,\"title\":\" 在指定容器中拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 在指定容器中拖拽\\r\\n * @description 设置只可以在指定容器中移动\\r\\n * bounds的也可以设置为选择器,bounds=\\\".demo8-parent\\\"意为在class=demo8-parent的容器中移动\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\n\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\nimport { Button } from 'tinper-bee';\\r\\n\\r\\nclass Demo7 extends Component {\\r\\n\\r\\n onStart=()=>{\\r\\n console.log('start');\\r\\n }\\r\\n onStop=()=>{\\r\\n console.log('stop');\\r\\n }\\r\\n render() {\\r\\n return (\\r\\n \\r\\n
\\r\\n
\\r\\n 我只能在父级元素中移动
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置只可以在指定容器中移动\",\"scss_code\":\".demo {\\r\\n width:167px;\\r\\n height:32px;\\r\\n background:rgba(247,249,251,1);\\r\\n border-radius:3px;\\r\\n border:1px solid rgba(165,173,186,1);\\r\\n line-height: 32px;\\r\\n font-size: 12px;\\r\\n color: #212121;\\r\\n text-align: center;\\r\\n cursor: grab;\\r\\n &:hover{\\r\\n background:rgba(235,236,240,1);\\r\\n border-radius:3px;\\r\\n }\\r\\n}\\r\\n/*拖动状态*/\\r\\n.react-draggable-transparent-selection{\\r\\n .demo{\\r\\n box-shadow:0px 2px 4px 0px rgba(31,37,52,0.3);\\r\\n opacity:0.8;\\r\\n cursor: grabbing;\\r\\n }\\r\\n}\\r\\n\\r\\n.demo7-parent {\\r\\n width: 300px;\\r\\n height: 200px;\\r\\n background: rgba(247,249,251,1);\\r\\n border: 1px solid rgba(235,236,240,1);\\r\\n position: relative;\\r\\n}\"},{\"example\": ,\"title\":\" 数据集合拖拽列表排序\",\"code\":\"/**\\n *\\n * @title 数据集合拖拽列表排序\\n * @description 增加list 可以为 [1,2,3]数组,\\n * 也可以为 [{},{}...],需要配置 showKey 。\\n * 也可以为 dom集合,见后边示例\\n *\\n */\\n\\nimport React, { Component } from 'react';\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\n\\nclass Demo8 extends Component {\\n \\n onDragStart=(result,list)=>{\\n console.log('开始');\\n }\\n onDragEnd=(result,list)=>{ \\n console.log('结束');\\n }\\n onDragUpdate=(result)=>{\\n console.log('update')\\n }\\n render() {\\n let list=[\\n {\\n name:'第一',\\n code:'a'\\n },\\n {\\n name:'第二',\\n code:'b'\\n },\\n {\\n name:'第三',\\n code:'c'\\n },\\n {\\n name:'第四',\\n code:'d'\\n },\\n {\\n name:'第五',\\n code:'e'\\n },\\n ];\\n return (\\n \\n );\\n }\\n}\\n\\n\",\"desc\":\" 增加list 可以为 [1,2,3]数组,\",\"scss_code\":\"\"},{\"example\": ,\"title\":\" DOM集合拖拽列表排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title DOM集合拖拽列表排序\\r\\n * @description list传dom集合\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";\\r\\n\\r\\nclass Demo9 extends Component {\\r\\n\\r\\n onDragStart=(result,list)=>{\\r\\n console.log('开始');\\r\\n }\\r\\n onDragEnd=(result,list)=>{\\r\\n console.log('结束');\\r\\n }\\r\\n render() {\\r\\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" list传dom集合\"},{\"example\": ,\"title\":\" 横向拖拽列表排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 横向拖拽列表排序\\r\\n * @description type='horizontal'\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n\\r\\n render() {\\r\\n let list=['第一','第二','第三','第四','第五'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" type='horizontal'\"},{\"example\": ,\"title\":\" 两列纵向拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 两列纵向拖拽\\r\\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n\\r\\n render() {\\r\\n let list1=['第一','第二','第三','第四','第五'];\\r\\n let list2=['1','2','3','4','5'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\",\"scss_code\":\".u-drop{\\r\\n overflow: scroll;\\r\\n}\\r\\n.u-drag-between{\\r\\n height: 300px;\\r\\n}\"},{\"example\": ,\"title\":\" 两列横向拖拽\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 两列横向拖拽\\r\\n * @description 设置 type='betweenVertical'\\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nclass Demo90 extends Component {\\r\\n onDragStart=(result,list)=>{\\r\\n console.log('开始');\\r\\n }\\r\\n onDragEnd=(result,listObj)=>{\\r\\n console.log('结束');\\r\\n console.log(listObj)\\r\\n }\\r\\n render() {\\r\\n let list1=['第一','第二','第三','第四','第五'];\\r\\n let list2=['1','2','3','4','5'];\\r\\n return (\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" 设置 type='betweenVertical'\",\"scss_code\":\".u-drop{\\r\\n overflow: scroll;\\r\\n}\\r\\n.u-drag-between-horizontal{\\r\\n height: 200px;\\r\\n}\"},{\"example\": ,\"title\":\" 网格排序\",\"code\":\"\\r\\n/**\\r\\n *\\r\\n * @title 网格排序\\r\\n * @description \\r\\n *\\r\\n */\\r\\n\\r\\nimport React, { Component } from 'react';\\nimport { } from 'tinper-bee';\\r\\nimport Dnd from \\\"tinper-bee/lib/Dnd\\\";;\\r\\n\\r\\nconst GridLayout = Dnd.GridLayout;\\r\\n\\r\\nclass Demo93 extends Component {\\r\\n render() {\\r\\n let layout = [\\r\\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\\r\\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\\r\\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\\r\\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\\r\\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\\r\\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\\r\\n ];\\r\\n return (\\r\\n \\r\\n a
\\r\\n b
\\r\\n static
\\r\\n d
\\r\\n e
\\r\\n f
\\r\\n \\r\\n );\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"desc\":\" \",\"scss_code\":\".layout{\\r\\n background: #f7f9fb;\\r\\n border: 1px solid #ebecf0;\\r\\n padding: 12px;\\r\\n color: #212121;\\r\\n div{\\r\\n margin: 4px;\\r\\n background: white;\\r\\n border-radius: 3px;\\r\\n border: 1px solid #a5adba;\\r\\n padding: 6px 0;\\r\\n font-size: 12px;\\r\\n text-align: center;\\r\\n }\\r\\n}\"}]\n\r\n\r\nclass Demo extends Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n open: false\r\n }\r\n }\r\n handleClick=()=> {\r\n this.setState({ open: !this.state.open })\r\n }\r\n fCloseDrawer=()=>{\r\n this.setState({\r\n open: false\r\n })\r\n }\r\n\r\n render () {\r\n const { title, example, code, desc, scss_code } = this.props;\r\n\r\n const header = (\r\n \r\n
{ title }
\r\n
{ desc }
\r\n
查看源码 \r\n
\r\n );\r\n return (\r\n \r\n \r\n {example}\r\n \r\n \r\n \r\n JS代码 \r\n \r\n
\r\n \r\n { code }
\r\n \r\n {!!scss_code ? SCSS代码 \r\n \r\n
:null }\r\n { !!scss_code ? \r\n { scss_code }
\r\n : null }\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nclass DemoGroup extends Component {\r\n constructor(props){\r\n super(props)\r\n }\r\n render () {\r\n return (\r\n \r\n {DemoArray.map((child,index) => {\r\n\r\n return (\r\n \r\n )\r\n\r\n })}\r\n
\r\n )\r\n }\r\n}\r\n\r\nReactDOM.render( , document.getElementById('tinperBeeDemo'));\r\n\n\n\n// WEBPACK FOOTER //\n// ./demo/index.js","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 2\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Con = exports.Row = exports.Col = undefined;\n\nvar _Col2 = require('./Col');\n\nvar _Col3 = _interopRequireDefault(_Col2);\n\nvar _Row2 = require('./Row');\n\nvar _Row3 = _interopRequireDefault(_Row2);\n\nvar _Layout = require('./Layout');\n\nvar _Layout2 = _interopRequireDefault(_Layout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Col = _Col3[\"default\"];\nexports.Row = _Row3[\"default\"];\nexports.Con = _Layout2[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/index.js\n// module id = 3\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n\n /**\n * xs显示列数\n */\n xs: _propTypes2[\"default\"].number,\n /**\n * sm显示列数\n */\n sm: _propTypes2[\"default\"].number,\n /**\n * md显示列数\n */\n md: _propTypes2[\"default\"].number,\n /**\n * lg显示列数\n */\n lg: _propTypes2[\"default\"].number,\n /**\n * xs偏移列数\n */\n xsOffset: _propTypes2[\"default\"].number,\n /**\n * sm偏移列数\n */\n smOffset: _propTypes2[\"default\"].number,\n /**\n * md偏移列数\n */\n mdOffset: _propTypes2[\"default\"].number,\n /**\n * lg偏移列数\n */\n lgOffset: _propTypes2[\"default\"].number,\n /**\n * xs右偏移列数\n */\n xsPush: _propTypes2[\"default\"].number,\n /**\n * sm右偏移列数\n */\n smPush: _propTypes2[\"default\"].number,\n /**\n * md右偏移列数\n */\n mdPush: _propTypes2[\"default\"].number,\n /**\n * lg右偏移列数\n */\n lgPush: _propTypes2[\"default\"].number,\n /**\n * xs左偏移列数\n */\n xsPull: _propTypes2[\"default\"].number,\n /**\n * sm左偏移列数\n */\n smPull: _propTypes2[\"default\"].number,\n /**\n * md左偏移列数\n */\n mdPull: _propTypes2[\"default\"].number,\n /**\n * lg左偏移列数\n */\n lgPull: _propTypes2[\"default\"].number\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-col'\n};\n\nvar DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\n\nvar Col = function (_Component) {\n _inherits(Col, _Component);\n\n function Col() {\n _classCallCheck(this, Col);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Col.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);\n\n var tbClass = [];\n /**\n * 对传入props做样式转化\n * @type {[type]}\n */\n DEVICE_SIZES.forEach(function (size) {\n function popProp(propSuffix, modifier) {\n var propName = '' + size + propSuffix;\n var propValue = others[propName];\n\n if (propValue != undefined && propValue != null) {\n tbClass.push(clsPrefix + '-' + size + modifier + '-' + propValue);\n }\n\n delete others[propName];\n }\n\n popProp('', '');\n popProp('Offset', '-offset');\n popProp('Push', '-push');\n popProp('Pull', '-pull');\n });\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({\n className: (0, _classnames2[\"default\"])(tbClass, className)\n }, others),\n this.props.children\n );\n };\n\n return Col;\n}(_react.Component);\n\nCol.defaultProps = defaultProps;\nCol.propTypes = propTypes;\n\nexports[\"default\"] = Col;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Col.js\n// module id = 4\n// module chunks = 0","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/classnames/index.js\n// module id = 5\n// module chunks = 0","module.exports = PropTypes;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"PropTypes\"\n// module id = 6\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-row'\n};\n\nvar Row = function (_Component) {\n _inherits(Row, _Component);\n\n function Row() {\n _classCallCheck(this, Row);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Row.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var bsclass = '' + clsPrefix;\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(bsclass, className)\n }),\n this.props.children\n );\n };\n\n return Row;\n}(_react.Component);\n\nRow.propTypes = propTypes;\nRow.defaultProps = defaultProps;\n\nexports[\"default\"] = Row;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Row.js\n// module id = 7\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Adds `container-fluid` class.\n */\n fluid: _propTypes2[\"default\"].bool,\n /**\n * You can use a custom element for this component\n */\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n componentClass: 'div',\n fluid: false,\n clsPrefix: 'u-container'\n};\n\nvar Con = function (_React$Component) {\n _inherits(Con, _React$Component);\n\n function Con() {\n _classCallCheck(this, Con);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Con.prototype.render = function render() {\n var _tbclass;\n\n var _props = this.props,\n fluid = _props.fluid,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n others = _objectWithoutProperties(_props, ['fluid', 'componentClass', 'clsPrefix', 'className']);\n\n var tbclass = (_tbclass = {}, _defineProperty(_tbclass, '' + clsPrefix, !fluid), _defineProperty(_tbclass, clsPrefix + '-fluid', fluid), _tbclass);\n\n return _react2[\"default\"].createElement(\n Component,\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(tbclass, className)\n }),\n this.props.children\n );\n };\n\n return Con;\n}(_react2[\"default\"].Component);\n\nCon.propTypes = propTypes;\nCon.defaultProps = defaultProps;\n\nexports[\"default\"] = Con;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-layout/build/Layout.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PanelGroup = exports.Panel = undefined;\n\nvar _Panel2 = require('./Panel');\n\nvar _Panel3 = _interopRequireDefault(_Panel2);\n\nvar _PanelGroup2 = require('./PanelGroup');\n\nvar _PanelGroup3 = _interopRequireDefault(_PanelGroup2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Panel = _Panel3[\"default\"];\nexports.PanelGroup = _PanelGroup3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/index.js\n// module id = 9\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeTransition = require('bee-transition');\n\nvar _beeMessage = require('bee-message');\n\nvar _beeMessage2 = _interopRequireDefault(_beeMessage);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _copyToClipboard = require('copy-to-clipboard');\n\nvar _copyToClipboard2 = _interopRequireDefault(_copyToClipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否添加折叠\n collapsible: _propTypes2[\"default\"].bool,\n onSelect: _propTypes2[\"default\"].func,\n //头部组件\n header: _propTypes2[\"default\"].node,\n headerStyle: _propTypes2[\"default\"].object,\n id: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n headerContent: _propTypes2[\"default\"].bool,\n //footer组件\n footer: _propTypes2[\"default\"].node,\n footerStyle: _propTypes2[\"default\"].object,\n //默认是否打开\n defaultExpanded: _propTypes2[\"default\"].bool,\n //是否打开\n expanded: _propTypes2[\"default\"].bool,\n //每个panel的标记\n eventKey: _propTypes2[\"default\"].any,\n headerRole: _propTypes2[\"default\"].string,\n panelRole: _propTypes2[\"default\"].string,\n //颜色\n colors: _propTypes2[\"default\"].oneOf(['primary', 'accent', 'success', 'info', 'warning', 'danger', 'default', 'bordered']),\n\n // From Collapse.的扩展动画\n onEnter: _propTypes2[\"default\"].func,\n onEntering: _propTypes2[\"default\"].func,\n onEntered: _propTypes2[\"default\"].func,\n onExit: _propTypes2[\"default\"].func,\n onExiting: _propTypes2[\"default\"].func,\n onExited: _propTypes2[\"default\"].func,\n //是否可复制内容\n copyable: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n defaultExpanded: false,\n clsPrefix: \"u-panel\",\n colors: \"default\"\n};\n\nvar Panel = function (_React$Component) {\n _inherits(Panel, _React$Component);\n\n function Panel(props, context) {\n _classCallCheck(this, Panel);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleClickTitle = _this.handleClickTitle.bind(_this);\n\n _this.state = {\n expanded: _this.props.defaultExpanded\n };\n return _this;\n }\n\n //头部点击事件\n\n\n Panel.prototype.handleClickTitle = function handleClickTitle(e) {\n // 不让事件进入事件池\n e.persist();\n e.selected = true;\n\n if (this.props.onSelect) {\n this.props.onSelect(this.props.eventKey, e);\n } else {\n e.preventDefault();\n }\n\n if (e.selected) {\n this.setState({ expanded: !this.state.expanded });\n }\n };\n\n //渲染panelheader\n\n\n Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, clsPrefix) {\n var titleClassName = clsPrefix + '-title';\n\n if (!collapsible) {\n if (!_react2[\"default\"].isValidElement(header)) {\n return header;\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n if (!_react2[\"default\"].isValidElement(header)) {\n return _react2[\"default\"].createElement(\n 'h4',\n { role: 'presentation', className: titleClassName },\n this.renderAnchor(header, id, role, expanded)\n );\n }\n if (this.props.headerContent) {\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName)\n });\n }\n\n return (0, _react.cloneElement)(header, {\n className: (0, _classnames2[\"default\"])(header.props.className, titleClassName),\n children: this.renderAnchor(header.props.children, id, role, expanded)\n });\n };\n\n //如果使用链接,渲染为a标签\n\n\n Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) {\n return _react2[\"default\"].createElement(\n 'a',\n {\n role: role,\n href: id && '#' + id,\n 'aria-controls': id,\n 'aria-expanded': expanded,\n 'aria-selected': expanded,\n className: expanded ? null : 'collapsed'\n },\n header\n );\n };\n\n //复制代码,弹出提示信息\n\n\n Panel.prototype.copyDemo = function copyDemo(e) {\n var panelTarget = e.target.parentNode;\n var clipBoardContent = panelTarget.firstChild.innerText;\n (0, _copyToClipboard2[\"default\"])(clipBoardContent);\n _beeMessage2[\"default\"].create({ content: '复制成功!', color: 'success', duration: 2 });\n };\n\n //如果有折叠动画,渲染折叠动画\n\n\n Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, clsPrefix, copyable, animationHooks) {\n return _react2[\"default\"].createElement(\n _beeTransition.Collapse,\n _extends({ 'in': expanded }, animationHooks),\n _react2[\"default\"].createElement(\n 'div',\n {\n id: id,\n role: role,\n className: clsPrefix + '-collapse',\n 'aria-hidden': !expanded\n },\n this.renderBody(children, clsPrefix, copyable)\n )\n );\n };\n\n //渲染panelbody\n\n\n Panel.prototype.renderBody = function renderBody(rawChildren, clsPrefix, copyable) {\n var self = this;\n var children = [];\n var bodyChildren = [];\n\n var bodyClassName = clsPrefix + '-body';\n //添加到body的children中\n function maybeAddBody(self) {\n if (!bodyChildren.length) {\n return;\n }\n // 给子组件添加key,为了之后触发事件时使用\n children.push(_react2[\"default\"].createElement(\n 'div',\n { key: children.length, className: bodyClassName },\n bodyChildren,\n copyable && _react2[\"default\"].createElement('i', { className: 'uf uf-files-o', onClick: self.copyDemo })\n ));\n bodyChildren = [];\n }\n\n //转换为数组,方便复用\n _react2[\"default\"].Children.toArray(rawChildren).forEach(function (child) {\n if (_react2[\"default\"].isValidElement(child) && child.props.fill) {\n maybeAddBody(self);\n\n //将标示fill设置为undefined\n children.push((0, _react.cloneElement)(child, { fill: undefined }));\n\n return;\n }\n bodyChildren.push(child);\n });\n\n maybeAddBody(self);\n\n return children;\n };\n\n Panel.prototype.render = function render() {\n var _props = this.props,\n collapsible = _props.collapsible,\n header = _props.header,\n id = _props.id,\n footer = _props.footer,\n propsExpanded = _props.expanded,\n footerStyle = _props.footerStyle,\n headerStyle = _props.headerStyle,\n headerRole = _props.headerRole,\n panelRole = _props.panelRole,\n className = _props.className,\n colors = _props.colors,\n children = _props.children,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n clsPrefix = _props.clsPrefix,\n onExit = _props.onExit,\n headerContent = _props.headerContent,\n onExiting = _props.onExiting,\n onExited = _props.onExited,\n defaultExpanded = _props.defaultExpanded,\n eventKey = _props.eventKey,\n onSelect = _props.onSelect,\n copyable = _props.copyable,\n props = _objectWithoutProperties(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'footerStyle', 'headerStyle', 'headerRole', 'panelRole', 'className', 'colors', 'children', 'onEnter', 'onEntering', 'onEntered', 'clsPrefix', 'onExit', 'headerContent', 'onExiting', 'onExited', 'defaultExpanded', 'eventKey', 'onSelect', 'copyable']);\n\n var expanded = propsExpanded != null ? propsExpanded : this.state.expanded;\n\n var classes = {};\n classes['' + clsPrefix] = true;\n classes[clsPrefix + '-' + colors] = true;\n\n var headerClass = _defineProperty({}, clsPrefix + '-heading', true);\n\n copyable === false ? false : true;\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes),\n id: collapsible ? null : id\n }),\n header && _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(headerClass), style: headerStyle, onClick: this.handleClickTitle },\n this.renderHeader(collapsible, header, id, headerRole, expanded, clsPrefix)\n ),\n collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, clsPrefix, copyable, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, clsPrefix, copyable),\n footer && _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-footer', style: footerStyle },\n footer\n )\n );\n };\n\n return Panel;\n}(_react2[\"default\"].Component);\n\nPanel.propTypes = propTypes;\nPanel.defaultProps = defaultProps;\n\nexports[\"default\"] = Panel;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/Panel.js\n// module id = 10\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Fade = exports.Collapse = exports.Transition = undefined;\n\nvar _Transition2 = require('./Transition');\n\nvar _Transition3 = _interopRequireDefault(_Transition2);\n\nvar _Collapse2 = require('./Collapse');\n\nvar _Collapse3 = _interopRequireDefault(_Collapse2);\n\nvar _Fade2 = require('./Fade');\n\nvar _Fade3 = _interopRequireDefault(_Fade2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Transition = _Transition3[\"default\"];\nexports.Collapse = _Collapse3[\"default\"];\nexports.Fade = _Fade3[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/index.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar transitionEndEvent = _properties2[\"default\"].end;\n\n//设置状态码\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\nvar propTypes = {\n /**\n * 是否触发动画\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * 不显示的时候是否移除组件\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * 如果设置为默认显示,挂载时显示动画\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * 设置超时时间,防止出现问题,可设置为>=动画时间\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * 退出组件时添加的class\n */\n exitedClassName: _propTypes2[\"default\"].string,\n /**\n * 退出组件中添加的class\n */\n exitingClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画后添加的class\n */\n enteredClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画时添加的class\n */\n enteringClassName: _propTypes2[\"default\"].string,\n\n /**\n * 进入动画开始时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * 进入动画中的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * 进入动画后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * 退出动画开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * 退出动画中的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * 退出动画后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n \"in\": false,\n unmountOnExit: false,\n transitionAppear: false,\n timeout: 5000,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\n/**\n * 动画组件\n */\n\nvar Transition = function (_Component) {\n _inherits(Transition, _Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n var initialStatus = void 0;\n if (props[\"in\"]) {\n // 在componentdidmount时开始执行动画\n initialStatus = props.transitionAppear ? EXITED : ENTERED;\n } else {\n initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;\n }\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n if (this.props.transitionAppear && this.props[\"in\"]) {\n this.performEnter(this.props);\n }\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps[\"in\"] && this.props.unmountOnExit) {\n if (this.state.status === UNMOUNTED) {\n // 在componentDidUpdate执行动画.\n this.setState({ status: EXITED });\n }\n } else {\n this._needsUpdate = true;\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n var status = this.state.status;\n\n if (this.props.unmountOnExit && status === EXITED) {\n // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态\n if (this.props[\"in\"]) {\n this.performEnter(this.props);\n } else {\n this.setState({ status: UNMOUNTED });\n }\n\n return;\n }\n\n // 确保只响应prop变化\n if (this._needsUpdate) {\n this._needsUpdate = false;\n\n if (this.props[\"in\"]) {\n if (status === EXITING) {\n this.performEnter(this.props);\n } else if (status === EXITED) {\n this.performEnter(this.props);\n }\n // 其他,当我们已经输入或输出\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.performExit(this.props);\n }\n // 我们已经输入或输出完成\n }\n }\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.performEnter = function performEnter(props) {\n var _this2 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n // 这里接收新props\n props.onEnter(node);\n\n this.safeSetState({ status: ENTERING }, function () {\n _this2.props.onEntering(node);\n\n _this2.onTransitionEnd(node, function () {\n _this2.safeSetState({ status: ENTERED }, function () {\n _this2.props.onEntered(node);\n });\n });\n });\n };\n\n Transition.prototype.performExit = function performExit(props) {\n var _this3 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n props.onExit(node);\n\n this.safeSetState({ status: EXITING }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, function () {\n _this3.safeSetState({ status: EXITED }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n Transition.prototype.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n Transition.prototype.safeSetState = function safeSetState(nextState, callback) {\n // 确保在组件销毁后挂起的setState被消除\n this.setState(nextState, this.setNextCallback(callback));\n };\n\n Transition.prototype.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {\n this.setNextCallback(handler);\n\n if (node) {\n if (transitionEndEvent == undefined) {\n this.nextCallback();\n } else {\n (0, _on2[\"default\"])(node, transitionEndEvent, this.nextCallback);\n }\n setTimeout(this.nextCallback, this.props.timeout);\n } else {\n setTimeout(this.nextCallback, 0);\n }\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2[\"default\"].Children.only(children);\n return _react2[\"default\"].cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2[\"default\"])(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react.Component);\n\nTransition.propTypes = propTypes;\n\nTransition.defaultProps = defaultProps;\n\nexports[\"default\"] = Transition;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Transition.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/properties.js\n// module id = 13\n// module chunks = 0","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/interopRequireDefault.js\n// module id = 14\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/inDOM.js\n// module id = 15\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar on = function on() {};\n\nif (_inDOM.default) {\n on = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nvar _default = on;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/on.js\n// module id = 16\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nvar _capitalize = require('./util/capitalize');\n\nvar _capitalize2 = _interopRequireDefault(_capitalize);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\n// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nfunction triggerBrowserReflow(node) {\n node.offsetHeight; // eslint-disable-line no-unused-expressions\n}\n\nfunction getDimensionValue(dimension, elem) {\n var value = elem['offset' + (0, _capitalize2[\"default\"])(dimension)];\n var margins = MARGINS[dimension];\n\n return value + parseInt((0, _style2[\"default\"])(elem, margins[0]), 10) + parseInt((0, _style2[\"default\"])(elem, margins[1]), 10);\n}\n\nvar propTypes = {\n /**\n * Show the component; triggers the expand or collapse animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is collapsed\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the expand animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the collapse animation in milliseconds, to ensure that\n * finishing callbacks are fired even if the original browser transition end\n * events are canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component expands\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to expand\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has expanded\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component collapses\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to collapse\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has collapsed\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * The dimension used when collapsing, or a function that returns the\n * dimension\n *\n * _Note: Bootstrap only partially supports 'width'!\n * You will need to supply your own CSS animation for the `.width` CSS class._\n */\n dimension: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].oneOf(['height', 'width']), _propTypes2[\"default\"].func]),\n\n /**\n * Function that returns the height or width of the animating DOM node\n *\n * Allows for providing some custom logic for how much the Collapse component\n * should animate in its specified dimension. Called with the current\n * dimension prop value and the DOM node.\n */\n getDimensionValue: _propTypes2[\"default\"].func,\n\n /**\n * ARIA role of collapsible element\n */\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false,\n\n dimension: 'height',\n getDimensionValue: getDimensionValue\n};\n\nvar Collapse = function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n function Collapse(props, context) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleEnter = _this.handleEnter.bind(_this);\n _this.handleEntering = _this.handleEntering.bind(_this);\n _this.handleEntered = _this.handleEntered.bind(_this);\n _this.handleExit = _this.handleExit.bind(_this);\n _this.handleExiting = _this.handleExiting.bind(_this);\n return _this;\n }\n\n /* -- Expanding -- */\n\n\n Collapse.prototype.handleEnter = function handleEnter(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype.handleEntering = function handleEntering(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this._getScrollDimensionValue(elem, dimension);\n };\n\n Collapse.prototype.handleEntered = function handleEntered(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = null;\n };\n\n /* -- Collapsing -- */\n\n\n Collapse.prototype.handleExit = function handleExit(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px';\n triggerBrowserReflow(elem);\n };\n\n Collapse.prototype.handleExiting = function handleExiting(elem) {\n var dimension = this._dimension();\n elem.style[dimension] = '0';\n };\n\n Collapse.prototype._dimension = function _dimension() {\n return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;\n };\n\n // for testing\n\n\n Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {\n return elem['scroll' + (0, _capitalize2[\"default\"])(dimension)] + 'px';\n };\n\n Collapse.prototype.render = function render() {\n var _props = this.props,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered,\n onExit = _props.onExit,\n onExiting = _props.onExiting,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']);\n\n delete props.dimension;\n delete props.getDimensionValue;\n\n var handleEnter = (0, _tinperBeeCore.createChainedFunction)(this.handleEnter, onEnter);\n var handleEntering = (0, _tinperBeeCore.createChainedFunction)(this.handleEntering, onEntering);\n var handleEntered = (0, _tinperBeeCore.createChainedFunction)(this.handleEntered, onEntered);\n var handleExit = (0, _tinperBeeCore.createChainedFunction)(this.handleExit, onExit);\n var handleExiting = (0, _tinperBeeCore.createChainedFunction)(this.handleExiting, onExiting);\n\n var classes = {\n width: this._dimension() === 'width'\n };\n\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, props, {\n 'aria-expanded': props.role ? props[\"in\"] : null,\n className: (0, _classnames2[\"default\"])(className, classes),\n exitedClassName: 'collapse',\n exitingClassName: 'collapsing',\n enteredClassName: 'collapse in',\n enteringClassName: 'collapsing',\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }));\n };\n\n return Collapse;\n}(_react2[\"default\"].Component);\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\n\nexports[\"default\"] = Collapse;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Collapse.js\n// module id = 17\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar _hyphenateStyle = _interopRequireDefault(require(\"../util/hyphenateStyle\"));\n\nvar _getComputedStyle2 = _interopRequireDefault(require(\"./getComputedStyle\"));\n\nvar _removeStyle = _interopRequireDefault(require(\"./removeStyle\"));\n\nvar _properties = require(\"../transition/properties\");\n\nvar _isTransform = _interopRequireDefault(require(\"../transition/isTransform\"));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/index.js\n// module id = 18\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = camelizeStyleName;\n\nvar _camelize = _interopRequireDefault(require(\"./camelize\"));\n\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nvar msPattern = /^-ms-/;\n\nfunction camelizeStyleName(string) {\n return (0, _camelize.default)(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelizeStyle.js\n// module id = 19\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/camelize.js\n// module id = 20\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(require(\"./hyphenate\"));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenateStyle.js\n// module id = 21\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/hyphenate.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/getComputedStyle.js\n// module id = 23\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/style/removeStyle.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/transition/isTransform.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = capitalize;\nfunction capitalize(string) {\n return \"\" + string.charAt(0).toUpperCase() + string.slice(1);\n}\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/util/capitalize.js\n// module id = 26\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.Align = exports.toArray = exports.cssAnimation = exports.addEventListener = exports.contains = exports.KeyCode = exports.createChainedFunction = exports.splitComponent = exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;\r\n\r\nvar _all2 = require('./all');\r\n\r\nvar _all3 = _interopRequireDefault(_all2);\r\n\r\nvar _componentOrElement2 = require('./componentOrElement');\r\n\r\nvar _componentOrElement3 = _interopRequireDefault(_componentOrElement2);\r\n\r\nvar _deprecated2 = require('./deprecated');\r\n\r\nvar _deprecated3 = _interopRequireDefault(_deprecated2);\r\n\r\nvar _elementType2 = require('./elementType');\r\n\r\nvar _elementType3 = _interopRequireDefault(_elementType2);\r\n\r\nvar _isRequiredForA11y2 = require('./isRequiredForA11y');\r\n\r\nvar _isRequiredForA11y3 = _interopRequireDefault(_isRequiredForA11y2);\r\n\r\nvar _splitComponent2 = require('./splitComponent');\r\n\r\nvar _splitComponent3 = _interopRequireDefault(_splitComponent2);\r\n\r\nvar _createChainedFunction2 = require('./createChainedFunction');\r\n\r\nvar _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2);\r\n\r\nvar _keyCode = require('./keyCode');\r\n\r\nvar _keyCode2 = _interopRequireDefault(_keyCode);\r\n\r\nvar _contains2 = require('./contains');\r\n\r\nvar _contains3 = _interopRequireDefault(_contains2);\r\n\r\nvar _addEventListener2 = require('./addEventListener');\r\n\r\nvar _addEventListener3 = _interopRequireDefault(_addEventListener2);\r\n\r\nvar _cssAnimation2 = require('./cssAnimation');\r\n\r\nvar _cssAnimation3 = _interopRequireDefault(_cssAnimation2);\r\n\r\nvar _toArray2 = require('./toArray');\r\n\r\nvar _toArray3 = _interopRequireDefault(_toArray2);\r\n\r\nvar _Align2 = require('./Align');\r\n\r\nvar _Align3 = _interopRequireDefault(_Align2);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nexports.all = _all3.default;\r\nexports.componentOrElement = _componentOrElement3.default;\r\nexports.deprecated = _deprecated3.default;\r\nexports.elementType = _elementType3.default;\r\nexports.isRequiredForA11y = _isRequiredForA11y3.default;\r\nexports.splitComponent = _splitComponent3.default;\r\nexports.createChainedFunction = _createChainedFunction3.default;\r\nexports.KeyCode = _keyCode2.default;\r\nexports.contains = _contains3.default;\r\nexports.addEventListener = _addEventListener3.default;\r\nexports.cssAnimation = _cssAnimation3.default;\r\nexports.toArray = _toArray3.default;\r\n//export getContainerRenderMixin from './getContainerRenderMixin';\r\n\r\nexports.Align = _Align3.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/index.js\n// module id = 27\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = all;\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction all() {\r\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\r\n validators[_key] = arguments[_key];\r\n }\r\n\r\n function allPropTypes() {\r\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2];\r\n }\r\n\r\n var error = null;\r\n\r\n validators.forEach(function (validator) {\r\n if (error != null) {\r\n return;\r\n }\r\n\r\n var result = validator.apply(undefined, args);\r\n if (result != null) {\r\n error = result;\r\n }\r\n });\r\n\r\n return error;\r\n }\r\n\r\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\r\n} /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/all.js\n// module id = 28\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = createChainableTypeChecker;\r\n/**\r\n * Copyright 2013-present, Facebook, Inc.\r\n * All rights reserved.\r\n *\r\n * This source code is licensed under the BSD-style license found in the\r\n * LICENSE file in the root directory of this source tree. An additional grant\r\n * of patent rights can be found in the PATENTS file in the same directory.\r\n */\r\n\r\n// Mostly taken from ReactPropTypes.\r\n\r\n/* This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\nfunction createChainableTypeChecker(validate) {\r\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] == null) {\r\n if (isRequired) {\r\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\r\n }\r\n\r\n return null;\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\r\n args[_key - 6] = arguments[_key];\r\n }\r\n\r\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\r\n }\r\n\r\n var chainedCheckType = checkType.bind(null, false);\r\n chainedCheckType.isRequired = checkType.bind(null, true);\r\n\r\n return chainedCheckType;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/utils/createChainableTypeChecker.js\n// module id = 29\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction validate(props, propName, componentName, location, propFullName) {\r\n var propValue = props[propName];\r\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\r\n\r\n if (_react2.default.isValidElement(propValue)) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\r\n }\r\n\r\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/componentOrElement.js\n// module id = 30\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = deprecated;\r\n\r\nvar _warning = require('warning');\r\n\r\nvar _warning2 = _interopRequireDefault(_warning);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar warned = {}; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction deprecated(validator, reason) {\r\n return function validate(props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] != null) {\r\n var messageKey = componentName + '.' + propName;\r\n\r\n (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));\r\n\r\n warned[messageKey] = true;\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\r\n args[_key - 5] = arguments[_key];\r\n }\r\n\r\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\r\n };\r\n}\r\n\r\n/* eslint-disable no-underscore-dangle */\r\nfunction _resetWarned() {\r\n warned = {};\r\n}\r\n\r\ndeprecated._resetWarned = _resetWarned;\r\n/* eslint-enable no-underscore-dangle */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/deprecated.js\n// module id = 31\n// module chunks = 0","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/warning/browser.js\n// module id = 32\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Users/Administrator/AppData/Roaming/npm/~/bee-tools/~/process/browser.js\n// module id = 33\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\r\n\r\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction elementType(props, propName, componentName, location, propFullName) {\r\n var propValue = props[propName];\r\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\r\n\r\n if (_react2.default.isValidElement(propValue)) {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\r\n }\r\n\r\n if (propType !== 'function' && propType !== 'string') {\r\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).');\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/elementType.js\n// module id = 34\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = isRequiredForA11y;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction isRequiredForA11y(validator) {\r\n return function validate(props, propName, componentName, location, propFullName) {\r\n var componentNameSafe = componentName || '<>';\r\n var propFullNameSafe = propFullName || propName;\r\n\r\n if (props[propName] == null) {\r\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\r\n }\r\n\r\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\r\n args[_key - 5] = arguments[_key];\r\n }\r\n\r\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\r\n };\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/isRequiredForA11y.js\n// module id = 35\n// module chunks = 0","\"use strict\";\r\n\r\nexports.__esModule = true;\r\nexports.default = splitComponentProps;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction _objectEntries(obj) {\r\n var entries = [];\r\n var keys = Object.keys(obj);\r\n\r\n for (var k = 0; k < keys.length; ++k) {\r\n entries.push([keys[k], obj[keys[k]]]);\r\n }return entries;\r\n}\r\n\r\n/**\r\n * 分割要传入父元素和子元素的props\r\n * @param {[object]} props 传入的属性\r\n * @param {[reactElement]} Component 组件\r\n * @return {[array]} 返回数组,第一个元素为父元素props对象,第二个子元素props对象\r\n */\r\nfunction splitComponentProps(props, Component) {\r\n var componentPropTypes = Component.propTypes;\r\n\r\n var parentProps = {};\r\n var childProps = {};\r\n\r\n _objectEntries(props).forEach(function (_ref) {\r\n var propName = _ref[0],\r\n propValue = _ref[1];\r\n\r\n if (componentPropTypes[propName]) {\r\n parentProps[propName] = propValue;\r\n } else {\r\n childProps[propName] = propValue;\r\n }\r\n });\r\n\r\n return [parentProps, childProps];\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/splitComponent.js\n// module id = 36\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction createChainedFunction() {\r\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\r\n funcs[_key] = arguments[_key];\r\n }\r\n\r\n return funcs.filter(function (f) {\r\n return f != null;\r\n }).reduce(function (acc, f) {\r\n if (typeof f !== 'function') {\r\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\r\n }\r\n\r\n if (acc === null) {\r\n return f;\r\n }\r\n\r\n return function chainedFunction() {\r\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2];\r\n }\r\n\r\n acc.apply(this, args);\r\n f.apply(this, args);\r\n };\r\n }, null);\r\n}\r\nexports.default = createChainedFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/createChainedFunction.js\n// module id = 37\n// module chunks = 0","/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n'use strict';\r\n\r\n/**\r\n * @ignore\r\n * some key-codes definition and utils from closure-library\r\n * @author yiminghe@gmail.com\r\n */\r\n\r\nvar KeyCode = {\r\n /**\r\n * MAC_ENTER\r\n */\r\n MAC_ENTER: 3,\r\n /**\r\n * BACKSPACE\r\n */\r\n BACKSPACE: 8,\r\n /**\r\n * TAB\r\n */\r\n TAB: 9,\r\n /**\r\n * NUMLOCK on FF/Safari Mac\r\n */\r\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\r\n /**\r\n * ENTER\r\n */\r\n ENTER: 13,\r\n /**\r\n * SHIFT\r\n */\r\n SHIFT: 16,\r\n /**\r\n * CTRL\r\n */\r\n CTRL: 17,\r\n /**\r\n * ALT\r\n */\r\n ALT: 18,\r\n /**\r\n * PAUSE\r\n */\r\n PAUSE: 19,\r\n /**\r\n * CAPS_LOCK\r\n */\r\n CAPS_LOCK: 20,\r\n /**\r\n * ESC\r\n */\r\n ESC: 27,\r\n /**\r\n * SPACE\r\n */\r\n SPACE: 32,\r\n /**\r\n * PAGE_UP\r\n */\r\n PAGE_UP: 33, // also NUM_NORTH_EAST\r\n /**\r\n * PAGE_DOWN\r\n */\r\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\r\n /**\r\n * END\r\n */\r\n END: 35, // also NUM_SOUTH_WEST\r\n /**\r\n * HOME\r\n */\r\n HOME: 36, // also NUM_NORTH_WEST\r\n /**\r\n * LEFT\r\n */\r\n LEFT: 37, // also NUM_WEST\r\n /**\r\n * UP\r\n */\r\n UP: 38, // also NUM_NORTH\r\n /**\r\n * RIGHT\r\n */\r\n RIGHT: 39, // also NUM_EAST\r\n /**\r\n * DOWN\r\n */\r\n DOWN: 40, // also NUM_SOUTH\r\n /**\r\n * PRINT_SCREEN\r\n */\r\n PRINT_SCREEN: 44,\r\n /**\r\n * INSERT\r\n */\r\n INSERT: 45, // also NUM_INSERT\r\n /**\r\n * DELETE\r\n */\r\n DELETE: 46, // also NUM_DELETE\r\n /**\r\n * ZERO\r\n */\r\n ZERO: 48,\r\n /**\r\n * ONE\r\n */\r\n ONE: 49,\r\n /**\r\n * TWO\r\n */\r\n TWO: 50,\r\n /**\r\n * THREE\r\n */\r\n THREE: 51,\r\n /**\r\n * FOUR\r\n */\r\n FOUR: 52,\r\n /**\r\n * FIVE\r\n */\r\n FIVE: 53,\r\n /**\r\n * SIX\r\n */\r\n SIX: 54,\r\n /**\r\n * SEVEN\r\n */\r\n SEVEN: 55,\r\n /**\r\n * EIGHT\r\n */\r\n EIGHT: 56,\r\n /**\r\n * NINE\r\n */\r\n NINE: 57,\r\n /**\r\n * QUESTION_MARK\r\n */\r\n QUESTION_MARK: 63, // needs localization\r\n /**\r\n * A\r\n */\r\n A: 65,\r\n /**\r\n * B\r\n */\r\n B: 66,\r\n /**\r\n * C\r\n */\r\n C: 67,\r\n /**\r\n * D\r\n */\r\n D: 68,\r\n /**\r\n * E\r\n */\r\n E: 69,\r\n /**\r\n * F\r\n */\r\n F: 70,\r\n /**\r\n * G\r\n */\r\n G: 71,\r\n /**\r\n * H\r\n */\r\n H: 72,\r\n /**\r\n * I\r\n */\r\n I: 73,\r\n /**\r\n * J\r\n */\r\n J: 74,\r\n /**\r\n * K\r\n */\r\n K: 75,\r\n /**\r\n * L\r\n */\r\n L: 76,\r\n /**\r\n * M\r\n */\r\n M: 77,\r\n /**\r\n * N\r\n */\r\n N: 78,\r\n /**\r\n * O\r\n */\r\n O: 79,\r\n /**\r\n * P\r\n */\r\n P: 80,\r\n /**\r\n * Q\r\n */\r\n Q: 81,\r\n /**\r\n * R\r\n */\r\n R: 82,\r\n /**\r\n * S\r\n */\r\n S: 83,\r\n /**\r\n * T\r\n */\r\n T: 84,\r\n /**\r\n * U\r\n */\r\n U: 85,\r\n /**\r\n * V\r\n */\r\n V: 86,\r\n /**\r\n * W\r\n */\r\n W: 87,\r\n /**\r\n * X\r\n */\r\n X: 88,\r\n /**\r\n * Y\r\n */\r\n Y: 89,\r\n /**\r\n * Z\r\n */\r\n Z: 90,\r\n /**\r\n * META\r\n */\r\n META: 91, // WIN_KEY_LEFT\r\n /**\r\n * WIN_KEY_RIGHT\r\n */\r\n WIN_KEY_RIGHT: 92,\r\n /**\r\n * CONTEXT_MENU\r\n */\r\n CONTEXT_MENU: 93,\r\n /**\r\n * NUM_ZERO\r\n */\r\n NUM_ZERO: 96,\r\n /**\r\n * NUM_ONE\r\n */\r\n NUM_ONE: 97,\r\n /**\r\n * NUM_TWO\r\n */\r\n NUM_TWO: 98,\r\n /**\r\n * NUM_THREE\r\n */\r\n NUM_THREE: 99,\r\n /**\r\n * NUM_FOUR\r\n */\r\n NUM_FOUR: 100,\r\n /**\r\n * NUM_FIVE\r\n */\r\n NUM_FIVE: 101,\r\n /**\r\n * NUM_SIX\r\n */\r\n NUM_SIX: 102,\r\n /**\r\n * NUM_SEVEN\r\n */\r\n NUM_SEVEN: 103,\r\n /**\r\n * NUM_EIGHT\r\n */\r\n NUM_EIGHT: 104,\r\n /**\r\n * NUM_NINE\r\n */\r\n NUM_NINE: 105,\r\n /**\r\n * NUM_MULTIPLY\r\n */\r\n NUM_MULTIPLY: 106,\r\n /**\r\n * NUM_PLUS\r\n */\r\n NUM_PLUS: 107,\r\n /**\r\n * NUM_MINUS\r\n */\r\n NUM_MINUS: 109,\r\n /**\r\n * NUM_PERIOD\r\n */\r\n NUM_PERIOD: 110,\r\n /**\r\n * NUM_DIVISION\r\n */\r\n NUM_DIVISION: 111,\r\n /**\r\n * F1\r\n */\r\n F1: 112,\r\n /**\r\n * F2\r\n */\r\n F2: 113,\r\n /**\r\n * F3\r\n */\r\n F3: 114,\r\n /**\r\n * F4\r\n */\r\n F4: 115,\r\n /**\r\n * F5\r\n */\r\n F5: 116,\r\n /**\r\n * F6\r\n */\r\n F6: 117,\r\n /**\r\n * F7\r\n */\r\n F7: 118,\r\n /**\r\n * F8\r\n */\r\n F8: 119,\r\n /**\r\n * F9\r\n */\r\n F9: 120,\r\n /**\r\n * F10\r\n */\r\n F10: 121,\r\n /**\r\n * F11\r\n */\r\n F11: 122,\r\n /**\r\n * F12\r\n */\r\n F12: 123,\r\n /**\r\n * NUMLOCK\r\n */\r\n NUMLOCK: 144,\r\n /**\r\n * SEMICOLON\r\n */\r\n SEMICOLON: 186, // needs localization\r\n /**\r\n * DASH\r\n */\r\n DASH: 189, // needs localization\r\n /**\r\n * EQUALS\r\n */\r\n EQUALS: 187, // needs localization\r\n /**\r\n * COMMA\r\n */\r\n COMMA: 188, // needs localization\r\n /**\r\n * PERIOD\r\n */\r\n PERIOD: 190, // needs localization\r\n /**\r\n * SLASH\r\n */\r\n SLASH: 191, // needs localization\r\n /**\r\n * APOSTROPHE\r\n */\r\n APOSTROPHE: 192, // needs localization\r\n /**\r\n * SINGLE_QUOTE\r\n */\r\n SINGLE_QUOTE: 222, // needs localization\r\n /**\r\n * OPEN_SQUARE_BRACKET\r\n */\r\n OPEN_SQUARE_BRACKET: 219, // needs localization\r\n /**\r\n * BACKSLASH\r\n */\r\n BACKSLASH: 220, // needs localization\r\n /**\r\n * CLOSE_SQUARE_BRACKET\r\n */\r\n CLOSE_SQUARE_BRACKET: 221, // needs localization\r\n /**\r\n * WIN_KEY\r\n */\r\n WIN_KEY: 224,\r\n /**\r\n * MAC_FF_META\r\n */\r\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\r\n /**\r\n * WIN_IME\r\n */\r\n WIN_IME: 229\r\n};\r\n\r\n/*\r\n whether text and modified key is entered at the same time.\r\n */\r\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\r\n var keyCode = e.keyCode;\r\n if (e.altKey && !e.ctrlKey || e.metaKey ||\r\n // Function keys don't generate text\r\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\r\n return false;\r\n }\r\n\r\n // The following keys are quite harmless, even in combination with\r\n // CTRL, ALT or SHIFT.\r\n switch (keyCode) {\r\n case KeyCode.ALT:\r\n case KeyCode.CAPS_LOCK:\r\n case KeyCode.CONTEXT_MENU:\r\n case KeyCode.CTRL:\r\n case KeyCode.DOWN:\r\n case KeyCode.END:\r\n case KeyCode.ESC:\r\n case KeyCode.HOME:\r\n case KeyCode.INSERT:\r\n case KeyCode.LEFT:\r\n case KeyCode.MAC_FF_META:\r\n case KeyCode.META:\r\n case KeyCode.NUMLOCK:\r\n case KeyCode.NUM_CENTER:\r\n case KeyCode.PAGE_DOWN:\r\n case KeyCode.PAGE_UP:\r\n case KeyCode.PAUSE:\r\n case KeyCode.PRINT_SCREEN:\r\n case KeyCode.RIGHT:\r\n case KeyCode.SHIFT:\r\n case KeyCode.UP:\r\n case KeyCode.WIN_KEY:\r\n case KeyCode.WIN_KEY_RIGHT:\r\n return false;\r\n default:\r\n return true;\r\n }\r\n};\r\n\r\n/*\r\n whether character is entered.\r\n */\r\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\r\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\r\n return true;\r\n }\r\n\r\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\r\n return true;\r\n }\r\n\r\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\r\n return true;\r\n }\r\n\r\n // Safari sends zero key code for non-latin characters.\r\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\r\n return true;\r\n }\r\n\r\n switch (keyCode) {\r\n case KeyCode.SPACE:\r\n case KeyCode.QUESTION_MARK:\r\n case KeyCode.NUM_PLUS:\r\n case KeyCode.NUM_MINUS:\r\n case KeyCode.NUM_PERIOD:\r\n case KeyCode.NUM_DIVISION:\r\n case KeyCode.SEMICOLON:\r\n case KeyCode.DASH:\r\n case KeyCode.EQUALS:\r\n case KeyCode.COMMA:\r\n case KeyCode.PERIOD:\r\n case KeyCode.SLASH:\r\n case KeyCode.APOSTROPHE:\r\n case KeyCode.SINGLE_QUOTE:\r\n case KeyCode.OPEN_SQUARE_BRACKET:\r\n case KeyCode.BACKSLASH:\r\n case KeyCode.CLOSE_SQUARE_BRACKET:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\nmodule.exports = KeyCode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/keyCode.js\n// module id = 38\n// module chunks = 0","\"use strict\";\r\n\r\nexports.__esModule = true;\r\nexports.default = contains;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction contains(root, n) {\r\n var node = n;\r\n while (node) {\r\n if (node === root) {\r\n return true;\r\n }\r\n node = node.parentNode;\r\n }\r\n\r\n return false;\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/contains.js\n// module id = 39\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = addEventListenerWrap;\r\n\r\nvar _addDomEventListener = require('add-dom-event-listener');\r\n\r\nvar _addDomEventListener2 = _interopRequireDefault(_addDomEventListener);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nfunction addEventListenerWrap(target, eventType, cb) {\r\n /* eslint camelcase: 2 */\r\n var callback = _reactDom2.default.unstable_batchedUpdates ? function run(e) {\r\n _reactDom2.default.unstable_batchedUpdates(cb, e);\r\n } : cb;\r\n return (0, _addDomEventListener2.default)(target, eventType, callback);\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/addEventListener.js\n// module id = 40\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/index.js\n// module id = 41\n// module chunks = 0","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventObject.js\n// module id = 42\n// module chunks = 0","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/add-dom-event-listener/lib/EventBaseObject.js\n// module id = 43\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/object-assign/index.js\n// module id = 44\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\nvar _Event = require('./Event');\r\n\r\nvar _Event2 = _interopRequireDefault(_Event);\r\n\r\nvar _componentClasses = require('component-classes');\r\n\r\nvar _componentClasses2 = _interopRequireDefault(_componentClasses);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nvar isCssAnimationSupported = _Event2.default.endEvents.length !== 0;\r\n\r\n\r\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\r\n// ms is special .... !\r\n'ms'];\r\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\r\n\r\nfunction getStyleProperty(node, name) {\r\n var style = window.getComputedStyle(node);\r\n\r\n var ret = '';\r\n for (var i = 0; i < prefixes.length; i++) {\r\n ret = style.getPropertyValue(prefixes[i] + name);\r\n if (ret) {\r\n break;\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\nfunction fixBrowserByTimeout(node) {\r\n if (isCssAnimationSupported) {\r\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\r\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\r\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\r\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\r\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\r\n // sometimes, browser bug\r\n node.rcEndAnimTimeout = setTimeout(function () {\r\n node.rcEndAnimTimeout = null;\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n }, time * 1000 + 200);\r\n }\r\n}\r\n\r\nfunction clearBrowserBugTimeout(node) {\r\n if (node.rcEndAnimTimeout) {\r\n clearTimeout(node.rcEndAnimTimeout);\r\n node.rcEndAnimTimeout = null;\r\n }\r\n}\r\n\r\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\r\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\r\n var className = nameIsObj ? transitionName.name : transitionName;\r\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\r\n var end = endCallback;\r\n var start = void 0;\r\n var active = void 0;\r\n var nodeClasses = (0, _componentClasses2.default)(node);\r\n\r\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\r\n end = endCallback.end;\r\n start = endCallback.start;\r\n active = endCallback.active;\r\n }\r\n\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n\r\n node.rcEndListener = function (e) {\r\n if (e && e.target !== node) {\r\n return;\r\n }\r\n\r\n if (node.rcAnimTimeout) {\r\n clearTimeout(node.rcAnimTimeout);\r\n node.rcAnimTimeout = null;\r\n }\r\n\r\n clearBrowserBugTimeout(node);\r\n\r\n nodeClasses.remove(className);\r\n nodeClasses.remove(activeClassName);\r\n\r\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\r\n node.rcEndListener = null;\r\n\r\n // Usually this optional end is used for informing an owner of\r\n // a leave animation and telling it to remove the child.\r\n if (end) {\r\n end();\r\n }\r\n };\r\n\r\n _Event2.default.addEndEventListener(node, node.rcEndListener);\r\n\r\n if (start) {\r\n start();\r\n }\r\n nodeClasses.add(className);\r\n\r\n node.rcAnimTimeout = setTimeout(function () {\r\n node.rcAnimTimeout = null;\r\n nodeClasses.add(activeClassName);\r\n if (active) {\r\n setTimeout(active, 0);\r\n }\r\n fixBrowserByTimeout(node);\r\n // 30ms for firefox\r\n }, 30);\r\n\r\n return {\r\n stop: function stop() {\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n }\r\n };\r\n};\r\n\r\ncssAnimation.style = function (node, style, callback) {\r\n if (node.rcEndListener) {\r\n node.rcEndListener();\r\n }\r\n\r\n node.rcEndListener = function (e) {\r\n if (e && e.target !== node) {\r\n return;\r\n }\r\n\r\n if (node.rcAnimTimeout) {\r\n clearTimeout(node.rcAnimTimeout);\r\n node.rcAnimTimeout = null;\r\n }\r\n\r\n clearBrowserBugTimeout(node);\r\n\r\n _Event2.default.removeEndEventListener(node, node.rcEndListener);\r\n node.rcEndListener = null;\r\n\r\n // Usually this optional callback is used for informing an owner of\r\n // a leave animation and telling it to remove the child.\r\n if (callback) {\r\n callback();\r\n }\r\n };\r\n\r\n _Event2.default.addEndEventListener(node, node.rcEndListener);\r\n\r\n node.rcAnimTimeout = setTimeout(function () {\r\n for (var s in style) {\r\n if (style.hasOwnProperty(s)) {\r\n node.style[s] = style[s];\r\n }\r\n }\r\n node.rcAnimTimeout = null;\r\n fixBrowserByTimeout(node);\r\n }, 0);\r\n};\r\n\r\ncssAnimation.setTransition = function (node, p, value) {\r\n var property = p;\r\n var v = value;\r\n if (value === undefined) {\r\n v = property;\r\n property = '';\r\n }\r\n property = property || '';\r\n capitalPrefixes.forEach(function (prefix) {\r\n node.style[prefix + 'Transition' + property] = v;\r\n });\r\n};\r\n\r\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\r\n\r\nexports.default = cssAnimation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/cssAnimation.js\n// module id = 45\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n/**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\nvar EVENT_NAME_MAP = {\r\n transitionend: {\r\n transition: 'transitionend',\r\n WebkitTransition: 'webkitTransitionEnd',\r\n MozTransition: 'mozTransitionEnd',\r\n OTransition: 'oTransitionEnd',\r\n msTransition: 'MSTransitionEnd'\r\n },\r\n\r\n animationend: {\r\n animation: 'animationend',\r\n WebkitAnimation: 'webkitAnimationEnd',\r\n MozAnimation: 'mozAnimationEnd',\r\n OAnimation: 'oAnimationEnd',\r\n msAnimation: 'MSAnimationEnd'\r\n }\r\n};\r\n\r\nvar endEvents = [];\r\n\r\nfunction detectEvents() {\r\n var testEl = document.createElement('div');\r\n var style = testEl.style;\r\n\r\n if (!('AnimationEvent' in window)) {\r\n delete EVENT_NAME_MAP.animationend.animation;\r\n }\r\n\r\n if (!('TransitionEvent' in window)) {\r\n delete EVENT_NAME_MAP.transitionend.transition;\r\n }\r\n\r\n for (var baseEventName in EVENT_NAME_MAP) {\r\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\r\n var baseEvents = EVENT_NAME_MAP[baseEventName];\r\n for (var styleName in baseEvents) {\r\n if (styleName in style) {\r\n endEvents.push(baseEvents[styleName]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\r\n detectEvents();\r\n}\r\n\r\nfunction addEventListener(node, eventName, eventListener) {\r\n node.addEventListener(eventName, eventListener, false);\r\n}\r\n\r\nfunction removeEventListener(node, eventName, eventListener) {\r\n node.removeEventListener(eventName, eventListener, false);\r\n}\r\n\r\nvar TransitionEvents = {\r\n addEndEventListener: function addEndEventListener(node, eventListener) {\r\n if (endEvents.length === 0) {\r\n window.setTimeout(eventListener, 0);\r\n return;\r\n }\r\n endEvents.forEach(function (endEvent) {\r\n addEventListener(node, endEvent, eventListener);\r\n });\r\n },\r\n\r\n\r\n endEvents: endEvents,\r\n\r\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\r\n if (endEvents.length === 0) {\r\n return;\r\n }\r\n endEvents.forEach(function (endEvent) {\r\n removeEventListener(node, endEvent, eventListener);\r\n });\r\n }\r\n};\r\n\r\nexports.default = TransitionEvents;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Event.js\n// module id = 46\n// module chunks = 0","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-classes/index.js\n// module id = 47\n// module chunks = 0","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-indexof/index.js\n// module id = 48\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\nexports.default = toArray;\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction toArray(children) {\r\n var ret = [];\r\n _react2.default.Children.forEach(children, function (c) {\r\n ret.push(c);\r\n });\r\n return ret;\r\n} /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/toArray.js\n// module id = 49\n// module chunks = 0","'use strict';\r\n\r\nexports.__esModule = true;\r\n\r\nvar _react = require('react');\r\n\r\nvar _react2 = _interopRequireDefault(_react);\r\n\r\nvar _propTypes = require('prop-types');\r\n\r\nvar _propTypes2 = _interopRequireDefault(_propTypes);\r\n\r\nvar _reactDom = require('react-dom');\r\n\r\nvar _reactDom2 = _interopRequireDefault(_reactDom);\r\n\r\nvar _domAlign = require('dom-align');\r\n\r\nvar _domAlign2 = _interopRequireDefault(_domAlign);\r\n\r\nvar _addEventListener = require('./addEventListener');\r\n\r\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\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; }\r\n\r\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; } /**\r\n * This source code is quoted from rc-util.\r\n * homepage: https://github.com/react-component/util\r\n */\r\n\r\n\r\n//import isWindow from './isWindow';\r\n\r\nfunction isWindow(obj) {\r\n /* eslint no-eq-null: 0 */\r\n /* eslint eqeqeq: 0 */\r\n return obj != null && obj == obj.window;\r\n}\r\n\r\nfunction buffer(fn, ms) {\r\n var timer = void 0;\r\n\r\n function clear() {\r\n if (timer) {\r\n clearTimeout(timer);\r\n timer = null;\r\n }\r\n }\r\n\r\n function bufferFn() {\r\n clear();\r\n timer = setTimeout(fn, ms);\r\n }\r\n\r\n bufferFn.clear = clear;\r\n\r\n return bufferFn;\r\n}\r\n\r\nvar propTypes = {\r\n childrenProps: _propTypes2.default.object,\r\n align: _propTypes2.default.object.isRequired,\r\n target: _propTypes2.default.func,\r\n onAlign: _propTypes2.default.func,\r\n monitorBufferTime: _propTypes2.default.number,\r\n monitorWindowResize: _propTypes2.default.bool,\r\n disabled: _propTypes2.default.bool,\r\n children: _propTypes2.default.any\r\n};\r\n\r\nvar defaultProps = {\r\n target: function target() {\r\n return window;\r\n },\r\n onAlign: function onAlign() {},\r\n\r\n monitorBufferTime: 50,\r\n monitorWindowResize: false,\r\n disabled: false\r\n};\r\n\r\nvar Align = function (_React$Component) {\r\n _inherits(Align, _React$Component);\r\n\r\n function Align(props) {\r\n _classCallCheck(this, Align);\r\n\r\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\r\n\r\n _initialiseProps.call(_this);\r\n\r\n return _this;\r\n }\r\n\r\n Align.prototype.componentDidMount = function componentDidMount() {\r\n var props = this.props;\r\n // if parent ref not attached .... use document.getElementById\r\n this.forceAlign();\r\n if (!props.disabled && props.monitorWindowResize) {\r\n this.startMonitorWindowResize();\r\n }\r\n };\r\n\r\n Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\r\n var reAlign = false;\r\n var props = this.props;\r\n\r\n if (!props.disabled) {\r\n if (prevProps.disabled || prevProps.align !== props.align) {\r\n reAlign = true;\r\n } else {\r\n var lastTarget = prevProps.target();\r\n var currentTarget = props.target();\r\n if (isWindow(lastTarget) && isWindow(currentTarget)) {\r\n reAlign = false;\r\n } else if (lastTarget !== currentTarget) {\r\n reAlign = true;\r\n }\r\n }\r\n }\r\n\r\n if (reAlign) {\r\n this.forceAlign();\r\n }\r\n\r\n if (props.monitorWindowResize && !props.disabled) {\r\n this.startMonitorWindowResize();\r\n } else {\r\n this.stopMonitorWindowResize();\r\n }\r\n };\r\n\r\n Align.prototype.componentWillUnmount = function componentWillUnmount() {\r\n this.stopMonitorWindowResize();\r\n };\r\n\r\n Align.prototype.render = function render() {\r\n var _props = this.props,\r\n childrenProps = _props.childrenProps,\r\n children = _props.children;\r\n\r\n var child = _react2.default.Children.only(children);\r\n if (childrenProps) {\r\n var newProps = {};\r\n for (var prop in childrenProps) {\r\n if (childrenProps.hasOwnProperty(prop)) {\r\n newProps[prop] = this.props[childrenProps[prop]];\r\n }\r\n }\r\n return _react2.default.cloneElement(child, newProps);\r\n }\r\n return child;\r\n };\r\n\r\n return Align;\r\n}(_react2.default.Component);\r\n\r\nvar _initialiseProps = function _initialiseProps() {\r\n var _this2 = this;\r\n\r\n this.startMonitorWindowResize = function () {\r\n if (!_this2.resizeHandler) {\r\n _this2.bufferMonitor = buffer(_this2.forceAlign, _this2.props.monitorBufferTime);\r\n _this2.resizeHandler = (0, _addEventListener2.default)(window, 'resize', _this2.bufferMonitor);\r\n }\r\n };\r\n\r\n this.stopMonitorWindowResize = function () {\r\n if (_this2.resizeHandler) {\r\n _this2.bufferMonitor.clear();\r\n _this2.resizeHandler.remove();\r\n _this2.resizeHandler = null;\r\n }\r\n };\r\n\r\n this.forceAlign = function () {\r\n var props = _this2.props;\r\n if (!props.disabled) {\r\n var source = _reactDom2.default.findDOMNode(_this2);\r\n props.onAlign(source, (0, _domAlign2.default)(source, props.target(), props.align));\r\n }\r\n };\r\n};\r\n\r\n;\r\n\r\nAlign.defaultProps = defaultProps;\r\nAlign.propTypes = propTypes;\r\n\r\nexports.default = Align;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tinper-bee-core/lib/Align.js\n// module id = 50\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alignPoint = exports.alignElement = undefined;\n\nvar _alignElement = require('./align/alignElement');\n\nvar _alignElement2 = _interopRequireDefault(_alignElement);\n\nvar _alignPoint = require('./align/alignPoint');\n\nvar _alignPoint2 = _interopRequireDefault(_alignPoint);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports.alignElement = _alignElement2['default'];\nexports.alignPoint = _alignPoint2['default'];\nexports['default'] = _alignElement2['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/index.js\n// module id = 51\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nvar _getOffsetParent = require('../getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = (0, _getVisibleRectForElement2['default'])(target);\n var targetRegion = (0, _getRegion2['default'])(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = (0, _getRegion2['default'])(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return (0, _align2['default'])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = _getOffsetParent2['default'];\n\nalignElement.__getVisibleRectForElement = _getVisibleRectForElement2['default'];\n\nexports['default'] = alignElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignElement.js\n// module id = 52\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getVisibleRectForElement = require('../getVisibleRectForElement');\n\nvar _getVisibleRectForElement2 = _interopRequireDefault(_getVisibleRectForElement);\n\nvar _adjustForViewport = require('../adjustForViewport');\n\nvar _adjustForViewport2 = _interopRequireDefault(_adjustForViewport);\n\nvar _getRegion = require('../getRegion');\n\nvar _getRegion2 = _interopRequireDefault(_getRegion);\n\nvar _getElFuturePos = require('../getElFuturePos');\n\nvar _getElFuturePos2 = _interopRequireDefault(_getElFuturePos);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n} /**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n _utils2['default'].each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n = void 0;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n // 当前节点可以被放置的显示区域\n var visibleRect = (0, _getVisibleRectForElement2['default'])(source);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = (0, _getRegion2['default'])(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = _utils2['default'].merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/ig, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/ig, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = (0, _getElFuturePos2['default'])(elRegion, tgtRegion, points, offset, targetOffset);\n _utils2['default'].mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n points = align.points;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = (0, _adjustForViewport2['default'])(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n _utils2['default'].css(source, 'width', _utils2['default'].width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n _utils2['default'].css(source, 'height', _utils2['default'].height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n _utils2['default'].offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n\nexports['default'] = doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/align.js\n// module id = 53\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _propertyUtils = require('./propertyUtils');\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nvar getComputedStyleX = void 0;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = value + 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box = void 0;\n var x = void 0;\n var y = void 0;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = (0, _propertyUtils.getTransitionProperty)(elem) || '';\n (0, _propertyUtils.setTransitionProperty)(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = presetH + 'px';\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = presetV + 'px';\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n (0, _propertyUtils.setTransitionProperty)(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = (0, _propertyUtils.getTransformXY)(elem);\n var resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n (0, _propertyUtils.setTransformXY)(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && (0, _propertyUtils.getTransformName)() in document.body.style) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = void 0;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = void 0;\n var j = void 0;\n var i = void 0;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = '' + prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val = void 0;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i = void 0;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n for (var i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n};\n\nmix(utils, domUtils);\n\nexports['default'] = utils;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/utils.js\n// module id = 54\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransformName = getTransformName;\nexports.setTransitionProperty = setTransitionProperty;\nexports.getTransitionProperty = getTransitionProperty;\nexports.getTransformXY = getTransformXY;\nexports.setTransformXY = setTransformXY;\nvar vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/propertyUtils.js\n// module id = 55\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _getOffsetParent = require('./getOffsetParent');\n\nvar _getOffsetParent2 = _interopRequireDefault(_getOffsetParent);\n\nvar _isAncestorFixed = require('./isAncestorFixed');\n\nvar _isAncestorFixed2 = _interopRequireDefault(_isAncestorFixed);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = (0, _getOffsetParent2['default'])(element);\n var doc = _utils2['default'].getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && _utils2['default'].css(el, 'overflow') !== 'visible') {\n var pos = _utils2['default'].offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = (0, _getOffsetParent2['default'])(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!_utils2['default'].isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = _utils2['default'].css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if ((0, _isAncestorFixed2['default'])(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nexports['default'] = getVisibleRectForElement;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getVisibleRectForElement.js\n// module id = 56\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nfunction getOffsetParent(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n \n
\n 元素 6 高 100px 宽 50px \n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = void 0;\n var positionStyle = _utils2['default'].css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;\n }\n\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexports['default'] = getOffsetParent;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getOffsetParent.js\n// module id = 57\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isAncestorFixed;\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isAncestorFixed(element) {\n if (_utils2['default'].isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = _utils2['default'].getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = _utils2['default'].css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/isAncestorFixed.js\n// module id = 58\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = _utils2['default'].clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return _utils2['default'].mix(pos, size);\n}\n\nexports['default'] = adjustForViewport;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/adjustForViewport.js\n// module id = 59\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getRegion(node) {\n var offset = void 0;\n var w = void 0;\n var h = void 0;\n if (!_utils2['default'].isWindow(node) && node.nodeType !== 9) {\n offset = _utils2['default'].offset(node);\n w = _utils2['default'].outerWidth(node);\n h = _utils2['default'].outerHeight(node);\n } else {\n var win = _utils2['default'].getWindow(node);\n offset = {\n left: _utils2['default'].getWindowScrollLeft(win),\n top: _utils2['default'].getWindowScrollTop(win)\n };\n w = _utils2['default'].viewportWidth(win);\n h = _utils2['default'].viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexports['default'] = getRegion;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getRegion.js\n// module id = 60\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getAlignOffset = require('./getAlignOffset');\n\nvar _getAlignOffset2 = _interopRequireDefault(_getAlignOffset);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = (0, _getAlignOffset2['default'])(refNodeRegion, points[1]);\n var p2 = (0, _getAlignOffset2['default'])(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexports['default'] = getElFuturePos;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getElFuturePos.js\n// module id = 61\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexports['default'] = getAlignOffset;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/getAlignOffset.js\n// module id = 62\n// module chunks = 0","'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 _utils = require('../utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _align = require('./align');\n\nvar _align2 = _interopRequireDefault(_align);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = _utils2['default'].getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = _utils2['default'].getWindowScrollLeft(win);\n var scrollY = _utils2['default'].getWindowScrollTop(win);\n var viewportWidth = _utils2['default'].viewportWidth(win);\n var viewportHeight = _utils2['default'].viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return (0, _align2['default'])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexports['default'] = alignPoint;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-align/lib/align/alignPoint.js\n// module id = 63\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the has component faded in\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component fades out\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has faded out\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false\n};\n\nvar Fade = function (_React$Component) {\n _inherits(Fade, _React$Component);\n\n function Fade() {\n _classCallCheck(this, Fade);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Fade.prototype.render = function render() {\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, this.props, {\n className: (0, _classnames2[\"default\"])(this.props.className, 'fade'),\n enteredClassName: 'in',\n enteringClassName: 'in'\n }));\n };\n\n return Fade;\n}(_react2[\"default\"].Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports[\"default\"] = Fade;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-transition/build/Fade.js\n// module id = 64\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Message = require('./Message');\n\nvar _Message2 = _interopRequireDefault(_Message);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Message2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/index.js\n// module id = 65\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _beeNotification = require('bee-notification');\n\nvar _beeNotification2 = _interopRequireDefault(_beeNotification);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultDuration = 1.5;\nvar defaultTop = 0;\nvar defaultBottom = 48;\nvar bottom = 90;\nvar padding = 30;\nvar width = 200;\nvar messageInstance = void 0;\nvar key = 1;\nvar clsPrefix = 'u-message';\nvar noop = function noop() {};\n\nvar positionObj = {\n \"top\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n top: defaultTop,\n width: \"100%\"\n },\n transitionName: 'top'\n },\n \"bottom\": {\n messageStyle: {\n width: \"100%\"\n },\n notificationStyle: {\n bottom: defaultBottom,\n width: \"100%\"\n },\n transitionName: 'bottom'\n },\n \"topRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"bottomRight\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n right: padding,\n width: width\n },\n transitionName: 'right'\n },\n \"topLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n top: padding,\n left: padding,\n width: width\n },\n transitionName: 'left'\n },\n \"bottomLeft\": {\n messageStyle: {\n width: width\n },\n notificationStyle: {\n bottom: bottom,\n left: padding,\n width: width\n },\n transitionName: 'left'\n }\n};\n\nfunction getMessageInstance() {\n var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'top';\n var callback = arguments[1];\n\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n var style = positionObj[position].notificationStyle;\n _beeNotification2[\"default\"].newInstance({\n clsPrefix: clsPrefix,\n transitionName: clsPrefix + '-' + positionObj[position].transitionName,\n style: style, // 覆盖原来的样式\n position: ''\n }, function (instance) {\n messageInstance = instance;\n callback(instance);\n });\n}\n\nfunction notice(content, duration, type, onClose, position, style) {\n var iconType = {\n info: 'uf uf-i-c-2',\n success: 'uf uf-correct',\n danger: 'uf uf-close-c',\n warning: 'uf uf-exc-t',\n light: 'uf uf-notification',\n dark: 'uf uf-bubble',\n news: 'uf uf-bell',\n infolight: 'uf uf-i-c-2',\n successlight: 'uf uf-correct',\n dangerlight: 'uf uf-close-c',\n warninglight: 'uf uf-exc-t'\n }[type];\n\n var positionStyle = positionObj[position].messageStyle;\n\n getMessageInstance(position, function (instance) {\n instance.notice({\n key: key,\n duration: duration,\n color: type,\n style: _extends({}, positionStyle, style),\n content: _react2[\"default\"].createElement(\n 'div',\n null,\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-icon' },\n _react2[\"default\"].createElement('i', { className: (0, _classnames2[\"default\"])(iconType) })\n ),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-notice-description-content' },\n content\n )\n ),\n onClose: onClose\n });\n });\n return function () {\n var target = key++;\n return function () {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n }();\n}\n\nexports[\"default\"] = {\n create: function create(obj) {\n var content = obj.content || '';\n var duration = _typeof(obj.duration) == undefined ? defaultDuration : obj.duration;\n var color = obj.color || 'dark';\n var onClose = obj.onClose || noop;\n var position = obj.position || \"top\";\n var style = obj.style || {};\n return notice(content, duration, color, onClose, position, style);\n },\n config: function config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.clsPrefix !== undefined) {\n clsPrefix = options.clsPrefix;\n }\n if (options.defaultBottom !== undefined) {\n defaultBottom = options.defaultBottom;\n }\n if (options.bottom !== undefined) {\n bottom = options.bottom;\n }\n if (options.width !== undefined) {\n bottom = options.width;\n }\n },\n destroy: function destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n }\n};\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-message/build/Message.js\n// module id = 66\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Notification = require('./Notification');\n\nvar _Notification2 = _interopRequireDefault(_Notification);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Notification2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/index.js\n// module id = 67\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _beeAnimate = require('bee-animate');\n\nvar _beeAnimate2 = _interopRequireDefault(_beeAnimate);\n\nvar _createChainedFunction = require('tinper-bee-core/lib/createChainedFunction');\n\nvar _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _Notice = require('./Notice');\n\nvar _Notice2 = _interopRequireDefault(_Notice);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n return 'uNotification_' + now + '_' + seed++;\n}\n\nvar propTypes = {\n show: _propTypes2[\"default\"].bool,\n clsPrefix: _propTypes2[\"default\"].string,\n style: _propTypes2[\"default\"].object,\n position: _propTypes2[\"default\"].oneOf(['topRight', 'bottomRight', '']),\n transitionName: _propTypes2[\"default\"].string,\n animation: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object])\n};\n\nvar defaultProps = {\n clsPrefix: 'u-notification',\n animation: 'fade',\n position: 'topRight'\n};\n\nvar Notification = function (_Component) {\n _inherits(Notification, _Component);\n\n function Notification(props) {\n _classCallCheck(this, Notification);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.state = {\n notices: []\n };\n _this.add = _this.add.bind(_this);\n _this.remove = _this.remove.bind(_this);\n\n return _this;\n }\n\n Notification.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.clsPrefix + '-' + props.animation;\n }\n return transitionName;\n };\n\n Notification.prototype.add = function add(notice) {\n var key = notice.key = notice.key || getUuid();\n this.setState(function (previousState) {\n var notices = previousState.notices;\n if (!notices.filter(function (v) {\n return v.key === key;\n }).length) {\n return {\n notices: notices.concat(notice)\n };\n }\n });\n };\n\n Notification.prototype.remove = function remove(key) {\n this.setState(function (previousState) {\n return {\n notices: previousState.notices.filter(function (notice) {\n return notice.key !== key;\n })\n };\n });\n };\n\n Notification.prototype.render = function render() {\n var _this2 = this,\n _classes;\n\n var _props = this.props,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n position = _props.position,\n style = _props.style;\n\n var noticeNodes = this.state.notices.map(function (notice) {\n var onClose = (0, _createChainedFunction2[\"default\"])(_this2.remove.bind(_this2, notice.key), notice.onClose);\n return _react2[\"default\"].createElement(\n _Notice2[\"default\"],\n _extends({\n clsPrefix: clsPrefix\n }, notice, {\n onClose: onClose\n }),\n notice.content\n );\n });\n var classes = (_classes = {}, _defineProperty(_classes, clsPrefix, 1), _defineProperty(_classes, className, !!className), _classes);\n if (position) {\n classes[clsPrefix + '-' + position] = !!position;\n }\n\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(className, classes), style: style },\n _react2[\"default\"].createElement(\n _beeAnimate2[\"default\"],\n { transitionName: this.getTransitionName() },\n noticeNodes\n )\n );\n };\n\n return Notification;\n}(_react.Component);\n\n;\n\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n if (typeof callback !== 'function') {\n console.error('You must introduce callback as the second parameter of Notification.newInstance().');\n return;\n }\n var props = properties || {};\n var div = document.createElement('div');\n document.body.appendChild(div);\n\n var called = false;\n function ref(notification) {\n if (called) {\n return;\n }\n called = true;\n callback({\n notice: function notice(noticeProps) {\n notification.add(noticeProps);\n },\n removeNotice: function removeNotice(key) {\n notification.remove(key);\n },\n\n component: notification,\n destroy: function destroy() {\n _reactDom2[\"default\"].unmountComponentAtNode(div);\n document.body.removeChild(div);\n }\n });\n }\n _reactDom2[\"default\"].render(_react2[\"default\"].createElement(Notification, _extends({}, props, { ref: ref })), div);\n};\n\nexports[\"default\"] = Notification;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notification.js\n// module id = 68\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Animate = require('./Animate');\n\nvar _Animate2 = _interopRequireDefault(_Animate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Animate2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/index.js\n// module id = 69\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ChildrenUtils = require('./ChildrenUtils');\n\nvar _AnimateChild = require('./AnimateChild');\n\nvar _AnimateChild2 = _interopRequireDefault(_AnimateChild);\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar defaultKey = 'u_animate_' + Date.now();\n\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n if (_react2[\"default\"].isValidElement(children)) {\n if (!children.key) {\n return _react2[\"default\"].cloneElement(children, {\n key: defaultKey\n });\n }\n }\n return children;\n}\n\nfunction noop() {}\n\nvar propTypes = {\n component: _propTypes2[\"default\"].any,\n animation: _propTypes2[\"default\"].object,\n transitionName: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].object]),\n transitionEnter: _propTypes2[\"default\"].bool,\n transitionAppear: _propTypes2[\"default\"].bool,\n exclusive: _propTypes2[\"default\"].bool,\n transitionLeave: _propTypes2[\"default\"].bool,\n onEnd: _propTypes2[\"default\"].func,\n onEnter: _propTypes2[\"default\"].func,\n onLeave: _propTypes2[\"default\"].func,\n onAppear: _propTypes2[\"default\"].func,\n showProp: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n animation: {},\n component: 'span',\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n _this.state = {\n children: (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(_this.props))\n };\n\n _this.performEnter = _this.performEnter.bind(_this);\n _this.performAppear = _this.performAppear.bind(_this);\n _this.handleDoneAdding = _this.handleDoneAdding.bind(_this);\n _this.performLeave = _this.performLeave.bind(_this);\n\n _this.performLeave = _this.performLeave.bind(_this);\n _this.handleDoneLeaving = _this.handleDoneLeaving.bind(_this);\n _this.isValidChildByKey = _this.isValidChildByKey.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n Animate.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.mounted = true;\n var showProp = this.props.showProp;\n var children = this.state.children;\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n };\n\n Animate.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n Animate.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(nextProps));\n var props = this.props;\n // exclusive needs immediate response\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n // last props children if exclusive\n var currentChildren = props.exclusive ? (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props)) : this.state.children;\n // in case destroy in showProp mode\n var newChildren = [];\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, currentChild.key);\n var newChild = void 0;\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = _react2[\"default\"].cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !(0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = (0, _ChildrenUtils.mergeChildren)(currentChildren, nextChildren);\n }\n\n // need render to avoid update\n this.setState({\n children: newChildren\n });\n\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasPrev = child && (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n if (showProp) {\n var showInNext = child.props[showProp];\n if (hasPrev) {\n var showInNow = (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasNext = child && (0, _ChildrenUtils.findChildInChildrenByKey)(nextChildren, key);\n if (showProp) {\n var showInNow = child.props[showProp];\n if (hasNext) {\n var showInNext = (0, _ChildrenUtils.findShownChildInChildrenByKey)(nextChildren, key, showProp);\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n };\n\n Animate.prototype.componentDidUpdate = function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n };\n\n Animate.prototype.performEnter = function performEnter(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillEnter(this.handleDoneAdding.bind(this, key, 'enter'));\n }\n };\n\n Animate.prototype.performAppear = function performAppear(key) {\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillAppear(this.handleDoneAdding.bind(this, key, 'appear'));\n }\n };\n\n Animate.prototype.handleDoneAdding = function handleDoneAdding(key, type) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n if (!this.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n this.performLeave(key);\n } else {\n if (type === 'appear') {\n if (_util2[\"default\"].allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else {\n if (_util2[\"default\"].allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n }\n }\n };\n\n Animate.prototype.performLeave = function performLeave(key) {\n // may already remove by exclusive\n if (this.refs[key]) {\n this.currentlyAnimatingKeys[key] = true;\n this.refs[key].componentWillLeave(this.handleDoneLeaving.bind(this, key));\n }\n };\n\n Animate.prototype.handleDoneLeaving = function handleDoneLeaving(key) {\n var props = this.props;\n delete this.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== this.nextProps) {\n return;\n }\n var currentChildren = (0, _ChildrenUtils.toArrayChildren)(getChildrenFromProps(props));\n // in case state change is too fast\n if (this.isValidChildByKey(currentChildren, key)) {\n this.performEnter(key);\n } else {\n var end = function end() {\n if (_util2[\"default\"].allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n /* eslint react/no-is-mounted:0 */\n if (this.mounted && !(0, _ChildrenUtils.isSameChildren)(this.state.children, currentChildren, props.showProp)) {\n this.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n\n Animate.prototype.isValidChildByKey = function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n if (showProp) {\n return (0, _ChildrenUtils.findShownChildInChildrenByKey)(currentChildren, key, showProp);\n }\n return (0, _ChildrenUtils.findChildInChildrenByKey)(currentChildren, key);\n };\n\n Animate.prototype.stop = function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.refs[key];\n if (component) {\n component.stop();\n }\n };\n\n Animate.prototype.render = function render() {\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n if (!child.key) {\n throw new Error('must set key for children');\n }\n return _react2[\"default\"].createElement(\n _AnimateChild2[\"default\"],\n {\n key: child.key,\n ref: child.key,\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n },\n child\n );\n });\n }\n var Component = props.component;\n if (Component) {\n var passedProps = props;\n if (typeof Component === 'string') {\n passedProps = {\n className: props.className,\n style: props.style\n };\n }\n return _react2[\"default\"].createElement(\n Component,\n passedProps,\n children\n );\n }\n return children[0] || null;\n };\n\n return Animate;\n}(_react.Component);\n\n;\nAnimate.defaultProps = defaultProps;\nAnimate.propTypes = Animate.propTypes;\n\nexports[\"default\"] = Animate;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/Animate.js\n// module id = 70\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toArrayChildren = toArrayChildren;\nexports.findChildInChildrenByKey = findChildInChildrenByKey;\nexports.findShownChildInChildrenByKey = findShownChildInChildrenByKey;\nexports.findHiddenChildInChildrenByKey = findHiddenChildInChildrenByKey;\nexports.isSameChildren = isSameChildren;\nexports.mergeChildren = mergeChildren;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction toArrayChildren(children) {\n var ret = [];\n _react2[\"default\"].Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nfunction findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nfunction isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nfunction mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && nextChildrenPending.hasOwnProperty(child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/ChildrenUtils.js\n// module id = 71\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _util = require('./util');\n\nvar _util2 = _interopRequireDefault(_util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar propTypes = {\n children: _propTypes2[\"default\"].any\n};\n\nvar AnimateChild = function (_Component) {\n _inherits(AnimateChild, _Component);\n\n function AnimateChild(props) {\n _classCallCheck(this, AnimateChild);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.transition = _this.transition.bind(_this);\n _this.stop = _this.stop.bind(_this);\n return _this;\n }\n\n AnimateChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.stop();\n };\n\n AnimateChild.prototype.componentWillEnter = function componentWillEnter(done) {\n if (_util2[\"default\"].isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillAppear = function componentWillAppear(done) {\n if (_util2[\"default\"].isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n };\n\n AnimateChild.prototype.componentWillLeave = function componentWillLeave(done) {\n if (_util2[\"default\"].isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n };\n\n AnimateChild.prototype.transition = function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = _reactDom2[\"default\"].findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((_tinperBeeCore.cssAnimation.isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = (0, _tinperBeeCore.cssAnimation)(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n };\n\n AnimateChild.prototype.stop = function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n };\n\n AnimateChild.prototype.render = function render() {\n return this.props.children;\n };\n\n return AnimateChild;\n}(_react.Component);\n\n;\n\nAnimateChild.propTypes = propTypes;\n\nexports[\"default\"] = AnimateChild;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/AnimateChild.js\n// module id = 72\n// module chunks = 0","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexports[\"default\"] = util;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-animate/build/util.js\n// module id = 73\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n duration: _propTypes2[\"default\"].number,\n onClose: _propTypes2[\"default\"].func,\n children: _propTypes2[\"default\"].any,\n color: _propTypes2[\"default\"].oneOf(['info', 'success', 'danger', 'warning', 'light', 'dark', 'news', 'infolight', 'successlight', 'dangerlight', 'warninglight']),\n title: _propTypes2[\"default\"].any\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n onEnd: noop,\n onClose: noop,\n duration: 4.5,\n closable: true\n};\n\nvar Notice = function (_React$Component) {\n _inherits(Notice, _React$Component);\n\n function Notice(props) {\n _classCallCheck(this, Notice);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.clearCloseTimer = _this.clearCloseTimer.bind(_this);\n _this.close = _this.close.bind(_this);\n return _this;\n }\n\n Notice.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (this.props.duration) {\n this.closeTimer = setTimeout(function () {\n _this2.close();\n }, this.props.duration * 1000);\n }\n };\n\n Notice.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearCloseTimer();\n };\n\n Notice.prototype.clearCloseTimer = function clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n };\n\n Notice.prototype.close = function close() {\n this.clearCloseTimer();\n this.props.onClose();\n };\n\n Notice.prototype.render = function render() {\n var _classes;\n\n var _props = this.props,\n closable = _props.closable,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n style = _props.style,\n children = _props.children,\n color = _props.color,\n title = _props.title;\n\n var componentClass = clsPrefix + '-notice';\n var classes = (_classes = {}, _defineProperty(_classes, '' + componentClass, 1), _defineProperty(_classes, componentClass + '-closable', closable), _defineProperty(_classes, className, !!className), _classes);\n if (color) {\n classes[componentClass + '-' + color] = true;\n }\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(classes), style: style, onClick: this.close },\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-content' },\n title && _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-title' },\n title\n ),\n _react2[\"default\"].createElement(\n 'div',\n { className: componentClass + '-description' },\n children\n )\n ),\n closable ? _react2[\"default\"].createElement(\n 'a',\n { tabIndex: '0', onClick: this.close, className: componentClass + '-close' },\n _react2[\"default\"].createElement('span', { className: componentClass + '-close-x' })\n ) : null\n );\n };\n\n return Notice;\n}(_react2[\"default\"].Component);\n\n;\n\nNotice.propTypes = propTypes;\nNotice.defaultProps = defaultProps;\n\nexports[\"default\"] = Notice;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-notification/build/Notice.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nvar deselectCurrent = require('toggle-selection');\n\nvar defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug, message, reselectPrevious, range, selection, mark, success = false;\n if (!options) { options = {}; }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement('span');\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = 'unset';\n // prevents scrolling to the end of the page\n mark.style.position = 'fixed';\n mark.style.top = 0;\n mark.style.clip = 'rect(0, 0, 0, 0)';\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = 'pre';\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = 'text';\n mark.style.MozUserSelect = 'text';\n mark.style.msUserSelect = 'text';\n mark.style.userSelect = 'text';\n\n document.body.appendChild(mark);\n\n range.selectNode(mark);\n selection.addRange(range);\n\n var successful = document.execCommand('copy');\n if (!successful) {\n throw new Error('copy command was unsuccessful');\n }\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using execCommand: ', err);\n debug && console.warn('trying IE specific stuff');\n try {\n window.clipboardData.setData('text', text);\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using clipboardData: ', err);\n debug && console.error('falling back to prompt');\n message = format('message' in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == 'function') {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/copy-to-clipboard/index.js\n// module id = 75\n// module chunks = 0","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/toggle-selection/index.js\n// module id = 76\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n //是否是手风琴效果\n accordion: _propTypes2[\"default\"].bool,\n //激活的项\n activeKey: _propTypes2[\"default\"].any,\n //默认的激活的项\n defaultActiveKey: _propTypes2[\"default\"].any,\n //选中函数\n onSelect: _propTypes2[\"default\"].func,\n role: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n accordion: false,\n clsPrefix: 'u-panel-group'\n};\n\n// TODO: Use uncontrollable.\n\nvar PanelGroup = function (_React$Component) {\n _inherits(PanelGroup, _React$Component);\n\n function PanelGroup(props, context) {\n _classCallCheck(this, PanelGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleSelect = _this.handleSelect.bind(_this);\n\n _this.state = {\n activeKey: props.defaultActiveKey\n };\n return _this;\n }\n\n PanelGroup.prototype.handleSelect = function handleSelect(key, e) {\n e.preventDefault();\n\n if (this.props.onSelect) {\n this.props.onSelect(key, e);\n }\n\n if (this.state.activeKey === key) {\n key = null;\n }\n\n this.setState({ activeKey: key });\n };\n\n PanelGroup.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n accordion = _props.accordion,\n propsActiveKey = _props.activeKey,\n className = _props.className,\n children = _props.children,\n defaultActiveKey = _props.defaultActiveKey,\n onSelect = _props.onSelect,\n style = _props.style,\n clsPrefix = _props.clsPrefix,\n others = _objectWithoutProperties(_props, ['accordion', 'activeKey', 'className', 'children', 'defaultActiveKey', 'onSelect', 'style', 'clsPrefix']);\n\n var activeKey = void 0;\n if (accordion) {\n activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey;\n others.role = others.role || 'tablist';\n }\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, others, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }),\n _react2[\"default\"].Children.map(children, function (child) {\n if (!_react2[\"default\"].isValidElement(child)) {\n return child;\n }\n var childProps = {\n style: child.props.style\n };\n\n if (accordion) {\n _extends(childProps, {\n headerRole: 'tab',\n panelRole: 'tabpanel',\n collapsible: true,\n expanded: child.props.eventKey === activeKey,\n onSelect: (0, _tinperBeeCore.createChainedFunction)(_this2.handleSelect, child.props.onSelect)\n });\n }\n\n return (0, _react.cloneElement)(child, childProps);\n })\n );\n };\n\n return PanelGroup;\n}(_react2[\"default\"].Component);\n\nPanelGroup.propTypes = propTypes;\nPanelGroup.defaultProps = defaultProps;\n\nexports[\"default\"] = PanelGroup;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-panel/build/PanelGroup.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Drawer = require('./Drawer');\n\nvar _Drawer2 = _interopRequireDefault(_Drawer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Drawer2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/index.js\n// module id = 78\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _common = require('./common');\n\nvar _reactTransitionGroup = require('react-transition-group');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\tplacement: _propTypes2[\"default\"].oneOf(['left', 'right', 'top', 'bottom']),\n\thasHeader: _propTypes2[\"default\"].bool,\n\tshow: _propTypes2[\"default\"].bool,\n\ttitle: _propTypes2[\"default\"].string,\n\tclassName: _propTypes2[\"default\"].string,\n\tshowMask: _propTypes2[\"default\"].bool,\n\tmaskClosable: _propTypes2[\"default\"].bool,\n\tzIndex: _propTypes2[\"default\"].number,\n\tshowClose: _propTypes2[\"default\"].bool,\n\twidth: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n\theight: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n\tdestroyOnClose: _propTypes2[\"default\"].bool,\n\tcontainer: _propTypes2[\"default\"].string\n};\n\nvar defaultProps = {\n\tplacement: 'left',\n\thasHeader: true,\n\tshow: false,\n\tshowMask: true,\n\tmaskClosable: true,\n\tzIndex: 100000,\n\tshowClose: false,\n\twidth: 'auto',\n\theight: 'auto',\n\tdestroyOnClose: false,\n\tcontainer: 'body'\n};\n\nvar DrawerContext = _react2[\"default\"].createContext(null);\n\nvar Drawer = function (_Component) {\n\t_inherits(Drawer, _Component);\n\n\tfunction Drawer(props) {\n\t\t_classCallCheck(this, Drawer);\n\n\t\tvar _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n\t\t_this.state = {\n\t\t\tshowDrawer: true,\n\t\t\twidth: '0',\n\t\t\tpush: false\n\t\t};\n\t\t_this.drawer = null;\n\t\t_this.parentDrawer = null;\n\t\t(0, _common.bindAll)(_this, ['fMaskClick', 'fDrawerTransitionEnd', 'renderMask', 'renderClose', 'fCloseClick', 'renderBody', 'renderAll']);\n\t\treturn _this;\n\t}\n\n\tDrawer.prototype.componentDidUpdate = function componentDidUpdate(preProps) {\n\t\t//在有父级抽屉时候,子级触发父级向外移动一段距离\n\t\tif (preProps.show != this.props.show && this.parentDrawer) {\n\t\t\tif (this.props.show) {\n\t\t\t\tthis.parentDrawer.push();\n\t\t\t} else {\n\t\t\t\tthis.parentDrawer.pull();\n\t\t\t}\n\t\t}\n\t};\n\n\tDrawer.prototype.push = function push() {\n\t\tthis.setState({\n\t\t\tpush: true\n\t\t});\n\t};\n\n\tDrawer.prototype.pull = function pull() {\n\t\tthis.setState({\n\t\t\tpush: false\n\t\t});\n\t};\n\n\tDrawer.prototype.fMaskClick = function fMaskClick() {\n\t\tvar maskClosable = this.props.maskClosable;\n\n\t\tif (maskClosable) {\n\t\t\tvar onClose = this.props.onClose;\n\n\t\t\tonClose && onClose();\n\t\t}\n\t};\n\n\tDrawer.prototype.fCloseClick = function fCloseClick() {\n\t\tvar onClose = this.props.onClose;\n\n\t\tonClose && onClose();\n\t};\n\n\tDrawer.prototype.fDrawerTransitionEnd = function fDrawerTransitionEnd(e) {};\n\n\tDrawer.prototype.renderMask = function renderMask() {\n\t\tvar _props = this.props,\n\t\t show = _props.show,\n\t\t showMask = _props.showMask,\n\t\t fMaskClick = _props.fMaskClick;\n\t\t//mask样式\n\n\t\tvar maskStyle = void 0;\n\t\tif (show) {\n\t\t\tmaskStyle = {\n\t\t\t\topacity: 1,\n\t\t\t\twidth: '100%'\n\t\t\t};\n\t\t} else {\n\t\t\tmaskStyle = {\n\t\t\t\topacity: 0,\n\t\t\t\twidth: 0\n\t\t\t};\n\t\t}\n\t\treturn showMask ? _react2[\"default\"].createElement('div', { className: 'drawer-mask', style: maskStyle, onClick: this.fMaskClick }) : null;\n\t};\n\n\tDrawer.prototype.renderClose = function renderClose() {\n\t\tvar showClose = this.props.showClose;\n\n\t\treturn showClose ? _react2[\"default\"].createElement(\n\t\t\t'i',\n\t\t\t{ className: 'drawer-close', onClick: this.fCloseClick },\n\t\t\t'\\xD7'\n\t\t) : null;\n\t};\n\n\tDrawer.prototype.renderBody = function renderBody() {\n\t\tvar _this2 = this;\n\n\t\tvar _props2 = this.props,\n\t\t destroyOnClose = _props2.destroyOnClose,\n\t\t show = _props2.show;\n\n\t\tif (destroyOnClose && !show) {\n\t\t\treturn null;\n\t\t}\n\t\tvar _props3 = this.props,\n\t\t hasHeader = _props3.hasHeader,\n\t\t title = _props3.title,\n\t\t children = _props3.children,\n\t\t width = _props3.width,\n\t\t height = _props3.height,\n\t\t placement = _props3.placement;\n\t\tvar push = this.state.push;\n\t\t//抽屉类\n\n\t\tvar drawerClass = (0, _classnames2[\"default\"])('drawer', 'drawer-' + placement);\n\t\t//根据位置获取抽屉样式\n\t\tvar translateHideMap = {\n\t\t\tleft: 'translateX(-100%)',\n\t\t\tright: 'translateX(100%)',\n\t\t\ttop: 'translateY(-100%)',\n\t\t\tbottom: 'translateY(100%)'\n\t\t};\n\t\tvar translateShow = 'translate(0,0)';\n\t\tif (push) {\n\t\t\tvar pushNum = 50;\n\t\t\tvar translateShowMap = {\n\t\t\t\tleft: 'translate(' + pushNum + 'px,0)',\n\t\t\t\tright: 'translate(-' + pushNum + 'px,0)',\n\t\t\t\ttop: 'translate(0,' + pushNum + 'px)',\n\t\t\t\tbottom: 'translate(0,-' + pushNum + 'px)'\n\t\t\t};\n\t\t\ttranslateShow = translateShowMap[placement];\n\t\t}\n\t\tvar translate = show ? translateShow : translateHideMap[placement];\n\t\t//抽屉面板样式\n\t\tif ((0, _common.isNumber)(width)) {\n\t\t\twidth = width + 'px';\n\t\t}\n\t\tif ((0, _common.isNumber)(height)) {\n\t\t\theight = height + 'px';\n\t\t}\n\t\tif (placement == 'top' || placement == 'bottom') {\n\t\t\tif (width == 'auto') {\n\t\t\t\twidth = '100%';\n\t\t\t}\n\t\t}\n\t\tif (placement == 'left' || placement == 'right') {\n\t\t\tif (height == 'auto') {\n\t\t\t\theight = '100%';\n\t\t\t}\n\t\t}\n\t\tvar drawerStyle = {\n\t\t\ttransform: translate,\n\t\t\tWebkitTransform: translate,\n\t\t\twidth: width,\n\t\t\theight: height\n\t\t};\n\t\tvar closer = this.renderClose();\n\t\tvar header = hasHeader ? _react2[\"default\"].createElement(\n\t\t\t'div',\n\t\t\t{ className: 'drawer-header' },\n\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'drawer-header-title' },\n\t\t\t\ttitle\n\t\t\t)\n\t\t) : '';\n\t\treturn _react2[\"default\"].createElement(\n\t\t\tDrawerContext.Provider,\n\t\t\t{ value: this },\n\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t'div',\n\t\t\t\t{ ref: function ref(drawer) {\n\t\t\t\t\t\t_this2.drawer = drawer;\n\t\t\t\t\t}, onTransitionEnd: this.fDrawerTransitionEnd, className: drawerClass, style: drawerStyle },\n\t\t\t\tcloser,\n\t\t\t\theader,\n\t\t\t\t_react2[\"default\"].createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'drawer-body' },\n\t\t\t\t\tchildren\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t};\n\n\tDrawer.prototype.renderAll = function renderAll(value) {\n\t\tvar _props4 = this.props,\n\t\t show = _props4.show,\n\t\t className = _props4.className,\n\t\t zIndex = _props4.zIndex;\n\t\t//容器类\n\n\t\tvar drawercClass = (0, _classnames2[\"default\"])('drawerc', className);\n\t\t//容器样式\n\t\tvar drawercStyle = { zIndex: zIndex };\n\t\tif (show) {\n\t\t\tdrawercStyle.width = '100%';\n\t\t} else {\n\t\t\tdrawercStyle.width = 0;\n\t\t}\n\t\t//获取父级抽屉\n\t\tthis.parentDrawer = value;\n\n\t\treturn _react2[\"default\"].createElement(\n\t\t\t'div',\n\t\t\t{ className: drawercClass, style: drawercStyle },\n\t\t\tthis.renderMask(),\n\t\t\tthis.renderBody()\n\t\t);\n\t};\n\n\tDrawer.prototype.render = function render() {\n\t\tvar container = this.props.container;\n\n\t\tvar conDom = document.querySelector(container);\n\n\t\treturn _reactDom2[\"default\"].createPortal(_react2[\"default\"].createElement(\n\t\t\tDrawerContext.Consumer,\n\t\t\tnull,\n\t\t\tthis.renderAll\n\t\t), conDom);\n\t};\n\n\treturn Drawer;\n}(_react.Component);\n\nDrawer.propTypes = propTypes;\nDrawer.defaultProps = defaultProps;\n\nexports[\"default\"] = Drawer;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/Drawer.js\n// module id = 79\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bindAll = bindAll;\nexports.type = type;\nexports.isNumber = isNumber;\nfunction bindAll(context, arrFunc) {\n arrFunc.forEach(function (item) {\n context[item] = context[item].bind(context);\n });\n}\n\nfunction type(obj) {\n var toString = Object.prototype.toString;\n return toString.call(obj);\n}\n\nfunction isNumber(obj) {\n return type(obj) == '[object Number]';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-drawer/build/common/index.js\n// module id = 80\n// module chunks = 0","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/index.js\n// module id = 81\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A `Transition` component using CSS transitions and animations.\n * It's inspired by the excellent [ng-animate](http://www.nganimate.org/) library.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` stages of the transition. The first class is applied and then a\n * second \"active\" class in order to activate the css animation. After the animation,\n * matching `done` class names are applied to persist the animation state.\n *\n * When the `in` prop is toggled to `true` the Component will get\n * the `example-enter` CSS class and the `example-enter-active` CSS class\n * added in the next tick. This is a convention based on the `classNames` prop.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var _this$getClassNames3 = _this.getClassNames('enter'),\n doneClassName = _this$getClassNames3.doneClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n className = _this$getClassNames4.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames5.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames6 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames6.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var className = typeof classNames !== 'string' ? classNames[type] : classNames + '-' + type;\n var activeClassName = typeof classNames !== 'string' ? classNames[type + 'Active'] : className + '-active';\n var doneClassName = typeof classNames !== 'string' ? classNames[type + 'Done'] : className + '-done';\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames7 = this.getClassNames(type),\n className = _this$getClassNames7.className,\n activeClassName = _this$getClassNames7.activeClassName,\n doneClassName = _this$getClassNames7.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or has finished the transition.\n * A single name can be provided and it will be suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`, `fade-enter-done`,\n * `fade-exit`, `fade-exit-active`, `fade-exit-done`, `fade-appear`, and `fade-appear-active`.\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply spread\n * them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/CSSTransition.js\n// module id = 82\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/addClass.js\n// module id = 83\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/hasClass.js\n// module id = 84\n// module chunks = 0","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/removeClass.js\n// module id = 85\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the components.\n * It's up to you to give meaning and effect to those states. For example we can\n * add styles to a component when it enters or exits:\n *\n * ```jsx\n * import Transition from 'react-transition-group/Transition';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {(state) => (\n * \n * I'm a fade Transition!\n *
\n * )}\n * \n * );\n * ```\n *\n * As noted the `Transition` component doesn't _do_ anything by itself to its child component.\n * What it does do is track transition states over time so you can update the\n * component (such as by adding styles or classes) when it changes states.\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component begins the\n * \"Enter\" stage. During this stage, the component will shift from its current transition state,\n * to `'entering'` for the duration of the transition and then to the `'entered'` stage once\n * it's complete. Let's take the following example:\n *\n * ```jsx\n * state = { in: false };\n *\n * toggleEnterState = () => {\n * this.setState({ in: true });\n * }\n *\n * render() {\n * return (\n * \n * \n * Click to Enter \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state and\n * stay there for 500ms (the value of `timeout`) before it finally switches to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from `'exiting'` to `'exited'`.\n *\n * ## Timing\n *\n * Timing is often the trickiest part of animation, mistakes can result in slight delays\n * that are hard to pin down. A common example is when you want to add an exit transition,\n * you should set the desired final styles when the state is `'exiting'`. That's when the\n * transition to those styles will start and, if you matched the `timeout` prop with the\n * CSS Transition duration, it will end exactly when the state changes to `'exited'`.\n *\n * > **Note**: For simpler transitions the `Transition` component might be enough, but\n * > take into account that it's platform-agnostic, while the `CSSTransition` component\n * > [forces reflows](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * > in order to make more complex transitions more predictable. For example, even though\n * > classes `example-enter` and `example-enter-active` are applied immediately one after\n * > another, you can still transition from one to the other because of the forced reflow\n * > (read [this issue](https://github.com/reactjs/react-transition-group/issues/159#issuecomment-322761171)\n * > for more info). Take this into account when choosing between `Transition` and\n * > `CSSTransition`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element.\n * This function is called with the current transition status\n * ('entering', 'entered', 'exiting', 'exited', 'unmounted'), which can be used\n * to apply context specific props to a component.\n *\n * ```jsx\n * \n * {(status) => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided\n *\n * You may specify a single timeout for all transitions like: `timeout={500}`,\n * or individually like:\n *\n * ```jsx\n * timeout={{\n * enter: 300,\n * exit: 500,\n * appear: 500,\n * }}\n * ```\n *\n * If the value of `appear` is not set, then the value from enter is taken.\n *\n * If the `enter` or `exit` value is `null` or `undefined`, then the timer is set to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = process.env.NODE_ENV !== \"production\" ? _PropTypes.timeoutsShape : {};;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/Transition.js\n// module id = 86\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexports.polyfill = polyfill;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-lifecycles-compat/react-lifecycles-compat.cjs.js\n// module id = 87\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/utils/PropTypes.js\n// module id = 88\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n * I appear first
\n * I replace the above
\n * \n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/ReplaceTransition.js\n// module id = 89\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\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 values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `
` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant to make it easier to animate multiple\n * `Transition` or `CSSTransition` children, sometimes you want to transition a\n * single child by changing its content, e.g. routes, slides, images in a\n * carousel etc. In that case you can change the `key` prop of the child\n * component along with its content, that way `TransitionGroup` will know that\n * it should transition the child.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/TransitionGroup.js\n// module id = 90\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-transition-group/utils/ChildMapping.js\n// module id = 91\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Clipboard = require('./Clipboard');\n\nvar _Clipboard2 = _interopRequireDefault(_Clipboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Clipboard2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/index.js\n// module id = 92\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _clipboard = require('clipboard');\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _beeIcon = require('bee-icon');\n\nvar _beeIcon2 = _interopRequireDefault(_beeIcon);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _beeTooltip = require('bee-tooltip');\n\nvar _beeTooltip2 = _interopRequireDefault(_beeTooltip);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tool = require('bee-locale/build/tool');\n\nvar _i18n = require('./i18n.js');\n\nvar _i18n2 = _interopRequireDefault(_i18n);\n\nvar _beeModal = require('bee-modal');\n\nvar _beeModal2 = _interopRequireDefault(_beeModal);\n\nvar _beeFormControl = require('bee-form-control');\n\nvar _beeFormControl2 = _interopRequireDefault(_beeFormControl);\n\nvar _beeButton = require('bee-button');\n\nvar _beeButton2 = _interopRequireDefault(_beeButton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\n//text和target都写的时候,target无效。 text的cut改为copy。\n// target可以传css3选择器\nvar propTypes = {\n action: _propTypes2[\"default\"].oneOf(['copy', 'cut', null]),\n text: _propTypes2[\"default\"].string,\n success: _propTypes2[\"default\"].func,\n error: _propTypes2[\"default\"].func,\n locale: _propTypes2[\"default\"].object\n};\nvar defaultProps = {\n action: 'copy',\n text: '',\n target: '',\n success: function success() {},\n error: function error() {},\n locale: {}\n};\n\nvar Clipboard = function (_Component) {\n _inherits(Clipboard, _Component);\n\n function Clipboard(props, context) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.blur = function () {\n _this.setState({\n currect: false,\n ready: false\n });\n };\n\n _this.close = function () {\n _this.setState({\n modalShow: false\n });\n };\n\n _this.state = {\n currect: false,\n html: '',\n ready: false,\n id: 'id' + Math.round(Math.random() * 1000 + 1) + new Date().getTime(),\n modalShow: false\n };\n return _this;\n }\n\n Clipboard.prototype.componentWillMount = function componentWillMount() {\n var self = this;\n var _props = this.props,\n success = _props.success,\n error = _props.error;\n\n\n var id = this.state.id;\n var cb = new _clipboard2[\"default\"]('#' + id);\n cb.on('success', function (e) {\n self.setState({\n currect: true,\n ready: true\n });\n e.clearSelection();\n if (success instanceof Function) success();\n });\n cb.on('error', function (e) {\n self.setState({\n modalShow: true,\n html: e.text\n });\n _reactDom2[\"default\"].findDOMNode(self.refs.text).select();\n if (error instanceof Function) error();\n });\n };\n\n Clipboard.prototype.render = function render() {\n var _props2 = this.props,\n action = _props2.action,\n text = _props2.text,\n target = _props2.target;\n\n if (text) action = 'copy';\n\n var locale = (0, _tool.getComponentLocale)(this.props, this.context, 'Clipboard', function () {\n return _i18n2[\"default\"];\n });\n var tootipContent = locale[action];\n if (this.state.ready) {\n tootipContent = locale[action + 'Ready'];\n }\n\n return _react2[\"default\"].createElement(\n _beeTooltip2[\"default\"],\n {\n positionTop: '20px',\n overlay: tootipContent,\n placement: 'top' },\n _react2[\"default\"].createElement(\n 'span',\n {\n onMouseOut: this.blur,\n className: 'u-clipboard',\n id: this.state.id,\n 'data-clipboard-action': action,\n 'data-clipboard-target': target,\n 'data-clipboard-text': text },\n this.props.children ? this.props.children : _react2[\"default\"].createElement(_beeIcon2[\"default\"], {\n className: (0, _classnames2[\"default\"])({\n 'uf-correct': this.state.currect,\n 'uf-copy': !this.state.currect\n })\n }),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"],\n { show: this.state.modalShow, onHide: this.close },\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Header,\n { closeButton: true },\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Title,\n null,\n ' Ctrl+C ',\n locale['copyToClipboard'],\n ' '\n )\n ),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Body,\n null,\n _react2[\"default\"].createElement(_beeFormControl2[\"default\"], { ref: 'text', type: 'text', readOnly: true, value: this.state.html })\n ),\n _react2[\"default\"].createElement(\n _beeModal2[\"default\"].Footer,\n null,\n _react2[\"default\"].createElement(\n _beeButton2[\"default\"],\n { onClick: this.close },\n ' ',\n locale['close'],\n ' '\n )\n )\n )\n )\n );\n };\n\n return Clipboard;\n}(_react.Component);\n\n;\nClipboard.propTypes = propTypes;\nClipboard.defaultProps = defaultProps;\nexports[\"default\"] = Clipboard;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/Clipboard.js\n// module id = 93\n// module chunks = 0","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener);\n global.clipboard = mod.exports;\n }\n})(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) {\n 'use strict';\n\n var _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\n var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\n var _goodListener2 = _interopRequireDefault(_goodListener);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _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 function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _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 function _possibleConstructorReturn(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\n function _inherits(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 var Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n }, {\n key: 'defaultText',\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n }(_tinyEmitter2.default);\n\n /**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n function getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n }\n\n module.exports = Clipboard;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard.js\n// module id = 94\n// module chunks = 0","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['module', 'select'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(module, require('select'));\n } else {\n var mod = {\n exports: {}\n };\n factory(mod, global.select);\n global.clipboardAction = mod.exports;\n }\n})(this, function (module, _select) {\n 'use strict';\n\n var _select2 = _interopRequireDefault(_select);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _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 function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _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 var ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n },\n get: function get() {\n return this._action;\n }\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n },\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n }();\n\n module.exports = ClipboardAction;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/clipboard/lib/clipboard-action.js\n// module id = 95\n// module chunks = 0","function select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/select/src/select.js\n// module id = 96\n// module chunks = 0","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tiny-emitter/index.js\n// module id = 97\n// module chunks = 0","var is = require('./is');\nvar delegate = require('delegate');\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/listen.js\n// module id = 98\n// module chunks = 0","/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/good-listener/src/is.js\n// module id = 99\n// module chunks = 0","var closest = require('./closest');\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/delegate/src/delegate.js\n// module id = 100\n// module chunks = 0","var DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/delegate/src/closest.js\n// module id = 101\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Icon = require('./Icon');\n\nvar _Icon2 = _interopRequireDefault(_Icon);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Icon2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/index.js\n// module id = 102\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\ttype: _propTypes2[\"default\"].string\n\n};\n/**\n * badge 默认显示内容1\n */\nvar defaultProps = {\n\tclsPrefix: 'uf'\n};\n\nvar Icon = function (_Component) {\n\t_inherits(Icon, _Component);\n\n\tfunction Icon(props) {\n\t\t_classCallCheck(this, Icon);\n\n\t\treturn _possibleConstructorReturn(this, _Component.call(this, props));\n\t}\n\n\tIcon.prototype.render = function render() {\n\t\tvar _props = this.props,\n\t\t type = _props.type,\n\t\t className = _props.className,\n\t\t clsPrefix = _props.clsPrefix,\n\t\t others = _objectWithoutProperties(_props, ['type', 'className', 'clsPrefix']);\n\n\t\tvar clsObj = {};\n\n\t\tvar classNames = (0, _classnames2[\"default\"])(clsPrefix, type);\n\n\t\treturn _react2[\"default\"].createElement('i', _extends({}, others, { className: (0, _classnames2[\"default\"])(classNames, className) }));\n\t};\n\n\treturn Icon;\n}(_react.Component);\n\nIcon.defaultProps = defaultProps;\nIcon.propTypes = propTypes;\n\nexports[\"default\"] = Icon;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-icon/build/Icon.js\n// module id = 103\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Tooltip = require('./Tooltip');\n\nvar _Tooltip2 = _interopRequireDefault(_Tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Tooltip2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-tooltip/build/index.js\n// module id = 104\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _OverlayTrigger = require('bee-overlay/build/OverlayTrigger');\n\nvar _OverlayTrigger2 = _interopRequireDefault(_OverlayTrigger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * @required\n */\n id: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].string, _propTypes2[\"default\"].number]),\n inverse: _propTypes2[\"default\"].bool,\n visible: _propTypes2[\"default\"].bool,\n onVisibleChange: _propTypes2[\"default\"].func,\n /**\n * 相对目标元素显示上下左右的位置\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 绝对定位上边距.\n */\n positionTop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n /**\n * 绝对定位左边距\n */\n positionLeft: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n\n /**\n * 与目标Top的距离\n */\n arrowOffsetTop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n /**\n * 与目标Left的距离\n */\n arrowOffsetLeft: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string])\n};\n\nvar defaultProps = {\n placement: 'right',\n clsPrefix: 'u-tooltip'\n};\nfunction OverlayNode(props) {\n var className = props.className,\n classNames = props.classNames,\n style = props.style,\n overlay = props.overlay,\n arrowOffsetTop = props.arrowOffsetTop,\n arrowOffsetLeft = props.arrowOffsetLeft;\n\n return _react2[\"default\"].createElement(\n 'div',\n {\n className: (0, _classnames2[\"default\"])(className, classNames),\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n style: style\n },\n overlay ? _react2[\"default\"].createElement('div', { className: 'tooltip-arrow', style: {\n top: arrowOffsetTop,\n left: arrowOffsetLeft\n } }) : '',\n overlay ? _react2[\"default\"].createElement(\n 'div',\n { className: 'tooltip-inner' },\n overlay\n ) : ''\n );\n}\n\nvar Tooltip = function (_React$Component) {\n _inherits(Tooltip, _React$Component);\n\n function Tooltip(props) {\n _classCallCheck(this, Tooltip);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.onMouseEnter = function () {\n _this.setState({\n isHoverShow: true\n });\n };\n\n _this.onMouseLeave = function () {\n _this.setState({\n isHoverShow: false\n });\n };\n\n var initState = {\n isHoverShow: false\n };\n if ('visible' in props) {\n _extends(initState, {\n visible: props.visible\n });\n }\n _this.state = initState;\n return _this;\n }\n\n Tooltip.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _props = this.props,\n visible = _props.visible,\n onVisibleChange = _props.onVisibleChange;\n\n if ('visible' in this.props && prevProps.visible !== visible) {\n this.setState({\n visible: visible\n });\n onVisibleChange && onVisibleChange(visible);\n }\n };\n\n /**\n * @desc 鼠标划入时候的事件\n */\n\n\n /**\n * @desc 鼠标划出时候的事件\n */\n\n\n Tooltip.prototype.render = function render() {\n var _classes,\n _this2 = this;\n\n var _props2 = this.props,\n placement = _props2.placement,\n positionTop = _props2.positionTop,\n positionLeft = _props2.positionLeft,\n arrowOffsetTop = _props2.arrowOffsetTop,\n arrowOffsetLeft = _props2.arrowOffsetLeft,\n className = _props2.className,\n style = _props2.style,\n children = _props2.children,\n clsPrefix = _props2.clsPrefix,\n overlay = _props2.overlay,\n inverse = _props2.inverse,\n others = _objectWithoutProperties(_props2, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'className', 'style', 'children', 'clsPrefix', 'overlay', 'inverse']);\n\n var classes = (_classes = {}, _defineProperty(_classes, placement, true), _defineProperty(_classes, 'inverse', inverse), _classes);\n\n var outerStyle = _extends({\n top: positionTop,\n left: positionLeft\n }, style);\n\n var arrowStyle = {\n top: arrowOffsetTop,\n left: arrowOffsetLeft\n };\n\n var classNames = (0, _classnames2[\"default\"])(clsPrefix, classes);\n\n var overlayNode = _react2[\"default\"].createElement(OverlayNode, {\n className: className,\n classNames: classNames,\n overlay: overlay,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n style: true,\n arrowOffsetTop: true,\n arrowOffsetLeft: true\n });\n return 'visible' in this.props ? _react2[\"default\"].createElement(\n _OverlayTrigger2[\"default\"],\n _extends({ visible: this.state.visible, ref: function ref(_ref) {\n return _this2.trigger = _ref;\n }, shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),\n children\n ) : _react2[\"default\"].createElement(\n _OverlayTrigger2[\"default\"],\n _extends({ isHoverShow: this.state.isHoverShow, ref: function ref(_ref2) {\n return _this2.trigger = _ref2;\n }, shouldUpdatePosition: true, placement: placement }, others, { overlay: overlayNode }),\n children\n );\n };\n\n return Tooltip;\n}(_react2[\"default\"].Component);\n\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexports[\"default\"] = Tooltip;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-tooltip/build/Tooltip.js\n// module id = 105\n// module chunks = 0","'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 _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Overlay = require('./Overlay');\n\nvar _Overlay2 = _interopRequireDefault(_Overlay);\n\nvar _createChainedFunction = require('./utils/createChainedFunction');\n\nvar _createChainedFunction2 = _interopRequireDefault(_createChainedFunction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\nvar createPortal = isReact16 ? _reactDom2[\"default\"].createPortal : _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer;\n\n/**\n * 检查值是属于这个值,还是等于这个值\n *\n * @param {string} one\n * @param {string|array} of\n * @returns {boolean}\n */\nfunction isOneOf(one, of) {\n if (Array.isArray(of)) {\n return of.indexOf(one) >= 0;\n }\n return one === of;\n}\n\nvar triggerType = _propTypes2[\"default\"].oneOf(['click', 'hover', 'focus']);\n\nvar propTypes = _extends({}, _Portal2[\"default\"].propTypes, _Overlay2[\"default\"].propTypes, {\n\n /**\n * 指定哪些操作或操作触发叠加层可见性\n */\n trigger: _propTypes2[\"default\"].oneOfType([triggerType, _propTypes2[\"default\"].arrayOf(triggerType)]),\n\n /**\n * 显示和隐藏覆盖一旦触发的毫秒延迟量\n */\n delay: _propTypes2[\"default\"].number,\n /**\n * 触发后显示叠加层之前的延迟毫秒\n */\n delayShow: _propTypes2[\"default\"].number,\n /**\n * 触发后隐藏叠加层的延迟毫秒\n */\n delayHide: _propTypes2[\"default\"].number,\n\n // FIXME: This should be `defaultShow`.\n /**\n * 覆盖的初始可见性状态。对于更细微的可见性控制,请考虑直接使用覆盖组件。\n */\n defaultOverlayShown: _propTypes2[\"default\"].bool,\n visible: _propTypes2[\"default\"].bool,\n\n /**\n * 要覆盖在目标旁边的元素或文本。\n */\n overlay: _propTypes2[\"default\"].node.isRequired,\n\n /**\n * @private\n */\n onBlur: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onClick: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onFocus: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onMouseOut: _propTypes2[\"default\"].func,\n /**\n * @private\n */\n onMouseOver: _propTypes2[\"default\"].func,\n\n // Overridden props from ``.\n /**\n * @private\n */\n target: _propTypes2[\"default\"].oneOf([null]),\n /**\n * @private\n */\n onHide: _propTypes2[\"default\"].oneOf([null]),\n /**\n * @private\n */\n show: _propTypes2[\"default\"].oneOf([null])\n});\n\nvar defaultProps = {\n defaultOverlayShown: false,\n trigger: ['hover', 'focus']\n};\n\nvar OverlayTrigger = function (_Component) {\n _inherits(OverlayTrigger, _Component);\n\n function OverlayTrigger(props, context) {\n _classCallCheck(this, OverlayTrigger);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.handleToggle = _this.handleToggle.bind(_this);\n _this.handleDelayedShow = _this.handleDelayedShow.bind(_this);\n _this.handleDelayedHide = _this.handleDelayedHide.bind(_this);\n _this.handleHide = _this.handleHide.bind(_this);\n _this.makeOverlay = _this.makeOverlay.bind(_this);\n\n _this.handleMouseOver = function (e) {\n return _this.handleMouseOverOut(_this.handleDelayedShow, e);\n };\n _this.handleMouseOut = function (e) {\n return _this.handleMouseOverOut(_this.handleDelayedHide, e);\n };\n\n _this._mountNode = null;\n\n var visible = void 0;\n if ('visible' in props) {\n visible = !!props.visible;\n } else {\n visible = !!props.defaultOverlayShown;\n }\n\n _this.state = {\n show: visible\n };\n return _this;\n }\n\n OverlayTrigger.prototype.componentDidMount = function componentDidMount() {\n this._mountNode = document.createElement('div');\n !isReact16 && this.renderOverlay();\n };\n\n OverlayTrigger.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n !isReact16 && this.renderOverlay();\n if ('visible' in this.props && prevProps.visible !== this.props.visible) {\n this.setState({\n show: this.props.visible\n });\n }\n if ('isHoverShow' in this.props && prevProps.isHoverShow !== this.props.isHoverShow) {\n this.setState({\n show: this.props.isHoverShow\n });\n }\n };\n\n OverlayTrigger.prototype.componentWillUnmount = function componentWillUnmount() {\n !isReact16 && _reactDom2[\"default\"].unmountComponentAtNode(this._mountNode);\n this._mountNode = null;\n // 加判断去掉 clearTimeout\n this._hoverShowDelay && clearTimeout(this._hoverShowDelay);\n this._hoverShowDelay && clearTimeout(this._hoverHideDelay);\n };\n\n OverlayTrigger.prototype.handleToggle = function handleToggle() {\n if (this.state.show) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n OverlayTrigger.prototype.handleDelayedShow = function handleDelayedShow() {\n var _this2 = this;\n\n if (this._hoverHideDelay != null) {\n clearTimeout(this._hoverHideDelay);\n this._hoverHideDelay = null;\n return;\n }\n\n if (this.state.show || this._hoverShowDelay != null) {\n return;\n }\n\n var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay;\n\n if (!delay) {\n this.show();\n return;\n }\n\n this._hoverShowDelay = setTimeout(function () {\n _this2._hoverShowDelay = null;\n _this2.show();\n }, delay);\n };\n\n OverlayTrigger.prototype.handleDelayedHide = function handleDelayedHide() {\n var _this3 = this;\n\n if (this._hoverShowDelay != null) {\n clearTimeout(this._hoverShowDelay);\n this._hoverShowDelay = null;\n return;\n }\n\n if (!this.state.show || this._hoverHideDelay != null) {\n return;\n }\n\n var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay;\n\n if (!delay) {\n this.hide();\n return;\n }\n\n this._hoverHideDelay = setTimeout(function () {\n _this3._hoverHideDelay = null;\n _this3.hide();\n }, delay);\n };\n\n // 简单实现mouseEnter和mouseLeave。\n // React的内置版本是有问题的:https://github.com/facebook/react/issues/4251\n //在触发器被禁用的情况下,mouseOut / Over可能导致闪烁\n //从一个子元素移动到另一个子元素。\n\n\n OverlayTrigger.prototype.handleMouseOverOut = function handleMouseOverOut(handler, e) {\n var target = e.currentTarget;\n var related = e.relatedTarget || e.nativeEvent.toElement;\n\n if (!related || related !== target && !(0, _contains2[\"default\"])(target, related)) {\n handler(e);\n }\n };\n\n OverlayTrigger.prototype.handleHide = function handleHide() {\n this.hide();\n };\n\n OverlayTrigger.prototype.show = function show() {\n this.setState({ show: true });\n };\n\n OverlayTrigger.prototype.hide = function hide() {\n this.setState({ show: false });\n };\n\n OverlayTrigger.prototype.makeOverlay = function makeOverlay(overlay, props) {\n return _react2[\"default\"].createElement(\n _Overlay2[\"default\"],\n _extends({}, props, {\n show: this.state.show,\n onHide: this.handleHide,\n target: this\n }),\n overlay\n );\n };\n\n OverlayTrigger.prototype.renderOverlay = function renderOverlay() {\n _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode);\n };\n\n OverlayTrigger.prototype.render = function render() {\n var _props = this.props,\n trigger = _props.trigger,\n overlay = _props.overlay,\n children = _props.children,\n onBlur = _props.onBlur,\n onClick = _props.onClick,\n onFocus = _props.onFocus,\n onMouseOut = _props.onMouseOut,\n onMouseOver = _props.onMouseOver,\n props = _objectWithoutProperties(_props, ['trigger', 'overlay', 'children', 'onBlur', 'onClick', 'onFocus', 'onMouseOut', 'onMouseOver']);\n\n delete props.delay;\n delete props.delayShow;\n delete props.delayHide;\n delete props.defaultOverlayShown;\n\n var child = _react2[\"default\"].Children.only(children);\n var childProps = child.props;\n\n var triggerProps = {\n 'aria-describedby': overlay.props.id\n };\n\n // FIXME: 这里用于传递这个组件上的处理程序的逻辑是不一致的。我们不应该通过任何这些道具。\n\n triggerProps.onClick = (0, _createChainedFunction2[\"default\"])(childProps.onClick, onClick);\n\n if (isOneOf('click', trigger) && !('visible' in this.props)) {\n triggerProps.onClick = (0, _createChainedFunction2[\"default\"])(triggerProps.onClick, this.handleToggle);\n }\n\n if (isOneOf('hover', trigger) && !('visible' in this.props)) {\n (0, _warning2[\"default\"])(!(trigger === 'hover'), '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the ' + 'visibility of the overlay to just mouse users. Consider also ' + 'including the `\"focus\"` trigger so that touch and keyboard only ' + 'users can see the overlay as well.');\n\n triggerProps.onMouseOver = (0, _createChainedFunction2[\"default\"])(childProps.onMouseOver, onMouseOver, this.handleMouseOver);\n triggerProps.onMouseOut = (0, _createChainedFunction2[\"default\"])(childProps.onMouseOut, onMouseOut, this.handleMouseOut);\n }\n\n if (isOneOf('focus', trigger) && !('visible' in this.props)) {\n triggerProps.onFocus = (0, _createChainedFunction2[\"default\"])(childProps.onFocus, onFocus, this.handleDelayedShow);\n triggerProps.onBlur = (0, _createChainedFunction2[\"default\"])(childProps.onBlur, onBlur, this.handleDelayedHide);\n }\n\n this._overlay = this.makeOverlay(overlay, props);\n\n if (!isReact16) {\n return (0, _react.cloneElement)(child, triggerProps);\n }\n triggerProps.key = 'overlay';\n\n var portal = _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n {\n key: 'portal',\n container: props.container },\n this._overlay\n );\n\n return [(0, _react.cloneElement)(child, triggerProps), portal];\n };\n\n return OverlayTrigger;\n}(_react.Component);\n\nOverlayTrigger.propTypes = propTypes;\nOverlayTrigger.defaultProps = defaultProps;\n\nexports[\"default\"] = OverlayTrigger;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/OverlayTrigger.js\n// module id = 106\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nexports.default = _default;\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n return false;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/contains.js\n// module id = 107\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\nvar createPortal = isReact16 ? _reactDom2[\"default\"].createPortal : _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer;\n\nvar propTypes = {\n /**\n * 存放子组件的容器\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func])\n};\n\nvar defaultProps = {};\n\n/**\n * Portal组件是将子组件渲染\n */\n\nvar Portal = function (_Component) {\n _inherits(Portal, _Component);\n\n function Portal(props) {\n _classCallCheck(this, Portal);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.getMountNode = _this.getMountNode.bind(_this);\n _this.getOverlayDOMNode = _this.getOverlayDOMNode.bind(_this);\n _this.mountOverlayTarget = _this.mountOverlayTarget.bind(_this);\n _this.unmountOverlayTarget = _this.unmountOverlayTarget.bind(_this);\n _this.renderOverlay = _this.renderOverlay.bind(_this);\n _this.unrenderOverlay = _this.unrenderOverlay.bind(_this);\n\n _this.overlayTarget = isReact16 ? document.createElement('div') : null;\n return _this;\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n if (isReact16) {\n this.portalContainerNode = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n } else {\n this.renderOverlay();\n }\n\n this.mounted = true;\n };\n\n Portal.prototype.componentDidUpdate = function componentDidUpdate() {\n if (isReact16) {\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n if (overlay === null) {\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n } else {}\n } else {\n this.renderOverlay();\n }\n };\n //this._overlayTarget为当前的要添加的子组件, this._portalContainerNode要添加组件的容器元素\n\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.overlayTarget && nextProps.container !== this.props.container) {\n this.portalContainerNode.removeChild(this.overlayTarget);\n this.portalContainerNode = (0, _getContainer2[\"default\"])(nextProps.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n\n this.mounted = false;\n };\n\n Portal.prototype.getMountNode = function getMountNode() {\n return this.overlayTarget;\n };\n\n Portal.prototype.getOverlayDOMNode = function getOverlayDOMNode() {\n if (!this.mounted) {\n throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.');\n }\n\n if (this.overlayInstance) {\n return _reactDom2[\"default\"].findDOMNode(this.overlayInstance);\n }\n\n return null;\n };\n\n /**\n * 如果要添加的子组件不存在,就将div添加到要添加容器的DOM中;\n */\n\n Portal.prototype.mountOverlayTarget = function mountOverlayTarget() {\n if (!this.overlayTarget) {\n this.overlayTarget = document.createElement('div');\n this.portalContainerNode = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n this.portalContainerNode.appendChild(this.overlayTarget);\n }\n };\n /**\n * 将要添加的子元素从容器中移除,并把变量置为null\n */\n\n\n Portal.prototype.unmountOverlayTarget = function unmountOverlayTarget() {\n if (this.overlayTarget) {\n this.portalContainerNode.removeChild(this.overlayTarget);\n this.overlayTarget = null;\n }\n this.portalContainerNode = null;\n };\n /**\n * 手动渲染_overlayTarget\n */\n\n\n Portal.prototype.renderOverlay = function renderOverlay() {\n\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n\n // Save reference for future access.\n if (overlay !== null) {\n this.mountOverlayTarget();\n this.overlayInstance = _reactDom2[\"default\"].unstable_renderSubtreeIntoContainer(this, overlay, this.overlayTarget);\n } else {\n // Unrender if the component is null for transitions to null\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n }\n };\n /**\n * 销毁_overlayTarget组件。并把_overlayInstance置为null\n */\n\n\n Portal.prototype.unrenderOverlay = function unrenderOverlay() {\n if (this.overlayTarget) {\n !isReact16 && _reactDom2[\"default\"].unmountComponentAtNode(this.overlayTarget);\n this.overlayInstance = null;\n }\n };\n\n Portal.prototype.render = function render() {\n if (!isReact16) {\n return null;\n }\n\n var overlay = !this.props.children ? null : _react2[\"default\"].Children.only(this.props.children);\n\n return _reactDom2[\"default\"].createPortal(overlay, this.overlayTarget);\n };\n\n return Portal;\n}(_react.Component);\n\n;\n\nPortal.propTypes = propTypes;\nPortal.defaultProps = defaultProps;\n\nexports[\"default\"] = Portal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Portal.js\n// module id = 108\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (componentOrElement) {\n return (0, _ownerDocument2[\"default\"])(_reactDom2[\"default\"].findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/ownerDocument.js\n// module id = 109\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/ownerDocument.js\n// module id = 110\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getContainer;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * 获取容器组件\n * @param {[type]} container [description]\n * @param {[type]} defaultContainer [description]\n * @return {[type]} [description]\n */\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom2[\"default\"].findDOMNode(container) || defaultContainer;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/getContainer.js\n// module id = 111\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _BaseOverlay = require('./BaseOverlay');\n\nvar _BaseOverlay2 = _interopRequireDefault(_BaseOverlay);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _Fade = require('./Fade');\n\nvar _Fade2 = _interopRequireDefault(_Fade);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = _extends({}, _BaseOverlay2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n /**\n * 是\n */\n rootClose: _propTypes2[\"default\"].bool,\n /**\n * 当点击rootClose触发close时的回调函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n /**\n * 使用动画\n */\n animation: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.elementType, _propTypes2[\"default\"].func]),\n\n /**\n * Callback fired before the Overlay transitions in\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired as the Overlay begins to transition in\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired after the Overlay finishes transitioning in\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired right before the Overlay transitions out\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired as the Overlay begins to transition out\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * Callback fired after the Overlay finishes transitioning out\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * Sets the direction of the Overlay.\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 当Overlay在placement方向放不下时的第二优先级方向\n */\n secondPlacement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left'])\n});\n\nvar defaultProps = {\n animation: _Fade2[\"default\"],\n rootClose: false,\n show: false,\n placement: 'right'\n};\n\nvar Overlay = function (_Component) {\n _inherits(Overlay, _Component);\n\n function Overlay() {\n _classCallCheck(this, Overlay);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n Overlay.prototype.render = function render() {\n var _props = this.props,\n animation = _props.animation,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['animation', 'children']);\n\n var transition = animation === true ? _Fade2[\"default\"] : animation || null;\n\n var child = void 0;\n\n if (!transition) {\n child = (0, _react.cloneElement)(children, {\n className: (0, _classnames2[\"default\"])(children.props.className, 'in')\n });\n } else {\n child = children;\n }\n\n return _react2[\"default\"].createElement(\n _BaseOverlay2[\"default\"],\n _extends({}, props, {\n transition: transition\n }),\n child\n );\n };\n\n return Overlay;\n}(_react.Component);\n\nOverlay.propTypes = propTypes;\nOverlay.defaultProps = defaultProps;\n\nexports[\"default\"] = Overlay;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Overlay.js\n// module id = 112\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _Position = require('./Position');\n\nvar _Position2 = _interopRequireDefault(_Position);\n\nvar _RootCloseWrapper = require('./RootCloseWrapper');\n\nvar _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar isReact16 = _reactDom2[\"default\"].createPortal !== undefined;\n\nvar propTypes = _extends({}, _Position2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 点击其他地方,是否隐藏overlay\n */\n rootClose: _propTypes2[\"default\"].bool,\n\n /**\n * 当rootClose为true的时候,触发的隐藏方法\n * @type func\n */\n onHide: function onHide(props) {\n var propType = _propTypes2[\"default\"].func;\n if (props.rootClose) {\n propType = propType.isRequired;\n }\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return propType.apply(undefined, [props].concat(args));\n },\n\n\n /**\n * 过渡动画组件\n */\n transition: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.elementType, _propTypes2[\"default\"].func]),\n\n /**\n * overlay添加动画前的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * 开始动画的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * 渲染之后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * 关闭开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * 关闭时的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * 关闭后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n});\n\nfunction noop() {}\n\nvar defaultProps = {\n show: false,\n rootClose: true\n};\n\n/**\n * 悬浮组件\n */\n\nvar BaseOverlay = function (_Component) {\n _inherits(BaseOverlay, _Component);\n\n function BaseOverlay(props, context) {\n _classCallCheck(this, BaseOverlay);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.state = { exited: !props.show };\n _this.onHiddenListener = _this.handleHidden.bind(_this);\n return _this;\n }\n\n BaseOverlay.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n BaseOverlay.prototype.handleHidden = function handleHidden() {\n this.setState({ exited: true });\n\n if (this.props.onExited) {\n var _props;\n\n (_props = this.props).onExited.apply(_props, arguments);\n }\n };\n\n BaseOverlay.prototype.render = function render() {\n var _props2 = this.props,\n container = _props2.container,\n containerPadding = _props2.containerPadding,\n target = _props2.target,\n placement = _props2.placement,\n secondPlacement = _props2.secondPlacement,\n shouldUpdatePosition = _props2.shouldUpdatePosition,\n rootClose = _props2.rootClose,\n positionLeft = _props2.positionLeft,\n positionTop = _props2.positionTop,\n children = _props2.children,\n Transition = _props2.transition,\n props = _objectWithoutProperties(_props2, ['container', 'containerPadding', 'target', 'placement', 'secondPlacement', 'shouldUpdatePosition', 'rootClose', 'positionLeft', 'positionTop', 'children', 'transition']);\n\n // Don't un-render the overlay while it's transitioning out.\n\n\n var mountOverlay = props.show || Transition && !this.state.exited;\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n var child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = _react2[\"default\"].createElement(\n _Position2[\"default\"],\n {\n container: container,\n containerPadding: containerPadding,\n target: target,\n positionLeft: positionLeft,\n positionTop: positionTop,\n placement: placement,\n secondPlacement: secondPlacement,\n shouldUpdatePosition: shouldUpdatePosition },\n child\n );\n\n if (Transition) {\n var onExit = props.onExit,\n onExiting = props.onExiting,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n\n child = _react2[\"default\"].createElement(\n Transition,\n {\n 'in': props.show,\n transitionAppear: true,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.onHiddenListener,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n child\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n child = _react2[\"default\"].createElement(\n _RootCloseWrapper2[\"default\"],\n { onRootClose: props.onHide },\n child\n );\n }\n\n if (isReact16) {\n return child;\n } else {\n return _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n { container: container },\n child\n );\n }\n };\n\n return BaseOverlay;\n}(_react.Component);\n\nBaseOverlay.propTypes = propTypes;\nBaseOverlay.defaultProps = defaultProps;\n\nexports[\"default\"] = BaseOverlay;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/BaseOverlay.js\n// module id = 113\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _calculatePosition = require('./utils/calculatePosition');\n\nvar _calculatePosition2 = _interopRequireDefault(_calculatePosition);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _ownerWindow = require('./utils/ownerWindow');\n\nvar _ownerWindow2 = _interopRequireDefault(_ownerWindow);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * 要设置定位的元素\n */\n target: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n\n /**\n * 存放的容器元素\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n /**\n * 容器padding值\n */\n containerPadding: _propTypes2[\"default\"].number,\n /**\n * 位置设置\n */\n placement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 第二优先级位置设置\n */\n secondPlacement: _propTypes2[\"default\"].oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * 是否需要更新位置\n */\n shouldUpdatePosition: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n};\n\n/**\n * 计算子组件的位置的组件\n */\n\nvar Position = function (_Component) {\n _inherits(Position, _Component);\n\n function Position(props, context) {\n _classCallCheck(this, Position);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n _this.needsFlush = false;\n _this.lastTarget = null;\n\n _this.getTarget = _this.getTarget.bind(_this);\n _this.maybeUpdatePosition = _this.maybeUpdatePosition.bind(_this);\n _this.updatePosition = _this.updatePosition.bind(_this);\n _this.onWindowResize = _this.onWindowResize.bind(_this);\n return _this;\n }\n\n Position.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._isMounted = true;\n\n this._windowResizeListener = (0, _addEventListener2[\"default\"])((0, _ownerWindow2[\"default\"])(this), 'resize', function () {\n return _this2.onWindowResize();\n });\n\n this.updatePosition(this.getTarget());\n };\n\n Position.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this.needsFlush = true;\n };\n\n Position.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.needsFlush) {\n this.needsFlush = false;\n\n this.maybeUpdatePosition();\n }\n };\n\n Position.prototype.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n\n if (this._windowResizeListener) {\n this._windowResizeListener.remove();\n }\n };\n\n /**\n * 获取要设置位置的子元素\n */\n\n\n Position.prototype.getTarget = function getTarget() {\n var target = this.props.target;\n\n var targetElement = typeof target === 'function' ? target() : target;\n return targetElement && _reactDom2[\"default\"].findDOMNode(targetElement) || null;\n };\n\n /**\n * 验证是否需要更新位置\n */\n\n\n Position.prototype.maybeUpdatePosition = function maybeUpdatePosition(placementChanged) {\n var target = this.getTarget();\n if (!this.props.shouldUpdatePosition && target === this.lastTarget && !placementChanged) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n Position.prototype.onWindowResize = function onWindowResize() {\n var _this3 = this;\n\n (0, _requestAnimationFrame2[\"default\"])(function () {\n return _this3.updatePosition(_this3.getTarget());\n });\n };\n\n /**\n * 更新位置\n */\n\n Position.prototype.updatePosition = function updatePosition(target) {\n var _props = this.props,\n placement = _props.placement,\n secondPlacement = _props.secondPlacement;\n\n\n if (!this._isMounted) {\n return;\n }\n this.lastTarget = target;\n\n if (!target) {\n this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n\n return;\n }\n\n var overlay = _reactDom2[\"default\"].findDOMNode(this);\n var container = (0, _getContainer2[\"default\"])(this.props.container, (0, _ownerDocument2[\"default\"])(this).body);\n\n // 若设置了第二渲染位置,placement的优先级是: placement > secondPlacement > placement的反方向\n if (\"secondPlacement\" in this.props && secondPlacement) {\n var initPosition = (0, _calculatePosition2[\"default\"])(placement, overlay, target, container, this.props.containerPadding);\n if (initPosition.inverseArrow) {\n var secondPosition = (0, _calculatePosition2[\"default\"])(secondPlacement, overlay, target, container, this.props.containerPadding);\n\n if (secondPosition.inverseArrow) {\n this.setState(_extends({}, initPosition, {\n renderPlacement: placement\n }));\n } else {\n this.setState(_extends({}, secondPosition, {\n renderPlacement: secondPlacement\n }));\n }\n } else {\n this.setState(_extends({}, initPosition, {\n renderPlacement: placement\n }));\n }\n } else {\n this.setState((0, _calculatePosition2[\"default\"])(placement, overlay, target, container, this.props.containerPadding));\n }\n };\n\n Position.prototype.render = function render() {\n var _props2 = this.props,\n children = _props2.children,\n className = _props2.className,\n props = _objectWithoutProperties(_props2, ['children', 'className']);\n\n var _state = this.state,\n positionLeft = _state.positionLeft,\n positionTop = _state.positionTop,\n inverseArrow = _state.inverseArrow,\n width = _state.width,\n arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop', 'inverseArrow', 'width']);\n\n // These should not be forwarded to the child.\n\n\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n var child = _react2[\"default\"].Children.only(children);\n return (0, _react.cloneElement)(child, _extends({\n className: (0, _classnames2[\"default\"])(className, child.props.className, { 'inverse-arrow': inverseArrow })\n }, arrowPosition, {\n style: _extends({}, child.props.style, {\n width: width,\n left: positionLeft,\n top: positionTop\n })\n }));\n };\n\n return Position;\n}(_react.Component);\n\nPosition.propTypes = propTypes;\nPosition.defaultProps = defaultProps;\n\nexports[\"default\"] = Position;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Position.js\n// module id = 114\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/requestAnimationFrame.js\n// module id = 115\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = calculatePosition;\n\nvar _offset = require('dom-helpers/query/offset');\n\nvar _offset2 = _interopRequireDefault(_offset);\n\nvar _position = require('dom-helpers/query/position');\n\nvar _position2 = _interopRequireDefault(_position);\n\nvar _scrollTop = require('dom-helpers/query/scrollTop');\n\nvar _scrollTop2 = _interopRequireDefault(_scrollTop);\n\nvar _ownerDocument = require('./ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction getContainerDimensions(containerNode) {\n var width = void 0,\n height = void 0,\n scroll = void 0;\n\n if (containerNode.tagName === 'BODY') {\n width = document.body.scrollWidth;\n height = document.body.scrollHeight;\n\n scroll = (0, _scrollTop2[\"default\"])((0, _ownerDocument2[\"default\"])(containerNode).documentElement) || (0, _scrollTop2[\"default\"])(containerNode);\n } else {\n var _getOffset = (0, _offset2[\"default\"])(containerNode);\n\n width = _getOffset.width;\n height = _getOffset.height;\n\n scroll = (0, _scrollTop2[\"default\"])(containerNode);\n }\n\n return { width: width, height: height, scroll: scroll };\n}\n\nfunction getTopDelta(top, overlayHeight, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerScroll = containerDimensions.scroll;\n var containerHeight = containerDimensions.height;\n\n var topEdgeOffset = top - padding - containerScroll;\n var bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(left, overlayWidth, container, padding) {\n var containerDimensions = getContainerDimensions(container);\n var containerWidth = containerDimensions.width;\n\n var leftEdgeOffset = left - padding;\n var rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nfunction calculatePosition(placement, overlayNode, target, container, padding) {\n var childOffset = container.tagName === 'BODY' ? (0, _offset2[\"default\"])(target) : (0, _position2[\"default\"])(target, container);\n\n var _getOffset2 = (0, _offset2[\"default\"])(overlayNode),\n overlayHeight = _getOffset2.height,\n overlayWidth = _getOffset2.width;\n\n var positionLeft = void 0,\n positionTop = void 0,\n arrowOffsetLeft = void 0,\n arrowOffsetTop = void 0,\n inverseArrow = void 0;\n\n if (/^left|^right/.test(placement)) {\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n\n if (/left/.test(placement)) {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n if (/Top/.test(placement)) {\n positionTop = childOffset.top;\n } else if (/Bottom/.test(placement)) {\n positionTop = childOffset.top + childOffset.height - overlayHeight;\n }\n\n var topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n //内容超出\n if (leftDelta > 0) {\n inverseArrow = true;\n positionLeft = childOffset.left + childOffset.width + 6;\n } else if (leftDelta < 0) {\n inverseArrow = true;\n positionLeft = childOffset.left - overlayWidth - 6;\n } else {\n positionLeft += leftDelta;\n }\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%';\n arrowOffsetLeft = void 0;\n } else if (/^top|^bottom/.test(placement)) {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n\n if (/top/.test(placement)) {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n if (/Left/.test(placement)) {\n positionLeft = childOffset.left;\n } else if (/Right/.test(placement)) {\n positionLeft = childOffset.left + (childOffset.width - overlayWidth);\n }\n\n var _leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding);\n var _topDelta = getTopDelta(positionTop, overlayHeight, container, padding);\n positionLeft += _leftDelta;\n arrowOffsetLeft = 50 * (1 - 2 * _leftDelta / overlayWidth) + '%';\n arrowOffsetTop = void 0;\n if (_topDelta > 0) {\n inverseArrow = true;\n positionTop = childOffset.top + childOffset.height + 6;\n } else if (_topDelta < 0) {\n inverseArrow = true;\n positionTop = childOffset.top - overlayHeight - 6;\n } else {\n positionTop += _topDelta;\n }\n\n // if((positionLeft + panelWidth) > docWidth)\n // left = docWidth - panelWidth - 10;\n // if(left < 0)\n // left = 0;\n\n // if((top + panelHeight) > docHeight) {\n // top = docHeight - panelHeight - 10;\n // }\n\n // if(top < 0)\n // top = 0;\n } else {\n throw new Error('calcOverlayPosition(): No such placement of \"' + placement + '\" found.');\n }\n\n return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop, inverseArrow: inverseArrow, width: overlayWidth };\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/calculatePosition.js\n// module id = 116\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offset;\n\nvar _contains = _interopRequireDefault(require(\"./contains\"));\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nfunction offset(node) {\n var doc = (0, _ownerDocument.default)(node),\n win = (0, _isWindow.default)(doc),\n docElem = doc && doc.documentElement,\n box = {\n top: 0,\n left: 0,\n height: 0,\n width: 0\n };\n if (!doc) return; // Make sure it's not a disconnected DOM node\n\n if (!(0, _contains.default)(docElem, node)) return box;\n if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); // IE8 getBoundingClientRect doesn't support width & height\n\n box = {\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0),\n width: (box.width == null ? node.offsetWidth : box.width) || 0,\n height: (box.height == null ? node.offsetHeight : box.height) || 0\n };\n return box;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/offset.js\n// module id = 117\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/isWindow.js\n// module id = 118\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = position;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _offset = _interopRequireDefault(require(\"./offset\"));\n\nvar _offsetParent = _interopRequireDefault(require(\"./offsetParent\"));\n\nvar _scrollTop = _interopRequireDefault(require(\"./scrollTop\"));\n\nvar _scrollLeft = _interopRequireDefault(require(\"./scrollLeft\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction position(node, offsetParent) {\n var parentOffset = {\n top: 0,\n left: 0\n },\n offset; // Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n // because it is its only offset parent\n\n if ((0, _style.default)(node, 'position') === 'fixed') {\n offset = node.getBoundingClientRect();\n } else {\n offsetParent = offsetParent || (0, _offsetParent.default)(node);\n offset = (0, _offset.default)(node);\n if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset.default)(offsetParent);\n parentOffset.top += parseInt((0, _style.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop.default)(offsetParent) || 0;\n parentOffset.left += parseInt((0, _style.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft.default)(offsetParent) || 0;\n } // Subtract parent offsets and node margins\n\n\n return (0, _extends2.default)({}, offset, {\n top: offset.top - parentOffset.top - (parseInt((0, _style.default)(node, 'marginTop'), 10) || 0),\n left: offset.left - parentOffset.left - (parseInt((0, _style.default)(node, 'marginLeft'), 10) || 0)\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/position.js\n// module id = 119\n// module chunks = 0","function _extends() {\n module.exports = _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 return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/extends.js\n// module id = 120\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = offsetParent;\n\nvar _ownerDocument = _interopRequireDefault(require(\"../ownerDocument\"));\n\nvar _style = _interopRequireDefault(require(\"../style\"));\n\nfunction nodeName(node) {\n return node.nodeName && node.nodeName.toLowerCase();\n}\n\nfunction offsetParent(node) {\n var doc = (0, _ownerDocument.default)(node),\n offsetParent = node && node.offsetParent;\n\n while (offsetParent && nodeName(node) !== 'html' && (0, _style.default)(offsetParent, 'position') === 'static') {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || doc.documentElement;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/offsetParent.js\n// module id = 121\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop;\n if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/scrollTop.js\n// module id = 122\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollTop;\n\nvar _isWindow = _interopRequireDefault(require(\"./isWindow\"));\n\nfunction scrollTop(node, val) {\n var win = (0, _isWindow.default)(node);\n if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft;\n if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/scrollLeft.js\n// module id = 123\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (componentOrElement) {\n return (0, _ownerWindow2[\"default\"])(_reactDom2[\"default\"].findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerWindow = require('dom-helpers/ownerWindow');\n\nvar _ownerWindow2 = _interopRequireDefault(_ownerWindow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/ownerWindow.js\n// module id = 124\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = ownerWindow;\n\nvar _ownerDocument = _interopRequireDefault(require(\"./ownerDocument\"));\n\nfunction ownerWindow(node) {\n var doc = (0, _ownerDocument.default)(node);\n return doc && doc.defaultView || doc.parentWindow;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/ownerWindow.js\n// module id = 125\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (node, event, handler, capture) {\n (0, _on2[\"default\"])(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2[\"default\"])(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/addEventListener.js\n// module id = 126\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar off = function off() {};\n\nif (_inDOM.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nvar _default = off;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/off.js\n// module id = 127\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n onRootClose: _propTypes2[\"default\"].func,\n children: _propTypes2[\"default\"].element,\n /**\n * 是否禁用\n */\n disabled: _propTypes2[\"default\"].bool,\n /**\n * 触发事件选择\n */\n event: _propTypes2[\"default\"].oneOf(['click', 'mousedown'])\n};\n\nvar defaultProps = {\n event: 'click'\n};\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar RootCloseWrapper = function (_Component) {\n _inherits(RootCloseWrapper, _Component);\n\n function RootCloseWrapper(props, context) {\n _classCallCheck(this, RootCloseWrapper);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.handleMouseCapture = function (e) {\n _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2[\"default\"])(_reactDom2[\"default\"].findDOMNode(_this), e.target);\n };\n\n _this.handleMouse = function () {\n if (!_this.preventMouseRootClose && _this.props.onRootClose) {\n _this.props.onRootClose();\n }\n };\n\n _this.handleKeyUp = function (e) {\n if (e.keyCode === 27 && _this.props.onRootClose) {\n _this.props.onRootClose();\n }\n };\n\n _this.preventMouseRootClose = false;\n\n _this.addEventListeners = _this.addEventListeners.bind(_this);\n _this.removeEventListeners = _this.removeEventListeners.bind(_this);\n\n return _this;\n }\n\n RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.disabled) {\n this.addEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (!this.props.disabled && prevProps.disabled) {\n this.addEventListeners();\n } else if (this.props.disabled && !prevProps.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.addEventListeners = function addEventListeners() {\n var event = this.props.event;\n\n var doc = (0, _ownerDocument2[\"default\"])(this);\n\n // 避免react的监听事件触发引起判断的不准确\n this.documentMouseCaptureListener = (0, _addEventListener2[\"default\"])(doc, event, this.handleMouseCapture, true);\n\n this.documentMouseListener = (0, _addEventListener2[\"default\"])(doc, event, this.handleMouse);\n\n this.documentKeyupListener = (0, _addEventListener2[\"default\"])(doc, 'keyup', this.handleKeyUp);\n };\n\n RootCloseWrapper.prototype.removeEventListeners = function removeEventListeners() {\n if (this.documentMouseCaptureListener) {\n this.documentMouseCaptureListener.remove();\n }\n\n if (this.documentMouseListener) {\n this.documentMouseListener.remove();\n }\n\n if (this.documentKeyupListener) {\n this.documentKeyupListener.remove();\n }\n };\n\n RootCloseWrapper.prototype.render = function render() {\n return this.props.children;\n };\n\n return RootCloseWrapper;\n}(_react.Component);\n\nRootCloseWrapper.propTypes = propTypes;\n\nRootCloseWrapper.defaultProps = defaultProps;\n\nexports[\"default\"] = RootCloseWrapper;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/RootCloseWrapper.js\n// module id = 128\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _Transition = require('./Transition');\n\nvar _Transition2 = _interopRequireDefault(_Transition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the has component faded in\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * Callback fired before the component fades out\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * Callback fired after the component has faded out\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n \"in\": false,\n timeout: 300,\n unmountOnExit: false,\n transitionAppear: false\n};\n\nvar Fade = function (_React$Component) {\n _inherits(Fade, _React$Component);\n\n function Fade() {\n _classCallCheck(this, Fade);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Fade.prototype.render = function render() {\n return _react2[\"default\"].createElement(_Transition2[\"default\"], _extends({}, this.props, {\n className: (0, _classnames2[\"default\"])(this.props.className, 'fade'),\n enteredClassName: 'in',\n enteringClassName: 'in'\n }));\n };\n\n return Fade;\n}(_react2[\"default\"].Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexports[\"default\"] = Fade;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Fade.js\n// module id = 129\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _properties2 = _interopRequireDefault(_properties);\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar transitionEndEvent = _properties2[\"default\"].end;\n\n//设置状态码\nvar UNMOUNTED = exports.UNMOUNTED = 0;\nvar EXITED = exports.EXITED = 1;\nvar ENTERING = exports.ENTERING = 2;\nvar ENTERED = exports.ENTERED = 3;\nvar EXITING = exports.EXITING = 4;\n\nvar propTypes = {\n /**\n * 是否触发动画\n */\n \"in\": _propTypes2[\"default\"].bool,\n\n /**\n * 不显示的时候是否移除组件\n */\n unmountOnExit: _propTypes2[\"default\"].bool,\n\n /**\n * 如果设置为默认显示,挂载时显示动画\n */\n transitionAppear: _propTypes2[\"default\"].bool,\n\n /**\n * 设置超时时间,防止出现问题,可设置为>=动画时间\n */\n timeout: _propTypes2[\"default\"].number,\n\n /**\n * 退出组件时添加的class\n */\n exitedClassName: _propTypes2[\"default\"].string,\n /**\n * 退出组件中添加的class\n */\n exitingClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画后添加的class\n */\n enteredClassName: _propTypes2[\"default\"].string,\n /**\n * 进入动画时添加的class\n */\n enteringClassName: _propTypes2[\"default\"].string,\n\n /**\n * 进入动画开始时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n /**\n * 进入动画中的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n /**\n * 进入动画后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n /**\n * 退出动画开始时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n /**\n * 退出动画中的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n /**\n * 退出动画后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func\n};\n\nfunction noop() {}\n\nvar defaultProps = {\n \"in\": false,\n unmountOnExit: false,\n transitionAppear: false,\n timeout: 5000,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\n\n/**\n * 动画组件\n */\n\nvar Transition = function (_Component) {\n _inherits(Transition, _Component);\n\n function Transition(props, context) {\n _classCallCheck(this, Transition);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n var initialStatus = void 0;\n if (props[\"in\"]) {\n // 在componentdidmount时开始执行动画\n initialStatus = props.transitionAppear ? EXITED : ENTERED;\n } else {\n initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;\n }\n _this.state = { status: initialStatus };\n\n _this.nextCallback = null;\n\n _this.performEnter = _this.performEnter.bind(_this);\n _this.performExit = _this.performExit.bind(_this);\n _this.cancelNextCallback = _this.cancelNextCallback.bind(_this);\n _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);\n _this.safeSetState = _this.safeSetState.bind(_this);\n _this.setNextCallback = _this.setNextCallback.bind(_this);\n\n return _this;\n }\n\n Transition.prototype.componentDidMount = function componentDidMount() {\n if (this.props.transitionAppear && this.props[\"in\"]) {\n this.performEnter(this.props);\n }\n };\n\n Transition.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps[\"in\"] && this.props.unmountOnExit) {\n if (this.state.status === UNMOUNTED) {\n // 在componentDidUpdate执行动画.\n this.setState({ status: EXITED });\n }\n } else {\n this._needsUpdate = true;\n }\n };\n\n Transition.prototype.componentDidUpdate = function componentDidUpdate() {\n var status = this.state.status;\n\n if (this.props.unmountOnExit && status === EXITED) {\n // 当使用unmountOnExit时,exited为exiting和unmont的过渡状态\n if (this.props[\"in\"]) {\n this.performEnter(this.props);\n } else {\n this.setState({ status: UNMOUNTED });\n }\n\n return;\n }\n\n // 确保只响应prop变化\n if (this._needsUpdate) {\n this._needsUpdate = false;\n\n if (this.props[\"in\"]) {\n if (status === EXITING) {\n this.performEnter(this.props);\n } else if (status === EXITED) {\n this.performEnter(this.props);\n }\n // 其他,当我们已经输入或输出\n } else {\n if (status === ENTERING || status === ENTERED) {\n this.performExit(this.props);\n }\n // 我们已经输入或输出完成\n }\n }\n };\n\n Transition.prototype.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n Transition.prototype.performEnter = function performEnter(props) {\n var _this2 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n // 这里接收新props\n props.onEnter(node);\n\n this.safeSetState({ status: ENTERING }, function () {\n _this2.props.onEntering(node);\n\n _this2.onTransitionEnd(node, function () {\n _this2.safeSetState({ status: ENTERED }, function () {\n _this2.props.onEntered(node);\n });\n });\n });\n };\n\n Transition.prototype.performExit = function performExit(props) {\n var _this3 = this;\n\n this.cancelNextCallback();\n var node = _reactDom2[\"default\"].findDOMNode(this);\n\n props.onExit(node);\n\n this.safeSetState({ status: EXITING }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, function () {\n _this3.safeSetState({ status: EXITED }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n Transition.prototype.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n Transition.prototype.safeSetState = function safeSetState(nextState, callback) {\n // 确保在组件销毁后挂起的setState被消除\n this.setState(nextState, this.setNextCallback(callback));\n };\n\n Transition.prototype.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n Transition.prototype.onTransitionEnd = function onTransitionEnd(node, handler) {\n this.setNextCallback(handler);\n\n if (node) {\n (0, _on2[\"default\"])(node, transitionEndEvent, this.nextCallback);\n setTimeout(this.nextCallback, this.props.timeout);\n } else {\n setTimeout(this.nextCallback, 0);\n }\n };\n\n Transition.prototype.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n childProps = _objectWithoutProperties(_props, ['children', 'className']);\n\n Object.keys(Transition.propTypes).forEach(function (key) {\n return delete childProps[key];\n });\n\n var transitionClassName = void 0;\n if (status === EXITED) {\n transitionClassName = this.props.exitedClassName;\n } else if (status === ENTERING) {\n transitionClassName = this.props.enteringClassName;\n } else if (status === ENTERED) {\n transitionClassName = this.props.enteredClassName;\n } else if (status === EXITING) {\n transitionClassName = this.props.exitingClassName;\n }\n\n var child = _react2[\"default\"].Children.only(children);\n return _react2[\"default\"].cloneElement(child, _extends({}, childProps, {\n className: (0, _classnames2[\"default\"])(child.props.className, className, transitionClassName)\n }));\n };\n\n return Transition;\n}(_react.Component);\n\nTransition.propTypes = propTypes;\n\nTransition.defaultProps = defaultProps;\n\nexports[\"default\"] = Transition;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Transition.js\n// module id = 130\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n\nexports[\"default\"] = createChainedFunction;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/createChainedFunction.js\n// module id = 131\n// module chunks = 0","'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\nexports.getComponentLocale = getComponentLocale;\nexports.getLocaleCode = getLocaleCode;\nfunction getComponentLocale(props, context, componentName, getDefaultLocale) {\n var locale = {};\n if (context && context.beeLocale && context.beeLocale[componentName]) {\n locale = context.beeLocale[componentName];\n } else {\n var defaultLocale = getDefaultLocale();\n\n locale = defaultLocale[\"default\"] || defaultLocale;\n }\n\n var result = _extends({}, locale, props.locale);\n if (props.locale) {\n result.lang = _extends({}, locale.lang, props.locale.lang);\n } else {\n result.lang = _extends({}, locale.lang);\n }\n\n return result;\n}\n\nfunction getLocaleCode(context) {\n var localeCode = context.beeLocale && context.beeLocale.lang;\n // Had use LocaleProvide but didn't set locale\n if (context.beeLocale && context.beeLocale.exist && !localeCode) {\n return 'zh-cn';\n }\n return localeCode;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-locale/build/tool.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n 'lang': 'zh-cn',\n 'copy': '复制',\n 'cut': '剪切',\n 'copyReady': '已复制',\n 'cutReady': '已剪切',\n 'copyToClipboard': '复制到剪切板',\n 'close': '关闭',\n\n 'en-us': {\n 'copy': 'copy',\n 'cut': 'cut',\n 'copyReady': 'copied',\n 'cutReady': 'cut',\n 'copyToClipboard': 'copy to clipboard',\n 'close': 'close'\n },\n 'zh-tw': {\n 'copy': '複製',\n 'cut': '剪切',\n 'copyReady': '已複製',\n 'cutReady': '已剪切',\n 'copyToClipboard': '複製到剪切板',\n 'close': '關閉'\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-clipboard/build/i18n.js\n// module id = 133\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require('./Modal');\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Modal2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/index.js\n// module id = 134\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _events = require('dom-helpers/events');\n\nvar _events2 = _interopRequireDefault(_events);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _Modal = require('bee-overlay/build/Modal');\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nvar _isOverflowing = require('bee-overlay/build/utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _beeTransition = require('bee-transition');\n\nvar _ModalBody = require('./ModalBody');\n\nvar _ModalBody2 = _interopRequireDefault(_ModalBody);\n\nvar _ModalDialog = require('./ModalDialog');\n\nvar _ModalDialog2 = _interopRequireDefault(_ModalDialog);\n\nvar _ModalFooter = require('./ModalFooter');\n\nvar _ModalFooter2 = _interopRequireDefault(_ModalFooter);\n\nvar _ModalHeader = require('./ModalHeader');\n\nvar _ModalHeader2 = _interopRequireDefault(_ModalHeader);\n\nvar _ModalTitle = require('./ModalTitle');\n\nvar _ModalTitle2 = _interopRequireDefault(_ModalTitle);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = _extends({}, _Modal2[\"default\"].propTypes, _ModalDialog2[\"default\"].propTypes, {\n\n /**\n * 是否弹出遮罩层/遮罩层点击是否触发关闭\n */\n backdrop: _propTypes2[\"default\"].oneOf(['static', true, false]),\n\n /**\n * 点击遮罩层是否允许关闭\n */\n backdropClosable: _propTypes2[\"default\"].bool,\n /**\n * esc触发关闭\n */\n keyboard: _propTypes2[\"default\"].bool,\n\n /**\n * 显隐时是否使用动画\n */\n animation: _propTypes2[\"default\"].bool,\n\n /**\n * 传递给模态框的样式\n */\n dialogComponentClass: _tinperBeeCore.elementType,\n\n /**\n * 自动设置焦点\n */\n autoFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 防止打开时焦点离开模态框\n */\n enforceFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 是否打开模态框\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n onEnter: _propTypes2[\"default\"].func,\n\n onEntering: _propTypes2[\"default\"].func,\n\n onEntered: _propTypes2[\"default\"].func,\n\n onExit: _propTypes2[\"default\"].func,\n\n onExiting: _propTypes2[\"default\"].func,\n\n onExited: _propTypes2[\"default\"].func,\n\n /**\n * 要添加到的元素\n */\n container: _Modal2[\"default\"].propTypes.container,\n\n /**\n * 尺寸\n */\n size: _propTypes2[\"default\"].oneOf([\"sm\", \"lg\", \"xlg\", \"\"]),\n /**\n * 自定义宽度\n */\n width: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string])\n});\n\nvar defaultProps = _extends({}, _Modal2[\"default\"].defaultProps, {\n backdropClosable: true,\n animation: true,\n dialogComponentClass: _ModalDialog2[\"default\"],\n clsPrefix: 'u-modal'\n});\n\nvar childContextTypes = {\n $u_modal: _propTypes2[\"default\"].shape({\n onHide: _propTypes2[\"default\"].func\n })\n};\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal(props, context) {\n _classCallCheck(this, Modal);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.handleEntering = _this.handleEntering.bind(_this);\n _this.handleExited = _this.handleExited.bind(_this);\n _this.handleWindowResize = _this.handleWindowResize.bind(_this);\n _this.handleDialogClick = _this.handleDialogClick.bind(_this);\n\n _this.state = {\n style: {}\n };\n return _this;\n }\n\n Modal.prototype.getChildContext = function getChildContext() {\n return {\n $u_modal: {\n onHide: this.props.onHide\n }\n };\n };\n\n Modal.prototype.componentWillUnmount = function componentWillUnmount() {\n // Clean up the listener if we need to.\n this.handleExited();\n };\n\n Modal.prototype.handleEntering = function handleEntering() {\n // FIXME: This should work even when animation is disabled.\n _events2[\"default\"].on(window, 'resize', this.handleWindowResize);\n this.updateStyle();\n };\n\n Modal.prototype.handleExited = function handleExited() {\n // FIXME: This should work even when animation is disabled.\n _events2[\"default\"].off(window, 'resize', this.handleWindowResize);\n };\n\n Modal.prototype.handleWindowResize = function handleWindowResize() {\n this.updateStyle();\n };\n\n Modal.prototype.handleDialogClick = function handleDialogClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n this.props.onHide();\n };\n\n Modal.prototype.updateStyle = function updateStyle() {\n if (!_inDOM2[\"default\"] || !this._modal) {\n return;\n }\n\n var dialogNode = this._modal.getDialogElement();\n var dialogHeight = dialogNode.scrollHeight;\n\n var document = (0, _ownerDocument2[\"default\"])(dialogNode);\n var bodyIsOverflowing = (0, _isOverflowing2[\"default\"])(_reactDom2[\"default\"].findDOMNode(this.props.container || document.body));\n var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;\n\n this.setState({\n style: {\n paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2[\"default\"])() : undefined,\n paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2[\"default\"])() : undefined\n }\n });\n };\n\n Modal.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n backdrop = _props.backdrop,\n backdropClosable = _props.backdropClosable,\n animation = _props.animation,\n show = _props.show,\n Dialog = _props.dialogComponentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n _props$style = _props.style,\n style = _props$style === undefined ? {} : _props$style,\n size = _props.size,\n width = _props.width,\n children = _props.children,\n onEntering = _props.onEntering,\n onExited = _props.onExited,\n props = _objectWithoutProperties(_props, ['backdrop', 'backdropClosable', 'animation', 'show', 'dialogComponentClass', 'className', 'clsPrefix', 'style', 'size', 'width', 'children', 'onEntering', 'onExited']);\n\n var _splitComponent = (0, _tinperBeeCore.splitComponent)(props, _Modal2[\"default\"]),\n _splitComponent2 = _slicedToArray(_splitComponent, 2),\n baseModalProps = _splitComponent2[0],\n dialogProps = _splitComponent2[1];\n\n var inClassName = show && !animation && 'in';\n\n var backdropClasses = _defineProperty({}, clsPrefix + '-backdrop', true);\n var containerClasses = _defineProperty({}, clsPrefix + '-open', true);\n if (Number(width)) width += 'px';\n\n var styleRes = _extends({}, this.state.style, style);\n if (width) {\n _extends(styleRes, { width: width });\n }\n return _react2[\"default\"].createElement(\n _Modal2[\"default\"],\n _extends({}, baseModalProps, {\n ref: function ref(c) {\n _this2._modal = c;\n },\n show: show,\n onEntering: (0, _tinperBeeCore.createChainedFunction)(onEntering, this.handleEntering),\n onExited: (0, _tinperBeeCore.createChainedFunction)(onExited, this.handleExited),\n backdrop: backdrop,\n backdropClassName: (0, _classnames2[\"default\"])(backdropClasses, inClassName),\n containerClassName: (0, _classnames2[\"default\"])(containerClasses),\n transition: animation ? _beeTransition.Fade : undefined,\n dialogTransitionTimeout: Modal.TRANSITION_DURATION,\n backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION\n }),\n _react2[\"default\"].createElement(\n Dialog,\n _extends({}, dialogProps, {\n style: styleRes,\n className: (0, _classnames2[\"default\"])(className, inClassName),\n onClick: backdrop === true && !!backdropClosable ? this.handleDialogClick : null,\n size: size\n }),\n children\n )\n );\n };\n\n return Modal;\n}(_react2[\"default\"].Component);\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.childContextTypes = childContextTypes;\n\nModal.Body = _ModalBody2[\"default\"];\nModal.Header = _ModalHeader2[\"default\"];\nModal.Title = _ModalTitle2[\"default\"];\nModal.Footer = _ModalFooter2[\"default\"];\n\nModal.Dialog = _ModalDialog2[\"default\"];\n\nModal.TRANSITION_DURATION = 200000;\nModal.BACKDROP_TRANSITION_DURATION = 10000;\n\nexports[\"default\"] = Modal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/Modal.js\n// module id = 135\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nexports.on = _on.default;\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nexports.off = _off.default;\n\nvar _filter = _interopRequireDefault(require(\"./filter\"));\n\nexports.filter = _filter.default;\n\nvar _listen = _interopRequireDefault(require(\"./listen\"));\n\nexports.listen = _listen.default;\nvar _default = {\n on: _on.default,\n off: _off.default,\n filter: _filter.default,\n listen: _listen.default\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/index.js\n// module id = 136\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = filterEvents;\n\nvar _contains = _interopRequireDefault(require(\"../query/contains\"));\n\nvar _querySelectorAll = _interopRequireDefault(require(\"../query/querySelectorAll\"));\n\nfunction filterEvents(selector, handler) {\n return function filterHandler(e) {\n var top = e.currentTarget,\n target = e.target,\n matches = (0, _querySelectorAll.default)(top, selector);\n if (matches.some(function (match) {\n return (0, _contains.default)(match, target);\n })) handler.call(this, e);\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/filter.js\n// module id = 137\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = qsa;\n// Zepto.js\n// (c) 2010-2015 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\nvar simpleSelectorRE = /^[\\w-]*$/;\nvar toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n\nfunction qsa(element, selector) {\n var maybeID = selector[0] === '#',\n maybeClass = selector[0] === '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n isSimple = simpleSelectorRE.test(nameOnly),\n found;\n\n if (isSimple) {\n if (maybeID) {\n element = element.getElementById ? element : document;\n return (found = element.getElementById(nameOnly)) ? [found] : [];\n }\n\n if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));\n return toArray(element.getElementsByTagName(selector));\n }\n\n return toArray(element.querySelectorAll(selector));\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/query/querySelectorAll.js\n// module id = 138\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nvar listen = function listen() {};\n\nif (_inDOM.default) {\n listen = function listen(node, eventName, handler, capture) {\n (0, _on.default)(node, eventName, handler, capture);\n return function () {\n (0, _off.default)(node, eventName, handler, capture);\n };\n };\n}\n\nvar _default = listen;\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/events/listen.js\n// module id = 139\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollbarSize;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar size;\n\nfunction scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (_inDOM.default) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/util/scrollbarSize.js\n// module id = 140\n// module chunks = 0","'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; }; /*eslint-disable react/prop-types */\n\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _ModalManager = require('./ModalManager');\n\nvar _ModalManager2 = _interopRequireDefault(_ModalManager);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _addFocusListener = require('./utils/addFocusListener');\n\nvar _addFocusListener2 = _interopRequireDefault(_addFocusListener);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _activeElement = require('dom-helpers/activeElement');\n\nvar _activeElement2 = _interopRequireDefault(_activeElement);\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(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 (!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) : _defaults(subClass, superClass); }\n\nvar modalManager = new _ModalManager2[\"default\"]();\n\n/**\n * 模态框\n */\n\nvar propTypes = _extends({}, _Portal2[\"default\"].propTypes, {\n\n /**\n * 是否显示\n */\n show: _propTypes2[\"default\"].bool,\n\n /**\n * 容器\n */\n container: _propTypes2[\"default\"].oneOfType([_tinperBeeCore.componentOrElement, _propTypes2[\"default\"].func]),\n\n /**\n * 当模态框打开时的钩子函数\n */\n onShow: _propTypes2[\"default\"].func,\n\n /**\n * 当show参数为false时触发的模态框关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func,\n\n /**\n * 是否包含背景\n */\n backdrop: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].bool, _propTypes2[\"default\"].oneOf(['static'])]),\n\n /**\n *返回背景组件的函数\n */\n renderBackdrop: _propTypes2[\"default\"].func,\n\n /**\n * 设置esc键特殊钩子函数\n */\n onEscapeKeyUp: _propTypes2[\"default\"].func,\n\n /**\n * 当点击背景时触发的函数\n */\n onBackdropClick: _propTypes2[\"default\"].func,\n\n /**\n * 背景的style\n */\n backdropStyle: _propTypes2[\"default\"].object,\n\n /**\n * 背景的class\n */\n backdropClassName: _propTypes2[\"default\"].string,\n\n /**\n *容器的class\n */\n containerClassName: _propTypes2[\"default\"].string,\n\n /**\n * 按esc键是否关闭模态框\n */\n keyboard: _propTypes2[\"default\"].bool,\n\n /**\n * 动画组件\n */\n transition: _tinperBeeCore.elementType,\n\n /**\n * 设置动画超时时间\n */\n dialogTransitionTimeout: _propTypes2[\"default\"].number,\n\n /**\n * 设置背景动画超时时间\n */\n backdropTransitionTimeout: _propTypes2[\"default\"].number,\n\n /**\n * 是否自动设置焦点\n */\n autoFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 防止焦点离开模态框\n */\n enforceFocus: _propTypes2[\"default\"].bool,\n\n /**\n * 模态框进入时的钩子函数\n */\n onEnter: _propTypes2[\"default\"].func,\n\n /**\n * 模态框开始进入时的钩子函数\n */\n onEntering: _propTypes2[\"default\"].func,\n\n /**\n * 模态框进入后的钩子函数\n */\n onEntered: _propTypes2[\"default\"].func,\n\n /**\n * 模态框退出时的钩子函数\n */\n onExit: _propTypes2[\"default\"].func,\n\n /**\n * 模态框开始退出时的钩子函数\n */\n onExiting: _propTypes2[\"default\"].func,\n\n /**\n * 模态框推出后的钩子函数\n */\n onExited: _propTypes2[\"default\"].func,\n\n /**\n *管理model状态的实例\n */\n manager: _propTypes2[\"default\"].object.isRequired\n});\n\nvar defaultProps = {\n show: false,\n backdrop: true,\n keyboard: true,\n autoFocus: true,\n enforceFocus: true,\n onHide: function onHide() {},\n manager: modalManager,\n renderBackdrop: function renderBackdrop(props) {\n return _react2[\"default\"].createElement('div', props);\n }\n};\n\nvar BaseModal = function (_Component) {\n _inherits(BaseModal, _Component);\n\n function BaseModal(props, content) {\n _classCallCheck(this, BaseModal);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _this.state = {\n exited: !_this.props.show\n };\n\n _this.onShow = _this.onShow.bind(_this);\n _this.onHide = _this.onHide.bind(_this);\n _this.setMountNode = _this.setMountNode.bind(_this);\n _this.handleHidden = _this.handleHidden.bind(_this);\n _this.handleBackdropClick = _this.handleBackdropClick.bind(_this);\n _this.handleDocumentKeyUp = _this.handleDocumentKeyUp.bind(_this);\n _this.checkForFocus = _this.checkForFocus.bind(_this);\n _this.focus = _this.focus.bind(_this);\n _this.restoreLastFocus = _this.restoreLastFocus.bind(_this);\n _this.enforceFocus = _this.enforceFocus.bind(_this);\n _this.getDialogElement = _this.getDialogElement.bind(_this);\n _this.isTopModal = _this.isTopModal.bind(_this);\n _this.renderBackdrop = _this.renderBackdrop.bind(_this);\n return _this;\n }\n\n BaseModal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n BaseModal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (!this.props.show && nextProps.show) {\n this.checkForFocus();\n }\n };\n\n BaseModal.prototype.componentDidMount = function componentDidMount() {\n if (this.props.show) {\n this.onShow();\n }\n this.mounted = true;\n };\n\n BaseModal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var transition = this.props.transition;\n\n\n if (prevProps.show && !this.props.show && !transition) {\n // Otherwise handleHidden will call this.\n this.onHide();\n } else if (!prevProps.show && this.props.show) {\n this.onShow();\n }\n };\n\n BaseModal.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props = this.props,\n show = _props.show,\n transition = _props.transition;\n\n\n if (show || transition && !this.state.exited) {\n this.onHide();\n }\n\n this.mounted = false;\n };\n\n BaseModal.prototype.onShow = function onShow() {\n var doc = (0, _ownerDocument2[\"default\"])(this);\n var container = (0, _getContainer2[\"default\"])(this.props.container, doc.body);\n\n this.props.manager.add(this, container, this.props.containerClassName);\n\n this._onDocumentKeyupListener = (0, _addEventListener2[\"default\"])(doc, 'keyup', this.handleDocumentKeyUp);\n\n this._onFocusinListener = (0, _addFocusListener2[\"default\"])(this.enforceFocus);\n\n this.focus();\n\n if (this.props.onShow) {\n this.props.onShow();\n }\n };\n\n BaseModal.prototype.onHide = function onHide() {\n this.props.manager.remove(this);\n\n this._onDocumentKeyupListener.remove();\n\n this._onFocusinListener.remove();\n\n this.restoreLastFocus();\n };\n\n BaseModal.prototype.setMountNode = function setMountNode(ref) {\n this.mountNode = ref ? ref.getMountNode() : ref;\n };\n\n BaseModal.prototype.handleHidden = function handleHidden() {\n this.setState({ exited: true });\n this.onHide();\n\n if (this.props.onExited) {\n var _props2;\n\n (_props2 = this.props).onExited.apply(_props2, arguments);\n }\n };\n\n BaseModal.prototype.handleBackdropClick = function handleBackdropClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (this.props.onBackdropClick) {\n this.props.onBackdropClick(e);\n }\n\n if (this.props.backdrop === true) {\n this.props.onHide();\n }\n };\n\n BaseModal.prototype.handleDocumentKeyUp = function handleDocumentKeyUp(e) {\n if (this.props.keyboard && e.keyCode === 27 && this.isTopModal()) {\n if (this.props.onEscapeKeyUp) {\n this.props.onEscapeKeyUp(e);\n }\n this.props.onHide();\n }\n };\n\n BaseModal.prototype.checkForFocus = function checkForFocus() {\n if (_inDOM2[\"default\"]) {\n this.lastFocus = (0, _activeElement2[\"default\"])();\n }\n };\n\n BaseModal.prototype.focus = function focus() {\n var autoFocus = this.props.autoFocus;\n var modalContent = this.getDialogElement();\n var current = (0, _activeElement2[\"default\"])((0, _ownerDocument2[\"default\"])(this));\n var focusInModal = current && (0, _contains2[\"default\"])(modalContent, current);\n\n if (modalContent && autoFocus && !focusInModal) {\n this.lastFocus = current;\n\n if (!modalContent.hasAttribute('tabIndex')) {\n modalContent.setAttribute('tabIndex', -1);\n (0, _warning2[\"default\"])(false, 'The modal content node does not accept focus. ' + 'For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".');\n }\n\n modalContent.focus();\n }\n };\n\n BaseModal.prototype.restoreLastFocus = function restoreLastFocus() {\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n if (this.lastFocus && this.lastFocus.focus) {\n this.lastFocus.focus();\n this.lastFocus = null;\n }\n };\n\n BaseModal.prototype.enforceFocus = function enforceFocus() {\n var enforceFocus = this.props.enforceFocus;\n\n\n if (!enforceFocus || !this.mounted || !this.isTopModal()) {\n return;\n }\n\n var active = (0, _activeElement2[\"default\"])((0, _ownerDocument2[\"default\"])(this));\n var modal = this.getDialogElement();\n\n if (modal && modal !== active && !(0, _contains2[\"default\"])(modal, active)) {\n modal.focus();\n }\n };\n\n //instead of a ref, which might conflict with one the parent applied.\n\n\n BaseModal.prototype.getDialogElement = function getDialogElement() {\n var node = this.refs.modal;\n return node && node.lastChild;\n };\n\n BaseModal.prototype.isTopModal = function isTopModal() {\n return this.props.manager.isTopModal(this);\n };\n\n BaseModal.prototype.renderBackdrop = function renderBackdrop() {\n var _this2 = this;\n\n var _props3 = this.props,\n backdropStyle = _props3.backdropStyle,\n backdropClassName = _props3.backdropClassName,\n renderBackdrop = _props3.renderBackdrop,\n Transition = _props3.transition,\n backdropTransitionTimeout = _props3.backdropTransitionTimeout;\n\n\n var backdropRef = function backdropRef(ref) {\n return _this2.backdrop = ref;\n };\n\n var backdrop = _react2[\"default\"].createElement('div', {\n ref: backdropRef,\n style: this.props.backdropStyle,\n className: this.props.backdropClassName,\n onClick: this.handleBackdropClick\n });\n\n if (Transition) {\n backdrop = _react2[\"default\"].createElement(\n Transition,\n { transitionAppear: true,\n 'in': this.props.show,\n timeout: backdropTransitionTimeout\n },\n renderBackdrop({\n ref: backdropRef,\n style: backdropStyle,\n className: backdropClassName,\n onClick: this.handleBackdropClick\n })\n );\n }\n\n return backdrop;\n };\n\n BaseModal.prototype.render = function render() {\n var _props4 = this.props,\n show = _props4.show,\n container = _props4.container,\n children = _props4.children,\n Transition = _props4.transition,\n backdrop = _props4.backdrop,\n dialogTransitionTimeout = _props4.dialogTransitionTimeout,\n className = _props4.className,\n style = _props4.style,\n onExit = _props4.onExit,\n onExiting = _props4.onExiting,\n onEnter = _props4.onEnter,\n onEntering = _props4.onEntering,\n onEntered = _props4.onEntered;\n\n\n var dialog = _react2[\"default\"].Children.only(children);\n\n var mountModal = show || Transition && !this.state.exited;\n if (!mountModal) {\n return null;\n }\n\n var _dialog$props = dialog.props,\n role = _dialog$props.role,\n tabIndex = _dialog$props.tabIndex;\n\n\n if (role === undefined || tabIndex === undefined) {\n dialog = (0, _react.cloneElement)(dialog, {\n role: role === undefined ? 'document' : role,\n tabIndex: tabIndex == null ? '-1' : tabIndex\n });\n }\n\n if (Transition) {\n dialog = _react2[\"default\"].createElement(\n Transition,\n {\n transitionAppear: true,\n unmountOnExit: true,\n 'in': show,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n dialog\n );\n }\n\n return _react2[\"default\"].createElement(\n _Portal2[\"default\"],\n {\n ref: this.setMountNode,\n container: container\n },\n _react2[\"default\"].createElement(\n 'div',\n {\n ref: 'modal',\n role: role || 'dialog',\n style: style,\n className: className\n },\n backdrop && this.renderBackdrop(),\n dialog\n )\n );\n };\n\n return BaseModal;\n}(_react.Component);\n\n;\n\nBaseModal.Manager = _ModalManager2[\"default\"];\n\nBaseModal.propTypes = propTypes;\nBaseModal.defaultProps = defaultProps;\n\nexports[\"default\"] = BaseModal;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/Modal.js\n// module id = 141\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _class = require('dom-helpers/class');\n\nvar _class2 = _interopRequireDefault(_class);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _isOverflowing = require('./utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _manageAriaHidden = require('./utils/manageAriaHidden');\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 findIndexOf(arr, cb) {\n var idx = -1;\n arr.some(function (d, i) {\n if (cb(d, i)) {\n idx = i;\n return true;\n }\n });\n return idx;\n}\n\n//查找容器\nfunction findContainer(data, modal) {\n return findIndexOf(data, function (d) {\n return d.modals.indexOf(modal) !== -1;\n });\n}\n\n//设置容器style\nfunction setContainerStyle(state, container) {\n var style = { overflow: 'hidden' };\n\n state.style = {\n overflow: container.style.overflow,\n paddingRight: container.style.paddingRight\n };\n\n if (state.overflowing) {\n //设置内边距,和添加滚动条宽度\n style.paddingRight = parseInt((0, _style2[\"default\"])(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2[\"default\"])() + 'px';\n }\n\n (0, _style2[\"default\"])(container, style);\n}\n//移除容器style\nfunction removeContainerStyle(_ref, container) {\n var style = _ref.style;\n\n\n Object.keys(style).forEach(function (key) {\n return container.style[key] = style[key];\n });\n}\n/**\n * 容器的正确状态管理和那些容器中的模态。\n */\n\nvar ModalManager = function () {\n function ModalManager() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$hideSiblingNode = _ref2.hideSiblingNodes,\n hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode,\n _ref2$handleContainer = _ref2.handleContainerOverflow,\n handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer;\n\n _classCallCheck(this, ModalManager);\n\n this.hideSiblingNodes = hideSiblingNodes;\n this.handleContainerOverflow = handleContainerOverflow;\n this.modals = [];\n this.containers = [];\n this.data = [];\n }\n\n ModalManager.prototype.add = function add(modal, container, className) {\n var modalIdx = this.modals.indexOf(modal);\n var containerIdx = this.containers.indexOf(container);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n\n if (this.hideSiblingNodes) {\n (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode);\n }\n\n if (containerIdx !== -1) {\n this.data[containerIdx].modals.push(modal);\n return modalIdx;\n }\n\n var data = {\n modals: [modal],\n //right now only the first modal of a container will have its classes applied\n classes: className ? className.split(/\\s+/) : [],\n\n overflowing: (0, _isOverflowing2[\"default\"])(container)\n };\n\n if (this.handleContainerOverflow) {\n setContainerStyle(data, container);\n }\n\n data.classes.forEach(_class2[\"default\"].addClass.bind(null, container));\n\n this.containers.push(container);\n this.data.push(data);\n\n return modalIdx;\n };\n\n ModalManager.prototype.remove = function remove(modal) {\n var modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n var containerIdx = findContainer(this.data, modal);\n var data = this.data[containerIdx];\n var container = this.containers[containerIdx];\n\n data.modals.splice(data.modals.indexOf(modal), 1);\n\n this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (data.modals.length === 0) {\n data.classes.forEach(_class2[\"default\"].removeClass.bind(null, container));\n\n if (this.handleContainerOverflow) {\n removeContainerStyle(data, container);\n }\n\n if (this.hideSiblingNodes) {\n (0, _manageAriaHidden.showSiblings)(container, modal.mountNode);\n }\n this.containers.splice(containerIdx, 1);\n this.data.splice(containerIdx, 1);\n } else if (this.hideSiblingNodes) {\n //otherwise make sure the next top modal is visible to a SR\n (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode);\n }\n };\n\n ModalManager.prototype.isTopModal = function isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n };\n\n return ModalManager;\n}();\n\nexports[\"default\"] = ModalManager;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/ModalManager.js\n// module id = 142\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _addClass = _interopRequireDefault(require(\"./addClass\"));\n\nexports.addClass = _addClass.default;\n\nvar _removeClass = _interopRequireDefault(require(\"./removeClass\"));\n\nexports.removeClass = _removeClass.default;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nexports.hasClass = _hasClass.default;\nvar _default = {\n addClass: _addClass.default,\n removeClass: _removeClass.default,\n hasClass: _hasClass.default\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/class/index.js\n// module id = 143\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isOverflowing;\n\nvar _isWindow = require('dom-helpers/query/isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n}\n\nfunction bodyIsOverflowing(node) {\n var doc = (0, _ownerDocument2[\"default\"])(node);\n var win = (0, _isWindow2[\"default\"])(doc);\n var fullWidth = win.innerWidth;\n\n // Support: ie8, no innerWidth\n if (!fullWidth) {\n var documentElementRect = doc.documentElement.getBoundingClientRect();\n fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n\n return doc.body.clientWidth < fullWidth;\n}\n\nfunction isOverflowing(container) {\n var win = (0, _isWindow2[\"default\"])(container);\n\n return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/isOverflowing.js\n// module id = 144\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\n\nvar BLACKLIST = ['template', 'script', 'style'];\n\nvar isHidable = function isHidable(_ref) {\n var nodeType = _ref.nodeType,\n tagName = _ref.tagName;\n return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;\n};\n\nvar siblings = function siblings(container, mount, cb) {\n mount = [].concat(mount);\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n cb(node);\n }\n });\n};\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/manageAriaHidden.js\n// module id = 145\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = addFocusListener;\n/**\n * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling\n * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8\n *\n * We only allow one Listener at a time to avoid stack overflows\n */\nfunction addFocusListener(handler) {\n var useFocusin = !document.addEventListener;\n var remove = void 0;\n\n if (useFocusin) {\n document.attachEvent('onfocusin', handler);\n remove = function remove() {\n return document.detachEvent('onfocusin', handler);\n };\n } else {\n document.addEventListener('focus', handler, true);\n remove = function remove() {\n return document.removeEventListener('focus', handler, true);\n };\n }\n\n return { remove: remove };\n}\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-overlay/build/utils/addFocusListener.js\n// module id = 146\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = activeElement;\n\nvar _ownerDocument = _interopRequireDefault(require(\"./ownerDocument\"));\n\nfunction activeElement(doc) {\n if (doc === void 0) {\n doc = (0, _ownerDocument.default)();\n }\n\n try {\n return doc.activeElement;\n } catch (e) {\n /* ie throws if no active element */\n }\n}\n\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/dom-helpers/activeElement.js\n// module id = 147\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-modal-body'\n};\n\nvar ModalBody = function (_React$Component) {\n _inherits(ModalBody, _React$Component);\n\n function ModalBody() {\n _classCallCheck(this, ModalBody);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalBody.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalBody;\n}(_react2[\"default\"].Component);\n\nModalBody.propTypes = propTypes;\nModalBody.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalBody;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalBody.js\n// module id = 148\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return 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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\n * 传给dialog的classname\n */\n dialogClassName: _propTypes2[\"default\"].string,\n contentStyle: _propTypes2[\"default\"].object\n\n};\n\nvar defaultProps = {\n clsPrefix: 'u-modal'\n};\n\nvar ModalDialog = function (_React$Component) {\n _inherits(ModalDialog, _React$Component);\n\n function ModalDialog() {\n _classCallCheck(this, ModalDialog);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalDialog.prototype.render = function render() {\n var _dialogClasses;\n\n var _props = this.props,\n dialogClassName = _props.dialogClassName,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n size = _props.size,\n style = _props.style,\n contentStyle = _props.contentStyle,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['dialogClassName', 'className', 'clsPrefix', 'size', 'style', 'contentStyle', 'children']);\n // const [bsProps, elementProps] = splitBsProps(props);\n //\n\n\n var uClassName = _defineProperty({}, '' + clsPrefix, true);\n\n var modalStyle = { display: 'block' };\n\n var dialogClasses = (_dialogClasses = {}, _defineProperty(_dialogClasses, uClassName, false), _defineProperty(_dialogClasses, clsPrefix + '-dialog', true), _dialogClasses);\n if (size) {\n dialogClasses[clsPrefix + '-' + size] = true;\n }\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n tabIndex: '-1',\n role: 'dialog',\n style: modalStyle,\n className: (0, _classnames2[\"default\"])(className, uClassName)\n }),\n _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(dialogClassName, dialogClasses), style: style },\n _react2[\"default\"].createElement(\n 'div',\n { style: contentStyle, className: (0, _classnames2[\"default\"])([clsPrefix + '-content']), role: 'document' },\n children\n )\n )\n );\n };\n\n return ModalDialog;\n}(_react2[\"default\"].Component);\n\nModalDialog.propTypes = propTypes;\nModalDialog.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalDialog;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalDialog.js\n// module id = 149\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'div',\n clsPrefix: 'u-modal-footer'\n};\n\nvar ModalFooter = function (_React$Component) {\n _inherits(ModalFooter, _React$Component);\n\n function ModalFooter() {\n _classCallCheck(this, ModalFooter);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalFooter.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n clsPrefix = _props.clsPrefix,\n className = _props.className,\n props = _objectWithoutProperties(_props, ['componentClass', 'clsPrefix', 'className']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalFooter;\n}(_react2[\"default\"].Component);\n\nModalFooter.propTypes = propTypes;\nModalFooter.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalFooter;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalFooter.js\n// module id = 150\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n\n /**\n * 是否显示关闭按钮\n */\n closeButton: _propTypes2[\"default\"].bool,\n\n /**\n * 关闭时的钩子函数\n */\n onHide: _propTypes2[\"default\"].func\n};\n\nvar defaultProps = {\n 'aria-label': 'Close',\n closeButton: false,\n clsPrefix: 'u-modal-header'\n};\n\nvar contextTypes = {\n $u_modal: _propTypes2[\"default\"].shape({\n onHide: _propTypes2[\"default\"].func\n })\n};\n\nvar ModalHeader = function (_React$Component) {\n _inherits(ModalHeader, _React$Component);\n\n function ModalHeader() {\n _classCallCheck(this, ModalHeader);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalHeader.prototype.render = function render() {\n var _props = this.props,\n label = _props['aria-label'],\n closeButton = _props.closeButton,\n onHide = _props.onHide,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n children = _props.children,\n props = _objectWithoutProperties(_props, ['aria-label', 'closeButton', 'onHide', 'className', 'clsPrefix', 'children']);\n\n var modal = this.context.$u_modal;\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(\n 'div',\n _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }),\n closeButton && _react2[\"default\"].createElement(\n 'button',\n {\n type: 'button',\n className: 'u-close',\n 'aria-label': label,\n onClick: (0, _tinperBeeCore.createChainedFunction)(modal.onHide, onHide)\n },\n _react2[\"default\"].createElement(\n 'span',\n { 'aria-hidden': 'true' },\n _react2[\"default\"].createElement('i', { className: 'uf uf-close' })\n )\n ),\n children\n );\n };\n\n return ModalHeader;\n}(_react2[\"default\"].Component);\n\nModalHeader.propTypes = propTypes;\nModalHeader.defaultProps = defaultProps;\nModalHeader.contextTypes = contextTypes;\n\nexports[\"default\"] = ModalHeader;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalHeader.js\n// module id = 151\n// module chunks = 0","'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 _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _tinperBeeCore = require('tinper-bee-core');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _tinperBeeCore.elementType\n};\n\nvar defaultProps = {\n componentClass: 'h4',\n clsPrefix: 'u-modal-title'\n};\n\nvar ModalTitle = function (_React$Component) {\n _inherits(ModalTitle, _React$Component);\n\n function ModalTitle() {\n _classCallCheck(this, ModalTitle);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n ModalTitle.prototype.render = function render() {\n var _props = this.props,\n Component = _props.componentClass,\n className = _props.className,\n clsPrefix = _props.clsPrefix,\n props = _objectWithoutProperties(_props, ['componentClass', 'className', 'clsPrefix']);\n\n var classes = {};\n classes['' + clsPrefix] = true;\n\n return _react2[\"default\"].createElement(Component, _extends({}, props, {\n className: (0, _classnames2[\"default\"])(className, classes)\n }));\n };\n\n return ModalTitle;\n}(_react2[\"default\"].Component);\n\nModalTitle.propTypes = propTypes;\nModalTitle.defaultProps = defaultProps;\n\nexports[\"default\"] = ModalTitle;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-modal/build/ModalTitle.js\n// module id = 152\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormControl = require('./FormControl');\n\nvar _FormControl2 = _interopRequireDefault(_FormControl);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _FormControl2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/index.js\n// module id = 153\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _beeIcon = require('bee-icon');\n\nvar _beeIcon2 = _interopRequireDefault(_beeIcon);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n componentClass: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].element, _propTypes2[\"default\"].string]),\n type: _propTypes2[\"default\"].string,\n size: _propTypes2[\"default\"].oneOf(['sm', 'md', 'lg']),\n onSearch: _propTypes2[\"default\"].func,\n onChange: _propTypes2[\"default\"].func,\n onBlur: _propTypes2[\"default\"].func,\n showClose: _propTypes2[\"default\"].bool,\n focusSelect: _propTypes2[\"default\"].bool\n};\n\nvar defaultProps = {\n componentClass: 'input',\n clsPrefix: 'u-form-control',\n type: 'text',\n size: 'md'\n};\n\nvar FormControl = function (_React$Component) {\n _inherits(FormControl, _React$Component);\n\n function FormControl(props) {\n _classCallCheck(this, FormControl);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this.handleSearchChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n value: value,\n showSearch: value == null || value === \"\"\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n\n var value = _this.input.value;\n _this.setState({\n showClose: true\n });\n if (onChange) {\n onChange(value, e);\n }\n };\n\n _this.clearValue = function () {\n var onChange = _this.props.onChange;\n\n _this.setState({\n showSearch: true,\n value: \"\",\n showClose: false\n });\n if (onChange) {\n onChange(\"\");\n }\n _this.input.focus();\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onSearch = _this$props.onSearch,\n type = _this$props.type;\n\n if (e.keyCode === 13 && type === \"search\") {\n if (onSearch) {\n onSearch(_this.input.value);\n }\n }\n };\n\n _this.handleSearch = function (e) {\n var onSearch = _this.props.onSearch;\n\n if (onSearch) onSearch(_this.input.value);\n };\n\n _this.handleBlur = function (e) {\n var value = _this.state.value;\n var onBlur = _this.props.onBlur;\n\n\n if (onBlur) {\n onBlur(value, e);\n }\n };\n\n _this.handleFocus = function (e) {\n var value = _this.state.value;\n var onFocus = _this.props.onFocus;\n\n if (_this.props.focusSelect) {\n _this.input.select();\n }\n if (onFocus) {\n onFocus(value, e);\n }\n };\n\n _this.renderInput = function () {\n var _this$props2 = _this.props,\n Component = _this$props2.componentClass,\n type = _this$props2.type,\n className = _this$props2.className,\n size = _this$props2.size,\n clsPrefix = _this$props2.clsPrefix,\n value = _this$props2.value,\n onChange = _this$props2.onChange,\n onSearch = _this$props2.onSearch,\n onBlur = _this$props2.onBlur,\n showClose = _this$props2.showClose,\n focusSelect = _this$props2.focusSelect,\n others = _objectWithoutProperties(_this$props2, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur', 'showClose', 'focusSelect']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n\n var classNames = void 0;\n if (type !== 'file') {\n classNames = (0, _classnames2[\"default\"])(clsPrefix, classes);\n }\n\n return showClose ? _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-close', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _this.state.showClose ? _react2[\"default\"].createElement(_beeIcon2[\"default\"], { onClick: _this.clearValue, type: 'uf-close-c' }) : ''\n )\n ) : _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n value: value,\n onChange: _this.handleChange,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, classNames)\n }));\n };\n\n _this.renderSearch = function () {\n var _this$props3 = _this.props,\n Component = _this$props3.componentClass,\n type = _this$props3.type,\n className = _this$props3.className,\n size = _this$props3.size,\n clsPrefix = _this$props3.clsPrefix,\n value = _this$props3.value,\n onChange = _this$props3.onChange,\n onSearch = _this$props3.onSearch,\n onBlur = _this$props3.onBlur,\n others = _objectWithoutProperties(_this$props3, ['componentClass', 'type', 'className', 'size', 'clsPrefix', 'value', 'onChange', 'onSearch', 'onBlur']);\n // input[type=\"file\"] 不应该有类名 .form-control.\n\n\n var classes = {};\n if (size) {\n classes['' + size] = true;\n }\n classes[clsPrefix + '-search'] = true;\n\n if (type === \"search\") {\n return _react2[\"default\"].createElement(\n 'div',\n { className: (0, _classnames2[\"default\"])(clsPrefix + '-search', clsPrefix + '-affix-wrapper', className) },\n _react2[\"default\"].createElement(Component, _extends({}, others, {\n type: type,\n ref: function ref(el) {\n return _this.input = el;\n },\n onChange: _this.handleSearchChange,\n value: value,\n onKeyDown: _this.handleKeyDown,\n onBlur: _this.handleBlur,\n onFocus: _this.handleFocus,\n className: (0, _classnames2[\"default\"])(className, clsPrefix, classes)\n })),\n _react2[\"default\"].createElement(\n 'div',\n { className: clsPrefix + '-suffix' },\n _react2[\"default\"].createElement(_beeIcon2[\"default\"], { type: 'uf-search', onClick: _this.handleSearch })\n )\n );\n }\n };\n\n _this.state = {\n showSearch: !props.value,\n value: props.value == null ? \"\" : props.value,\n showClose: false\n };\n _this.input = {};\n return _this;\n }\n\n FormControl.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProp) {\n if (nextProp.value !== this.state.value) {\n this.setState({ value: nextProp.value });\n }\n };\n\n FormControl.prototype.render = function render() {\n\n if (this.props.type === \"search\") {\n return this.renderSearch();\n }\n\n return this.renderInput();\n };\n\n return FormControl;\n}(_react2[\"default\"].Component);\n\nFormControl.propTypes = propTypes;\nFormControl.defaultProps = defaultProps;\n\nexports[\"default\"] = FormControl;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-form-control/build/FormControl.js\n// module id = 154\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Button = require('./Button');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Button2[\"default\"];\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/index.js\n// module id = 155\n// module chunks = 0","'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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _classnames = require('classnames');\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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) : _defaults(subClass, superClass); }\n\nvar propTypes = {\n /**\r\n * @title 尺寸\r\n */\n size: _propTypes2[\"default\"].oneOf(['sm', 'md', 'xg', 'lg']),\n /**\r\n * @title 样式\r\n */\n style: _propTypes2[\"default\"].object,\n /**\r\n * @title 形状\r\n */\n shape: _propTypes2[\"default\"].oneOf(['block', 'round', 'border', 'squared', 'floating', 'pillRight', 'pillLeft', 'icon']),\n\n bordered: _propTypes2[\"default\"].bool,\n /**\r\n * @title 类型\r\n */\n colors: _propTypes2[\"default\"].oneOf(['primary', 'secondary', 'accent', 'success', 'info', 'warning', 'danger', 'dark', 'light', 'default']),\n /**\r\n * @title 是否禁用\r\n * @veIgnore\r\n */\n disabled: _propTypes2[\"default\"].bool,\n /**\r\n * @title 类名\r\n * @veIgnore\r\n */\n className: _propTypes2[\"default\"].string,\n\n /**\r\n * @title 的 type\r\n * @veIgnore\r\n */\n htmlType: _propTypes2[\"default\"].oneOf(['submit', 'button', 'reset']),\n isSubmit: _propTypes2[\"default\"].bool //是否作为form的提交按钮\n};\n\nvar defaultProps = {\n disabled: false,\n htmlType: 'button',\n clsPrefix: 'u-button',\n bordered: false,\n isSubmit: false\n};\n\nvar sizeMap = {\n sm: 'sm',\n md: 'md',\n xg: 'xg',\n lg: 'lg'\n},\n colorsMap = {\n primary: 'primary',\n secondary: 'secondary',\n accent: 'accent',\n success: 'success',\n info: 'info',\n warning: 'warning',\n danger: 'danger',\n dark: 'dark',\n light: 'light'\n},\n shapeMap = {\n block: 'block',\n round: 'round',\n border: 'border',\n squared: 'squared',\n floating: 'floating',\n pillRight: 'pill-right',\n pillLeft: 'pill-left',\n icon: 'icon'\n};\n\nvar Button = function (_Component) {\n _inherits(Button, _Component);\n\n function Button(props) {\n _classCallCheck(this, Button);\n\n return _possibleConstructorReturn(this, _Component.call(this, props));\n }\n\n Button.prototype.render = function render() {\n var _props = this.props,\n colors = _props.colors,\n shape = _props.shape,\n disabled = _props.disabled,\n className = _props.className,\n size = _props.size,\n bordered = _props.bordered,\n children = _props.children,\n htmlType = _props.htmlType,\n clsPrefix = _props.clsPrefix,\n isSubmit = _props.isSubmit,\n others = _objectWithoutProperties(_props, ['colors', 'shape', 'disabled', 'className', 'size', 'bordered', 'children', 'htmlType', 'clsPrefix', 'isSubmit']);\n\n var clsObj = {};\n if (className) {\n clsObj[className] = true;\n }\n if (sizeMap[size]) {\n clsObj[clsPrefix + '-' + sizeMap[size]] = true;\n }\n\n if (shapeMap[shape]) {\n clsObj[clsPrefix + '-' + shapeMap[shape]] = true;\n }\n if (colorsMap[colors]) {\n clsObj[clsPrefix + '-' + colorsMap[colors]] = true;\n }\n if (bordered) {\n clsObj[clsPrefix + '-border'] = bordered;\n }\n var classes = (0, _classnames2[\"default\"])(clsPrefix, clsObj);\n return _react2[\"default\"].createElement(\n 'button',\n _extends({\n type: htmlType,\n className: classes,\n disabled: disabled\n }, others),\n this.props.children\n );\n };\n\n return Button;\n}(_react.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexports[\"default\"] = Button;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bee-button/build/Button.js\n// module id = 156\n// module chunks = 0","import Dnd from './Dnd';\r\nexport default Dnd;\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import React, {Component} from 'react';\nimport {DragDropContext, Droppable, Draggable} from 'react-beautiful-dnd';\nimport Drag from 'react-draggable'\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport SortList from './SortList';\nimport Between from './Between';\nimport GridLayout from './GridLayout';\n\n\nconst propTypes = {\n onStart: PropTypes.func,\n onDrag: PropTypes.func,\n onStop: PropTypes.func,\n onDragUpdate: PropTypes.func,\n dropClass: PropTypes.string,\n dropOverClass: PropTypes.string,\n dragClass: PropTypes.string,\n dragingClass: PropTypes.string,\n draggedClass:PropTypes.string,\n className:PropTypes.string,\n style:PropTypes.object,\n list: PropTypes.array,\n otherList: PropTypes.array,\n type:PropTypes.oneOf(['vertical','horizontal','betweenVertical','betweenHorizontal']),\n showKey:PropTypes.string\n\n};\nconst defaultProps = {\n onStart: () => {\n\n },\n onDrag:()=>{\n\n },\n onStop: () => {\n\n },\n onDragUpdate: () => {\n\n },\n list: false,\n otherList:[],\n dropClass:'',\n dropOverClass:'',\n dragClass:'',\n dragingClass:'',\n draggedClass:'',\n type:'vertical'\n};\n\n\nclass Dnd extends Component {\n constructor(props) {\n super(props);\n this.state={\n items:this.props.list||[]\n }\n }\n componentWillReceiveProps(nextProps){\n if(!isEqual(this.state.items,nextProps.list)){\n this.setState({\n items:nextProps.list\n })\n }\n }\n\n render() {\n let self = this;\n let DndType = () => {\n switch(this.props.type){\n case 'vertical':\n return ;\n break;\n case 'horizontal':\n return ;\n break;\n case 'betweenVertical':\n return ;\n break;\n case 'betweenHorizontal':\n return ;\n break;\n default :\n return ;\n break;\n }\n }\n return (\n \n {\n self.state.items.length ? \n DndType(): (\n \n {self.props.children}\n \n )\n }\n
\n\n\n );\n }\n}\nDnd.propTypes = propTypes;\nDnd.defaultProps = defaultProps;\nDnd.Drag = Drag;\nDnd.DragDropContext = DragDropContext;\nDnd.Droppable = Droppable;\nDnd.Draggable = Draggable;\nDnd.GridLayout = GridLayout;\nexport default Dnd;\n\n\n// WEBPACK FOOTER //\n// ./src/Dnd.js","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar _extends = _interopDefault(require('@babel/runtime-corejs2/helpers/extends'));\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar useMemoOne = require('use-memo-one');\nvar _inheritsLoose = _interopDefault(require('@babel/runtime-corejs2/helpers/inheritsLoose'));\nvar invariant = _interopDefault(require('tiny-invariant'));\nvar redux = require('redux');\nvar reactRedux = require('react-redux');\nvar cssBoxModel = require('css-box-model');\nvar memoizeOne = _interopDefault(require('memoize-one'));\nvar _Object$values = _interopDefault(require('@babel/runtime-corejs2/core-js/object/values'));\nvar _Object$keys = _interopDefault(require('@babel/runtime-corejs2/core-js/object/keys'));\nvar _Date$now = _interopDefault(require('@babel/runtime-corejs2/core-js/date/now'));\nvar rafSchd = _interopDefault(require('raf-schd'));\nvar _Object$assign = _interopDefault(require('@babel/runtime-corejs2/core-js/object/assign'));\nvar _Number$isInteger = _interopDefault(require('@babel/runtime-corejs2/core-js/number/is-integer'));\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar spacesAndTabs = /[ \\t]{2,}/g;\nvar lineStartWithSpaces = /^[ \\t]*/gm;\n\nvar clean = function clean(value) {\n return value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();\n};\n\nvar getDevMessage = function getDevMessage(message) {\n return clean(\"\\n %creact-beautiful-dnd\\n\\n %c\" + clean(message) + \"\\n\\n %c\\uD83D\\uDC77\\u200D This is a development only message. It will be removed in production builds.\\n\");\n};\n\nvar getFormattedMessage = function getFormattedMessage(message) {\n return [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];\n};\nvar isDisabledFlag = '__react-beautiful-dnd-disable-dev-warnings';\nvar warning = function warning(message) {\n var _console;\n\n if (isProduction) {\n return;\n }\n\n if (typeof window !== 'undefined' && window[isDisabledFlag]) {\n return;\n }\n\n (_console = console).warn.apply(_console, getFormattedMessage(message));\n};\n\nfunction printFatalError(error) {\n var _console;\n\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n (_console = console).error.apply(_console, getFormattedMessage(\"\\n An error has occurred while a drag is occurring.\\n Any existing drag will be cancelled.\\n\\n > \" + error.message + \"\\n \"));\n\n console.error('raw', error);\n}\n\nfunction shouldRecover(error) {\n return error.message.indexOf('Invariant failed') !== -1;\n}\n\nvar ErrorBoundary = function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.onError = void 0;\n\n _this.setOnError = function (fn) {\n _this.onError = fn;\n };\n\n _this.onFatalError = function (error) {\n printFatalError(error);\n\n if (_this.onError) {\n _this.onError();\n } else {\n process.env.NODE_ENV !== \"production\" ? warning('Could not find recovering function') : void 0;\n }\n\n if (shouldRecover(error)) {\n _this.setState({});\n }\n };\n\n return _this;\n }\n\n var _proto = ErrorBoundary.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener('error', this.onFatalError);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('error', this.onFatalError);\n };\n\n _proto.componentDidCatch = function componentDidCatch(error) {\n this.onFatalError(error);\n\n if (!shouldRecover(error)) {\n throw error;\n }\n };\n\n _proto.render = function render() {\n return this.props.children(this.setOnError);\n };\n\n return ErrorBoundary;\n}(React__default.Component);\n\nvar origin = {\n x: 0,\n y: 0\n};\nvar add = function add(point1, point2) {\n return {\n x: point1.x + point2.x,\n y: point1.y + point2.y\n };\n};\nvar subtract = function subtract(point1, point2) {\n return {\n x: point1.x - point2.x,\n y: point1.y - point2.y\n };\n};\nvar isEqual = function isEqual(point1, point2) {\n return point1.x === point2.x && point1.y === point2.y;\n};\nvar negate = function negate(point) {\n return {\n x: point.x !== 0 ? -point.x : 0,\n y: point.y !== 0 ? -point.y : 0\n };\n};\nvar patch = function patch(line, value, otherValue) {\n var _ref;\n\n if (otherValue === void 0) {\n otherValue = 0;\n }\n\n return _ref = {}, _ref[line] = value, _ref[line === 'x' ? 'y' : 'x'] = otherValue, _ref;\n};\nvar distance = function distance(point1, point2) {\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\n};\nvar closest = function closest(target, points) {\n return Math.min.apply(Math, points.map(function (point) {\n return distance(target, point);\n }));\n};\nvar apply = function apply(fn) {\n return function (point) {\n return {\n x: fn(point.x),\n y: fn(point.y)\n };\n };\n};\n\nvar executeClip = (function (frame, subject) {\n var result = cssBoxModel.getRect({\n top: Math.max(subject.top, frame.top),\n right: Math.min(subject.right, frame.right),\n bottom: Math.min(subject.bottom, frame.bottom),\n left: Math.max(subject.left, frame.left)\n });\n\n if (result.width <= 0 || result.height <= 0) {\n return null;\n }\n\n return result;\n});\n\nvar isEqual$1 = function isEqual(first, second) {\n return first.top === second.top && first.right === second.right && first.bottom === second.bottom && first.left === second.left;\n};\nvar offsetByPosition = function offsetByPosition(spacing, point) {\n return {\n top: spacing.top + point.y,\n left: spacing.left + point.x,\n bottom: spacing.bottom + point.y,\n right: spacing.right + point.x\n };\n};\nvar getCorners = function getCorners(spacing) {\n return [{\n x: spacing.left,\n y: spacing.top\n }, {\n x: spacing.right,\n y: spacing.top\n }, {\n x: spacing.left,\n y: spacing.bottom\n }, {\n x: spacing.right,\n y: spacing.bottom\n }];\n};\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n\nvar scroll = function scroll(target, frame) {\n if (!frame) {\n return target;\n }\n\n return offsetByPosition(target, frame.scroll.diff.displacement);\n};\n\nvar increase = function increase(target, axis, withPlaceholder) {\n if (withPlaceholder && withPlaceholder.increasedBy) {\n var _extends2;\n\n return _extends({}, target, (_extends2 = {}, _extends2[axis.end] = target[axis.end] + withPlaceholder.increasedBy[axis.line], _extends2));\n }\n\n return target;\n};\n\nvar clip = function clip(target, frame) {\n if (frame && frame.shouldClipSubject) {\n return executeClip(frame.pageMarginBox, target);\n }\n\n return cssBoxModel.getRect(target);\n};\n\nvar getSubject = (function (_ref) {\n var page = _ref.page,\n withPlaceholder = _ref.withPlaceholder,\n axis = _ref.axis,\n frame = _ref.frame;\n var scrolled = scroll(page.marginBox, frame);\n var increased = increase(scrolled, axis, withPlaceholder);\n var clipped = clip(increased, frame);\n return {\n page: page,\n withPlaceholder: withPlaceholder,\n active: clipped\n };\n});\n\nvar scrollDroppable = (function (droppable, newScroll) {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var scrollable = droppable.frame;\n var scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n var scrollDisplacement = negate(scrollDiff);\n\n var frame = _extends({}, scrollable, {\n scroll: {\n initial: scrollable.scroll.initial,\n current: newScroll,\n diff: {\n value: scrollDiff,\n displacement: scrollDisplacement\n },\n max: scrollable.scroll.max\n }\n });\n\n var subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: droppable.subject.withPlaceholder,\n axis: droppable.axis,\n frame: frame\n });\n\n var result = _extends({}, droppable, {\n frame: frame,\n subject: subject\n });\n\n return result;\n});\n\nvar records = {};\nvar isEnabled = false;\n\nvar isTimingsEnabled = function isTimingsEnabled() {\n return isEnabled;\n};\nvar start = function start(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isTimingsEnabled()) {\n return;\n }\n\n var now = performance.now();\n records[key] = now;\n }\n};\nvar finish = function finish(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isTimingsEnabled()) {\n return;\n }\n\n var now = performance.now();\n var previous = records[key];\n\n if (!previous) {\n console.warn('cannot finish timing as no previous time found', key);\n return;\n }\n\n var result = now - previous;\n var rounded = result.toFixed(2);\n\n var style = function () {\n if (result < 12) {\n return {\n textColor: 'green',\n symbol: '✅'\n };\n }\n\n if (result < 40) {\n return {\n textColor: 'orange',\n symbol: '⚠️'\n };\n }\n\n return {\n textColor: 'red',\n symbol: '❌'\n };\n }();\n\n console.log(style.symbol + \" %cTiming %c\" + rounded + \" %cms %c\" + key, 'color: blue; font-weight: bold;', \"color: \" + style.textColor + \"; font-size: 1.1em;\", 'color: grey;', 'color: purple; font-weight: bold;');\n }\n};\n\nvar whatIsDraggedOver = (function (impact) {\n var merge = impact.merge,\n destination = impact.destination;\n\n if (destination) {\n return destination.droppableId;\n }\n\n if (merge) {\n return merge.combine.droppableId;\n }\n\n return null;\n});\n\nfunction values(map) {\n return _Object$values(map);\n}\nfunction findIndex(list, predicate) {\n if (list.findIndex) {\n return list.findIndex(predicate);\n }\n\n for (var i = 0; i < list.length; i++) {\n if (predicate(list[i])) {\n return i;\n }\n }\n\n return -1;\n}\nfunction find(list, predicate) {\n if (list.find) {\n return list.find(predicate);\n }\n\n var index = findIndex(list, predicate);\n\n if (index !== -1) {\n return list[index];\n }\n\n return undefined;\n}\n\nvar toDroppableMap = memoizeOne(function (droppables) {\n return droppables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDraggableMap = memoizeOne(function (draggables) {\n return draggables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDroppableList = memoizeOne(function (droppables) {\n return values(droppables);\n});\nvar toDraggableList = memoizeOne(function (draggables) {\n return values(draggables);\n});\n\nvar isWithin = (function (lowerBound, upperBound) {\n return function (value) {\n return lowerBound <= value && value <= upperBound;\n };\n});\n\nvar isPositionInFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (point) {\n return isWithinVertical(point.y) && isWithinVertical(point.y) && isWithinHorizontal(point.x) && isWithinHorizontal(point.x);\n };\n});\n\nvar getDroppableOver = (function (_ref) {\n var target = _ref.target,\n droppables = _ref.droppables;\n var maybe = find(toDroppableList(droppables), function (droppable) {\n if (!droppable.isEnabled) {\n return false;\n }\n\n var active = droppable.subject.active;\n\n if (!active) {\n return false;\n }\n\n return isPositionInFrame(active)(target);\n });\n return maybe ? maybe.descriptor.id : null;\n});\n\nvar getDraggablesInsideDroppable = memoizeOne(function (droppableId, draggables) {\n var result = toDraggableList(draggables).filter(function (draggable) {\n return droppableId === draggable.descriptor.droppableId;\n }).sort(function (a, b) {\n return a.descriptor.index - b.descriptor.index;\n });\n return result;\n});\n\nvar withDroppableScroll = (function (droppable, point) {\n var frame = droppable.frame;\n\n if (!frame) {\n return point;\n }\n\n return add(point, frame.scroll.diff.value);\n});\n\nvar vertical = {\n direction: 'vertical',\n line: 'y',\n crossAxisLine: 'x',\n start: 'top',\n end: 'bottom',\n size: 'height',\n crossAxisStart: 'left',\n crossAxisEnd: 'right',\n crossAxisSize: 'width'\n};\nvar horizontal = {\n direction: 'horizontal',\n line: 'x',\n crossAxisLine: 'y',\n start: 'left',\n end: 'right',\n size: 'width',\n crossAxisStart: 'top',\n crossAxisEnd: 'bottom',\n crossAxisSize: 'height'\n};\n\nvar isUserMovingForward = (function (axis, direction) {\n return axis === vertical ? direction.vertical === 'down' : direction.horizontal === 'right';\n});\n\nvar didStartDisplaced = (function (draggableId, onLift) {\n return Boolean(onLift.wasDisplaced[draggableId]);\n});\n\nvar getCombinedItemDisplacement = (function (_ref) {\n var displaced = _ref.displaced,\n onLift = _ref.onLift,\n combineWith = _ref.combineWith,\n displacedBy = _ref.displacedBy;\n var isDisplaced = Boolean(displaced[combineWith]);\n\n if (didStartDisplaced(combineWith, onLift)) {\n return isDisplaced ? origin : negate(displacedBy.point);\n }\n\n return isDisplaced ? displacedBy.point : origin;\n});\n\nvar getWhenEntered = function getWhenEntered(id, current, oldMerge) {\n if (!oldMerge) {\n return current;\n }\n\n if (id !== oldMerge.combine.draggableId) {\n return current;\n }\n\n return oldMerge.whenEntered;\n};\n\nvar isCombiningWith = function isCombiningWith(_ref) {\n var id = _ref.id,\n currentCenter = _ref.currentCenter,\n axis = _ref.axis,\n borderBox = _ref.borderBox,\n displaceBy = _ref.displaceBy,\n currentUserDirection = _ref.currentUserDirection,\n oldMerge = _ref.oldMerge;\n var start = borderBox[axis.start] + displaceBy[axis.line];\n var end = borderBox[axis.end] + displaceBy[axis.line];\n var size = borderBox[axis.size];\n var twoThirdsOfSize = size * 0.666;\n var whenEntered = getWhenEntered(id, currentUserDirection, oldMerge);\n var isMovingForward = isUserMovingForward(axis, whenEntered);\n var targetCenter = currentCenter[axis.line];\n\n if (isMovingForward) {\n return isWithin(start, start + twoThirdsOfSize)(targetCenter);\n }\n\n return isWithin(end - twoThirdsOfSize, end)(targetCenter);\n};\n\nvar getCombineImpact = (function (_ref2) {\n var currentCenter = _ref2.pageBorderBoxCenterWithDroppableScrollChange,\n previousImpact = _ref2.previousImpact,\n destination = _ref2.destination,\n insideDestinationWithoutDraggable = _ref2.insideDestinationWithoutDraggable,\n userDirection = _ref2.userDirection,\n onLift = _ref2.onLift;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n var axis = destination.axis;\n var map = previousImpact.movement.map;\n var canBeDisplacedBy = previousImpact.movement.displacedBy;\n var oldMerge = previousImpact.merge;\n var target = find(insideDestinationWithoutDraggable, function (child) {\n var id = child.descriptor.id;\n var displaceBy = getCombinedItemDisplacement({\n displaced: map,\n onLift: onLift,\n combineWith: id,\n displacedBy: canBeDisplacedBy\n });\n return isCombiningWith({\n id: id,\n currentCenter: currentCenter,\n axis: axis,\n borderBox: child.page.borderBox,\n displaceBy: displaceBy,\n currentUserDirection: userDirection,\n oldMerge: oldMerge\n });\n });\n\n if (!target) {\n return null;\n }\n\n var merge = {\n whenEntered: getWhenEntered(target.descriptor.id, userDirection, oldMerge),\n combine: {\n draggableId: target.descriptor.id,\n droppableId: destination.descriptor.id\n }\n };\n\n var withMerge = _extends({}, previousImpact, {\n destination: null,\n merge: merge\n });\n\n return withMerge;\n});\n\nvar isPartiallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n\n if (isContained) {\n return true;\n }\n\n var isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n var isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n var isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n\n if (isPartiallyContained) {\n return true;\n }\n\n var isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n var isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n var isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n\n if (isTargetBiggerThanFrame) {\n return true;\n }\n\n var isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n return isTargetBiggerOnOneAxis;\n };\n});\n\nvar isTotallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n return isContained;\n };\n});\n\nvar isTotallyVisibleThroughFrameOnAxis = (function (axis) {\n return function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n if (axis === vertical) {\n return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);\n }\n\n return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n };\n };\n});\n\nvar getDroppableDisplaced = function getDroppableDisplaced(target, destination) {\n var displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;\n return offsetByPosition(target, displacement);\n};\n\nvar isVisibleInDroppable = function isVisibleInDroppable(target, destination, isVisibleThroughFrameFn) {\n if (!destination.subject.active) {\n return false;\n }\n\n return isVisibleThroughFrameFn(destination.subject.active)(target);\n};\n\nvar isVisibleInViewport = function isVisibleInViewport(target, viewport, isVisibleThroughFrameFn) {\n return isVisibleThroughFrameFn(viewport)(target);\n};\n\nvar isVisible = function isVisible(_ref) {\n var toBeDisplaced = _ref.target,\n destination = _ref.destination,\n viewport = _ref.viewport,\n withDroppableDisplacement = _ref.withDroppableDisplacement,\n isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;\n var displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;\n return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);\n};\n\nvar isPartiallyVisible = function isPartiallyVisible(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n }));\n};\nvar isTotallyVisible = function isTotallyVisible(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n }));\n};\nvar isTotallyVisibleOnAxis = function isTotallyVisibleOnAxis(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)\n }));\n};\n\nvar getShouldAnimate = function getShouldAnimate(forceShouldAnimate, isVisible, previous) {\n if (typeof forceShouldAnimate === 'boolean') {\n return forceShouldAnimate;\n }\n\n if (!isVisible) {\n return false;\n }\n\n if (!previous) {\n return true;\n }\n\n return previous.shouldAnimate;\n};\n\nvar getTarget = function getTarget(draggable, onLift) {\n var marginBox = draggable.page.marginBox;\n\n if (!didStartDisplaced(draggable.descriptor.id, onLift)) {\n return marginBox;\n }\n\n var expandBy = {\n top: onLift.displacedBy.point.y,\n right: 0,\n bottom: 0,\n left: onLift.displacedBy.point.x\n };\n return cssBoxModel.getRect(cssBoxModel.expand(marginBox, expandBy));\n};\n\nvar getDisplacement = (function (_ref) {\n var draggable = _ref.draggable,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n onLift = _ref.onLift,\n forceShouldAnimate = _ref.forceShouldAnimate;\n var id = draggable.descriptor.id;\n var map = previousImpact.movement.map;\n var target = getTarget(draggable, onLift);\n var isVisible = isPartiallyVisible({\n target: target,\n destination: destination,\n viewport: viewport,\n withDroppableDisplacement: true\n });\n var shouldAnimate = getShouldAnimate(forceShouldAnimate, isVisible, map[id]);\n var displacement = {\n draggableId: id,\n isVisible: isVisible,\n shouldAnimate: shouldAnimate\n };\n return displacement;\n});\n\nvar getDisplacementMap = memoizeOne(function (displaced) {\n return displaced.reduce(function (map, displacement) {\n map[displacement.draggableId] = displacement;\n return map;\n }, {});\n});\n\nvar getDisplacedBy = memoizeOne(function (axis, displaceBy) {\n var displacement = displaceBy[axis.line];\n return {\n value: displacement,\n point: patch(axis.line, displacement)\n };\n});\n\nvar getReorderImpact = (function (_ref) {\n var currentCenter = _ref.pageBorderBoxCenterWithDroppableScrollChange,\n draggable = _ref.draggable,\n destination = _ref.destination,\n insideDestinationWithoutDraggable = _ref.insideDestinationWithoutDraggable,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n userDirection = _ref.userDirection,\n onLift = _ref.onLift;\n var axis = destination.axis;\n var isMovingForward = isUserMovingForward(destination.axis, userDirection);\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n var targetCenter = currentCenter[axis.line];\n var displacement = displacedBy.value;\n var displaced = insideDestinationWithoutDraggable.filter(function (child) {\n var borderBox = child.page.borderBox;\n var start = borderBox[axis.start];\n var end = borderBox[axis.end];\n var didStartDisplaced$1 = didStartDisplaced(child.descriptor.id, onLift);\n\n if (isMovingForward) {\n if (didStartDisplaced$1) {\n return targetCenter < start;\n }\n\n return targetCenter < start + displacement;\n }\n\n if (didStartDisplaced$1) {\n return targetCenter <= end - displacement;\n }\n\n return targetCenter <= end;\n }).map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: destination,\n previousImpact: previousImpact,\n viewport: viewport.frame,\n onLift: onLift\n });\n });\n var newIndex = insideDestinationWithoutDraggable.length - displaced.length;\n var movement = {\n displacedBy: displacedBy,\n displaced: displaced,\n map: getDisplacementMap(displaced)\n };\n var impact = {\n movement: movement,\n destination: {\n droppableId: destination.descriptor.id,\n index: newIndex\n },\n merge: null\n };\n return impact;\n});\n\nvar noDisplacedBy = {\n point: origin,\n value: 0\n};\nvar noMovement = {\n displaced: [],\n map: {},\n displacedBy: noDisplacedBy\n};\nvar noImpact = {\n movement: noMovement,\n destination: null,\n merge: null\n};\n\nvar removeDraggableFromList = memoizeOne(function (remove, list) {\n return list.filter(function (item) {\n return item.descriptor.id !== remove.descriptor.id;\n });\n});\n\nvar getDragImpact = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n userDirection = _ref.userDirection,\n onLift = _ref.onLift;\n var destinationId = getDroppableOver({\n target: pageBorderBoxCenter,\n droppables: droppables\n });\n\n if (!destinationId) {\n return noImpact;\n }\n\n var destination = droppables[destinationId];\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var insideDestinationWithoutDraggable = removeDraggableFromList(draggable, insideDestination);\n var pageBorderBoxCenterWithDroppableScrollChange = withDroppableScroll(destination, pageBorderBoxCenter);\n var withMerge = getCombineImpact({\n pageBorderBoxCenterWithDroppableScrollChange: pageBorderBoxCenterWithDroppableScrollChange,\n previousImpact: previousImpact,\n destination: destination,\n insideDestinationWithoutDraggable: insideDestinationWithoutDraggable,\n userDirection: userDirection,\n onLift: onLift\n });\n\n if (withMerge) {\n return withMerge;\n }\n\n return getReorderImpact({\n pageBorderBoxCenterWithDroppableScrollChange: pageBorderBoxCenterWithDroppableScrollChange,\n destination: destination,\n draggable: draggable,\n insideDestinationWithoutDraggable: insideDestinationWithoutDraggable,\n previousImpact: previousImpact,\n viewport: viewport,\n userDirection: userDirection,\n onLift: onLift\n });\n});\n\nvar getHomeLocation = (function (descriptor) {\n return {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n };\n});\n\nvar getHomeOnLift = (function (_ref) {\n var draggable = _ref.draggable,\n home = _ref.home,\n draggables = _ref.draggables,\n viewport = _ref.viewport;\n var displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);\n var insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);\n var originallyDisplaced = insideHome.slice(draggable.descriptor.index + 1);\n var wasDisplaced = originallyDisplaced.reduce(function (previous, item) {\n previous[item.descriptor.id] = true;\n return previous;\n }, {});\n var onLift = {\n displacedBy: displacedBy,\n wasDisplaced: wasDisplaced\n };\n var displaced = originallyDisplaced.map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: home,\n previousImpact: noImpact,\n viewport: viewport.frame,\n forceShouldAnimate: false,\n onLift: onLift\n });\n });\n var movement = {\n displaced: displaced,\n map: getDisplacementMap(displaced),\n displacedBy: displacedBy\n };\n var impact = {\n movement: movement,\n destination: getHomeLocation(draggable.descriptor),\n merge: null\n };\n return {\n impact: impact,\n onLift: onLift\n };\n});\n\nvar getDragPositions = (function (_ref) {\n var oldInitial = _ref.initial,\n oldCurrent = _ref.current,\n oldClientBorderBoxCenter = _ref.oldClientBorderBoxCenter,\n newClientBorderBoxCenter = _ref.newClientBorderBoxCenter,\n viewport = _ref.viewport;\n var shift = subtract(newClientBorderBoxCenter, oldClientBorderBoxCenter);\n\n var initial = function () {\n var client = {\n selection: add(oldInitial.client.selection, shift),\n borderBoxCenter: newClientBorderBoxCenter,\n offset: origin\n };\n var page = {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial)\n };\n return {\n client: client,\n page: page\n };\n }();\n\n var current = function () {\n var reverse = negate(shift);\n var offset = add(oldCurrent.client.offset, reverse);\n var client = {\n selection: add(initial.client.selection, offset),\n borderBoxCenter: add(initial.client.borderBoxCenter, offset),\n offset: offset\n };\n var page = {\n selection: add(client.selection, viewport.scroll.current),\n borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current)\n };\n !isEqual(oldCurrent.client.borderBoxCenter, client.borderBoxCenter) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n Incorrect new client center position.\\n Expected (\" + oldCurrent.client.borderBoxCenter.x + \", \" + oldCurrent.client.borderBoxCenter.y + \")\\n to equal (\" + client.borderBoxCenter.x + \", \" + client.borderBoxCenter.y + \")\\n \") : invariant(false) : void 0;\n return {\n client: client,\n page: page\n };\n }();\n\n return {\n current: current,\n initial: initial\n };\n});\n\nvar offsetDraggable = (function (_ref) {\n var draggable = _ref.draggable,\n offset = _ref.offset,\n initialWindowScroll = _ref.initialWindowScroll;\n var client = cssBoxModel.offset(draggable.client, offset);\n var page = cssBoxModel.withScroll(client, initialWindowScroll);\n\n var moved = _extends({}, draggable, {\n placeholder: _extends({}, draggable.placeholder, {\n client: client\n }),\n client: client,\n page: page\n });\n\n return moved;\n});\n\nvar adjustExistingForAdditionsAndRemovals = (function (_ref) {\n var existing = _ref.existing,\n droppables = _ref.droppables,\n addedDraggables = _ref.additions,\n removedDraggables = _ref.removals,\n viewport = _ref.viewport;\n var shifted = {};\n toDroppableList(droppables).forEach(function (droppable) {\n var axis = droppable.axis;\n var original = getDraggablesInsideDroppable(droppable.descriptor.id, existing);\n var toShift = {};\n\n var addShift = function addShift(id, shift) {\n var previous = toShift[id];\n\n if (!previous) {\n toShift[id] = shift;\n return;\n }\n\n toShift[id] = {\n indexChange: previous.indexChange + shift.indexChange,\n offset: add(previous.offset, shift.offset)\n };\n };\n\n var removals = toDraggableMap(removedDraggables.map(function (id) {\n var item = existing[id];\n !item ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find removed draggable \\\"\" + id + \"\\\"\") : invariant(false) : void 0;\n return item;\n }).filter(function (draggable) {\n return draggable.descriptor.droppableId === droppable.descriptor.id;\n }));\n var withRemovals = original.filter(function (item, index) {\n var isBeingRemoved = Boolean(removals[item.descriptor.id]);\n\n if (!isBeingRemoved) {\n return true;\n }\n\n var offset = negate(patch(axis.line, item.displaceBy[axis.line]));\n original.slice(index).forEach(function (sibling) {\n if (removals[sibling.descriptor.id]) {\n return;\n }\n\n addShift(sibling.descriptor.id, {\n indexChange: -1,\n offset: offset\n });\n });\n return false;\n });\n var additions = addedDraggables.filter(function (draggable) {\n return draggable.descriptor.droppableId === droppable.descriptor.id;\n });\n var withAdditions = withRemovals.slice(0);\n additions.forEach(function (item) {\n withAdditions.splice(item.descriptor.index, 0, item);\n });\n var additionMap = toDraggableMap(additions);\n withAdditions.forEach(function (item, index) {\n var wasAdded = Boolean(additionMap[item.descriptor.id]);\n\n if (!wasAdded) {\n return;\n }\n\n var offset = patch(axis.line, item.client.marginBox[axis.size]);\n withAdditions.slice(index).forEach(function (sibling) {\n if (additionMap[sibling.descriptor.id]) {\n return;\n }\n\n addShift(sibling.descriptor.id, {\n indexChange: 1,\n offset: offset\n });\n });\n });\n withAdditions.forEach(function (item) {\n if (additionMap[item.descriptor.id]) {\n return;\n }\n\n var shift = toShift[item.descriptor.id];\n\n if (!shift) {\n return;\n }\n\n var moved = offsetDraggable({\n draggable: item,\n offset: shift.offset,\n initialWindowScroll: viewport.scroll.initial\n });\n var index = item.descriptor.index + shift.indexChange;\n\n var updated = _extends({}, moved, {\n descriptor: _extends({}, item.descriptor, {\n index: index\n })\n });\n\n shifted[moved.descriptor.id] = updated;\n });\n });\n\n var map = _extends({}, existing, shifted);\n\n return map;\n});\n\nvar adjustAdditionsForScrollChanges = (function (_ref) {\n var additions = _ref.additions,\n updatedDroppables = _ref.updatedDroppables,\n viewport = _ref.viewport;\n var windowScrollChange = viewport.scroll.diff.value;\n return additions.map(function (draggable) {\n var droppableId = draggable.descriptor.droppableId;\n var modified = updatedDroppables[droppableId];\n var frame = modified.frame;\n !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var droppableScrollChange = frame.scroll.diff.value;\n var totalChange = add(windowScrollChange, droppableScrollChange);\n var moved = offsetDraggable({\n draggable: draggable,\n offset: totalChange,\n initialWindowScroll: viewport.scroll.initial\n });\n return moved;\n });\n});\n\nvar adjustAdditionsForCollapsedHome = (function (_ref) {\n var additions = _ref.additions,\n dragging = _ref.dragging,\n home = _ref.home,\n viewport = _ref.viewport;\n var displacedBy = getDisplacedBy(home.axis, dragging.displaceBy);\n return additions.map(function (draggable) {\n if (draggable.descriptor.droppableId !== home.descriptor.id) {\n return draggable;\n }\n\n if (draggable.descriptor.index < dragging.descriptor.index) {\n return draggable;\n }\n\n return offsetDraggable({\n draggable: draggable,\n offset: displacedBy.point,\n initialWindowScroll: viewport.scroll.initial\n });\n });\n});\n\nvar updateDraggables = (function (_ref) {\n var updatedDroppables = _ref.updatedDroppables,\n criticalId = _ref.criticalId,\n unmodifiedExisting = _ref.existing,\n unmodifiedAdditions = _ref.additions,\n removals = _ref.removals,\n viewport = _ref.viewport;\n var existing = adjustExistingForAdditionsAndRemovals({\n droppables: updatedDroppables,\n existing: unmodifiedExisting,\n additions: unmodifiedAdditions,\n removals: removals,\n viewport: viewport\n });\n var dragging = existing[criticalId];\n var home = updatedDroppables[dragging.descriptor.droppableId];\n var scrolledAdditions = adjustAdditionsForScrollChanges({\n additions: unmodifiedAdditions,\n updatedDroppables: updatedDroppables,\n viewport: viewport\n });\n var additions = adjustAdditionsForCollapsedHome({\n additions: scrolledAdditions,\n dragging: dragging,\n home: home,\n viewport: viewport\n });\n\n var map = _extends({}, existing, toDraggableMap(additions));\n\n removals.forEach(function (id) {\n delete map[id];\n });\n return map;\n});\n\nvar getMaxScroll = (function (_ref) {\n var scrollHeight = _ref.scrollHeight,\n scrollWidth = _ref.scrollWidth,\n height = _ref.height,\n width = _ref.width;\n var maxScroll = subtract({\n x: scrollWidth,\n y: scrollHeight\n }, {\n x: width,\n y: height\n });\n var adjustedMaxScroll = {\n x: Math.max(0, maxScroll.x),\n y: Math.max(0, maxScroll.y)\n };\n return adjustedMaxScroll;\n});\n\nvar getDroppableDimension = (function (_ref) {\n var descriptor = _ref.descriptor,\n isEnabled = _ref.isEnabled,\n isCombineEnabled = _ref.isCombineEnabled,\n isFixedOnPage = _ref.isFixedOnPage,\n direction = _ref.direction,\n client = _ref.client,\n page = _ref.page,\n closest = _ref.closest;\n\n var frame = function () {\n if (!closest) {\n return null;\n }\n\n var scrollSize = closest.scrollSize,\n frameClient = closest.client;\n var maxScroll = getMaxScroll({\n scrollHeight: scrollSize.scrollHeight,\n scrollWidth: scrollSize.scrollWidth,\n height: frameClient.paddingBox.height,\n width: frameClient.paddingBox.width\n });\n return {\n pageMarginBox: closest.page.marginBox,\n frameClient: frameClient,\n scrollSize: scrollSize,\n shouldClipSubject: closest.shouldClipSubject,\n scroll: {\n initial: closest.scroll,\n current: closest.scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n }();\n\n var axis = direction === 'vertical' ? vertical : horizontal;\n var subject = getSubject({\n page: page,\n withPlaceholder: null,\n axis: axis,\n frame: frame\n });\n var dimension = {\n descriptor: descriptor,\n isCombineEnabled: isCombineEnabled,\n isFixedOnPage: isFixedOnPage,\n axis: axis,\n isEnabled: isEnabled,\n client: client,\n page: page,\n frame: frame,\n subject: subject\n };\n return dimension;\n});\n\nvar isHomeOf = (function (draggable, destination) {\n return draggable.descriptor.droppableId === destination.descriptor.id;\n});\n\nvar getRequiredGrowthForPlaceholder = function getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables) {\n var axis = droppable.axis;\n var availableSpace = droppable.subject.page.contentBox[axis.size];\n var insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n var spaceUsed = insideDroppable.reduce(function (sum, dimension) {\n return sum + dimension.client.marginBox[axis.size];\n }, 0);\n var requiredSpace = spaceUsed + placeholderSize[axis.line];\n var needsToGrowBy = requiredSpace - availableSpace;\n\n if (needsToGrowBy <= 0) {\n return null;\n }\n\n return patch(axis.line, needsToGrowBy);\n};\n\nvar withMaxScroll = function withMaxScroll(frame, max) {\n return _extends({}, frame, {\n scroll: _extends({}, frame.scroll, {\n max: max\n })\n });\n};\n\nvar addPlaceholder = function addPlaceholder(droppable, draggable, draggables) {\n var frame = droppable.frame;\n !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;\n !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;\n var placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;\n var requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);\n var added = {\n placeholderSize: placeholderSize,\n increasedBy: requiredGrowth,\n oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null\n };\n\n if (!frame) {\n var _subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: droppable.frame\n });\n\n return _extends({}, droppable, {\n subject: _subject\n });\n }\n\n var maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;\n var newFrame = withMaxScroll(frame, maxScroll);\n var subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: newFrame\n });\n return _extends({}, droppable, {\n subject: subject,\n frame: newFrame\n });\n};\nvar removePlaceholder = function removePlaceholder(droppable) {\n var added = droppable.subject.withPlaceholder;\n !added ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;\n var frame = droppable.frame;\n\n if (!frame) {\n var _subject2 = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: null,\n withPlaceholder: null\n });\n\n return _extends({}, droppable, {\n subject: _subject2\n });\n }\n\n var oldMaxScroll = added.oldFrameMaxScroll;\n !oldMaxScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;\n var newFrame = withMaxScroll(frame, oldMaxScroll);\n var subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: newFrame,\n withPlaceholder: null\n });\n return _extends({}, droppable, {\n subject: subject,\n frame: newFrame\n });\n};\n\nvar getFrame = (function (droppable) {\n var frame = droppable.frame;\n !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;\n return frame;\n});\n\nvar throwIfSpacingChange = function throwIfSpacingChange(old, fresh) {\n if (process.env.NODE_ENV !== 'production') {\n var getMessage = function getMessage(spacingType) {\n return \"Cannot change the \" + spacingType + \" of a Droppable during a drag\";\n };\n\n !isEqual$1(old.margin, fresh.margin) ? process.env.NODE_ENV !== \"production\" ? invariant(false, getMessage('margin')) : invariant(false) : void 0;\n !isEqual$1(old.border, fresh.border) ? process.env.NODE_ENV !== \"production\" ? invariant(false, getMessage('border')) : invariant(false) : void 0;\n !isEqual$1(old.padding, fresh.padding) ? process.env.NODE_ENV !== \"production\" ? invariant(false, getMessage('padding')) : invariant(false) : void 0;\n }\n};\n\nvar adjustBorderBoxSize = function adjustBorderBoxSize(axis, old, fresh) {\n return {\n top: old.top,\n left: old.left,\n right: old.left + fresh.width,\n bottom: old.top + fresh.height\n };\n};\n\nvar updateDroppables = (function (_ref) {\n var modified = _ref.modified,\n existing = _ref.existing,\n viewport = _ref.viewport;\n\n if (!modified.length) {\n return existing;\n }\n\n var adjusted = modified.map(function (provided) {\n var raw = existing[provided.descriptor.id];\n !raw ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not locate droppable in existing droppables') : invariant(false) : void 0;\n var hasPlaceholder = Boolean(raw.subject.withPlaceholder);\n var dimension = hasPlaceholder ? removePlaceholder(raw) : raw;\n var oldClient = dimension.client;\n var newClient = provided.client;\n var oldScrollable = getFrame(dimension);\n var newScrollable = getFrame(provided);\n\n if (process.env.NODE_ENV !== 'production') {\n throwIfSpacingChange(dimension.client, provided.client);\n throwIfSpacingChange(oldScrollable.frameClient, newScrollable.frameClient);\n var isFrameEqual = oldScrollable.frameClient.borderBox.height === newScrollable.frameClient.borderBox.height && oldScrollable.frameClient.borderBox.width === newScrollable.frameClient.borderBox.width;\n !isFrameEqual ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'The width and height of your Droppable scroll container cannot change when adding or removing Draggables during a drag') : invariant(false) : void 0;\n }\n\n var client = cssBoxModel.createBox({\n borderBox: adjustBorderBoxSize(dimension.axis, oldClient.borderBox, newClient.borderBox),\n margin: oldClient.margin,\n border: oldClient.border,\n padding: oldClient.padding\n });\n var closest = {\n client: oldScrollable.frameClient,\n page: cssBoxModel.withScroll(oldScrollable.frameClient, viewport.scroll.initial),\n shouldClipSubject: oldScrollable.shouldClipSubject,\n scrollSize: newScrollable.scrollSize,\n scroll: oldScrollable.scroll.initial\n };\n var withSizeChanged = getDroppableDimension({\n descriptor: provided.descriptor,\n isEnabled: provided.isEnabled,\n isCombineEnabled: provided.isCombineEnabled,\n isFixedOnPage: provided.isFixedOnPage,\n direction: provided.axis.direction,\n client: client,\n page: cssBoxModel.withScroll(client, viewport.scroll.initial),\n closest: closest\n });\n var scrolled = scrollDroppable(withSizeChanged, newScrollable.scroll.current);\n return scrolled;\n });\n\n var result = _extends({}, existing, toDroppableMap(adjusted));\n\n return result;\n});\n\nvar withNoAnimatedDisplacement = (function (impact) {\n var displaced = impact.movement.displaced;\n\n if (!displaced.length) {\n return impact;\n }\n\n var withoutAnimation = displaced.map(function (displacement) {\n if (!displacement.isVisible) {\n return displacement;\n }\n\n if (!displacement.shouldAnimate) {\n return displacement;\n }\n\n return _extends({}, displacement, {\n shouldAnimate: false\n });\n });\n\n var result = _extends({}, impact, {\n movement: _extends({}, impact.movement, {\n displaced: withoutAnimation,\n map: getDisplacementMap(withoutAnimation)\n })\n });\n\n return result;\n});\n\nvar patchDroppableMap = (function (droppables, updated) {\n var _extends2;\n\n return _extends({}, droppables, (_extends2 = {}, _extends2[updated.descriptor.id] = updated, _extends2));\n});\n\nvar clearUnusedPlaceholder = function clearUnusedPlaceholder(_ref) {\n var previousImpact = _ref.previousImpact,\n impact = _ref.impact,\n droppables = _ref.droppables;\n var last = whatIsDraggedOver(previousImpact);\n var now = whatIsDraggedOver(impact);\n\n if (!last) {\n return droppables;\n }\n\n if (last === now) {\n return droppables;\n }\n\n var lastDroppable = droppables[last];\n\n if (!lastDroppable.subject.withPlaceholder) {\n return droppables;\n }\n\n var updated = removePlaceholder(lastDroppable);\n return patchDroppableMap(droppables, updated);\n};\n\nvar recomputePlaceholders = (function (_ref2) {\n var draggable = _ref2.draggable,\n draggables = _ref2.draggables,\n droppables = _ref2.droppables,\n previousImpact = _ref2.previousImpact,\n impact = _ref2.impact;\n var cleaned = clearUnusedPlaceholder({\n previousImpact: previousImpact,\n impact: impact,\n droppables: droppables\n });\n var isOver = whatIsDraggedOver(impact);\n\n if (!isOver) {\n return cleaned;\n }\n\n var droppable = droppables[isOver];\n\n if (isHomeOf(draggable, droppable)) {\n return cleaned;\n }\n\n if (droppable.subject.withPlaceholder) {\n return cleaned;\n }\n\n var patched = addPlaceholder(droppable, draggable, draggables);\n return patchDroppableMap(cleaned, patched);\n});\n\nvar timingsKey = 'Processing dynamic changes';\nvar publishWhileDragging = (function (_ref) {\n var _extends2, _extends3;\n\n var state = _ref.state,\n published = _ref.published;\n start(timingsKey);\n var updatedDroppables = updateDroppables({\n modified: published.modified,\n existing: state.dimensions.droppables,\n viewport: state.viewport\n });\n var draggables = updateDraggables({\n updatedDroppables: updatedDroppables,\n criticalId: state.critical.draggable.id,\n existing: state.dimensions.draggables,\n additions: published.additions,\n removals: published.removals,\n viewport: state.viewport\n });\n var critical = {\n draggable: draggables[state.critical.draggable.id].descriptor,\n droppable: updatedDroppables[state.critical.droppable.id].descriptor\n };\n var original = state.dimensions.draggables[critical.draggable.id];\n var updated = draggables[critical.draggable.id];\n var droppables = recomputePlaceholders({\n draggable: updated,\n draggables: draggables,\n droppables: updatedDroppables,\n previousImpact: state.impact,\n impact: state.impact\n });\n var dimensions = {\n draggables: draggables,\n droppables: droppables\n };\n\n var _getDragPositions = getDragPositions({\n initial: state.initial,\n current: state.current,\n oldClientBorderBoxCenter: original.client.borderBox.center,\n newClientBorderBoxCenter: updated.client.borderBox.center,\n viewport: state.viewport\n }),\n initial = _getDragPositions.initial,\n current = _getDragPositions.current;\n\n var _getHomeOnLift = getHomeOnLift({\n draggable: updated,\n home: dimensions.droppables[critical.droppable.id],\n draggables: dimensions.draggables,\n viewport: state.viewport\n }),\n homeImpact = _getHomeOnLift.impact,\n onLift = _getHomeOnLift.onLift;\n\n var impact = withNoAnimatedDisplacement(getDragImpact({\n pageBorderBoxCenter: current.page.borderBoxCenter,\n draggable: updated,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: homeImpact,\n viewport: state.viewport,\n userDirection: state.userDirection,\n onLift: onLift\n }));\n var isOrphaned = Boolean(state.movementMode === 'SNAP' && !whatIsDraggedOver(impact));\n !!isOrphaned ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Dragging item no longer has a valid merge/destination after a dynamic update. This is not supported') : invariant(false) : void 0;\n finish(timingsKey);\n\n var draggingState = _extends({\n phase: 'DRAGGING'\n }, state, (_extends2 = {}, _extends2[\"phase\"] = 'DRAGGING', _extends2.critical = critical, _extends2.current = current, _extends2.initial = initial, _extends2.impact = impact, _extends2.dimensions = dimensions, _extends2.onLift = onLift, _extends2.onLiftImpact = homeImpact, _extends2.forceShouldAnimate = false, _extends2));\n\n if (state.phase === 'COLLECTING') {\n return draggingState;\n }\n\n var dropPending = _extends({\n phase: 'DROP_PENDING'\n }, draggingState, (_extends3 = {}, _extends3[\"phase\"] = 'DROP_PENDING', _extends3.reason = state.reason, _extends3.isWaiting = false, _extends3));\n\n return dropPending;\n});\n\nvar forward = {\n vertical: 'down',\n horizontal: 'right'\n};\nvar backward = {\n vertical: 'up',\n horizontal: 'left'\n};\n\nvar moveToNextCombine = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n isInHomeList = _ref.isInHomeList,\n draggable = _ref.draggable,\n destination = _ref.destination,\n originalInsideDestination = _ref.insideDestination,\n previousImpact = _ref.previousImpact;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n if (previousImpact.merge) {\n return null;\n }\n\n var location = previousImpact.destination;\n !location ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Need a previous location to move from into a combine') : invariant(false) : void 0;\n var currentIndex = location.index;\n\n var currentInsideDestination = function () {\n var shallow = originalInsideDestination.slice();\n\n if (isInHomeList) {\n shallow.splice(draggable.descriptor.index, 1);\n }\n\n shallow.splice(location.index, 0, draggable);\n return shallow;\n }();\n\n var targetIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n\n if (targetIndex < 0) {\n return null;\n }\n\n if (targetIndex > currentInsideDestination.length - 1) {\n return null;\n }\n\n var target = currentInsideDestination[targetIndex];\n !(target !== draggable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot combine with self') : invariant(false) : void 0;\n var merge = {\n whenEntered: isMovingForward ? forward : backward,\n combine: {\n draggableId: target.descriptor.id,\n droppableId: destination.descriptor.id\n }\n };\n var impact = {\n movement: previousImpact.movement,\n destination: null,\n merge: merge\n };\n return impact;\n});\n\nvar addClosest = function addClosest(add, displaced) {\n var added = {\n draggableId: add.descriptor.id,\n isVisible: true,\n shouldAnimate: true\n };\n return [added].concat(displaced);\n};\nvar removeClosest = function removeClosest(displaced) {\n return displaced.slice(1);\n};\n\nvar fromReorder = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n isInHomeList = _ref.isInHomeList,\n draggable = _ref.draggable,\n initialInside = _ref.insideDestination,\n location = _ref.location;\n var insideDestination = initialInside.slice();\n var currentIndex = location.index;\n var isInForeignList = !isInHomeList;\n\n if (isInForeignList) {\n insideDestination.splice(location.index, 0, draggable);\n }\n\n var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n\n if (proposedIndex < 0) {\n return null;\n }\n\n if (proposedIndex > insideDestination.length - 1) {\n return null;\n }\n\n return {\n proposedIndex: proposedIndex,\n modifyDisplacement: true\n };\n});\n\nvar fromCombine = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n draggables = _ref.draggables,\n merge = _ref.merge,\n onLift = _ref.onLift;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n var movement = previousImpact.movement;\n var combineId = merge.combine.draggableId;\n var combine = draggables[combineId];\n var combineIndex = combine.descriptor.index;\n var wasDisplacedAtStart = didStartDisplaced(combineId, onLift);\n\n if (wasDisplacedAtStart) {\n var hasDisplacedFromStart = !movement.map[combineId];\n\n if (hasDisplacedFromStart) {\n if (isMovingForward) {\n return {\n proposedIndex: combineIndex,\n modifyDisplacement: false\n };\n }\n\n return {\n proposedIndex: combineIndex - 1,\n modifyDisplacement: true\n };\n }\n\n if (isMovingForward) {\n return {\n proposedIndex: combineIndex,\n modifyDisplacement: true\n };\n }\n\n return {\n proposedIndex: combineIndex - 1,\n modifyDisplacement: false\n };\n }\n\n var isDisplaced = Boolean(movement.map[combineId]);\n\n if (isDisplaced) {\n if (isMovingForward) {\n return {\n proposedIndex: combineIndex + 1,\n modifyDisplacement: true\n };\n }\n\n return {\n proposedIndex: combineIndex,\n modifyDisplacement: false\n };\n }\n\n if (isMovingForward) {\n return {\n proposedIndex: combineIndex + 1,\n modifyDisplacement: false\n };\n }\n\n return {\n proposedIndex: combineIndex,\n modifyDisplacement: true\n };\n});\n\nvar moveToNextIndex = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n isInHomeList = _ref.isInHomeList,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n previousImpact = _ref.previousImpact,\n onLift = _ref.onLift;\n\n var instruction = function () {\n if (previousImpact.destination) {\n return fromReorder({\n isMovingForward: isMovingForward,\n isInHomeList: isInHomeList,\n draggable: draggable,\n location: previousImpact.destination,\n insideDestination: insideDestination\n });\n }\n\n if (previousImpact.merge) {\n return fromCombine({\n isMovingForward: isMovingForward,\n destination: destination,\n previousImpact: previousImpact,\n draggables: draggables,\n merge: previousImpact.merge,\n onLift: onLift\n });\n }\n return null;\n }();\n\n if (instruction == null) {\n return null;\n }\n\n var proposedIndex = instruction.proposedIndex,\n modifyDisplacement = instruction.modifyDisplacement;\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n\n var displaced = function () {\n var lastDisplaced = previousImpact.movement.displaced;\n\n if (!modifyDisplacement) {\n return lastDisplaced;\n }\n\n if (isMovingForward) {\n return removeClosest(lastDisplaced);\n }\n\n var withoutDraggable = removeDraggableFromList(draggable, insideDestination);\n var atProposedIndex = withoutDraggable[proposedIndex];\n return addClosest(atProposedIndex, lastDisplaced);\n }();\n\n return {\n movement: {\n displacedBy: displacedBy,\n displaced: displaced,\n map: getDisplacementMap(displaced)\n },\n destination: {\n droppableId: destination.descriptor.id,\n index: proposedIndex\n },\n merge: null\n };\n});\n\nvar whenCombining = (function (_ref) {\n var combine = _ref.combine,\n onLift = _ref.onLift,\n movement = _ref.movement,\n draggables = _ref.draggables;\n var combineWith = combine.draggableId;\n var center = draggables[combineWith].page.borderBox.center;\n var displaceBy = getCombinedItemDisplacement({\n displaced: movement.map,\n onLift: onLift,\n combineWith: combineWith,\n displacedBy: movement.displacedBy\n });\n return add(center, displaceBy);\n});\n\nvar distanceFromStartToBorderBoxCenter = function distanceFromStartToBorderBoxCenter(axis, box) {\n return box.margin[axis.start] + box.borderBox[axis.size] / 2;\n};\n\nvar distanceFromEndToBorderBoxCenter = function distanceFromEndToBorderBoxCenter(axis, box) {\n return box.margin[axis.end] + box.borderBox[axis.size] / 2;\n};\n\nvar getCrossAxisBorderBoxCenter = function getCrossAxisBorderBoxCenter(axis, target, isMoving) {\n return target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;\n};\n\nvar goAfter = function goAfter(_ref) {\n var axis = _ref.axis,\n moveRelativeTo = _ref.moveRelativeTo,\n isMoving = _ref.isMoving;\n return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goBefore = function goBefore(_ref2) {\n var axis = _ref2.axis,\n moveRelativeTo = _ref2.moveRelativeTo,\n isMoving = _ref2.isMoving;\n return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goIntoStart = function goIntoStart(_ref3) {\n var axis = _ref3.axis,\n moveInto = _ref3.moveInto,\n isMoving = _ref3.isMoving;\n return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));\n};\n\nvar whenReordering = (function (_ref) {\n var movement = _ref.movement,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppable = _ref.droppable,\n onLift = _ref.onLift;\n var insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n var draggablePage = draggable.page;\n var axis = droppable.axis;\n\n if (!insideDestination.length) {\n return goIntoStart({\n axis: axis,\n moveInto: droppable.page,\n isMoving: draggablePage\n });\n }\n\n var displaced = movement.displaced,\n displacedBy = movement.displacedBy;\n\n if (displaced.length) {\n var closestAfter = draggables[displaced[0].draggableId];\n\n if (didStartDisplaced(closestAfter.descriptor.id, onLift)) {\n return goBefore({\n axis: axis,\n moveRelativeTo: closestAfter.page,\n isMoving: draggablePage\n });\n }\n\n var withDisplacement = cssBoxModel.offset(closestAfter.page, displacedBy.point);\n return goBefore({\n axis: axis,\n moveRelativeTo: withDisplacement,\n isMoving: draggablePage\n });\n }\n\n var last = insideDestination[insideDestination.length - 1];\n\n if (last.descriptor.id === draggable.descriptor.id) {\n return draggablePage.borderBox.center;\n }\n\n if (didStartDisplaced(last.descriptor.id, onLift)) {\n var page = cssBoxModel.offset(last.page, negate(onLift.displacedBy.point));\n return goAfter({\n axis: axis,\n moveRelativeTo: page,\n isMoving: draggablePage\n });\n }\n\n return goAfter({\n axis: axis,\n moveRelativeTo: last.page,\n isMoving: draggablePage\n });\n});\n\nvar withDroppableDisplacement = (function (droppable, point) {\n var frame = droppable.frame;\n\n if (!frame) {\n return point;\n }\n\n return add(point, frame.scroll.diff.displacement);\n});\n\nvar getResultWithoutDroppableDisplacement = function getResultWithoutDroppableDisplacement(_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n onLift = _ref.onLift;\n var merge = impact.merge;\n var destination = impact.destination;\n var original = draggable.page.borderBox.center;\n\n if (!droppable) {\n return original;\n }\n\n if (destination) {\n return whenReordering({\n movement: impact.movement,\n draggable: draggable,\n draggables: draggables,\n droppable: droppable,\n onLift: onLift\n });\n }\n\n if (merge) {\n return whenCombining({\n movement: impact.movement,\n combine: merge.combine,\n draggables: draggables,\n onLift: onLift\n });\n }\n\n return original;\n};\n\nvar getPageBorderBoxCenterFromImpact = (function (args) {\n var withoutDisplacement = getResultWithoutDroppableDisplacement(args);\n var droppable = args.droppable;\n var withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;\n return withDisplacement;\n});\n\nvar scrollViewport = (function (viewport, newScroll) {\n var diff = subtract(newScroll, viewport.scroll.initial);\n var displacement = negate(diff);\n var frame = cssBoxModel.getRect({\n top: newScroll.y,\n bottom: newScroll.y + viewport.frame.height,\n left: newScroll.x,\n right: newScroll.x + viewport.frame.width\n });\n var updated = {\n frame: frame,\n scroll: {\n initial: viewport.scroll.initial,\n max: viewport.scroll.max,\n current: newScroll,\n diff: {\n value: diff,\n displacement: displacement\n }\n }\n };\n return updated;\n});\n\nvar withNewDisplacement = (function (impact, displaced) {\n return _extends({}, impact, {\n movement: _extends({}, impact.movement, {\n displaced: displaced,\n map: getDisplacementMap(displaced)\n })\n });\n});\n\nvar speculativelyIncrease = (function (_ref) {\n var impact = _ref.impact,\n viewport = _ref.viewport,\n destination = _ref.destination,\n draggables = _ref.draggables,\n maxScrollChange = _ref.maxScrollChange,\n onLift = _ref.onLift;\n var displaced = impact.movement.displaced;\n var scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));\n var scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;\n var updated = displaced.map(function (entry) {\n if (entry.isVisible) {\n return entry;\n }\n\n var draggable = draggables[entry.draggableId];\n var withScrolledViewport = getDisplacement({\n draggable: draggable,\n destination: destination,\n previousImpact: impact,\n viewport: scrolledViewport.frame,\n onLift: onLift,\n forceShouldAnimate: false\n });\n\n if (withScrolledViewport.isVisible) {\n return withScrolledViewport;\n }\n\n var withScrolledDroppable = getDisplacement({\n draggable: draggable,\n destination: scrolledDroppable,\n previousImpact: impact,\n viewport: viewport.frame,\n onLift: onLift,\n forceShouldAnimate: false\n });\n\n if (withScrolledDroppable.isVisible) {\n return withScrolledDroppable;\n }\n\n return entry;\n });\n return withNewDisplacement(impact, updated);\n});\n\nvar withViewportDisplacement = (function (viewport, point) {\n return add(viewport.scroll.diff.displacement, point);\n});\n\nvar getClientFromPageBorderBoxCenter = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n viewport = _ref.viewport;\n var withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);\n var offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);\n return add(draggable.client.borderBox.center, offset);\n});\n\nvar isTotallyVisibleInNewLocation = (function (_ref) {\n var draggable = _ref.draggable,\n destination = _ref.destination,\n newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,\n viewport = _ref.viewport,\n withDroppableDisplacement = _ref.withDroppableDisplacement,\n _ref$onlyOnMainAxis = _ref.onlyOnMainAxis,\n onlyOnMainAxis = _ref$onlyOnMainAxis === void 0 ? false : _ref$onlyOnMainAxis;\n var changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n var shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);\n var args = {\n target: shifted,\n destination: destination,\n withDroppableDisplacement: withDroppableDisplacement,\n viewport: viewport\n };\n return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);\n});\n\nvar moveToNextPlace = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n draggable = _ref.draggable,\n destination = _ref.destination,\n draggables = _ref.draggables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n previousClientSelection = _ref.previousClientSelection,\n onLift = _ref.onLift;\n\n if (!destination.isEnabled) {\n return null;\n }\n\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var isInHomeList = isHomeOf(draggable, destination);\n var impact = moveToNextCombine({\n isInHomeList: isInHomeList,\n isMovingForward: isMovingForward,\n draggable: draggable,\n destination: destination,\n insideDestination: insideDestination,\n previousImpact: previousImpact\n }) || moveToNextIndex({\n isMovingForward: isMovingForward,\n isInHomeList: isInHomeList,\n draggable: draggable,\n draggables: draggables,\n destination: destination,\n insideDestination: insideDestination,\n previousImpact: previousImpact,\n onLift: onLift\n });\n\n if (!impact) {\n return null;\n }\n\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n onLift: onLift\n });\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: destination,\n newPageBorderBoxCenter: pageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n\n if (isVisibleInNewLocation) {\n var clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n return {\n clientSelection: clientSelection,\n impact: impact,\n scrollJumpRequest: null\n };\n }\n\n var distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);\n var cautious = speculativelyIncrease({\n impact: impact,\n viewport: viewport,\n destination: destination,\n draggables: draggables,\n maxScrollChange: distance,\n onLift: onLift\n });\n return {\n clientSelection: previousClientSelection,\n impact: cautious,\n scrollJumpRequest: distance\n };\n});\n\nvar getKnownActive = function getKnownActive(droppable) {\n var rect = droppable.subject.active;\n !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n return rect;\n};\n\nvar getBestCrossAxisDroppable = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n source = _ref.source,\n droppables = _ref.droppables,\n viewport = _ref.viewport;\n var active = source.subject.active;\n\n if (!active) {\n return null;\n }\n\n var axis = source.axis;\n var isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);\n var candidates = toDroppableList(droppables).filter(function (droppable) {\n return droppable !== source;\n }).filter(function (droppable) {\n return droppable.isEnabled;\n }).filter(function (droppable) {\n return Boolean(droppable.subject.active);\n }).filter(function (droppable) {\n return isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable));\n }).filter(function (droppable) {\n var activeOfTarget = getKnownActive(droppable);\n\n if (isMovingForward) {\n return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];\n }\n\n return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];\n }).filter(function (droppable) {\n var activeOfTarget = getKnownActive(droppable);\n var isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);\n return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);\n }).sort(function (a, b) {\n var first = getKnownActive(a)[axis.crossAxisStart];\n var second = getKnownActive(b)[axis.crossAxisStart];\n\n if (isMovingForward) {\n return first - second;\n }\n\n return second - first;\n }).filter(function (droppable, index, array) {\n return getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart];\n });\n\n if (!candidates.length) {\n return null;\n }\n\n if (candidates.length === 1) {\n return candidates[0];\n }\n\n var contains = candidates.filter(function (droppable) {\n var isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);\n return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n });\n\n if (contains.length === 1) {\n return contains[0];\n }\n\n if (contains.length > 1) {\n return contains.sort(function (a, b) {\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n }\n\n return candidates.sort(function (a, b) {\n var first = closest(pageBorderBoxCenter, getCorners(getKnownActive(a)));\n var second = closest(pageBorderBoxCenter, getCorners(getKnownActive(b)));\n\n if (first !== second) {\n return first - second;\n }\n\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n});\n\nvar getCurrentPageBorderBoxCenter = function getCurrentPageBorderBoxCenter(draggable, onLift) {\n var original = draggable.page.borderBox.center;\n return didStartDisplaced(draggable.descriptor.id, onLift) ? subtract(original, onLift.displacedBy.point) : original;\n};\nvar getCurrentPageBorderBox = function getCurrentPageBorderBox(draggable, onLift) {\n var original = draggable.page.borderBox;\n return didStartDisplaced(draggable.descriptor.id, onLift) ? offsetByPosition(original, negate(onLift.displacedBy.point)) : original;\n};\n\nvar getClosestDraggable = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n viewport = _ref.viewport,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n onLift = _ref.onLift;\n var sorted = insideDestination.filter(function (draggable) {\n return isTotallyVisible({\n target: getCurrentPageBorderBox(draggable, onLift),\n destination: destination,\n viewport: viewport.frame,\n withDroppableDisplacement: true\n });\n }).sort(function (a, b) {\n var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, onLift)));\n var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, onLift)));\n\n if (distanceToA < distanceToB) {\n return -1;\n }\n\n if (distanceToB < distanceToA) {\n return 1;\n }\n\n return a.descriptor.index - b.descriptor.index;\n });\n return sorted[0] || null;\n});\n\nvar moveToNewDroppable = (function (_ref) {\n var previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n moveRelativeTo = _ref.moveRelativeTo,\n insideDestination = _ref.insideDestination,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n destination = _ref.destination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n onLift = _ref.onLift;\n\n if (!moveRelativeTo) {\n if (insideDestination.length) {\n return null;\n }\n\n var proposed = {\n movement: noMovement,\n destination: {\n droppableId: destination.descriptor.id,\n index: 0\n },\n merge: null\n };\n var proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: proposed,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n onLift: onLift\n });\n var withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: withPlaceholder,\n newPageBorderBoxCenter: proposedPageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n return isVisibleInNewLocation ? proposed : null;\n }\n\n var isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] < moveRelativeTo.page.borderBox.center[destination.axis.line]);\n var targetIndex = insideDestination.indexOf(moveRelativeTo);\n !(targetIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find target in list') : invariant(false) : void 0;\n\n var proposedIndex = function () {\n if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {\n return targetIndex;\n }\n\n if (isGoingBeforeTarget) {\n return targetIndex;\n }\n\n return targetIndex + 1;\n }();\n\n var displaced = removeDraggableFromList(draggable, insideDestination).slice(proposedIndex).map(function (dimension) {\n return getDisplacement({\n draggable: dimension,\n destination: destination,\n viewport: viewport.frame,\n previousImpact: previousImpact,\n onLift: onLift\n });\n });\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n var impact = {\n movement: {\n displacedBy: displacedBy,\n displaced: displaced,\n map: getDisplacementMap(displaced)\n },\n destination: {\n droppableId: destination.descriptor.id,\n index: proposedIndex\n },\n merge: null\n };\n return impact;\n});\n\nvar moveCrossAxis = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n draggable = _ref.draggable,\n isOver = _ref.isOver,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n onLift = _ref.onLift;\n var destination = getBestCrossAxisDroppable({\n isMovingForward: isMovingForward,\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n source: isOver,\n droppables: droppables,\n viewport: viewport\n });\n\n if (!destination) {\n return null;\n }\n\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var moveRelativeTo = getClosestDraggable({\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n viewport: viewport,\n destination: destination,\n insideDestination: insideDestination,\n onLift: onLift\n });\n var impact = moveToNewDroppable({\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n destination: destination,\n draggable: draggable,\n draggables: draggables,\n moveRelativeTo: moveRelativeTo,\n insideDestination: insideDestination,\n previousImpact: previousImpact,\n viewport: viewport,\n onLift: onLift\n });\n\n if (!impact) {\n return null;\n }\n\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n onLift: onLift\n });\n var clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n return {\n clientSelection: clientSelection,\n impact: impact,\n scrollJumpRequest: null\n };\n});\n\nvar getDroppableOver$1 = function getDroppableOver(impact, droppables) {\n var id = whatIsDraggedOver(impact);\n return id ? droppables[id] : null;\n};\n\nvar moveInDirection = (function (_ref) {\n var state = _ref.state,\n type = _ref.type;\n var isActuallyOver = getDroppableOver$1(state.impact, state.dimensions.droppables);\n var isMainAxisMovementAllowed = Boolean(isActuallyOver);\n var home = state.dimensions.droppables[state.critical.droppable.id];\n var isOver = isActuallyOver || home;\n var direction = isOver.axis.direction;\n var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n\n if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n return null;\n }\n\n var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n var draggable = state.dimensions.draggables[state.critical.draggable.id];\n var previousPageBorderBoxCenter = state.current.page.borderBoxCenter;\n var _state$dimensions = state.dimensions,\n draggables = _state$dimensions.draggables,\n droppables = _state$dimensions.droppables;\n return isMovingOnMainAxis ? moveToNextPlace({\n isMovingForward: isMovingForward,\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n draggable: draggable,\n destination: isOver,\n draggables: draggables,\n viewport: state.viewport,\n previousClientSelection: state.current.client.selection,\n previousImpact: state.impact,\n onLift: state.onLift\n }) : moveCrossAxis({\n isMovingForward: isMovingForward,\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n draggable: draggable,\n isOver: isOver,\n draggables: draggables,\n droppables: droppables,\n previousImpact: state.impact,\n viewport: state.viewport,\n onLift: state.onLift\n });\n});\n\nfunction isMovementAllowed(state) {\n return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nvar getVertical = function getVertical(previous, diff) {\n if (diff === 0) {\n return previous;\n }\n\n return diff > 0 ? 'down' : 'up';\n};\n\nvar getHorizontal = function getHorizontal(previous, diff) {\n if (diff === 0) {\n return previous;\n }\n\n return diff > 0 ? 'right' : 'left';\n};\n\nvar getUserDirection = (function (previous, oldPageBorderBoxCenter, newPageBorderBoxCenter) {\n var diff = subtract(newPageBorderBoxCenter, oldPageBorderBoxCenter);\n return {\n horizontal: getHorizontal(previous.horizontal, diff.x),\n vertical: getVertical(previous.vertical, diff.y)\n };\n});\n\nvar update = (function (_ref) {\n var state = _ref.state,\n forcedClientSelection = _ref.clientSelection,\n forcedDimensions = _ref.dimensions,\n forcedViewport = _ref.viewport,\n forcedImpact = _ref.impact,\n scrollJumpRequest = _ref.scrollJumpRequest;\n var viewport = forcedViewport || state.viewport;\n var currentWindowScroll = viewport.scroll.current;\n var dimensions = forcedDimensions || state.dimensions;\n var clientSelection = forcedClientSelection || state.current.client.selection;\n var offset = subtract(clientSelection, state.initial.client.selection);\n var client = {\n offset: offset,\n selection: clientSelection,\n borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n };\n var page = {\n selection: add(client.selection, currentWindowScroll),\n borderBoxCenter: add(client.borderBoxCenter, currentWindowScroll)\n };\n var current = {\n client: client,\n page: page\n };\n var userDirection = getUserDirection(state.userDirection, state.current.page.borderBoxCenter, current.page.borderBoxCenter);\n\n if (state.phase === 'COLLECTING') {\n return _extends({\n phase: 'COLLECTING'\n }, state, {\n dimensions: dimensions,\n viewport: viewport,\n current: current,\n userDirection: userDirection\n });\n }\n\n var draggable = dimensions.draggables[state.critical.draggable.id];\n var newImpact = forcedImpact || getDragImpact({\n pageBorderBoxCenter: page.borderBoxCenter,\n draggable: draggable,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: state.impact,\n viewport: viewport,\n userDirection: userDirection,\n onLift: state.onLift\n });\n var withUpdatedPlaceholders = recomputePlaceholders({\n draggable: draggable,\n impact: newImpact,\n previousImpact: state.impact,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables\n });\n\n var result = _extends({}, state, {\n current: current,\n userDirection: userDirection,\n dimensions: {\n draggables: dimensions.draggables,\n droppables: withUpdatedPlaceholders\n },\n impact: newImpact,\n viewport: viewport,\n scrollJumpRequest: scrollJumpRequest || null,\n forceShouldAnimate: scrollJumpRequest ? false : null\n });\n\n return result;\n});\n\nvar recompute = (function (_ref) {\n var impact = _ref.impact,\n viewport = _ref.viewport,\n destination = _ref.destination,\n draggables = _ref.draggables,\n onLift = _ref.onLift,\n forceShouldAnimate = _ref.forceShouldAnimate;\n var updated = impact.movement.displaced.map(function (entry) {\n return getDisplacement({\n draggable: draggables[entry.draggableId],\n destination: destination,\n previousImpact: impact,\n viewport: viewport.frame,\n onLift: onLift,\n forceShouldAnimate: forceShouldAnimate\n });\n });\n return withNewDisplacement(impact, updated);\n});\n\nvar getClientBorderBoxCenter = (function (_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n viewport = _ref.viewport,\n onLift = _ref.onLift;\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n draggables: draggables,\n droppable: droppable,\n onLift: onLift\n });\n return getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n});\n\nvar refreshSnap = (function (_ref) {\n var state = _ref.state,\n forcedDimensions = _ref.dimensions,\n forcedViewport = _ref.viewport;\n !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var needsVisibilityCheck = state.impact;\n var viewport = forcedViewport || state.viewport;\n var dimensions = forcedDimensions || state.dimensions;\n var draggables = dimensions.draggables,\n droppables = dimensions.droppables;\n var draggable = draggables[state.critical.draggable.id];\n var isOver = whatIsDraggedOver(needsVisibilityCheck);\n !isOver ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;\n var destination = droppables[isOver];\n var impact = recompute({\n impact: needsVisibilityCheck,\n viewport: viewport,\n destination: destination,\n draggables: draggables,\n onLift: state.onLift\n });\n var clientSelection = getClientBorderBoxCenter({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n viewport: viewport,\n onLift: state.onLift\n });\n return update({\n impact: impact,\n clientSelection: clientSelection,\n state: state,\n dimensions: dimensions,\n viewport: viewport\n });\n});\n\nvar patchDimensionMap = (function (dimensions, updated) {\n return {\n draggables: dimensions.draggables,\n droppables: patchDroppableMap(dimensions.droppables, updated)\n };\n});\n\nvar isSnapping = function isSnapping(state) {\n return state.movementMode === 'SNAP';\n};\n\nvar postDroppableChange = function postDroppableChange(state, updated, isEnabledChanging) {\n var dimensions = patchDimensionMap(state.dimensions, updated);\n\n if (!isSnapping(state) || isEnabledChanging) {\n return update({\n state: state,\n dimensions: dimensions\n });\n }\n\n return refreshSnap({\n state: state,\n dimensions: dimensions\n });\n};\n\nvar idle = {\n phase: 'IDLE',\n completed: null,\n shouldFlush: false\n};\nvar reducer = (function (state, action) {\n if (state === void 0) {\n state = idle;\n }\n\n if (action.type === 'CLEAN') {\n return _extends({}, idle, {\n shouldFlush: action.payload.shouldFlush\n });\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n !(state.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;\n var _action$payload = action.payload,\n critical = _action$payload.critical,\n clientSelection = _action$payload.clientSelection,\n viewport = _action$payload.viewport,\n dimensions = _action$payload.dimensions,\n movementMode = _action$payload.movementMode;\n var draggable = dimensions.draggables[critical.draggable.id];\n var home = dimensions.droppables[critical.droppable.id];\n var client = {\n selection: clientSelection,\n borderBoxCenter: draggable.client.borderBox.center,\n offset: origin\n };\n var initial = {\n client: client,\n page: {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial)\n }\n };\n var isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(function (item) {\n return !item.isFixedOnPage;\n });\n\n var _getHomeOnLift = getHomeOnLift({\n draggable: draggable,\n home: home,\n draggables: dimensions.draggables,\n viewport: viewport\n }),\n impact = _getHomeOnLift.impact,\n onLift = _getHomeOnLift.onLift;\n\n var result = {\n phase: 'DRAGGING',\n isDragging: true,\n critical: critical,\n movementMode: movementMode,\n dimensions: dimensions,\n initial: initial,\n current: initial,\n isWindowScrollAllowed: isWindowScrollAllowed,\n impact: impact,\n onLift: onLift,\n onLiftImpact: impact,\n viewport: viewport,\n userDirection: forward,\n scrollJumpRequest: null,\n forceShouldAnimate: null\n };\n return result;\n }\n\n if (action.type === 'COLLECTION_STARTING') {\n var _extends2;\n\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Collection cannot start from phase \" + state.phase) : invariant(false) : void 0;\n\n var _result = _extends({\n phase: 'COLLECTING'\n }, state, (_extends2 = {}, _extends2[\"phase\"] = 'COLLECTING', _extends2));\n\n return _result;\n }\n\n if (action.type === 'PUBLISH_WHILE_DRAGGING') {\n !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected \" + action.type + \" received in phase \" + state.phase) : invariant(false) : void 0;\n return publishWhileDragging({\n state: state,\n published: action.payload\n });\n }\n\n if (action.type === 'MOVE') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _clientSelection = action.payload.client;\n\n if (isEqual(_clientSelection, state.current.client.selection)) {\n return state;\n }\n\n return update({\n state: state,\n clientSelection: _clientSelection,\n impact: isSnapping(state) ? state.impact : null\n });\n }\n\n if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n if (state.phase === 'COLLECTING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload2 = action.payload,\n id = _action$payload2.id,\n offset = _action$payload2.offset;\n var target = state.dimensions.droppables[id];\n\n if (!target) {\n return state;\n }\n\n var scrolled = scrollDroppable(target, offset);\n return postDroppableChange(state, scrolled, false);\n }\n\n if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload3 = action.payload,\n _id = _action$payload3.id,\n isEnabled = _action$payload3.isEnabled;\n var _target = state.dimensions.droppables[_id];\n !_target ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id + \"] to toggle its enabled state\") : invariant(false) : void 0;\n !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isEnabled to \" + String(isEnabled) + \"\\n but it is already \" + String(_target.isEnabled)) : invariant(false) : void 0;\n\n var updated = _extends({}, _target, {\n isEnabled: isEnabled\n });\n\n return postDroppableChange(state, updated, true);\n }\n\n if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload4 = action.payload,\n _id2 = _action$payload4.id,\n isCombineEnabled = _action$payload4.isCombineEnabled;\n var _target2 = state.dimensions.droppables[_id2];\n !_target2 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id2 + \"] to toggle its isCombineEnabled state\") : invariant(false) : void 0;\n !(_target2.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isCombineEnabled to \" + String(isCombineEnabled) + \"\\n but it is already \" + String(_target2.isCombineEnabled)) : invariant(false) : void 0;\n\n var _updated = _extends({}, _target2, {\n isCombineEnabled: isCombineEnabled\n });\n\n return postDroppableChange(state, _updated, true);\n }\n\n if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot move by window in phase \" + state.phase) : invariant(false) : void 0;\n !state.isWindowScrollAllowed ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Window scrolling is currently not supported for fixed lists. Aborting drag') : invariant(false) : void 0;\n var newScroll = action.payload.newScroll;\n\n if (isEqual(state.viewport.scroll.current, newScroll)) {\n return state;\n }\n\n var _viewport = scrollViewport(state.viewport, newScroll);\n\n if (isSnapping(state)) {\n return refreshSnap({\n state: state,\n viewport: _viewport\n });\n }\n\n return update({\n state: state,\n viewport: _viewport\n });\n }\n\n if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n if (!isMovementAllowed(state)) {\n return state;\n }\n\n var maxScroll = action.payload.maxScroll;\n\n if (isEqual(maxScroll, state.viewport.scroll.max)) {\n return state;\n }\n\n var withMaxScroll = _extends({}, state.viewport, {\n scroll: _extends({}, state.viewport.scroll, {\n max: maxScroll\n })\n });\n\n return _extends({\n phase: 'DRAGGING'\n }, state, {\n viewport: withMaxScroll\n });\n }\n\n if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" received while not in DRAGGING phase\") : invariant(false) : void 0;\n\n var _result2 = moveInDirection({\n state: state,\n type: action.type\n });\n\n if (!_result2) {\n return state;\n }\n\n return update({\n state: state,\n impact: _result2.impact,\n clientSelection: _result2.clientSelection,\n scrollJumpRequest: _result2.scrollJumpRequest\n });\n }\n\n if (action.type === 'DROP_PENDING') {\n var _extends3;\n\n var reason = action.payload.reason;\n !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n\n var newState = _extends({\n phase: 'DROP_PENDING'\n }, state, (_extends3 = {}, _extends3[\"phase\"] = 'DROP_PENDING', _extends3.isWaiting = true, _extends3.reason = reason, _extends3));\n\n return newState;\n }\n\n if (action.type === 'DROP_ANIMATE') {\n var _action$payload5 = action.payload,\n completed = _action$payload5.completed,\n dropDuration = _action$payload5.dropDuration,\n newHomeClientOffset = _action$payload5.newHomeClientOffset;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot animate drop from phase \" + state.phase) : invariant(false) : void 0;\n var _result3 = {\n phase: 'DROP_ANIMATING',\n dimensions: state.dimensions,\n completed: completed,\n dropDuration: dropDuration,\n newHomeClientOffset: newHomeClientOffset\n };\n return _result3;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n var _action$payload6 = action.payload,\n _completed = _action$payload6.completed,\n shouldFlush = _action$payload6.shouldFlush;\n return {\n phase: 'IDLE',\n completed: _completed,\n shouldFlush: shouldFlush\n };\n }\n\n return state;\n});\n\nvar lift = function lift(args) {\n return {\n type: 'LIFT',\n payload: args\n };\n};\nvar initialPublish = function initialPublish(args) {\n return {\n type: 'INITIAL_PUBLISH',\n payload: args\n };\n};\nvar publishWhileDragging$1 = function publishWhileDragging(args) {\n return {\n type: 'PUBLISH_WHILE_DRAGGING',\n payload: args\n };\n};\nvar collectionStarting = function collectionStarting() {\n return {\n type: 'COLLECTION_STARTING',\n payload: null\n };\n};\nvar updateDroppableScroll = function updateDroppableScroll(args) {\n return {\n type: 'UPDATE_DROPPABLE_SCROLL',\n payload: args\n };\n};\nvar updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {\n return {\n type: 'UPDATE_DROPPABLE_IS_ENABLED',\n payload: args\n };\n};\nvar updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(args) {\n return {\n type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',\n payload: args\n };\n};\nvar move = function move(args) {\n return {\n type: 'MOVE',\n payload: args\n };\n};\nvar moveByWindowScroll = function moveByWindowScroll(args) {\n return {\n type: 'MOVE_BY_WINDOW_SCROLL',\n payload: args\n };\n};\nvar updateViewportMaxScroll = function updateViewportMaxScroll(args) {\n return {\n type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n payload: args\n };\n};\nvar moveUp = function moveUp() {\n return {\n type: 'MOVE_UP',\n payload: null\n };\n};\nvar moveDown = function moveDown() {\n return {\n type: 'MOVE_DOWN',\n payload: null\n };\n};\nvar moveRight = function moveRight() {\n return {\n type: 'MOVE_RIGHT',\n payload: null\n };\n};\nvar moveLeft = function moveLeft() {\n return {\n type: 'MOVE_LEFT',\n payload: null\n };\n};\nvar clean$1 = function clean(args) {\n if (args === void 0) {\n args = {\n shouldFlush: false\n };\n }\n\n return {\n type: 'CLEAN',\n payload: args\n };\n};\nvar animateDrop = function animateDrop(args) {\n return {\n type: 'DROP_ANIMATE',\n payload: args\n };\n};\nvar completeDrop = function completeDrop(args) {\n return {\n type: 'DROP_COMPLETE',\n payload: args\n };\n};\nvar drop = function drop(args) {\n return {\n type: 'DROP',\n payload: args\n };\n};\nvar dropPending = function dropPending(args) {\n return {\n type: 'DROP_PENDING',\n payload: args\n };\n};\nvar dropAnimationFinished = function dropAnimationFinished() {\n return {\n type: 'DROP_ANIMATION_FINISHED',\n payload: null\n };\n};\n\nvar lift$1 = (function (marshal) {\n return function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type !== 'LIFT') {\n next(action);\n return;\n }\n\n var _action$payload = action.payload,\n id = _action$payload.id,\n clientSelection = _action$payload.clientSelection,\n movementMode = _action$payload.movementMode;\n var initial = getState();\n\n if (initial.phase === 'DROP_ANIMATING') {\n dispatch(completeDrop({\n completed: initial.completed,\n shouldFlush: true\n }));\n }\n\n !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Incorrect phase to start a drag') : invariant(false) : void 0;\n var scrollOptions = {\n shouldPublishImmediately: movementMode === 'SNAP'\n };\n var request = {\n draggableId: id,\n scrollOptions: scrollOptions\n };\n\n var _marshal$startPublish = marshal.startPublishing(request),\n critical = _marshal$startPublish.critical,\n dimensions = _marshal$startPublish.dimensions,\n viewport = _marshal$startPublish.viewport;\n\n dispatch(initialPublish({\n critical: critical,\n dimensions: dimensions,\n clientSelection: clientSelection,\n movementMode: movementMode,\n viewport: viewport\n }));\n };\n };\n };\n});\n\nvar style = (function (marshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n marshal.dragging();\n }\n\n if (action.type === 'DROP_ANIMATE') {\n marshal.dropping(action.payload.completed.result.reason);\n }\n\n if (action.type === 'CLEAN' || action.type === 'DROP_COMPLETE') {\n marshal.resting();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar curves = {\n outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',\n drop: 'cubic-bezier(.2,1,.1,1)'\n};\nvar combine = {\n opacity: {\n drop: 0,\n combining: 0.7\n },\n scale: {\n drop: 0.75\n }\n};\nvar timings = {\n outOfTheWay: 0.2,\n minDropTime: 0.33,\n maxDropTime: 0.55\n};\nvar outOfTheWayTiming = timings.outOfTheWay + \"s \" + curves.outOfTheWay;\nvar transitions = {\n fluid: \"opacity \" + outOfTheWayTiming,\n snap: \"transform \" + outOfTheWayTiming + \", opacity \" + outOfTheWayTiming,\n drop: function drop(duration) {\n var timing = duration + \"s \" + curves.drop;\n return \"transform \" + timing + \", opacity \" + timing;\n },\n outOfTheWay: \"transform \" + outOfTheWayTiming,\n placeholder: \"height \" + outOfTheWayTiming + \", width \" + outOfTheWayTiming + \", margin \" + outOfTheWayTiming\n};\n\nvar moveTo = function moveTo(offset) {\n return isEqual(offset, origin) ? null : \"translate(\" + offset.x + \"px, \" + offset.y + \"px)\";\n};\n\nvar transforms = {\n moveTo: moveTo,\n drop: function drop(offset, isCombining) {\n var translate = moveTo(offset);\n\n if (!translate) {\n return null;\n }\n\n if (!isCombining) {\n return translate;\n }\n\n return translate + \" scale(\" + combine.scale.drop + \")\";\n }\n};\n\nvar minDropTime = timings.minDropTime,\n maxDropTime = timings.maxDropTime;\nvar dropTimeRange = maxDropTime - minDropTime;\nvar maxDropTimeAtDistance = 1500;\nvar cancelDropModifier = 0.6;\nvar getDropDuration = (function (_ref) {\n var current = _ref.current,\n destination = _ref.destination,\n reason = _ref.reason;\n var distance$1 = distance(current, destination);\n\n if (distance$1 <= 0) {\n return minDropTime;\n }\n\n if (distance$1 >= maxDropTimeAtDistance) {\n return maxDropTime;\n }\n\n var percentage = distance$1 / maxDropTimeAtDistance;\n var duration = minDropTime + dropTimeRange * percentage;\n var withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;\n return Number(withDuration.toFixed(2));\n});\n\nvar getNewHomeClientOffset = (function (_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n dimensions = _ref.dimensions,\n viewport = _ref.viewport,\n onLift = _ref.onLift;\n var draggables = dimensions.draggables,\n droppables = dimensions.droppables;\n var droppableId = whatIsDraggedOver(impact);\n var destination = droppableId ? droppables[droppableId] : null;\n var home = droppables[draggable.descriptor.droppableId];\n var newClientCenter = getClientBorderBoxCenter({\n impact: impact,\n draggable: draggable,\n draggables: draggables,\n onLift: onLift,\n droppable: destination || home,\n viewport: viewport\n });\n var offset = subtract(newClientCenter, draggable.client.borderBox.center);\n var merge = impact.merge;\n\n if (merge && didStartDisplaced(merge.combine.draggableId, onLift)) {\n return subtract(offset, onLift.displacedBy.point);\n }\n\n return offset;\n});\n\nvar getDropImpact = (function (_ref) {\n var reason = _ref.reason,\n lastImpact = _ref.lastImpact,\n home = _ref.home,\n viewport = _ref.viewport,\n draggables = _ref.draggables,\n onLiftImpact = _ref.onLiftImpact,\n onLift = _ref.onLift;\n var didDropInsideDroppable = reason === 'DROP' && Boolean(whatIsDraggedOver(lastImpact));\n\n if (!didDropInsideDroppable) {\n var impact = recompute({\n impact: onLiftImpact,\n destination: home,\n viewport: viewport,\n draggables: draggables,\n onLift: onLift,\n forceShouldAnimate: true\n });\n return {\n impact: impact,\n didDropInsideDroppable: didDropInsideDroppable\n };\n }\n\n if (lastImpact.destination) {\n return {\n impact: lastImpact,\n didDropInsideDroppable: didDropInsideDroppable\n };\n }\n\n var withoutMovement = _extends({}, lastImpact, {\n movement: noMovement\n });\n\n return {\n impact: withoutMovement,\n didDropInsideDroppable: didDropInsideDroppable\n };\n});\n\nvar drop$1 = (function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP') {\n next(action);\n return;\n }\n\n var state = getState();\n var reason = action.payload.reason;\n\n if (state.phase === 'COLLECTING') {\n dispatch(dropPending({\n reason: reason\n }));\n return;\n }\n\n if (state.phase === 'IDLE') {\n return;\n }\n\n var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot drop in phase: \" + state.phase) : invariant(false) : void 0;\n var critical = state.critical;\n var dimensions = state.dimensions;\n\n var _getDropImpact = getDropImpact({\n reason: reason,\n lastImpact: state.impact,\n onLift: state.onLift,\n onLiftImpact: state.onLiftImpact,\n home: state.dimensions.droppables[state.critical.droppable.id],\n viewport: state.viewport,\n draggables: state.dimensions.draggables\n }),\n impact = _getDropImpact.impact,\n didDropInsideDroppable = _getDropImpact.didDropInsideDroppable;\n\n var draggable = dimensions.draggables[state.critical.draggable.id];\n var destination = didDropInsideDroppable ? impact.destination : null;\n var combine = didDropInsideDroppable && impact.merge ? impact.merge.combine : null;\n var source = {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n var result = {\n draggableId: draggable.descriptor.id,\n type: draggable.descriptor.type,\n source: source,\n reason: reason,\n mode: state.movementMode,\n destination: destination,\n combine: combine\n };\n var newHomeClientOffset = getNewHomeClientOffset({\n impact: impact,\n draggable: draggable,\n dimensions: dimensions,\n viewport: state.viewport,\n onLift: state.onLift\n });\n var completed = {\n critical: state.critical,\n result: result,\n impact: impact\n };\n var isAnimationRequired = !isEqual(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);\n\n if (!isAnimationRequired) {\n dispatch(completeDrop({\n completed: completed,\n shouldFlush: false\n }));\n return;\n }\n\n var dropDuration = getDropDuration({\n current: state.current.client.offset,\n destination: newHomeClientOffset,\n reason: reason\n });\n var args = {\n newHomeClientOffset: newHomeClientOffset,\n dropDuration: dropDuration,\n completed: completed\n };\n dispatch(animateDrop(args));\n };\n };\n});\n\nvar position = function position(index) {\n return index + 1;\n};\n\nvar onDragStart = function onDragStart(start) {\n return \"\\n You have lifted an item in position \" + position(start.source.index) + \".\\n Use the arrow keys to move, space bar to drop, and escape to cancel.\\n\";\n};\n\nvar withLocation = function withLocation(source, destination) {\n var isInHomeList = source.droppableId === destination.droppableId;\n var startPosition = position(source.index);\n var endPosition = position(destination.index);\n\n if (isInHomeList) {\n return \"\\n You have moved the item from position \" + startPosition + \"\\n to position \" + endPosition + \"\\n \";\n }\n\n return \"\\n You have moved the item from position \" + startPosition + \"\\n in list \" + source.droppableId + \"\\n to list \" + destination.droppableId + \"\\n in position \" + endPosition + \"\\n \";\n};\n\nvar withCombine = function withCombine(id, source, combine) {\n var inHomeList = source.droppableId === combine.droppableId;\n\n if (inHomeList) {\n return \"\\n The item \" + id + \"\\n has been combined with \" + combine.draggableId;\n }\n\n return \"\\n The item \" + id + \"\\n in list \" + source.droppableId + \"\\n has been combined with \" + combine.draggableId + \"\\n in list \" + combine.droppableId + \"\\n \";\n};\n\nvar onDragUpdate = function onDragUpdate(update) {\n var location = update.destination;\n\n if (location) {\n return withLocation(update.source, location);\n }\n\n var combine = update.combine;\n\n if (combine) {\n return withCombine(update.draggableId, update.source, combine);\n }\n\n return 'You are over an area that cannot be dropped on';\n};\n\nvar returnedToStart = function returnedToStart(source) {\n return \"\\n The item has returned to its starting position\\n of \" + position(source.index) + \"\\n\";\n};\n\nvar onDragEnd = function onDragEnd(result) {\n if (result.reason === 'CANCEL') {\n return \"\\n Movement cancelled.\\n \" + returnedToStart(result.source) + \"\\n \";\n }\n\n var location = result.destination;\n var combine = result.combine;\n\n if (location) {\n return \"\\n You have dropped the item.\\n \" + withLocation(result.source, location) + \"\\n \";\n }\n\n if (combine) {\n return \"\\n You have dropped the item.\\n \" + withCombine(result.draggableId, result.source, combine) + \"\\n \";\n }\n\n return \"\\n The item has been dropped while not over a drop area.\\n \" + returnedToStart(result.source) + \"\\n \";\n};\n\nvar preset = {\n onDragStart: onDragStart,\n onDragUpdate: onDragUpdate,\n onDragEnd: onDragEnd\n};\n\nvar getExpiringAnnounce = (function (announce) {\n var wasCalled = false;\n var isExpired = false;\n var timeoutId = setTimeout(function () {\n isExpired = true;\n });\n\n var result = function result(message) {\n if (wasCalled) {\n process.env.NODE_ENV !== \"production\" ? warning('Announcement already made. Not making a second announcement') : void 0;\n return;\n }\n\n if (isExpired) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Announcements cannot be made asynchronously.\\n Default message has already been announced.\\n \") : void 0;\n return;\n }\n\n wasCalled = true;\n announce(message);\n clearTimeout(timeoutId);\n };\n\n result.wasCalled = function () {\n return wasCalled;\n };\n\n return result;\n});\n\nvar getAsyncMarshal = (function () {\n var entries = [];\n\n var execute = function execute(timerId) {\n var index = findIndex(entries, function (item) {\n return item.timerId === timerId;\n });\n !(index !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;\n\n var _entries$splice = entries.splice(index, 1),\n entry = _entries$splice[0];\n\n entry.callback();\n };\n\n var add = function add(fn) {\n var timerId = setTimeout(function () {\n return execute(timerId);\n });\n var entry = {\n timerId: timerId,\n callback: fn\n };\n entries.push(entry);\n };\n\n var flush = function flush() {\n if (!entries.length) {\n return;\n }\n\n var shallow = [].concat(entries);\n entries.length = 0;\n shallow.forEach(function (entry) {\n clearTimeout(entry.timerId);\n entry.callback();\n });\n };\n\n return {\n add: add,\n flush: flush\n };\n});\n\nvar areLocationsEqual = function areLocationsEqual(first, second) {\n if (first == null && second == null) {\n return true;\n }\n\n if (first == null || second == null) {\n return false;\n }\n\n return first.droppableId === second.droppableId && first.index === second.index;\n};\nvar isCombineEqual = function isCombineEqual(first, second) {\n if (first == null && second == null) {\n return true;\n }\n\n if (first == null || second == null) {\n return false;\n }\n\n return first.draggableId === second.draggableId && first.droppableId === second.droppableId;\n};\nvar isCriticalEqual = function isCriticalEqual(first, second) {\n if (first === second) {\n return true;\n }\n\n var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n return isDraggableEqual && isDroppableEqual;\n};\n\nvar withTimings = function withTimings(key, fn) {\n start(key);\n fn();\n finish(key);\n};\n\nvar getDragStart = function getDragStart(critical, mode) {\n return {\n draggableId: critical.draggable.id,\n type: critical.droppable.type,\n source: {\n droppableId: critical.droppable.id,\n index: critical.draggable.index\n },\n mode: mode\n };\n};\n\nvar execute = function execute(responder, data, announce, getDefaultMessage) {\n if (!responder) {\n announce(getDefaultMessage(data));\n return;\n }\n\n var willExpire = getExpiringAnnounce(announce);\n var provided = {\n announce: willExpire\n };\n responder(data, provided);\n\n if (!willExpire.wasCalled()) {\n announce(getDefaultMessage(data));\n }\n};\n\nvar getPublisher = (function (getResponders, announce) {\n var asyncMarshal = getAsyncMarshal();\n var dragging = null;\n\n var beforeStart = function beforeStart(critical, mode) {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeDragStart', function () {\n var fn = getResponders().onBeforeDragStart;\n\n if (fn) {\n fn(getDragStart(critical, mode));\n }\n });\n };\n\n var start = function start(critical, mode) {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n var data = getDragStart(critical, mode);\n dragging = {\n mode: mode,\n lastCritical: critical,\n lastLocation: data.source,\n lastCombine: null\n };\n asyncMarshal.add(function () {\n withTimings('onDragStart', function () {\n return execute(getResponders().onDragStart, data, announce, preset.onDragStart);\n });\n });\n };\n\n var update = function update(critical, impact) {\n var location = impact.destination;\n var combine = impact.merge ? impact.merge.combine : null;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n var hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);\n\n if (hasCriticalChanged) {\n dragging.lastCritical = critical;\n }\n\n var hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);\n\n if (hasLocationChanged) {\n dragging.lastLocation = location;\n }\n\n var hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);\n\n if (hasGroupingChanged) {\n dragging.lastCombine = combine;\n }\n\n if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {\n return;\n }\n\n var data = _extends({}, getDragStart(critical, dragging.mode), {\n combine: combine,\n destination: location\n });\n\n asyncMarshal.add(function () {\n withTimings('onDragUpdate', function () {\n return execute(getResponders().onDragUpdate, data, announce, preset.onDragUpdate);\n });\n });\n };\n\n var flush = function flush() {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;\n asyncMarshal.flush();\n };\n\n var drop = function drop(result) {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n dragging = null;\n withTimings('onDragEnd', function () {\n return execute(getResponders().onDragEnd, result, announce, preset.onDragEnd);\n });\n };\n\n var abort = function abort() {\n if (!dragging) {\n return;\n }\n\n var result = _extends({}, getDragStart(dragging.lastCritical, dragging.mode), {\n combine: null,\n destination: null,\n reason: 'CANCEL'\n });\n\n drop(result);\n };\n\n return {\n beforeStart: beforeStart,\n start: start,\n update: update,\n flush: flush,\n drop: drop,\n abort: abort\n };\n});\n\nvar responders = (function (getResponders, announce) {\n var publisher = getPublisher(getResponders, announce);\n return function (store) {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n var critical = action.payload.critical;\n publisher.beforeStart(critical, action.payload.movementMode);\n next(action);\n publisher.start(critical, action.payload.movementMode);\n return;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n var result = action.payload.completed.result;\n publisher.flush();\n next(action);\n publisher.drop(result);\n return;\n }\n\n next(action);\n\n if (action.type === 'CLEAN') {\n publisher.abort();\n return;\n }\n\n var state = store.getState();\n\n if (state.phase === 'DRAGGING') {\n publisher.update(state.critical, state.impact);\n }\n };\n };\n };\n});\n\nvar dropAnimationFinish = (function (store) {\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP_ANIMATION_FINISHED') {\n next(action);\n return;\n }\n\n var state = store.getState();\n !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n store.dispatch(completeDrop({\n completed: state.completed,\n shouldFlush: false\n }));\n };\n };\n});\n\nvar dimensionMarshalStopper = (function (marshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'DROP_COMPLETE' || action.type === 'CLEAN' || action.type === 'DROP_ANIMATE') {\n marshal.stopPublishing();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar shouldEnd = function shouldEnd(action) {\n return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'CLEAN';\n};\n\nvar shouldCancelPending = function shouldCancelPending(action) {\n return action.type === 'COLLECTION_STARTING';\n};\n\nvar autoScroll = (function (autoScroller) {\n return function (store) {\n return function (next) {\n return function (action) {\n if (shouldEnd(action)) {\n autoScroller.stop();\n next(action);\n return;\n }\n\n if (shouldCancelPending(action)) {\n autoScroller.cancelPending();\n next(action);\n return;\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n next(action);\n var state = store.getState();\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;\n autoScroller.start(state);\n return;\n }\n\n next(action);\n autoScroller.scroll(store.getState());\n };\n };\n };\n});\n\nvar pendingDrop = (function (store) {\n return function (next) {\n return function (action) {\n next(action);\n\n if (action.type !== 'PUBLISH_WHILE_DRAGGING') {\n return;\n }\n\n var postActionState = store.getState();\n\n if (postActionState.phase !== 'DROP_PENDING') {\n return;\n }\n\n if (postActionState.isWaiting) {\n return;\n }\n\n store.dispatch(drop({\n reason: postActionState.reason\n }));\n };\n };\n});\n\nvar composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : redux.compose;\nvar createStore = (function (_ref) {\n var dimensionMarshal = _ref.dimensionMarshal,\n styleMarshal = _ref.styleMarshal,\n getResponders = _ref.getResponders,\n announce = _ref.announce,\n autoScroller = _ref.autoScroller;\n return redux.createStore(reducer, composeEnhancers(redux.applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift$1(dimensionMarshal), drop$1, dropAnimationFinish, pendingDrop, autoScroll(autoScroller), responders(getResponders, announce))));\n});\n\nvar clean$2 = function clean() {\n return {\n additions: {},\n removals: {},\n modified: {}\n };\n};\n\nvar timingKey = 'Publish collection from DOM';\nvar createPublisher = (function (_ref) {\n var getEntries = _ref.getEntries,\n callbacks = _ref.callbacks;\n\n var advancedUsageWarning = function () {\n if (process.env.NODE_ENV === 'production') {\n return function () {};\n }\n\n var hasAnnounced = false;\n return function () {\n if (hasAnnounced) {\n return;\n }\n\n hasAnnounced = true;\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Advanced usage warning: you are adding or removing a dimension during a drag\\n This an advanced feature.\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/changes-while-dragging.md\\n \") : void 0;\n };\n }();\n\n var staging = clean$2();\n var frameId = null;\n\n var collect = function collect() {\n advancedUsageWarning();\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n callbacks.collectionStarting();\n var critical = callbacks.getCritical();\n start(timingKey);\n var entries = getEntries();\n var _staging = staging,\n additions = _staging.additions,\n removals = _staging.removals,\n modified = _staging.modified;\n\n var added = _Object$keys(additions).map(function (id) {\n return entries.draggables[id].getDimension(origin);\n }).sort(function (a, b) {\n return a.descriptor.index - b.descriptor.index;\n });\n\n var updated = _Object$keys(modified).map(function (id) {\n var entry = entries.droppables[id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find dynamically added droppable in cache') : invariant(false) : void 0;\n var isHome = entry.descriptor.id === critical.droppable.id;\n var options = {\n withoutPlaceholder: !isHome\n };\n return entry.callbacks.recollect(options);\n });\n\n var result = {\n additions: added,\n removals: _Object$keys(removals),\n modified: updated\n };\n staging = clean$2();\n finish(timingKey);\n callbacks.publish(result);\n });\n };\n\n var add = function add(descriptor) {\n staging.additions[descriptor.id] = descriptor;\n staging.modified[descriptor.droppableId] = true;\n\n if (staging.removals[descriptor.id]) {\n delete staging.removals[descriptor.id];\n }\n\n collect();\n };\n\n var remove = function remove(descriptor) {\n staging.removals[descriptor.id] = descriptor;\n staging.modified[descriptor.droppableId] = true;\n\n if (staging.additions[descriptor.id]) {\n delete staging.additions[descriptor.id];\n }\n\n collect();\n };\n\n var stop = function stop() {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n staging = clean$2();\n };\n\n return {\n add: add,\n remove: remove,\n stop: stop\n };\n});\n\nvar getWindowScroll = (function () {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n});\n\nvar getDocumentElement = (function () {\n var doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;\n return doc;\n});\n\nvar getMaxWindowScroll = (function () {\n var doc = getDocumentElement();\n var maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: doc.clientWidth,\n height: doc.clientHeight\n });\n return maxScroll;\n});\n\nvar getViewport = (function () {\n var scroll = getWindowScroll();\n var maxScroll = getMaxWindowScroll();\n var top = scroll.y;\n var left = scroll.x;\n var doc = getDocumentElement();\n var width = doc.clientWidth;\n var height = doc.clientHeight;\n var right = left + width;\n var bottom = top + height;\n var frame = cssBoxModel.getRect({\n top: top,\n left: left,\n right: right,\n bottom: bottom\n });\n var viewport = {\n frame: frame,\n scroll: {\n initial: scroll,\n current: scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n return viewport;\n});\n\nvar getInitialPublish = (function (_ref) {\n var critical = _ref.critical,\n scrollOptions = _ref.scrollOptions,\n entries = _ref.entries;\n var timingKey = 'Initial collection from DOM';\n start(timingKey);\n var viewport = getViewport();\n var windowScroll = viewport.scroll.current;\n var home = critical.droppable;\n var droppables = values(entries.droppables).filter(function (entry) {\n return entry.descriptor.type === home.type;\n }).map(function (entry) {\n return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);\n });\n var draggables = values(entries.draggables).filter(function (entry) {\n return entry.descriptor.type === critical.draggable.type;\n }).map(function (entry) {\n return entry.getDimension(windowScroll);\n });\n var dimensions = {\n draggables: toDraggableMap(draggables),\n droppables: toDroppableMap(droppables)\n };\n finish(timingKey);\n var result = {\n dimensions: dimensions,\n critical: critical,\n viewport: viewport\n };\n return result;\n});\n\nvar throwIfAddOrRemoveOfWrongType = function throwIfAddOrRemoveOfWrongType(collection, descriptor) {\n !(collection.critical.draggable.type === descriptor.type) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"We have detected that you have added a Draggable during a drag.\\n This is not of the same type as the dragging item\\n\\n Dragging type: \" + collection.critical.draggable.type + \".\\n Added type: \" + descriptor.type + \"\\n\\n We are not allowing this as you can run into problems if your change\\n has shifted the positioning of other Droppables, or has changed the size of the page\") : invariant(false) : void 0;\n};\n\nvar createDimensionMarshal = (function (callbacks) {\n var entries = {\n droppables: {},\n draggables: {}\n };\n var collection = null;\n var publisher = createPublisher({\n callbacks: {\n publish: callbacks.publishWhileDragging,\n collectionStarting: callbacks.collectionStarting,\n getCritical: function getCritical() {\n !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get critical when there is no collection') : invariant(false) : void 0;\n return collection.critical;\n }\n },\n getEntries: function getEntries() {\n return entries;\n }\n });\n\n var registerDraggable = function registerDraggable(descriptor, getDimension) {\n var entry = {\n descriptor: descriptor,\n getDimension: getDimension\n };\n entries.draggables[descriptor.id] = entry;\n\n if (!collection) {\n return;\n }\n\n throwIfAddOrRemoveOfWrongType(collection, descriptor);\n publisher.add(descriptor);\n };\n\n var updateDraggable = function updateDraggable(published, descriptor, getDimension) {\n var existing = entries.draggables[published.id];\n !existing ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot update draggable registration as no published registration was found') : invariant(false) : void 0;\n\n if (existing.descriptor === published) {\n delete entries.draggables[published.id];\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Detected incorrect usage of 'key' on ' \\n\\n Your 'key' should be:\\n - Unique for each Draggable in a list\\n - Not be based on the index of the Draggable\\n\\n Usually you want your 'key' to just be the 'draggableId'\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/draggable.md#keys-for-a-list-of-draggable-\\n \") : void 0;\n }\n\n var entry = {\n descriptor: descriptor,\n getDimension: getDimension\n };\n entries.draggables[descriptor.id] = entry;\n };\n\n var unregisterDraggable = function unregisterDraggable(descriptor) {\n var entry = entries.draggables[descriptor.id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot unregister Draggable with id:\\n \" + descriptor.id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (entry.descriptor !== descriptor) {\n return;\n }\n\n delete entries.draggables[descriptor.id];\n\n if (!collection) {\n return;\n }\n\n !(collection.critical.draggable.id !== descriptor.id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove the dragging item during a drag') : invariant(false) : void 0;\n throwIfAddOrRemoveOfWrongType(collection, descriptor);\n publisher.remove(descriptor);\n };\n\n var registerDroppable = function registerDroppable(descriptor, droppableCallbacks) {\n var id = descriptor.id;\n entries.droppables[id] = {\n descriptor: descriptor,\n callbacks: droppableCallbacks\n };\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add a Droppable during a drag') : invariant(false) : void 0;\n };\n\n var unregisterDroppable = function unregisterDroppable(descriptor) {\n var entry = entries.droppables[descriptor.id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot unregister Droppable with id \" + descriptor.id + \" as as it is not registered\") : invariant(false) : void 0;\n\n if (entry.descriptor !== descriptor) {\n return;\n }\n\n delete entries.droppables[descriptor.id];\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add a Droppable during a drag') : invariant(false) : void 0;\n };\n\n var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {\n !entries.droppables[id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update is enabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableIsEnabled({\n id: id,\n isEnabled: isEnabled\n });\n };\n\n var updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(id, isCombineEnabled) {\n !entries.droppables[id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update isCombineEnabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableIsCombineEnabled({\n id: id,\n isCombineEnabled: isCombineEnabled\n });\n };\n\n var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {\n !entries.droppables[id] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update the scroll on Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableScroll({\n id: id,\n offset: newScroll\n });\n };\n\n var scrollDroppable = function scrollDroppable(id, change) {\n var entry = entries.droppables[id];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot scroll Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n entry.callbacks.scroll(change);\n };\n\n var stopPublishing = function stopPublishing() {\n if (!collection) {\n return;\n }\n\n publisher.stop();\n var home = collection.critical.droppable;\n values(entries.droppables).filter(function (entry) {\n return entry.descriptor.type === home.type;\n }).forEach(function (entry) {\n return entry.callbacks.dragStopped();\n });\n collection = null;\n };\n\n var startPublishing = function startPublishing(request) {\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n var entry = entries.draggables[request.draggableId];\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find critical draggable entry') : invariant(false) : void 0;\n var home = entries.droppables[entry.descriptor.droppableId];\n !home ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find critical droppable entry') : invariant(false) : void 0;\n var critical = {\n draggable: entry.descriptor,\n droppable: home.descriptor\n };\n collection = {\n critical: critical\n };\n return getInitialPublish({\n critical: critical,\n entries: entries,\n scrollOptions: request.scrollOptions\n });\n };\n\n var marshal = {\n registerDraggable: registerDraggable,\n updateDraggable: updateDraggable,\n unregisterDraggable: unregisterDraggable,\n registerDroppable: registerDroppable,\n unregisterDroppable: unregisterDroppable,\n updateDroppableIsEnabled: updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n scrollDroppable: scrollDroppable,\n updateDroppableScroll: updateDroppableScroll,\n startPublishing: startPublishing,\n stopPublishing: stopPublishing\n };\n return marshal;\n});\n\nvar canStartDrag = (function (state, id) {\n if (state.phase === 'IDLE') {\n return true;\n }\n\n if (state.phase !== 'DROP_ANIMATING') {\n return false;\n }\n\n if (state.completed.result.draggableId === id) {\n return false;\n }\n\n return state.completed.result.reason === 'DROP';\n});\n\nvar scrollWindow = (function (change) {\n window.scrollBy(change.x, change.y);\n});\n\nvar getScrollableDroppables = memoizeOne(function (droppables) {\n return toDroppableList(droppables).filter(function (droppable) {\n if (!droppable.isEnabled) {\n return false;\n }\n\n if (!droppable.frame) {\n return false;\n }\n\n return true;\n });\n});\n\nvar getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {\n var maybe = find(getScrollableDroppables(droppables), function (droppable) {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n return isPositionInFrame(droppable.frame.pageMarginBox)(target);\n });\n return maybe;\n};\n\nvar getBestScrollableDroppable = (function (_ref) {\n var center = _ref.center,\n destination = _ref.destination,\n droppables = _ref.droppables;\n\n if (destination) {\n var _dimension = droppables[destination];\n\n if (!_dimension.frame) {\n return null;\n }\n\n return _dimension;\n }\n\n var dimension = getScrollableDroppableOver(center, droppables);\n return dimension;\n});\n\nvar config = {\n startFromPercentage: 0.25,\n maxScrollAtPercentage: 0.05,\n maxPixelScroll: 28,\n ease: function ease(percentage) {\n return Math.pow(percentage, 2);\n },\n durationDampening: {\n stopDampeningAt: 1200,\n accelerateAt: 360\n }\n};\n\nvar getDistanceThresholds = (function (container, axis) {\n var startScrollingFrom = container[axis.size] * config.startFromPercentage;\n var maxScrollValueAt = container[axis.size] * config.maxScrollAtPercentage;\n var thresholds = {\n startScrollingFrom: startScrollingFrom,\n maxScrollValueAt: maxScrollValueAt\n };\n return thresholds;\n});\n\nvar getPercentage = (function (_ref) {\n var startOfRange = _ref.startOfRange,\n endOfRange = _ref.endOfRange,\n current = _ref.current;\n var range = endOfRange - startOfRange;\n\n if (range === 0) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Detected distance range of 0 in the fluid auto scroller\\n This is unexpected and would cause a divide by 0 issue.\\n Not allowing an auto scroll\\n \") : void 0;\n return 0;\n }\n\n var currentInRange = current - startOfRange;\n var percentage = currentInRange / range;\n return percentage;\n});\n\nvar minScroll = 1;\n\nvar getValueFromDistance = (function (distanceToEdge, thresholds) {\n if (distanceToEdge > thresholds.startScrollingFrom) {\n return 0;\n }\n\n if (distanceToEdge <= thresholds.maxScrollValueAt) {\n return config.maxPixelScroll;\n }\n\n if (distanceToEdge === thresholds.startScrollingFrom) {\n return minScroll;\n }\n\n var percentageFromMaxScrollValueAt = getPercentage({\n startOfRange: thresholds.maxScrollValueAt,\n endOfRange: thresholds.startScrollingFrom,\n current: distanceToEdge\n });\n var percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;\n var scroll = config.maxPixelScroll * config.ease(percentageFromStartScrollingFrom);\n return Math.ceil(scroll);\n});\n\nvar accelerateAt = config.durationDampening.accelerateAt;\nvar stopAt = config.durationDampening.stopDampeningAt;\nvar dampenValueByTime = (function (proposedScroll, dragStartTime) {\n var startOfRange = dragStartTime;\n var endOfRange = stopAt;\n\n var now = _Date$now();\n\n var runTime = now - startOfRange;\n\n if (runTime >= stopAt) {\n return proposedScroll;\n }\n\n if (runTime < accelerateAt) {\n return minScroll;\n }\n\n var betweenAccelerateAtAndStopAtPercentage = getPercentage({\n startOfRange: accelerateAt,\n endOfRange: endOfRange,\n current: runTime\n });\n var scroll = proposedScroll * config.ease(betweenAccelerateAtAndStopAtPercentage);\n return Math.ceil(scroll);\n});\n\nvar getValue = (function (_ref) {\n var distanceToEdge = _ref.distanceToEdge,\n thresholds = _ref.thresholds,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var scroll = getValueFromDistance(distanceToEdge, thresholds);\n\n if (scroll === 0) {\n return 0;\n }\n\n if (!shouldUseTimeDampening) {\n return scroll;\n }\n\n return Math.max(dampenValueByTime(scroll, dragStartTime), minScroll);\n});\n\nvar getScrollOnAxis = (function (_ref) {\n var container = _ref.container,\n distanceToEdges = _ref.distanceToEdges,\n dragStartTime = _ref.dragStartTime,\n axis = _ref.axis,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var thresholds = getDistanceThresholds(container, axis);\n var isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];\n\n if (isCloserToEnd) {\n return getValue({\n distanceToEdge: distanceToEdges[axis.end],\n thresholds: thresholds,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n }\n\n return -1 * getValue({\n distanceToEdge: distanceToEdges[axis.start],\n thresholds: thresholds,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n});\n\nvar adjustForSizeLimits = (function (_ref) {\n var container = _ref.container,\n subject = _ref.subject,\n proposedScroll = _ref.proposedScroll;\n var isTooBigVertically = subject.height > container.height;\n var isTooBigHorizontally = subject.width > container.width;\n\n if (!isTooBigHorizontally && !isTooBigVertically) {\n return proposedScroll;\n }\n\n if (isTooBigHorizontally && isTooBigVertically) {\n return null;\n }\n\n return {\n x: isTooBigHorizontally ? 0 : proposedScroll.x,\n y: isTooBigVertically ? 0 : proposedScroll.y\n };\n});\n\nvar clean$3 = apply(function (value) {\n return value === 0 ? 0 : value;\n});\nvar getScroll = (function (_ref) {\n var dragStartTime = _ref.dragStartTime,\n container = _ref.container,\n subject = _ref.subject,\n center = _ref.center,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var distanceToEdges = {\n top: center.y - container.top,\n right: container.right - center.x,\n bottom: container.bottom - center.y,\n left: center.x - container.left\n };\n var y = getScrollOnAxis({\n container: container,\n distanceToEdges: distanceToEdges,\n dragStartTime: dragStartTime,\n axis: vertical,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n var x = getScrollOnAxis({\n container: container,\n distanceToEdges: distanceToEdges,\n dragStartTime: dragStartTime,\n axis: horizontal,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n var required = clean$3({\n x: x,\n y: y\n });\n\n if (isEqual(required, origin)) {\n return null;\n }\n\n var limited = adjustForSizeLimits({\n container: container,\n subject: subject,\n proposedScroll: required\n });\n\n if (!limited) {\n return null;\n }\n\n return isEqual(limited, origin) ? null : limited;\n});\n\nvar smallestSigned = apply(function (value) {\n if (value === 0) {\n return 0;\n }\n\n return value > 0 ? 1 : -1;\n});\nvar getOverlap = function () {\n var getRemainder = function getRemainder(target, max) {\n if (target < 0) {\n return target;\n }\n\n if (target > max) {\n return target - max;\n }\n\n return 0;\n };\n\n return function (_ref) {\n var current = _ref.current,\n max = _ref.max,\n change = _ref.change;\n var targetScroll = add(current, change);\n var overlap = {\n x: getRemainder(targetScroll.x, max.x),\n y: getRemainder(targetScroll.y, max.y)\n };\n\n if (isEqual(overlap, origin)) {\n return null;\n }\n\n return overlap;\n };\n}();\nvar canPartiallyScroll = function canPartiallyScroll(_ref2) {\n var rawMax = _ref2.max,\n current = _ref2.current,\n change = _ref2.change;\n var max = {\n x: Math.max(current.x, rawMax.x),\n y: Math.max(current.y, rawMax.y)\n };\n var smallestChange = smallestSigned(change);\n var overlap = getOverlap({\n max: max,\n current: current,\n change: smallestChange\n });\n\n if (!overlap) {\n return true;\n }\n\n if (smallestChange.x !== 0 && overlap.x === 0) {\n return true;\n }\n\n if (smallestChange.y !== 0 && overlap.y === 0) {\n return true;\n }\n\n return false;\n};\nvar canScrollWindow = function canScrollWindow(viewport, change) {\n return canPartiallyScroll({\n current: viewport.scroll.current,\n max: viewport.scroll.max,\n change: change\n });\n};\nvar getWindowOverlap = function getWindowOverlap(viewport, change) {\n if (!canScrollWindow(viewport, change)) {\n return null;\n }\n\n var max = viewport.scroll.max;\n var current = viewport.scroll.current;\n return getOverlap({\n current: current,\n max: max,\n change: change\n });\n};\nvar canScrollDroppable = function canScrollDroppable(droppable, change) {\n var frame = droppable.frame;\n\n if (!frame) {\n return false;\n }\n\n return canPartiallyScroll({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change: change\n });\n};\nvar getDroppableOverlap = function getDroppableOverlap(droppable, change) {\n var frame = droppable.frame;\n\n if (!frame) {\n return null;\n }\n\n if (!canScrollDroppable(droppable, change)) {\n return null;\n }\n\n return getOverlap({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change: change\n });\n};\n\nvar getWindowScrollChange = (function (_ref) {\n var viewport = _ref.viewport,\n subject = _ref.subject,\n center = _ref.center,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var scroll = getScroll({\n dragStartTime: dragStartTime,\n container: viewport.frame,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n return scroll && canScrollWindow(viewport, scroll) ? scroll : null;\n});\n\nvar getDroppableScrollChange = (function (_ref) {\n var droppable = _ref.droppable,\n subject = _ref.subject,\n center = _ref.center,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var frame = droppable.frame;\n\n if (!frame) {\n return null;\n }\n\n var scroll = getScroll({\n dragStartTime: dragStartTime,\n container: frame.pageMarginBox,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;\n});\n\nvar scroll$1 = (function (_ref) {\n var state = _ref.state,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening,\n scrollWindow = _ref.scrollWindow,\n scrollDroppable = _ref.scrollDroppable;\n var center = state.current.page.borderBoxCenter;\n var draggable = state.dimensions.draggables[state.critical.draggable.id];\n var subject = draggable.page.marginBox;\n\n if (state.isWindowScrollAllowed) {\n var viewport = state.viewport;\n\n var _change = getWindowScrollChange({\n dragStartTime: dragStartTime,\n viewport: viewport,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n\n if (_change) {\n scrollWindow(_change);\n return;\n }\n }\n\n var droppable = getBestScrollableDroppable({\n center: center,\n destination: whatIsDraggedOver(state.impact),\n droppables: state.dimensions.droppables\n });\n\n if (!droppable) {\n return;\n }\n\n var change = getDroppableScrollChange({\n dragStartTime: dragStartTime,\n droppable: droppable,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n\n if (change) {\n scrollDroppable(droppable.descriptor.id, change);\n }\n});\n\nvar createFluidScroller = (function (_ref) {\n var scrollWindow = _ref.scrollWindow,\n scrollDroppable = _ref.scrollDroppable;\n var scheduleWindowScroll = rafSchd(scrollWindow);\n var scheduleDroppableScroll = rafSchd(scrollDroppable);\n var dragging = null;\n\n var tryScroll = function tryScroll(state) {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;\n var _dragging = dragging,\n shouldUseTimeDampening = _dragging.shouldUseTimeDampening,\n dragStartTime = _dragging.dragStartTime;\n scroll$1({\n state: state,\n scrollWindow: scheduleWindowScroll,\n scrollDroppable: scheduleDroppableScroll,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n };\n\n var cancelPending = function cancelPending() {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot cancel pending fluid scroll when not started') : invariant(false) : void 0;\n scheduleWindowScroll.cancel();\n scheduleDroppableScroll.cancel();\n };\n\n var start$1 = function start$1(state) {\n start('starting fluid scroller');\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;\n\n var dragStartTime = _Date$now();\n\n var wasScrollNeeded = false;\n\n var fakeScrollCallback = function fakeScrollCallback() {\n wasScrollNeeded = true;\n };\n\n scroll$1({\n state: state,\n dragStartTime: 0,\n shouldUseTimeDampening: false,\n scrollWindow: fakeScrollCallback,\n scrollDroppable: fakeScrollCallback\n });\n dragging = {\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: wasScrollNeeded\n };\n finish('starting fluid scroller');\n\n if (wasScrollNeeded) {\n tryScroll(state);\n }\n };\n\n var stop = function stop() {\n if (!dragging) {\n return;\n }\n\n cancelPending();\n dragging = null;\n };\n\n return {\n start: start$1,\n stop: stop,\n cancelPending: cancelPending,\n scroll: tryScroll\n };\n});\n\nvar createJumpScroller = (function (_ref) {\n var move = _ref.move,\n scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow;\n\n var moveByOffset = function moveByOffset(state, offset) {\n var client = add(state.current.client.selection, offset);\n move({\n client: client\n });\n };\n\n var scrollDroppableAsMuchAsItCan = function scrollDroppableAsMuchAsItCan(droppable, change) {\n if (!canScrollDroppable(droppable, change)) {\n return change;\n }\n\n var overlap = getDroppableOverlap(droppable, change);\n\n if (!overlap) {\n scrollDroppable(droppable.descriptor.id, change);\n return null;\n }\n\n var whatTheDroppableCanScroll = subtract(change, overlap);\n scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n var remainder = subtract(change, whatTheDroppableCanScroll);\n return remainder;\n };\n\n var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(isWindowScrollAllowed, viewport, change) {\n if (!isWindowScrollAllowed) {\n return change;\n }\n\n if (!canScrollWindow(viewport, change)) {\n return change;\n }\n\n var overlap = getWindowOverlap(viewport, change);\n\n if (!overlap) {\n scrollWindow(change);\n return null;\n }\n\n var whatTheWindowCanScroll = subtract(change, overlap);\n scrollWindow(whatTheWindowCanScroll);\n var remainder = subtract(change, whatTheWindowCanScroll);\n return remainder;\n };\n\n var jumpScroller = function jumpScroller(state) {\n var request = state.scrollJumpRequest;\n\n if (!request) {\n return;\n }\n\n var destination = whatIsDraggedOver(state.impact);\n !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);\n\n if (!droppableRemainder) {\n return;\n }\n\n var viewport = state.viewport;\n var windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);\n\n if (!windowRemainder) {\n return;\n }\n\n moveByOffset(state, windowRemainder);\n };\n\n return jumpScroller;\n});\n\nvar createAutoScroller = (function (_ref) {\n var scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow,\n move = _ref.move;\n var fluidScroller = createFluidScroller({\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n var jumpScroll = createJumpScroller({\n move: move,\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n\n var scroll = function scroll(state) {\n if (state.phase !== 'DRAGGING') {\n return;\n }\n\n if (state.movementMode === 'FLUID') {\n fluidScroller.scroll(state);\n return;\n }\n\n if (!state.scrollJumpRequest) {\n return;\n }\n\n jumpScroll(state);\n };\n\n var scroller = {\n scroll: scroll,\n cancelPending: fluidScroller.cancelPending,\n start: fluidScroller.start,\n stop: fluidScroller.stop\n };\n return scroller;\n});\n\nvar prefix = 'data-react-beautiful-dnd';\nvar dragHandle = prefix + \"-drag-handle\";\nvar draggable = prefix + \"-draggable\";\nvar droppable = prefix + \"-droppable\";\n\nvar makeGetSelector = function makeGetSelector(context) {\n return function (attribute) {\n return \"[\" + attribute + \"=\\\"\" + context + \"\\\"]\";\n };\n};\n\nvar getStyles = function getStyles(rules, property) {\n return rules.map(function (rule) {\n var value = rule.styles[property];\n\n if (!value) {\n return '';\n }\n\n return rule.selector + \" { \" + value + \" }\";\n }).join(' ');\n};\n\nvar noPointerEvents = 'pointer-events: none;';\nvar getStyles$1 = (function (uniqueContext) {\n var getSelector = makeGetSelector(uniqueContext);\n\n var dragHandle$1 = function () {\n var grabCursor = \"\\n cursor: -webkit-grab;\\n cursor: grab;\\n \";\n return {\n selector: getSelector(dragHandle),\n styles: {\n always: \"\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n touch-action: manipulation;\\n \",\n resting: grabCursor,\n dragging: noPointerEvents,\n dropAnimating: grabCursor\n }\n };\n }();\n\n var draggable$1 = function () {\n var transition = \"\\n transition: \" + transitions.outOfTheWay + \";\\n \";\n return {\n selector: getSelector(draggable),\n styles: {\n dragging: transition,\n dropAnimating: transition,\n userCancel: transition\n }\n };\n }();\n\n var droppable$1 = {\n selector: getSelector(droppable),\n styles: {\n always: \"overflow-anchor: none;\"\n }\n };\n var body = {\n selector: 'body',\n styles: {\n dragging: \"\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n overflow-anchor: none;\\n \"\n }\n };\n var rules = [draggable$1, dragHandle$1, droppable$1, body];\n return {\n always: getStyles(rules, 'always'),\n resting: getStyles(rules, 'resting'),\n dragging: getStyles(rules, 'dragging'),\n dropAnimating: getStyles(rules, 'dropAnimating'),\n userCancel: getStyles(rules, 'userCancel')\n };\n});\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nvar getHead = function getHead() {\n var head = document.querySelector('head');\n !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n return head;\n};\n\nvar createStyleEl = function createStyleEl() {\n var el = document.createElement('style');\n el.type = 'text/css';\n return el;\n};\n\nfunction useStyleMarshal(uniqueId) {\n var uniqueContext = useMemoOne.useMemo(function () {\n return \"\" + uniqueId;\n }, [uniqueId]);\n var styles = useMemoOne.useMemo(function () {\n return getStyles$1(uniqueContext);\n }, [uniqueContext]);\n var alwaysRef = React.useRef(null);\n var dynamicRef = React.useRef(null);\n var setDynamicStyle = useMemoOne.useCallback(memoizeOne(function (proposed) {\n var el = dynamicRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }), []);\n var setAlwaysStyle = useMemoOne.useCallback(function (proposed) {\n var el = alwaysRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }, []);\n useIsomorphicLayoutEffect(function () {\n !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;\n var always = createStyleEl();\n var dynamic = createStyleEl();\n alwaysRef.current = always;\n dynamicRef.current = dynamic;\n always.setAttribute(prefix + \"-always\", uniqueContext);\n dynamic.setAttribute(prefix + \"-dynamic\", uniqueContext);\n getHead().appendChild(always);\n getHead().appendChild(dynamic);\n setAlwaysStyle(styles.always);\n setDynamicStyle(styles.resting);\n return function () {\n var remove = function remove(ref) {\n var current = ref.current;\n !current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;\n getHead().removeChild(current);\n ref.current = null;\n };\n\n remove(alwaysRef);\n remove(dynamicRef);\n };\n }, [setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, uniqueContext]);\n var dragging = useMemoOne.useCallback(function () {\n return setDynamicStyle(styles.dragging);\n }, [setDynamicStyle, styles.dragging]);\n var dropping = useMemoOne.useCallback(function (reason) {\n if (reason === 'DROP') {\n setDynamicStyle(styles.dropAnimating);\n return;\n }\n\n setDynamicStyle(styles.userCancel);\n }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);\n var resting = useMemoOne.useCallback(function () {\n if (!dynamicRef.current) {\n return;\n }\n\n setDynamicStyle(styles.resting);\n }, [setDynamicStyle, styles.resting]);\n var marshal = useMemoOne.useMemo(function () {\n return {\n dragging: dragging,\n dropping: dropping,\n resting: resting,\n styleContext: uniqueContext\n };\n }, [dragging, dropping, resting, uniqueContext]);\n return marshal;\n}\n\nvar StoreContext = React__default.createContext(null);\n\nvar getBodyElement = (function () {\n var body = document.body;\n !body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;\n return body;\n});\n\nvar visuallyHidden = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n border: '0',\n padding: '0',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n 'clip-path': 'inset(100%)'\n};\nvar getId = function getId(uniqueId) {\n return \"react-beautiful-dnd-announcement-\" + uniqueId;\n};\nfunction useAnnouncer(uniqueId) {\n var id = useMemoOne.useMemo(function () {\n return getId(uniqueId);\n }, [uniqueId]);\n var ref = React.useRef(null);\n React.useEffect(function () {\n !!ref.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Announcement node already mounted') : invariant(false) : void 0;\n var el = document.createElement('div');\n ref.current = el;\n el.id = id;\n el.setAttribute('aria-live', 'assertive');\n el.setAttribute('role', 'log');\n el.setAttribute('aria-atomic', 'true');\n\n _Object$assign(el.style, visuallyHidden);\n\n getBodyElement().appendChild(el);\n return function () {\n var toBeRemoved = ref.current;\n !toBeRemoved ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount announcement node') : invariant(false) : void 0;\n getBodyElement().removeChild(toBeRemoved);\n ref.current = null;\n };\n }, [id]);\n var announce = useMemoOne.useCallback(function (message) {\n var el = ref.current;\n\n if (el) {\n el.textContent = message;\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n A screen reader message was trying to be announced but it was unable to do so.\\n This can occur if you unmount your in your onDragEnd.\\n Consider calling provided.announce() before the unmount so that the instruction will\\n not be lost for users relying on a screen reader.\\n\\n Message not passed to screen reader:\\n\\n \\\"\" + message + \"\\\"\\n \") : void 0;\n }, []);\n return announce;\n}\n\nvar AppContext = React__default.createContext(null);\n\nvar peerDependencies = {\n\treact: \"^16.8.5\"\n};\n\nvar semver = /(\\d+)\\.(\\d+)\\.(\\d+)/;\n\nvar getVersion = function getVersion(value) {\n var result = semver.exec(value);\n !(result != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unable to parse React version \" + value) : invariant(false) : void 0;\n var major = Number(result[1]);\n var minor = Number(result[2]);\n var patch = Number(result[3]);\n return {\n major: major,\n minor: minor,\n patch: patch,\n raw: value\n };\n};\n\nvar isSatisfied = function isSatisfied(expected, actual) {\n if (actual.major > expected.major) {\n return true;\n }\n\n if (actual.major < expected.major) {\n return false;\n }\n\n if (actual.minor > expected.minor) {\n return true;\n }\n\n if (actual.minor < expected.minor) {\n return false;\n }\n\n return actual.patch >= expected.patch;\n};\n\nvar checkReactVersion = (function (peerDepValue, actualValue) {\n var peerDep = getVersion(peerDepValue);\n var actual = getVersion(actualValue);\n\n if (isSatisfied(peerDep, actual)) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n React version: [\" + actual.raw + \"]\\n does not satisfy expected peer dependency version: [\" + peerDep.raw + \"]\\n\\n This can result in run time bugs, and even fatal crashes\\n \") : void 0;\n});\n\nvar suffix = \"\\n We expect a html5 doctype: \\n This is to ensure consistent browser layout and measurement\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\\n\";\nvar checkDoctype = (function (doc) {\n var doctype = doc.doctype;\n\n if (!doctype) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n No found.\\n\\n \" + suffix + \"\\n \") : void 0;\n return;\n }\n\n if (doctype.name.toLowerCase() !== 'html') {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Unexpected found: (\" + doctype.name + \")\\n\\n \" + suffix + \"\\n \") : void 0;\n }\n\n if (doctype.publicId !== '') {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Unexpected publicId found: (\" + doctype.publicId + \")\\n A html5 doctype does not have a publicId\\n\\n \" + suffix + \"\\n \") : void 0;\n }\n});\n\nfunction useStartupValidation() {\n React.useEffect(function () {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n checkReactVersion(peerDependencies.react, React__default.version);\n checkDoctype(document);\n }, []);\n}\n\nfunction usePrevious(current) {\n var ref = React.useRef(current);\n React.useEffect(function () {\n ref.current = current;\n });\n return ref;\n}\n\nvar createResponders = function createResponders(props) {\n return {\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragUpdate: props.onDragUpdate\n };\n};\n\nfunction getStore(lazyRef) {\n !lazyRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;\n return lazyRef.current;\n}\n\nfunction App(props) {\n var uniqueId = props.uniqueId,\n setOnError = props.setOnError;\n var lazyStoreRef = React.useRef(null);\n useStartupValidation();\n var lastPropsRef = usePrevious(props);\n var getResponders = useMemoOne.useCallback(function () {\n return createResponders(lastPropsRef.current);\n }, [lastPropsRef]);\n var announce = useAnnouncer(uniqueId);\n var styleMarshal = useStyleMarshal(uniqueId);\n var lazyDispatch = useMemoOne.useCallback(function (action) {\n getStore(lazyStoreRef).dispatch(action);\n }, []);\n var callbacks = useMemoOne.useMemo(function () {\n return redux.bindActionCreators({\n publishWhileDragging: publishWhileDragging$1,\n updateDroppableScroll: updateDroppableScroll,\n updateDroppableIsEnabled: updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n collectionStarting: collectionStarting\n }, lazyDispatch);\n }, [lazyDispatch]);\n var dimensionMarshal = useMemoOne.useMemo(function () {\n return createDimensionMarshal(callbacks);\n }, [callbacks]);\n var autoScroller = useMemoOne.useMemo(function () {\n return createAutoScroller(_extends({\n scrollWindow: scrollWindow,\n scrollDroppable: dimensionMarshal.scrollDroppable\n }, redux.bindActionCreators({\n move: move\n }, lazyDispatch)));\n }, [dimensionMarshal.scrollDroppable, lazyDispatch]);\n var store = useMemoOne.useMemo(function () {\n return createStore({\n dimensionMarshal: dimensionMarshal,\n styleMarshal: styleMarshal,\n announce: announce,\n autoScroller: autoScroller,\n getResponders: getResponders\n });\n }, [announce, autoScroller, dimensionMarshal, getResponders, styleMarshal]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (lazyStoreRef.current && lazyStoreRef.current !== store) {\n process.env.NODE_ENV !== \"production\" ? warning('unexpected store change') : void 0;\n }\n }\n\n lazyStoreRef.current = store;\n var tryResetStore = useMemoOne.useCallback(function () {\n var current = getStore(lazyStoreRef);\n var state = current.getState();\n\n if (state.phase !== 'IDLE') {\n current.dispatch(clean$1({\n shouldFlush: true\n }));\n }\n }, []);\n setOnError(tryResetStore);\n var getCanLift = useMemoOne.useCallback(function (id) {\n return canStartDrag(getStore(lazyStoreRef).getState(), id);\n }, []);\n var getIsMovementAllowed = useMemoOne.useCallback(function () {\n return isMovementAllowed(getStore(lazyStoreRef).getState());\n }, []);\n var appContext = useMemoOne.useMemo(function () {\n return {\n marshal: dimensionMarshal,\n style: styleMarshal.styleContext,\n canLift: getCanLift,\n isMovementAllowed: getIsMovementAllowed\n };\n }, [dimensionMarshal, getCanLift, getIsMovementAllowed, styleMarshal.styleContext]);\n React.useEffect(function () {\n return tryResetStore;\n }, [tryResetStore]);\n return React__default.createElement(AppContext.Provider, {\n value: appContext\n }, React__default.createElement(reactRedux.Provider, {\n context: StoreContext,\n store: store\n }, props.children));\n}\n\nvar instanceCount = 0;\nfunction resetServerContext() {\n instanceCount = 0;\n}\nfunction DragDropContext(props) {\n var uniqueId = useMemoOne.useMemo(function () {\n return instanceCount++;\n }, []);\n return React__default.createElement(ErrorBoundary, null, function (setOnError) {\n return React__default.createElement(App, _extends({\n setOnError: setOnError,\n uniqueId: uniqueId\n }, props), props.children);\n });\n}\n\nvar isEqual$2 = function isEqual(base) {\n return function (value) {\n return base === value;\n };\n};\n\nvar isScroll = isEqual$2('scroll');\nvar isAuto = isEqual$2('auto');\nvar isVisible$1 = isEqual$2('visible');\n\nvar isEither = function isEither(overflow, fn) {\n return fn(overflow.overflowX) || fn(overflow.overflowY);\n};\n\nvar isBoth = function isBoth(overflow, fn) {\n return fn(overflow.overflowX) && fn(overflow.overflowY);\n};\n\nvar isElementScrollable = function isElementScrollable(el) {\n var style = window.getComputedStyle(el);\n var overflow = {\n overflowX: style.overflowX,\n overflowY: style.overflowY\n };\n return isEither(overflow, isScroll) || isEither(overflow, isAuto);\n};\n\nvar isBodyScrollable = function isBodyScrollable() {\n if (process.env.NODE_ENV === 'production') {\n return false;\n }\n\n var body = getBodyElement();\n var html = document.documentElement;\n !html ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n\n if (!isElementScrollable(body)) {\n return false;\n }\n\n var htmlStyle = window.getComputedStyle(html);\n var htmlOverflow = {\n overflowX: htmlStyle.overflowX,\n overflowY: htmlStyle.overflowY\n };\n\n if (isBoth(htmlOverflow, isVisible$1)) {\n return false;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n We have detected that your element might be a scroll container.\\n We have found no reliable way of detecting whether the element is a scroll container.\\n Under most circumstances a scroll bar will be on the element (document.documentElement)\\n\\n Because we cannot determine if the is a scroll container, and generally it is not one,\\n we will be treating the as *not* a scroll container\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\\n \") : void 0;\n return false;\n};\n\nvar getClosestScrollable = function getClosestScrollable(el) {\n if (el == null) {\n return null;\n }\n\n if (el === document.body) {\n return isBodyScrollable() ? el : null;\n }\n\n if (el === document.documentElement) {\n return null;\n }\n\n if (!isElementScrollable(el)) {\n return getClosestScrollable(el.parentElement);\n }\n\n return el;\n};\n\nvar checkForNestedScrollContainers = (function (scrollable) {\n if (!scrollable) {\n return;\n }\n\n var anotherScrollParent = getClosestScrollable(scrollable.parentElement);\n\n if (!anotherScrollParent) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Droppable: unsupported nested scroll container detected.\\n A Droppable can only have one scroll parent (which can be itself)\\n Nested scroll containers are currently not supported.\\n\\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\\n \") : void 0;\n});\n\nvar getScroll$1 = (function (el) {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n };\n});\n\nvar getIsFixed = function getIsFixed(el) {\n if (!el) {\n return false;\n }\n\n var style = window.getComputedStyle(el);\n\n if (style.position === 'fixed') {\n return true;\n }\n\n return getIsFixed(el.parentElement);\n};\n\nvar getEnv = (function (start) {\n var closestScrollable = getClosestScrollable(start);\n var isFixedOnPage = getIsFixed(start);\n return {\n closestScrollable: closestScrollable,\n isFixedOnPage: isFixedOnPage\n };\n});\n\nvar getClient = function getClient(targetRef, closestScrollable) {\n var base = cssBoxModel.getBox(targetRef);\n\n if (!closestScrollable) {\n return base;\n }\n\n if (targetRef !== closestScrollable) {\n return base;\n }\n\n var top = base.paddingBox.top - closestScrollable.scrollTop;\n var left = base.paddingBox.left - closestScrollable.scrollLeft;\n var bottom = top + closestScrollable.scrollHeight;\n var right = left + closestScrollable.scrollWidth;\n var paddingBox = {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n var borderBox = cssBoxModel.expand(paddingBox, base.border);\n var client = cssBoxModel.createBox({\n borderBox: borderBox,\n margin: base.margin,\n border: base.border,\n padding: base.padding\n });\n return client;\n};\n\nvar getDimension = (function (_ref) {\n var ref = _ref.ref,\n descriptor = _ref.descriptor,\n env = _ref.env,\n windowScroll = _ref.windowScroll,\n direction = _ref.direction,\n isDropDisabled = _ref.isDropDisabled,\n isCombineEnabled = _ref.isCombineEnabled,\n shouldClipSubject = _ref.shouldClipSubject;\n var closestScrollable = env.closestScrollable;\n var client = getClient(ref, closestScrollable);\n var page = cssBoxModel.withScroll(client, windowScroll);\n\n var closest = function () {\n if (!closestScrollable) {\n return null;\n }\n\n var frameClient = cssBoxModel.getBox(closestScrollable);\n var scrollSize = {\n scrollHeight: closestScrollable.scrollHeight,\n scrollWidth: closestScrollable.scrollWidth\n };\n return {\n client: frameClient,\n page: cssBoxModel.withScroll(frameClient, windowScroll),\n scroll: getScroll$1(closestScrollable),\n scrollSize: scrollSize,\n shouldClipSubject: shouldClipSubject\n };\n }();\n\n var dimension = getDroppableDimension({\n descriptor: descriptor,\n isEnabled: !isDropDisabled,\n isCombineEnabled: isCombineEnabled,\n isFixedOnPage: env.isFixedOnPage,\n direction: direction,\n client: client,\n page: page,\n closest: closest\n });\n return dimension;\n});\n\nfunction withoutPlaceholder(placeholder, fn) {\n if (!placeholder) {\n return fn();\n }\n\n var last = placeholder.style.display;\n placeholder.style.display = 'none';\n var result = fn();\n placeholder.style.display = last;\n return result;\n}\n\nvar immediate = {\n passive: false\n};\nvar delayed = {\n passive: true\n};\nvar getListenerOptions = (function (options) {\n return options.shouldPublishImmediately ? immediate : delayed;\n});\n\nfunction useRequiredContext(Context) {\n var result = React.useContext(Context);\n !result ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;\n return result;\n}\n\nvar getClosestScrollableFromDrag = function getClosestScrollableFromDrag(dragging) {\n return dragging && dragging.env.closestScrollable || null;\n};\n\nfunction useDroppableDimensionPublisher(args) {\n var whileDraggingRef = React.useRef(null);\n var appContext = useRequiredContext(AppContext);\n var marshal = appContext.marshal;\n var previousRef = usePrevious(args);\n var descriptor = useMemoOne.useMemo(function () {\n return {\n id: args.droppableId,\n type: args.type\n };\n }, [args.droppableId, args.type]);\n var publishedDescriptorRef = React.useRef(descriptor);\n var memoizedUpdateScroll = useMemoOne.useMemo(function () {\n return memoizeOne(function (x, y) {\n !whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;\n var scroll = {\n x: x,\n y: y\n };\n marshal.updateDroppableScroll(descriptor.id, scroll);\n });\n }, [descriptor.id, marshal]);\n var getClosestScroll = useMemoOne.useCallback(function () {\n var dragging = whileDraggingRef.current;\n\n if (!dragging || !dragging.env.closestScrollable) {\n return origin;\n }\n\n return getScroll$1(dragging.env.closestScrollable);\n }, []);\n var updateScroll = useMemoOne.useCallback(function () {\n var scroll = getClosestScroll();\n memoizedUpdateScroll(scroll.x, scroll.y);\n }, [getClosestScroll, memoizedUpdateScroll]);\n var scheduleScrollUpdate = useMemoOne.useMemo(function () {\n return rafSchd(updateScroll);\n }, [updateScroll]);\n var onClosestScroll = useMemoOne.useCallback(function () {\n var dragging = whileDraggingRef.current;\n var closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n var options = dragging.scrollOptions;\n\n if (options.shouldPublishImmediately) {\n updateScroll();\n return;\n }\n\n scheduleScrollUpdate();\n }, [scheduleScrollUpdate, updateScroll]);\n var getDimensionAndWatchScroll = useMemoOne.useCallback(function (windowScroll, options) {\n !!whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;\n var previous = previousRef.current;\n var ref = previous.getDroppableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;\n var env = getEnv(ref);\n var dragging = {\n ref: ref,\n descriptor: descriptor,\n env: env,\n scrollOptions: options\n };\n whileDraggingRef.current = dragging;\n var dimension = getDimension({\n ref: ref,\n descriptor: descriptor,\n env: env,\n windowScroll: windowScroll,\n direction: previous.direction,\n isDropDisabled: previous.isDropDisabled,\n isCombineEnabled: previous.isCombineEnabled,\n shouldClipSubject: !previous.ignoreContainerClipping\n });\n\n if (env.closestScrollable) {\n env.closestScrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n\n if (process.env.NODE_ENV !== 'production') {\n checkForNestedScrollContainers(env.closestScrollable);\n }\n }\n\n return dimension;\n }, [descriptor, onClosestScroll, previousRef]);\n var recollect = useMemoOne.useCallback(function (options) {\n var dragging = whileDraggingRef.current;\n var closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;\n var previous = previousRef.current;\n\n var execute = function execute() {\n return getDimension({\n ref: dragging.ref,\n descriptor: dragging.descriptor,\n env: dragging.env,\n windowScroll: origin,\n direction: previous.direction,\n isDropDisabled: previous.isDropDisabled,\n isCombineEnabled: previous.isCombineEnabled,\n shouldClipSubject: !previous.ignoreContainerClipping\n });\n };\n\n if (!options.withoutPlaceholder) {\n return execute();\n }\n\n return withoutPlaceholder(previous.getPlaceholderRef(), execute);\n }, [previousRef]);\n var dragStopped = useMemoOne.useCallback(function () {\n var dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;\n var closest = getClosestScrollableFromDrag(dragging);\n whileDraggingRef.current = null;\n\n if (!closest) {\n return;\n }\n\n scheduleScrollUpdate.cancel();\n closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n }, [onClosestScroll, scheduleScrollUpdate]);\n var scroll = useMemoOne.useCallback(function (change) {\n var dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;\n var closest = getClosestScrollableFromDrag(dragging);\n !closest ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n closest.scrollTop += change.y;\n closest.scrollLeft += change.x;\n }, []);\n var callbacks = useMemoOne.useMemo(function () {\n return {\n getDimensionAndWatchScroll: getDimensionAndWatchScroll,\n recollect: recollect,\n dragStopped: dragStopped,\n scroll: scroll\n };\n }, [dragStopped, getDimensionAndWatchScroll, recollect, scroll]);\n useIsomorphicLayoutEffect(function () {\n publishedDescriptorRef.current = descriptor;\n marshal.registerDroppable(descriptor, callbacks);\n return function () {\n if (whileDraggingRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;\n dragStopped();\n }\n\n marshal.unregisterDroppable(descriptor);\n };\n }, [callbacks, descriptor, dragStopped, marshal]);\n useIsomorphicLayoutEffect(function () {\n if (!whileDraggingRef.current) {\n return;\n }\n\n marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);\n }, [args.isDropDisabled, marshal]);\n useIsomorphicLayoutEffect(function () {\n if (!whileDraggingRef.current) {\n return;\n }\n\n marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);\n }, [args.isCombineEnabled, marshal]);\n}\n\nfunction noop() {}\n\nvar empty = {\n width: 0,\n height: 0,\n margin: noSpacing\n};\n\nvar getSize = function getSize(_ref) {\n var isAnimatingOpenOnMount = _ref.isAnimatingOpenOnMount,\n placeholder = _ref.placeholder,\n animate = _ref.animate;\n\n if (isAnimatingOpenOnMount) {\n return empty;\n }\n\n if (animate === 'close') {\n return empty;\n }\n\n return {\n height: placeholder.client.borderBox.height,\n width: placeholder.client.borderBox.width,\n margin: placeholder.client.margin\n };\n};\n\nvar getStyle = function getStyle(_ref2) {\n var isAnimatingOpenOnMount = _ref2.isAnimatingOpenOnMount,\n placeholder = _ref2.placeholder,\n animate = _ref2.animate;\n var size = getSize({\n isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n placeholder: placeholder,\n animate: animate\n });\n return {\n display: placeholder.display,\n boxSizing: 'border-box',\n width: size.width,\n height: size.height,\n marginTop: size.margin.top,\n marginRight: size.margin.right,\n marginBottom: size.margin.bottom,\n marginLeft: size.margin.left,\n flexShrink: '0',\n flexGrow: '0',\n pointerEvents: 'none',\n transition: transitions.placeholder\n };\n};\n\nfunction Placeholder(props) {\n var animateOpenTimerRef = React.useRef(null);\n var tryClearAnimateOpenTimer = useMemoOne.useCallback(function () {\n if (!animateOpenTimerRef.current) {\n return;\n }\n\n clearTimeout(animateOpenTimerRef.current);\n animateOpenTimerRef.current = null;\n }, []);\n var animate = props.animate,\n onTransitionEnd = props.onTransitionEnd,\n onClose = props.onClose,\n styleContext = props.styleContext;\n\n var _useState = React.useState(props.animate === 'open'),\n isAnimatingOpenOnMount = _useState[0],\n setIsAnimatingOpenOnMount = _useState[1];\n\n React.useEffect(function () {\n if (!isAnimatingOpenOnMount) {\n return noop;\n }\n\n if (animate !== 'open') {\n tryClearAnimateOpenTimer();\n setIsAnimatingOpenOnMount(false);\n return noop;\n }\n\n if (animateOpenTimerRef.current) {\n return noop;\n }\n\n animateOpenTimerRef.current = setTimeout(function () {\n animateOpenTimerRef.current = null;\n setIsAnimatingOpenOnMount(false);\n });\n return tryClearAnimateOpenTimer;\n }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);\n var onSizeChangeEnd = useMemoOne.useCallback(function (event) {\n if (event.propertyName !== 'height') {\n return;\n }\n\n onTransitionEnd();\n\n if (animate === 'close') {\n onClose();\n }\n }, [animate, onClose, onTransitionEnd]);\n var style = getStyle({\n isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n animate: props.animate,\n placeholder: props.placeholder\n });\n return React__default.createElement(props.placeholder.tagName, {\n style: style,\n 'data-react-beautiful-dnd-placeholder': styleContext,\n onTransitionEnd: onSizeChangeEnd,\n ref: props.innerRef\n });\n}\n\nvar Placeholder$1 = React__default.memo(Placeholder);\n\nvar DroppableContext = React__default.createContext(null);\n\nvar getWindowFromEl = (function (el) {\n return el && el.ownerDocument ? el.ownerDocument.defaultView : window;\n});\n\nfunction isHtmlElement(el) {\n return el instanceof getWindowFromEl(el).HTMLElement;\n}\n\nfunction checkIsValidInnerRef(el) {\n !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n provided.innerRef has not been provided with a HTMLElement.\\n\\n You can find a guide on using the innerRef callback functions at:\\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\\n \") : invariant(false) : void 0;\n}\n\nfunction checkOwnProps(props) {\n !props.droppableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;\n !(typeof props.isDropDisabled === 'boolean') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;\n !(typeof props.isCombineEnabled === 'boolean') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;\n !(typeof props.ignoreContainerClipping === 'boolean') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;\n}\n\nfunction checkPlaceholderRef(props, placeholderEl) {\n if (!props.placeholder) {\n return;\n }\n\n if (placeholderEl) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Droppable setup issue [droppableId: \\\"\" + props.droppableId + \"\\\"]:\\n DroppableProvided > placeholder could not be found.\\n\\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\\n \") : void 0;\n}\n\nfunction useValidation(_ref) {\n var props = _ref.props,\n getDroppableRef = _ref.getDroppableRef,\n getPlaceholderRef = _ref.getPlaceholderRef;\n React.useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n checkOwnProps(props);\n checkIsValidInnerRef(getDroppableRef());\n checkPlaceholderRef(props, getPlaceholderRef());\n }\n });\n}\n\nvar AnimateInOut = function (_React$PureComponent) {\n _inheritsLoose(AnimateInOut, _React$PureComponent);\n\n function AnimateInOut() {\n var _this;\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 = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n _this.state = {\n isVisible: Boolean(_this.props.on),\n data: _this.props.on,\n animate: _this.props.shouldAnimate && _this.props.on ? 'open' : 'none'\n };\n\n _this.onClose = function () {\n if (_this.state.animate !== 'close') {\n return;\n }\n\n _this.setState({\n isVisible: false\n });\n };\n\n return _this;\n }\n\n AnimateInOut.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (!props.shouldAnimate) {\n return {\n isVisible: Boolean(props.on),\n data: props.on,\n animate: 'none'\n };\n }\n\n if (props.on) {\n return {\n isVisible: true,\n data: props.on,\n animate: 'open'\n };\n }\n\n if (state.isVisible) {\n return {\n isVisible: true,\n data: state.data,\n animate: 'close'\n };\n }\n\n return {\n isVisible: false,\n animate: 'close',\n data: null\n };\n };\n\n var _proto = AnimateInOut.prototype;\n\n _proto.render = function render() {\n if (!this.state.isVisible) {\n return null;\n }\n\n var provided = {\n onClose: this.onClose,\n data: this.state.data,\n animate: this.state.animate\n };\n return this.props.children(provided);\n };\n\n return AnimateInOut;\n}(React__default.PureComponent);\n\nfunction Droppable(props) {\n var appContext = React.useContext(AppContext);\n !appContext ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;\n var styleContext = appContext.style,\n isMovementAllowed = appContext.isMovementAllowed;\n var droppableRef = React.useRef(null);\n var placeholderRef = React.useRef(null);\n var children = props.children,\n droppableId = props.droppableId,\n type = props.type,\n direction = props.direction,\n ignoreContainerClipping = props.ignoreContainerClipping,\n isDropDisabled = props.isDropDisabled,\n isCombineEnabled = props.isCombineEnabled,\n snapshot = props.snapshot,\n updateViewportMaxScroll = props.updateViewportMaxScroll;\n var getDroppableRef = useMemoOne.useCallback(function () {\n return droppableRef.current;\n }, []);\n var getPlaceholderRef = useMemoOne.useCallback(function () {\n return placeholderRef.current;\n }, []);\n var setDroppableRef = useMemoOne.useCallback(function (value) {\n droppableRef.current = value;\n }, []);\n var setPlaceholderRef = useMemoOne.useCallback(function (value) {\n placeholderRef.current = value;\n }, []);\n var onPlaceholderTransitionEnd = useMemoOne.useCallback(function () {\n if (isMovementAllowed()) {\n updateViewportMaxScroll({\n maxScroll: getMaxWindowScroll()\n });\n }\n }, [isMovementAllowed, updateViewportMaxScroll]);\n useDroppableDimensionPublisher({\n droppableId: droppableId,\n type: type,\n direction: direction,\n isDropDisabled: isDropDisabled,\n isCombineEnabled: isCombineEnabled,\n ignoreContainerClipping: ignoreContainerClipping,\n getDroppableRef: getDroppableRef,\n getPlaceholderRef: getPlaceholderRef\n });\n var placeholder = React__default.createElement(AnimateInOut, {\n on: props.placeholder,\n shouldAnimate: props.shouldAnimatePlaceholder\n }, function (_ref) {\n var onClose = _ref.onClose,\n data = _ref.data,\n animate = _ref.animate;\n return React__default.createElement(Placeholder$1, {\n placeholder: data,\n onClose: onClose,\n innerRef: setPlaceholderRef,\n animate: animate,\n styleContext: styleContext,\n onTransitionEnd: onPlaceholderTransitionEnd\n });\n });\n var provided = useMemoOne.useMemo(function () {\n return {\n innerRef: setDroppableRef,\n placeholder: placeholder,\n droppableProps: {\n 'data-react-beautiful-dnd-droppable': styleContext\n }\n };\n }, [placeholder, setDroppableRef, styleContext]);\n var droppableContext = useMemoOne.useMemo(function () {\n return {\n droppableId: droppableId,\n type: type\n };\n }, [droppableId, type]);\n useValidation({\n props: props,\n getDroppableRef: function getDroppableRef() {\n return droppableRef.current;\n },\n getPlaceholderRef: function getPlaceholderRef() {\n return placeholderRef.current;\n }\n });\n return React__default.createElement(DroppableContext.Provider, {\n value: droppableContext\n }, children(provided, snapshot));\n}\n\nvar isStrictEqual = (function (a, b) {\n return a === b;\n});\n\nvar whatIsDraggedOverFromResult = (function (result) {\n var combine = result.combine,\n destination = result.destination;\n\n if (destination) {\n return destination.droppableId;\n }\n\n if (combine) {\n return combine.droppableId;\n }\n\n return null;\n});\n\nvar isMatchingType = function isMatchingType(type, critical) {\n return type === critical.droppable.type;\n};\n\nvar getDraggable = function getDraggable(critical, dimensions) {\n return dimensions.draggables[critical.draggable.id];\n};\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var idle = {\n placeholder: null,\n shouldAnimatePlaceholder: true,\n snapshot: {\n isDraggingOver: false,\n draggingOverWith: null,\n draggingFromThisWith: null\n }\n };\n\n var idleWithoutAnimation = _extends({}, idle, {\n shouldAnimatePlaceholder: false\n });\n\n var getMapProps = memoizeOne(function (id, isDraggingOver, dragging, snapshot) {\n var isHome = dragging.descriptor.droppableId === id;\n\n if (isHome) {\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: false,\n snapshot: snapshot\n };\n }\n\n if (!isDraggingOver) {\n return idle;\n }\n\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: true,\n snapshot: snapshot\n };\n });\n var getSnapshot = memoizeOne(function (id, isDraggingOver, dragging) {\n var draggableId = dragging.descriptor.id;\n var isHome = dragging.descriptor.droppableId === id;\n var draggingOverWith = isDraggingOver ? draggableId : null;\n var draggingFromThisWith = isHome ? draggableId : null;\n return {\n isDraggingOver: isDraggingOver,\n draggingOverWith: draggingOverWith,\n draggingFromThisWith: draggingFromThisWith\n };\n });\n\n var selector = function selector(state, ownProps) {\n var id = ownProps.droppableId;\n var type = ownProps.type;\n\n if (state.isDragging) {\n var critical = state.critical;\n\n if (!isMatchingType(type, critical)) {\n return idle;\n }\n\n var dragging = getDraggable(critical, state.dimensions);\n var isDraggingOver = whatIsDraggedOver(state.impact) === id;\n var snapshot = getSnapshot(id, isDraggingOver, dragging);\n return getMapProps(id, isDraggingOver, dragging, snapshot);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (!isMatchingType(type, completed.critical)) {\n return idle;\n }\n\n var _dragging = getDraggable(completed.critical, state.dimensions);\n\n var _snapshot = getSnapshot(id, whatIsDraggedOverFromResult(completed.result) === id, _dragging);\n\n return getMapProps(id, whatIsDraggedOver(completed.impact) === id, _dragging, _snapshot);\n }\n\n if (state.phase === 'IDLE' && !state.completed && state.shouldFlush) {\n return idleWithoutAnimation;\n }\n\n if (state.phase === 'IDLE' && state.completed) {\n var _completed = state.completed;\n\n if (!isMatchingType(type, _completed.critical)) {\n return idle;\n }\n\n var wasOver = whatIsDraggedOver(_completed.impact) === id;\n var wasCombining = Boolean(_completed.impact.merge);\n\n if (state.shouldFlush) {\n return idleWithoutAnimation;\n }\n\n if (wasOver) {\n return wasCombining ? idle : idleWithoutAnimation;\n }\n\n return idle;\n }\n\n return idle;\n };\n\n return selector;\n};\nvar mapDispatchToProps = {\n updateViewportMaxScroll: updateViewportMaxScroll\n};\nvar defaultProps = {\n type: 'DEFAULT',\n direction: 'vertical',\n isDropDisabled: false,\n isCombineEnabled: false,\n ignoreContainerClipping: false\n};\nvar ConnectedDroppable = reactRedux.connect(makeMapStateToProps, mapDispatchToProps, null, {\n context: StoreContext,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Droppable);\nConnectedDroppable.defaultProps = defaultProps;\n\nvar zIndexOptions = {\n dragging: 5000,\n dropAnimating: 4500\n};\n\nvar getDraggingTransition = function getDraggingTransition(shouldAnimateDragMovement, dropping) {\n if (dropping) {\n return transitions.drop(dropping.duration);\n }\n\n if (shouldAnimateDragMovement) {\n return transitions.snap;\n }\n\n return transitions.fluid;\n};\n\nvar getDraggingOpacity = function getDraggingOpacity(isCombining, isDropAnimating) {\n if (!isCombining) {\n return null;\n }\n\n return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;\n};\n\nvar getShouldDraggingAnimate = function getShouldDraggingAnimate(dragging) {\n if (dragging.forceShouldAnimate != null) {\n return dragging.forceShouldAnimate;\n }\n\n return dragging.mode === 'SNAP';\n};\n\nfunction getDraggingStyle(dragging) {\n var dimension = dragging.dimension;\n var box = dimension.client;\n var offset = dragging.offset,\n combineWith = dragging.combineWith,\n dropping = dragging.dropping;\n var isCombining = Boolean(combineWith);\n var shouldAnimate = getShouldDraggingAnimate(dragging);\n var isDropAnimating = Boolean(dropping);\n var transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);\n var style = {\n position: 'fixed',\n top: box.marginBox.top,\n left: box.marginBox.left,\n boxSizing: 'border-box',\n width: box.borderBox.width,\n height: box.borderBox.height,\n transition: getDraggingTransition(shouldAnimate, dropping),\n transform: transform,\n opacity: getDraggingOpacity(isCombining, isDropAnimating),\n zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n pointerEvents: 'none'\n };\n return style;\n}\n\nfunction getSecondaryStyle(secondary) {\n return {\n transform: transforms.moveTo(secondary.offset),\n transition: secondary.shouldAnimateDisplacement ? null : 'none'\n };\n}\n\nfunction getStyle$1(mapped) {\n return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);\n}\n\nvar createEventMarshal = (function () {\n var isMouseDownHandled = false;\n\n var handle = function handle() {\n !!isMouseDownHandled ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot handle mouse down as it is already handled') : invariant(false) : void 0;\n isMouseDownHandled = true;\n };\n\n var isHandled = function isHandled() {\n return isMouseDownHandled;\n };\n\n var reset = function reset() {\n isMouseDownHandled = false;\n };\n\n return {\n handle: handle,\n isHandled: isHandled,\n reset: reset\n };\n});\n\nvar getOptions = function getOptions(shared, fromBinding) {\n return _extends({}, shared, fromBinding);\n};\n\nvar bindEvents = function bindEvents(el, bindings, sharedOptions) {\n bindings.forEach(function (binding) {\n var options = getOptions(sharedOptions, binding.options);\n el.addEventListener(binding.eventName, binding.fn, options);\n });\n};\nvar unbindEvents = function unbindEvents(el, bindings, sharedOptions) {\n bindings.forEach(function (binding) {\n var options = getOptions(sharedOptions, binding.options);\n el.removeEventListener(binding.eventName, binding.fn, options);\n });\n};\n\nvar createScheduler = (function (callbacks) {\n var memoizedMove = memoizeOne(function (x, y) {\n var point = {\n x: x,\n y: y\n };\n callbacks.onMove(point);\n });\n var move = rafSchd(function (point) {\n return memoizedMove(point.x, point.y);\n });\n var moveUp = rafSchd(callbacks.onMoveUp);\n var moveDown = rafSchd(callbacks.onMoveDown);\n var moveRight = rafSchd(callbacks.onMoveRight);\n var moveLeft = rafSchd(callbacks.onMoveLeft);\n var windowScrollMove = rafSchd(callbacks.onWindowScroll);\n\n var cancel = function cancel() {\n move.cancel();\n moveUp.cancel();\n moveDown.cancel();\n moveRight.cancel();\n moveLeft.cancel();\n windowScrollMove.cancel();\n };\n\n return {\n move: move,\n moveUp: moveUp,\n moveDown: moveDown,\n moveRight: moveRight,\n moveLeft: moveLeft,\n windowScrollMove: windowScrollMove,\n cancel: cancel\n };\n});\n\nvar tab = 9;\nvar enter = 13;\nvar escape = 27;\nvar space = 32;\nvar pageUp = 33;\nvar pageDown = 34;\nvar end = 35;\nvar home = 36;\nvar arrowLeft = 37;\nvar arrowUp = 38;\nvar arrowRight = 39;\nvar arrowDown = 40;\n\nvar supportedEventName = function () {\n var base = 'visibilitychange';\n\n if (typeof document === 'undefined') {\n return base;\n }\n\n var candidates = [base, \"ms\" + base, \"webkit\" + base, \"moz\" + base, \"o\" + base];\n var supported = find(candidates, function (eventName) {\n return \"on\" + eventName in document;\n });\n return supported || base;\n}();\n\nvar sharedOptions = {\n capture: true\n};\nvar createPostDragEventPreventer = (function (getWindow) {\n var isBound = false;\n\n var bind = function bind() {\n if (isBound) {\n return;\n }\n\n isBound = true;\n bindEvents(getWindow(), pointerEvents, sharedOptions);\n };\n\n var unbind = function unbind() {\n if (!isBound) {\n return;\n }\n\n isBound = false;\n unbindEvents(getWindow(), pointerEvents, sharedOptions);\n };\n\n var pointerEvents = [{\n eventName: 'click',\n fn: function fn(event) {\n event.preventDefault();\n unbind();\n }\n }, {\n eventName: 'mousedown',\n fn: unbind\n }, {\n eventName: 'touchstart',\n fn: unbind\n }];\n\n var preventNext = function preventNext() {\n if (isBound) {\n unbind();\n }\n\n bind();\n };\n\n var preventer = {\n preventNext: preventNext,\n abort: unbind\n };\n return preventer;\n});\n\nvar sloppyClickThreshold = 5;\nvar isSloppyClickThresholdExceeded = (function (original, current) {\n return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n});\n\nvar _preventedKeys;\nvar preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);\nvar preventStandardKeyEvents = (function (event) {\n if (preventedKeys[event.keyCode]) {\n event.preventDefault();\n }\n});\n\nvar primaryButton = 0;\n\nvar noop$1 = function noop() {};\n\nvar mouseDownMarshal = createEventMarshal();\nfunction useMouseSensor(args) {\n var canStartCapturing = args.canStartCapturing,\n getWindow = args.getWindow,\n callbacks = args.callbacks,\n onCaptureStart = args.onCaptureStart,\n onCaptureEnd = args.onCaptureEnd;\n var pendingRef = React.useRef(null);\n var isDraggingRef = React.useRef(false);\n var unbindWindowEventsRef = React.useRef(noop$1);\n var getIsCapturing = useMemoOne.useCallback(function () {\n return Boolean(pendingRef.current || isDraggingRef.current);\n }, []);\n var schedule = useMemoOne.useMemo(function () {\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;\n return createScheduler(callbacks);\n }, [callbacks, getIsCapturing]);\n var postDragEventPreventer = useMemoOne.useMemo(function () {\n return createPostDragEventPreventer(getWindow);\n }, [getWindow]);\n var stop = useMemoOne.useCallback(function () {\n if (!getIsCapturing()) {\n return;\n }\n\n schedule.cancel();\n unbindWindowEventsRef.current();\n var shouldBlockClick = isDraggingRef.current;\n mouseDownMarshal.reset();\n\n if (shouldBlockClick) {\n postDragEventPreventer.preventNext();\n }\n\n pendingRef.current = null;\n isDraggingRef.current = false;\n onCaptureEnd();\n }, [getIsCapturing, onCaptureEnd, postDragEventPreventer, schedule]);\n var cancel = useMemoOne.useCallback(function () {\n var wasDragging = isDraggingRef.current;\n stop();\n\n if (wasDragging) {\n callbacks.onCancel();\n }\n }, [callbacks, stop]);\n var startDragging = useMemoOne.useCallback(function () {\n !!isDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a drag while dragging') : invariant(false) : void 0;\n var pending = pendingRef.current;\n !pending ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a drag without a pending drag') : invariant(false) : void 0;\n pendingRef.current = null;\n isDraggingRef.current = true;\n callbacks.onLift({\n clientSelection: pending,\n movementMode: 'FLUID'\n });\n }, [callbacks]);\n var windowBindings = useMemoOne.useMemo(function () {\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate window bindings while capturing') : invariant(false) : void 0;\n var bindings = [{\n eventName: 'mousemove',\n fn: function fn(event) {\n var button = event.button,\n clientX = event.clientX,\n clientY = event.clientY;\n\n if (button !== primaryButton) {\n return;\n }\n\n var point = {\n x: clientX,\n y: clientY\n };\n\n if (isDraggingRef.current) {\n event.preventDefault();\n schedule.move(point);\n return;\n }\n\n var pending = pendingRef.current;\n\n if (!pending) {\n stop();\n process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected there to be an active or pending drag when window mousemove event is received') : invariant(false);\n }\n\n if (!isSloppyClickThresholdExceeded(pending, point)) {\n return;\n }\n\n event.preventDefault();\n startDragging();\n }\n }, {\n eventName: 'mouseup',\n fn: function fn(event) {\n var wasDragging = isDraggingRef.current;\n stop();\n\n if (wasDragging) {\n event.preventDefault();\n callbacks.onDrop();\n }\n }\n }, {\n eventName: 'mousedown',\n fn: function fn(event) {\n if (isDraggingRef.current) {\n event.preventDefault();\n }\n\n cancel();\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n if (pendingRef.current) {\n stop();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn(event) {\n if (event.currentTarget !== getWindow()) {\n return;\n }\n\n if (pendingRef.current) {\n stop();\n return;\n }\n\n schedule.windowScrollMove();\n }\n }, {\n eventName: 'webkitmouseforcedown',\n fn: function fn() {\n cancel();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n return bindings;\n }, [getIsCapturing, cancel, startDragging, schedule, stop, callbacks, getWindow]);\n var bindWindowEvents = useMemoOne.useCallback(function () {\n var win = getWindow();\n var options = {\n capture: true\n };\n\n unbindWindowEventsRef.current = function () {\n return unbindEvents(win, windowBindings, options);\n };\n\n bindEvents(win, windowBindings, options);\n }, [getWindow, windowBindings]);\n var startPendingDrag = useMemoOne.useCallback(function (point) {\n !!pendingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected there to be no pending drag') : invariant(false) : void 0;\n pendingRef.current = point;\n onCaptureStart(stop);\n bindWindowEvents();\n }, [bindWindowEvents, onCaptureStart, stop]);\n var onMouseDown = useMemoOne.useCallback(function (event) {\n if (mouseDownMarshal.isHandled()) {\n return;\n }\n\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not be able to perform a mouse down while a drag or pending drag is occurring') : invariant(false) : void 0;\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n if (event.button !== primaryButton) {\n return;\n }\n\n if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n return;\n }\n\n mouseDownMarshal.handle();\n event.preventDefault();\n var point = {\n x: event.clientX,\n y: event.clientY\n };\n startPendingDrag(point);\n }, [canStartCapturing, getIsCapturing, startPendingDrag]);\n return onMouseDown;\n}\n\nfunction isElement(el) {\n return el instanceof getWindowFromEl(el).Element;\n}\n\nvar interactiveTagNames = {\n input: true,\n button: true,\n textarea: true,\n select: true,\n option: true,\n optgroup: true,\n video: true,\n audio: true\n};\n\nvar isAnInteractiveElement = function isAnInteractiveElement(parent, current) {\n if (current == null) {\n return false;\n }\n\n var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);\n\n if (hasAnInteractiveTag) {\n return true;\n }\n\n var attribute = current.getAttribute('contenteditable');\n\n if (attribute === 'true' || attribute === '') {\n return true;\n }\n\n if (current === parent) {\n return false;\n }\n\n return isAnInteractiveElement(parent, current.parentElement);\n};\n\nvar shouldAllowDraggingFromTarget = (function (event, canDragInteractiveElements) {\n if (canDragInteractiveElements) {\n return true;\n }\n\n var target = event.target,\n currentTarget = event.currentTarget;\n\n if (!isElement(target) || !isElement(currentTarget)) {\n return true;\n }\n\n return !isAnInteractiveElement(currentTarget, target);\n});\n\nvar getBorderBoxCenterPosition = (function (el) {\n return cssBoxModel.getRect(el.getBoundingClientRect()).center;\n});\n\nvar _scrollJumpKeys;\nvar scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);\n\nfunction noop$2() {}\n\nfunction useKeyboardSensor(args) {\n var canStartCapturing = args.canStartCapturing,\n getWindow = args.getWindow,\n callbacks = args.callbacks,\n onCaptureStart = args.onCaptureStart,\n onCaptureEnd = args.onCaptureEnd,\n getDraggableRef = args.getDraggableRef;\n var isDraggingRef = React.useRef(false);\n var unbindWindowEventsRef = React.useRef(noop$2);\n var getIsDragging = useMemoOne.useCallback(function () {\n return isDraggingRef.current;\n }, []);\n var schedule = useMemoOne.useMemo(function () {\n !!getIsDragging() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;\n return createScheduler(callbacks);\n }, [callbacks, getIsDragging]);\n var stop = useMemoOne.useCallback(function () {\n if (!getIsDragging()) {\n return;\n }\n\n schedule.cancel();\n unbindWindowEventsRef.current();\n isDraggingRef.current = false;\n onCaptureEnd();\n }, [getIsDragging, onCaptureEnd, schedule]);\n var cancel = useMemoOne.useCallback(function () {\n var wasDragging = isDraggingRef.current;\n stop();\n\n if (wasDragging) {\n callbacks.onCancel();\n }\n }, [callbacks, stop]);\n var windowBindings = useMemoOne.useMemo(function () {\n !!getIsDragging() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate window bindings when dragging') : invariant(false) : void 0;\n return [{\n eventName: 'mousedown',\n fn: cancel\n }, {\n eventName: 'mouseup',\n fn: cancel\n }, {\n eventName: 'click',\n fn: cancel\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'wheel',\n fn: cancel,\n options: {\n passive: true\n }\n }, {\n eventName: 'scroll',\n options: {\n capture: false\n },\n fn: function fn(event) {\n if (event.currentTarget !== getWindow()) {\n return;\n }\n\n callbacks.onWindowScroll();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n }, [callbacks, cancel, getIsDragging, getWindow]);\n var bindWindowEvents = useMemoOne.useCallback(function () {\n var win = getWindow();\n var options = {\n capture: true\n };\n\n unbindWindowEventsRef.current = function () {\n return unbindEvents(win, windowBindings, options);\n };\n\n bindEvents(win, windowBindings, options);\n }, [getWindow, windowBindings]);\n var startDragging = useMemoOne.useCallback(function () {\n !!isDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a drag while dragging') : invariant(false) : void 0;\n var ref = getDraggableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a keyboard drag without a draggable ref') : invariant(false) : void 0;\n isDraggingRef.current = true;\n onCaptureStart(stop);\n bindWindowEvents();\n var center = getBorderBoxCenterPosition(ref);\n callbacks.onLift({\n clientSelection: center,\n movementMode: 'SNAP'\n });\n }, [bindWindowEvents, callbacks, getDraggableRef, onCaptureStart, stop]);\n var onKeyDown = useMemoOne.useCallback(function (event) {\n if (!getIsDragging()) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n if (event.keyCode !== space) {\n return;\n }\n\n event.preventDefault();\n startDragging();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n if (event.keyCode === space) {\n event.preventDefault();\n stop();\n callbacks.onDrop();\n return;\n }\n\n if (event.keyCode === arrowDown) {\n event.preventDefault();\n schedule.moveDown();\n return;\n }\n\n if (event.keyCode === arrowUp) {\n event.preventDefault();\n schedule.moveUp();\n return;\n }\n\n if (event.keyCode === arrowRight) {\n event.preventDefault();\n schedule.moveRight();\n return;\n }\n\n if (event.keyCode === arrowLeft) {\n event.preventDefault();\n schedule.moveLeft();\n return;\n }\n\n if (scrollJumpKeys[event.keyCode]) {\n event.preventDefault();\n return;\n }\n\n preventStandardKeyEvents(event);\n }, [callbacks, canStartCapturing, cancel, getIsDragging, schedule, startDragging, stop]);\n return onKeyDown;\n}\n\nvar timeForLongPress = 120;\nvar forcePressThreshold = 0.15;\nvar touchStartMarshal = createEventMarshal();\n\nvar noop$3 = function noop() {};\n\nfunction useTouchSensor(args) {\n var callbacks = args.callbacks,\n getWindow = args.getWindow,\n canStartCapturing = args.canStartCapturing,\n getShouldRespectForcePress = args.getShouldRespectForcePress,\n onCaptureStart = args.onCaptureStart,\n onCaptureEnd = args.onCaptureEnd;\n var pendingRef = React.useRef(null);\n var isDraggingRef = React.useRef(false);\n var hasMovedRef = React.useRef(false);\n var unbindWindowEventsRef = React.useRef(noop$3);\n var getIsCapturing = useMemoOne.useCallback(function () {\n return Boolean(pendingRef.current || isDraggingRef.current);\n }, []);\n var postDragClickPreventer = useMemoOne.useMemo(function () {\n return createPostDragEventPreventer(getWindow);\n }, [getWindow]);\n var schedule = useMemoOne.useMemo(function () {\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate scheduler while capturing') : invariant(false) : void 0;\n return createScheduler(callbacks);\n }, [callbacks, getIsCapturing]);\n var stop = useMemoOne.useCallback(function () {\n if (!getIsCapturing()) {\n return;\n }\n\n schedule.cancel();\n unbindWindowEventsRef.current();\n touchStartMarshal.reset();\n hasMovedRef.current = false;\n onCaptureEnd();\n\n if (isDraggingRef.current) {\n postDragClickPreventer.preventNext();\n isDraggingRef.current = false;\n return;\n }\n\n var pending = pendingRef.current;\n !pending ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected a pending drag') : invariant(false) : void 0;\n clearTimeout(pending.longPressTimerId);\n pendingRef.current = null;\n }, [getIsCapturing, onCaptureEnd, postDragClickPreventer, schedule]);\n var cancel = useMemoOne.useCallback(function () {\n var wasDragging = isDraggingRef.current;\n stop();\n\n if (wasDragging) {\n callbacks.onCancel();\n }\n }, [callbacks, stop]);\n var windowBindings = useMemoOne.useMemo(function () {\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not recreate window bindings while capturing') : invariant(false) : void 0;\n var bindings = [{\n eventName: 'touchmove',\n options: {\n passive: false,\n capture: false\n },\n fn: function fn(event) {\n if (!isDraggingRef.current) {\n stop();\n return;\n }\n\n if (!hasMovedRef.current) {\n hasMovedRef.current = true;\n }\n\n var touch = event.touches[0];\n\n if (!touch) {\n return;\n }\n\n var point = {\n x: touch.clientX,\n y: touch.clientY\n };\n event.preventDefault();\n schedule.move(point);\n }\n }, {\n eventName: 'touchend',\n fn: function fn(event) {\n if (!isDraggingRef.current) {\n stop();\n return;\n }\n\n event.preventDefault();\n stop();\n callbacks.onDrop();\n }\n }, {\n eventName: 'touchcancel',\n fn: function fn(event) {\n if (!isDraggingRef.current) {\n stop();\n return;\n }\n\n event.preventDefault();\n cancel();\n }\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'orientationchange',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn() {\n if (pendingRef.current) {\n stop();\n return;\n }\n\n schedule.windowScrollMove();\n }\n }, {\n eventName: 'contextmenu',\n fn: function fn(event) {\n event.preventDefault();\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n if (!isDraggingRef.current) {\n cancel();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n }\n\n cancel();\n }\n }, {\n eventName: 'touchforcechange',\n fn: function fn(event) {\n var touch = event.touches[0];\n var isForcePress = touch.force >= forcePressThreshold;\n\n if (!isForcePress) {\n return;\n }\n\n var shouldRespect = getShouldRespectForcePress();\n\n if (pendingRef.current) {\n if (shouldRespect) {\n cancel();\n }\n\n return;\n }\n\n if (shouldRespect) {\n if (hasMovedRef.current) {\n event.preventDefault();\n return;\n }\n\n cancel();\n return;\n }\n\n event.preventDefault();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n return bindings;\n }, [callbacks, cancel, getIsCapturing, getShouldRespectForcePress, schedule, stop]);\n var bindWindowEvents = useMemoOne.useCallback(function () {\n var win = getWindow();\n var options = {\n capture: true\n };\n\n unbindWindowEventsRef.current = function () {\n return unbindEvents(win, windowBindings, options);\n };\n\n bindEvents(win, windowBindings, options);\n }, [getWindow, windowBindings]);\n var startDragging = useMemoOne.useCallback(function () {\n var pending = pendingRef.current;\n !pending ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start a drag without a pending drag') : invariant(false) : void 0;\n isDraggingRef.current = true;\n pendingRef.current = null;\n hasMovedRef.current = false;\n callbacks.onLift({\n clientSelection: pending.point,\n movementMode: 'FLUID'\n });\n }, [callbacks]);\n var startPendingDrag = useMemoOne.useCallback(function (event) {\n !!pendingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected there to be no pending drag') : invariant(false) : void 0;\n var touch = event.touches[0];\n var clientX = touch.clientX,\n clientY = touch.clientY;\n var point = {\n x: clientX,\n y: clientY\n };\n var longPressTimerId = setTimeout(startDragging, timeForLongPress);\n var pending = {\n point: point,\n longPressTimerId: longPressTimerId\n };\n pendingRef.current = pending;\n onCaptureStart(stop);\n bindWindowEvents();\n }, [bindWindowEvents, onCaptureStart, startDragging, stop]);\n\n var onTouchStart = function onTouchStart(event) {\n if (touchStartMarshal.isHandled()) {\n return;\n }\n\n !!getIsCapturing() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not be able to perform a touch start while a drag or pending drag is occurring') : invariant(false) : void 0;\n\n if (!canStartCapturing(event)) {\n return;\n }\n\n touchStartMarshal.handle();\n startPendingDrag(event);\n };\n\n useIsomorphicLayoutEffect(function webkitHack() {\n var unbind = bindEvents(window, [{\n eventName: 'touchmove',\n fn: noop$3,\n options: {\n capture: false,\n passive: false\n }\n }]);\n return unbind;\n }, []);\n return onTouchStart;\n}\n\nfunction isSvgElement(el) {\n return Boolean(getWindowFromEl(el).SVGElement) && el instanceof getWindowFromEl(el).SVGElement;\n}\n\nvar selector = \"[\" + dragHandle + \"]\";\n\nvar throwIfSVG = function throwIfSVG(el) {\n !!isSvgElement(el) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"A drag handle cannot be an SVGElement: it has inconsistent focus support.\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/dragging-svgs.md\") : invariant(false) : void 0;\n};\n\nvar getDragHandleRef = function getDragHandleRef(draggableRef) {\n if (draggableRef.hasAttribute(dragHandle)) {\n throwIfSVG(draggableRef);\n return draggableRef;\n }\n\n var el = draggableRef.querySelector(selector);\n throwIfSVG(draggableRef);\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n Cannot find drag handle element inside of Draggable.\\n Please be sure to apply the {...provided.dragHandleProps} to your Draggable\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/draggable.md\\n \") : invariant(false) : void 0;\n !isHtmlElement(el) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A drag handle must be a HTMLElement') : invariant(false) : void 0;\n return el;\n};\n\nfunction useValidation$1(_ref) {\n var isEnabled = _ref.isEnabled,\n getDraggableRef = _ref.getDraggableRef;\n React.useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n if (!isEnabled) {\n return;\n }\n\n var draggableRef = getDraggableRef();\n !draggableRef ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Drag handle was unable to find draggable ref') : invariant(false) : void 0;\n getDragHandleRef(draggableRef);\n }\n }, [getDraggableRef, isEnabled]);\n}\n\nvar retainingFocusFor = null;\nvar listenerOptions = {\n capture: true\n};\n\nvar clearRetentionOnFocusChange = function () {\n var isBound = false;\n\n var bind = function bind() {\n if (isBound) {\n return;\n }\n\n isBound = true;\n window.addEventListener('focus', onWindowFocusChange, listenerOptions);\n };\n\n var unbind = function unbind() {\n if (!isBound) {\n return;\n }\n\n isBound = false;\n window.removeEventListener('focus', onWindowFocusChange, listenerOptions);\n };\n\n var onWindowFocusChange = function onWindowFocusChange() {\n unbind();\n retainingFocusFor = null;\n };\n\n var result = function result() {\n return bind();\n };\n\n result.cancel = function () {\n return unbind();\n };\n\n return result;\n}();\n\nvar retain = function retain(id) {\n retainingFocusFor = id;\n clearRetentionOnFocusChange();\n};\n\nvar tryRestoreFocus = function tryRestoreFocus(id, draggableRef) {\n if (!retainingFocusFor) {\n return;\n }\n\n if (id !== retainingFocusFor) {\n return;\n }\n\n retainingFocusFor = null;\n clearRetentionOnFocusChange.cancel();\n var dragHandleRef = getDragHandleRef(draggableRef);\n\n if (!dragHandleRef) {\n process.env.NODE_ENV !== \"production\" ? warning('Could not find drag handle in the DOM to focus on it') : void 0;\n return;\n }\n\n dragHandleRef.focus();\n};\n\nvar retainer = {\n retain: retain,\n tryRestoreFocus: tryRestoreFocus\n};\n\nfunction noop$4() {}\n\nfunction useFocusRetainer(args) {\n var isFocusedRef = React.useRef(false);\n var lastArgsRef = usePrevious(args);\n var getDraggableRef = args.getDraggableRef;\n var onFocus = useMemoOne.useCallback(function () {\n isFocusedRef.current = true;\n }, []);\n var onBlur = useMemoOne.useCallback(function () {\n isFocusedRef.current = false;\n }, []);\n useIsomorphicLayoutEffect(function () {\n var first = lastArgsRef.current;\n\n if (!first.isEnabled) {\n return noop$4;\n }\n\n var draggable = getDraggableRef();\n !draggable ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Drag handle could not obtain draggable ref') : invariant(false) : void 0;\n var dragHandle = getDragHandleRef(draggable);\n retainer.tryRestoreFocus(first.draggableId, dragHandle);\n return function () {\n var last = lastArgsRef.current;\n\n var shouldRetainFocus = function () {\n if (!last.isEnabled) {\n return false;\n }\n\n if (!isFocusedRef.current) {\n return false;\n }\n\n return last.isDragging || last.isDropAnimating;\n }();\n\n if (shouldRetainFocus) {\n retainer.retain(last.draggableId);\n }\n };\n }, [getDraggableRef, lastArgsRef]);\n var lastDraggableRef = React.useRef(null);\n useIsomorphicLayoutEffect(function () {\n if (!lastDraggableRef.current) {\n return;\n }\n\n var draggableRef = getDraggableRef();\n\n if (!draggableRef) {\n return;\n }\n\n if (draggableRef === lastDraggableRef.current) {\n return;\n }\n\n if (isFocusedRef.current && lastArgsRef.current.isEnabled) {\n getDragHandleRef(draggableRef).focus();\n }\n });\n useIsomorphicLayoutEffect(function () {\n lastDraggableRef.current = getDraggableRef();\n });\n return {\n onBlur: onBlur,\n onFocus: onFocus\n };\n}\n\nfunction preventHtml5Dnd(event) {\n event.preventDefault();\n}\n\nfunction useDragHandle(args) {\n var capturingRef = React.useRef(null);\n var onCaptureStart = useMemoOne.useCallback(function (abort) {\n !!capturingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing while something else is') : invariant(false) : void 0;\n capturingRef.current = {\n abort: abort\n };\n }, []);\n var onCaptureEnd = useMemoOne.useCallback(function () {\n !capturingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop capturing while nothing is capturing') : invariant(false) : void 0;\n capturingRef.current = null;\n }, []);\n var abortCapture = useMemoOne.useCallback(function () {\n !capturingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot abort capture when there is none') : invariant(false) : void 0;\n capturingRef.current.abort();\n }, []);\n\n var _useRequiredContext = useRequiredContext(AppContext),\n canLift = _useRequiredContext.canLift,\n styleContext = _useRequiredContext.style;\n\n var isDragging = args.isDragging,\n isEnabled = args.isEnabled,\n draggableId = args.draggableId,\n callbacks = args.callbacks,\n getDraggableRef = args.getDraggableRef,\n getShouldRespectForcePress = args.getShouldRespectForcePress,\n canDragInteractiveElements = args.canDragInteractiveElements;\n var lastArgsRef = usePrevious(args);\n useValidation$1({\n isEnabled: isEnabled,\n getDraggableRef: getDraggableRef\n });\n var getWindow = useMemoOne.useCallback(function () {\n return getWindowFromEl(getDraggableRef());\n }, [getDraggableRef]);\n var canStartCapturing = useMemoOne.useCallback(function (event) {\n if (!isEnabled) {\n return false;\n }\n\n if (capturingRef.current) {\n return false;\n }\n\n if (!canLift(draggableId)) {\n return false;\n }\n\n return shouldAllowDraggingFromTarget(event, canDragInteractiveElements);\n }, [canDragInteractiveElements, canLift, draggableId, isEnabled]);\n\n var _useFocusRetainer = useFocusRetainer(args),\n onBlur = _useFocusRetainer.onBlur,\n onFocus = _useFocusRetainer.onFocus;\n\n var mouseArgs = useMemoOne.useMemo(function () {\n return {\n callbacks: callbacks,\n getDraggableRef: getDraggableRef,\n getWindow: getWindow,\n canStartCapturing: canStartCapturing,\n onCaptureStart: onCaptureStart,\n onCaptureEnd: onCaptureEnd,\n getShouldRespectForcePress: getShouldRespectForcePress\n };\n }, [callbacks, getDraggableRef, getWindow, canStartCapturing, onCaptureStart, onCaptureEnd, getShouldRespectForcePress]);\n var onMouseDown = useMouseSensor(mouseArgs);\n var keyboardArgs = useMemoOne.useMemo(function () {\n return {\n callbacks: callbacks,\n getDraggableRef: getDraggableRef,\n getWindow: getWindow,\n canStartCapturing: canStartCapturing,\n onCaptureStart: onCaptureStart,\n onCaptureEnd: onCaptureEnd\n };\n }, [callbacks, canStartCapturing, getDraggableRef, getWindow, onCaptureEnd, onCaptureStart]);\n var onKeyDown = useKeyboardSensor(keyboardArgs);\n var touchArgs = useMemoOne.useMemo(function () {\n return {\n callbacks: callbacks,\n getDraggableRef: getDraggableRef,\n getWindow: getWindow,\n canStartCapturing: canStartCapturing,\n getShouldRespectForcePress: getShouldRespectForcePress,\n onCaptureStart: onCaptureStart,\n onCaptureEnd: onCaptureEnd\n };\n }, [callbacks, getDraggableRef, getWindow, canStartCapturing, getShouldRespectForcePress, onCaptureStart, onCaptureEnd]);\n var onTouchStart = useTouchSensor(touchArgs);\n useIsomorphicLayoutEffect(function () {\n return function () {\n if (!capturingRef.current) {\n return;\n }\n\n abortCapture();\n\n if (lastArgsRef.current.isDragging) {\n lastArgsRef.current.callbacks.onCancel();\n }\n };\n }, []);\n\n if (!isEnabled && capturingRef.current) {\n abortCapture();\n\n if (lastArgsRef.current.isDragging) {\n process.env.NODE_ENV !== \"production\" ? warning('You have disabled dragging on a Draggable while it was dragging. The drag has been cancelled') : void 0;\n callbacks.onCancel();\n }\n }\n\n useIsomorphicLayoutEffect(function () {\n if (!isDragging && capturingRef.current) {\n abortCapture();\n }\n }, [abortCapture, isDragging]);\n var props = useMemoOne.useMemo(function () {\n if (!isEnabled) {\n return null;\n }\n\n return {\n onMouseDown: onMouseDown,\n onKeyDown: onKeyDown,\n onTouchStart: onTouchStart,\n onFocus: onFocus,\n onBlur: onBlur,\n tabIndex: 0,\n 'data-react-beautiful-dnd-drag-handle': styleContext,\n 'aria-roledescription': 'Draggable item. Press space bar to lift',\n draggable: false,\n onDragStart: preventHtml5Dnd\n };\n }, [isEnabled, onBlur, onFocus, onKeyDown, onMouseDown, onTouchStart, styleContext]);\n return props;\n}\n\nfunction getDimension$1(descriptor, el, windowScroll) {\n if (windowScroll === void 0) {\n windowScroll = origin;\n }\n\n var computedStyles = window.getComputedStyle(el);\n var borderBox = el.getBoundingClientRect();\n var client = cssBoxModel.calculateBox(borderBox, computedStyles);\n var page = cssBoxModel.withScroll(client, windowScroll);\n var placeholder = {\n client: client,\n tagName: el.tagName.toLowerCase(),\n display: computedStyles.display\n };\n var displaceBy = {\n x: client.marginBox.width,\n y: client.marginBox.height\n };\n var dimension = {\n descriptor: descriptor,\n placeholder: placeholder,\n displaceBy: displaceBy,\n client: client,\n page: page\n };\n return dimension;\n}\n\nfunction useDraggableDimensionPublisher(args) {\n var draggableId = args.draggableId,\n index = args.index,\n getDraggableRef = args.getDraggableRef;\n var appContext = useRequiredContext(AppContext);\n var marshal = appContext.marshal;\n var droppableContext = useRequiredContext(DroppableContext);\n var droppableId = droppableContext.droppableId,\n type = droppableContext.type;\n var descriptor = useMemoOne.useMemo(function () {\n var result = {\n id: draggableId,\n droppableId: droppableId,\n type: type,\n index: index\n };\n return result;\n }, [draggableId, droppableId, index, type]);\n var publishedDescriptorRef = React.useRef(descriptor);\n var makeDimension = useMemoOne.useCallback(function (windowScroll) {\n var latest = publishedDescriptorRef.current;\n var el = getDraggableRef();\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;\n return getDimension$1(latest, el, windowScroll);\n }, [getDraggableRef]);\n useIsomorphicLayoutEffect(function () {\n marshal.registerDraggable(publishedDescriptorRef.current, makeDimension);\n return function () {\n return marshal.unregisterDraggable(publishedDescriptorRef.current);\n };\n }, [makeDimension, marshal]);\n useIsomorphicLayoutEffect(function () {\n if (publishedDescriptorRef.current === descriptor) {\n return;\n }\n\n var previous = publishedDescriptorRef.current;\n publishedDescriptorRef.current = descriptor;\n marshal.updateDraggable(previous, descriptor, makeDimension);\n }, [descriptor, makeDimension, marshal]);\n}\n\nfunction checkOwnProps$1(props) {\n !_Number$isInteger(props.index) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires an integer index prop') : invariant(false) : void 0;\n !props.draggableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;\n !(typeof props.isDragDisabled === 'boolean') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDragDisabled must be a boolean') : invariant(false) : void 0;\n}\n\nfunction checkForOutdatedProps(props) {\n if (Object.prototype.hasOwnProperty.call(props, 'shouldRespectForceTouch')) {\n process.env.NODE_ENV !== \"production\" ? warning('shouldRespectForceTouch has been renamed to shouldRespectForcePress') : void 0;\n }\n}\n\nfunction useValidation$2(props, getRef) {\n React.useEffect(function () {\n if (process.env.NODE_ENV !== 'production') {\n checkOwnProps$1(props);\n checkForOutdatedProps(props);\n checkIsValidInnerRef(getRef());\n }\n });\n}\n\nfunction Draggable(props) {\n var ref = React.useRef(null);\n var setRef = useMemoOne.useCallback(function (el) {\n ref.current = el;\n }, []);\n var getRef = useMemoOne.useCallback(function () {\n return ref.current;\n }, []);\n var appContext = useRequiredContext(AppContext);\n useValidation$2(props, getRef);\n var children = props.children,\n draggableId = props.draggableId,\n isDragDisabled = props.isDragDisabled,\n shouldRespectForcePress = props.shouldRespectForcePress,\n canDragInteractiveElements = props.disableInteractiveElementBlocking,\n index = props.index,\n mapped = props.mapped,\n moveUpAction = props.moveUp,\n moveAction = props.move,\n dropAction = props.drop,\n moveDownAction = props.moveDown,\n moveRightAction = props.moveRight,\n moveLeftAction = props.moveLeft,\n moveByWindowScrollAction = props.moveByWindowScroll,\n liftAction = props.lift,\n dropAnimationFinishedAction = props.dropAnimationFinished;\n var forPublisher = useMemoOne.useMemo(function () {\n return {\n draggableId: draggableId,\n index: index,\n getDraggableRef: getRef\n };\n }, [draggableId, getRef, index]);\n useDraggableDimensionPublisher(forPublisher);\n var onLift = useMemoOne.useCallback(function (options) {\n start('LIFT');\n var el = ref.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n !!isDragDisabled ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot lift a Draggable when it is disabled') : invariant(false) : void 0;\n var clientSelection = options.clientSelection,\n movementMode = options.movementMode;\n liftAction({\n id: draggableId,\n clientSelection: clientSelection,\n movementMode: movementMode\n });\n finish('LIFT');\n }, [draggableId, isDragDisabled, liftAction]);\n var getShouldRespectForcePress = useMemoOne.useCallback(function () {\n return shouldRespectForcePress;\n }, [shouldRespectForcePress]);\n var callbacks = useMemoOne.useMemo(function () {\n return {\n onLift: onLift,\n onMove: function onMove(clientSelection) {\n return moveAction({\n client: clientSelection\n });\n },\n onDrop: function onDrop() {\n return dropAction({\n reason: 'DROP'\n });\n },\n onCancel: function onCancel() {\n return dropAction({\n reason: 'CANCEL'\n });\n },\n onMoveUp: moveUpAction,\n onMoveDown: moveDownAction,\n onMoveRight: moveRightAction,\n onMoveLeft: moveLeftAction,\n onWindowScroll: function onWindowScroll() {\n return moveByWindowScrollAction({\n newScroll: getWindowScroll()\n });\n }\n };\n }, [dropAction, moveAction, moveByWindowScrollAction, moveDownAction, moveLeftAction, moveRightAction, moveUpAction, onLift]);\n var isDragging = mapped.type === 'DRAGGING';\n var isDropAnimating = mapped.type === 'DRAGGING' && Boolean(mapped.dropping);\n var dragHandleArgs = useMemoOne.useMemo(function () {\n return {\n draggableId: draggableId,\n isDragging: isDragging,\n isDropAnimating: isDropAnimating,\n isEnabled: !isDragDisabled,\n callbacks: callbacks,\n getDraggableRef: getRef,\n canDragInteractiveElements: canDragInteractiveElements,\n getShouldRespectForcePress: getShouldRespectForcePress\n };\n }, [callbacks, canDragInteractiveElements, draggableId, getRef, getShouldRespectForcePress, isDragDisabled, isDragging, isDropAnimating]);\n var dragHandleProps = useDragHandle(dragHandleArgs);\n var onMoveEnd = useMemoOne.useCallback(function (event) {\n if (mapped.type !== 'DRAGGING') {\n return;\n }\n\n if (!mapped.dropping) {\n return;\n }\n\n if (event.propertyName !== 'transform') {\n return;\n }\n\n dropAnimationFinishedAction();\n }, [dropAnimationFinishedAction, mapped]);\n var provided = useMemoOne.useMemo(function () {\n var style = getStyle$1(mapped);\n var onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : null;\n var result = {\n innerRef: setRef,\n draggableProps: {\n 'data-react-beautiful-dnd-draggable': appContext.style,\n style: style,\n onTransitionEnd: onTransitionEnd\n },\n dragHandleProps: dragHandleProps\n };\n return result;\n }, [appContext.style, dragHandleProps, mapped, onMoveEnd, setRef]);\n return children(provided, mapped.snapshot);\n}\n\nvar getCombineWithFromResult = function getCombineWithFromResult(result) {\n return result.combine ? result.combine.draggableId : null;\n};\n\nvar getCombineWithFromImpact = function getCombineWithFromImpact(impact) {\n return impact.merge ? impact.merge.combine.draggableId : null;\n};\n\nvar makeMapStateToProps$1 = function makeMapStateToProps() {\n var getDraggingSnapshot = memoizeOne(function (mode, draggingOver, combineWith, dropping) {\n return {\n isDragging: true,\n isDropAnimating: Boolean(dropping),\n dropAnimation: dropping,\n mode: mode,\n draggingOver: draggingOver,\n combineWith: combineWith,\n combineTargetFor: null\n };\n });\n var getSecondarySnapshot = memoizeOne(function (combineTargetFor) {\n return {\n isDragging: false,\n isDropAnimating: false,\n dropAnimation: null,\n mode: null,\n draggingOver: null,\n combineTargetFor: combineTargetFor,\n combineWith: null\n };\n });\n var defaultMapProps = {\n mapped: {\n type: 'SECONDARY',\n offset: origin,\n combineTargetFor: null,\n shouldAnimateDisplacement: true,\n snapshot: getSecondarySnapshot(null)\n }\n };\n var memoizedOffset = memoizeOne(function (x, y) {\n return {\n x: x,\n y: y\n };\n });\n var getDraggingProps = memoizeOne(function (offset, mode, dimension, draggingOver, combineWith, forceShouldAnimate) {\n return {\n mapped: {\n type: 'DRAGGING',\n dropping: null,\n draggingOver: draggingOver,\n combineWith: combineWith,\n mode: mode,\n offset: offset,\n dimension: dimension,\n forceShouldAnimate: forceShouldAnimate,\n snapshot: getDraggingSnapshot(mode, draggingOver, combineWith, null)\n }\n };\n });\n var getSecondaryProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n\n return {\n mapped: {\n type: 'SECONDARY',\n offset: offset,\n combineTargetFor: combineTargetFor,\n shouldAnimateDisplacement: shouldAnimateDisplacement,\n snapshot: getSecondarySnapshot(combineTargetFor)\n }\n };\n });\n\n var getSecondaryMovement = function getSecondaryMovement(ownId, draggingId, impact) {\n var map = impact.movement.map;\n var displacement = map[ownId];\n var movement = impact.movement;\n var merge = impact.merge;\n var isCombinedWith = Boolean(merge && merge.combine.draggableId === ownId);\n var displacedBy = movement.displacedBy.point;\n var offset = memoizedOffset(displacedBy.x, displacedBy.y);\n\n if (isCombinedWith) {\n return getSecondaryProps(displacement ? offset : origin, draggingId, displacement ? displacement.shouldAnimate : true);\n }\n\n if (!displacement) {\n return null;\n }\n\n if (!displacement.isVisible) {\n return null;\n }\n\n return getSecondaryProps(offset, null, displacement.shouldAnimate);\n };\n\n var draggingSelector = function draggingSelector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id !== ownProps.draggableId) {\n return null;\n }\n\n var offset = state.current.client.offset;\n var dimension = state.dimensions.draggables[ownProps.draggableId];\n var mode = state.movementMode;\n var draggingOver = whatIsDraggedOver(state.impact);\n var combineWith = getCombineWithFromImpact(state.impact);\n var forceShouldAnimate = state.forceShouldAnimate;\n return getDraggingProps(memoizedOffset(offset.x, offset.y), mode, dimension, draggingOver, combineWith, forceShouldAnimate);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (completed.result.draggableId !== ownProps.draggableId) {\n return null;\n }\n\n var _dimension = state.dimensions.draggables[ownProps.draggableId];\n var result = completed.result;\n var _mode = result.mode;\n\n var _draggingOver = whatIsDraggedOverFromResult(result);\n\n var _combineWith = getCombineWithFromResult(result);\n\n var duration = state.dropDuration;\n var dropping = {\n duration: duration,\n curve: curves.drop,\n moveTo: state.newHomeClientOffset,\n opacity: _combineWith ? combine.opacity.drop : null,\n scale: _combineWith ? combine.scale.drop : null\n };\n return {\n mapped: {\n type: 'DRAGGING',\n offset: state.newHomeClientOffset,\n dimension: _dimension,\n dropping: dropping,\n draggingOver: _draggingOver,\n combineWith: _combineWith,\n mode: _mode,\n forceShouldAnimate: null,\n snapshot: getDraggingSnapshot(_mode, _draggingOver, _combineWith, dropping)\n }\n };\n }\n\n return null;\n };\n\n var secondarySelector = function secondarySelector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id === ownProps.draggableId) {\n return null;\n }\n\n return getSecondaryMovement(ownProps.draggableId, state.critical.draggable.id, state.impact);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (completed.result.draggableId === ownProps.draggableId) {\n return null;\n }\n\n return getSecondaryMovement(ownProps.draggableId, completed.result.draggableId, completed.impact);\n }\n\n return null;\n };\n\n var selector = function selector(state, ownProps) {\n return draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || defaultMapProps;\n };\n\n return selector;\n};\nvar mapDispatchToProps$1 = {\n lift: lift,\n move: move,\n moveUp: moveUp,\n moveDown: moveDown,\n moveLeft: moveLeft,\n moveRight: moveRight,\n moveByWindowScroll: moveByWindowScroll,\n drop: drop,\n dropAnimationFinished: dropAnimationFinished\n};\nvar defaultProps$1 = {\n isDragDisabled: false,\n disableInteractiveElementBlocking: false,\n shouldRespectForcePress: false\n};\nvar ConnectedDraggable = reactRedux.connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {\n context: StoreContext,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Draggable);\nConnectedDraggable.defaultProps = defaultProps$1;\n\nexports.DragDropContext = DragDropContext;\nexports.Draggable = ConnectedDraggable;\nexports.Droppable = ConnectedDroppable;\nexports.resetServerContext = resetServerContext;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-beautiful-dnd/dist/react-beautiful-dnd.cjs.js\n// module id = 159\n// module chunks = 0","var _Object$assign = require(\"../core-js/object/assign\");\n\nfunction _extends() {\n module.exports = _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 return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/helpers/extends.js\n// module id = 160\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/assign\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/assign.js\n// module id = 161\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/assign.js\n// module id = 162\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.assign.js\n// module id = 163\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_export.js\n// module id = 164\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_global.js\n// module id = 165\n// module chunks = 0","var core = module.exports = { version: '2.5.7' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 166\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 167\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 168\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_hide.js\n// module id = 169\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dp.js\n// module id = 170\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_an-object.js\n// module id = 171\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-object.js\n// module id = 172\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ie8-dom-define.js\n// module id = 173\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_descriptors.js\n// module id = 174\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_fails.js\n// module id = 175\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_dom-create.js\n// module id = 176\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-primitive.js\n// module id = 177\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_property-desc.js\n// module id = 178\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_has.js\n// module id = 179\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-assign.js\n// module id = 180\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys.js\n// module id = 181\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-keys-internal.js\n// module id = 182\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-iobject.js\n// module id = 183\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 184\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_cof.js\n// module id = 185\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_defined.js\n// module id = 186\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 187\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 188\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-integer.js\n// module id = 189\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-absolute-index.js\n// module id = 190\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared-key.js\n// module id = 191\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2018 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_shared.js\n// module id = 192\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_library.js\n// module id = 193\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_uid.js\n// module id = 194\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-bug-keys.js\n// module id = 195\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gops.js\n// module id = 196\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-pie.js\n// module id = 197\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-object.js\n// module id = 198\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar react = require('react');\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = react.useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var committed = react.useRef(initial);\n var isInputMatch = Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = isInputMatch ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n react.useEffect(function () {\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexports.useCallback = useCallback;\nexports.useCallbackOne = useCallbackOne;\nexports.useMemo = useMemo;\nexports.useMemoOne = useMemoOne;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/use-memo-one/dist/use-memo-one.cjs.js\n// module id = 199\n// module chunks = 0","var _Object$create = require(\"../core-js/object/create\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = _Object$create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/helpers/inheritsLoose.js\n// module id = 200\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/create\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/create.js\n// module id = 201\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/create.js\n// module id = 202\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.create.js\n// module id = 203\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-create.js\n// module id = 204\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 205\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 206\n// module chunks = 0","'use strict';\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/tiny-invariant/dist/tiny-invariant.cjs.js\n// module id = 207\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar $$observable = _interopDefault(require('symbol-observable'));\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexports.__DO_NOT_USE__ActionTypes = ActionTypes;\nexports.applyMiddleware = applyMiddleware;\nexports.bindActionCreators = bindActionCreators;\nexports.combineReducers = combineReducers;\nexports.compose = compose;\nexports.createStore = createStore;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/lib/redux.js\n// module id = 208\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill.js');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 209\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 210\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 211\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\n\nvar _Provider = _interopRequireDefault(require(\"./components/Provider\"));\n\nexports.Provider = _Provider[\"default\"];\n\nvar _connectAdvanced = _interopRequireDefault(require(\"./components/connectAdvanced\"));\n\nexports.connectAdvanced = _connectAdvanced[\"default\"];\n\nvar _Context = require(\"./components/Context\");\n\nexports.ReactReduxContext = _Context.ReactReduxContext;\n\nvar _connect = _interopRequireDefault(require(\"./connect/connect\"));\n\nexports.connect = _connect[\"default\"];\n\nvar _useDispatch = require(\"./hooks/useDispatch\");\n\nexports.useDispatch = _useDispatch.useDispatch;\n\nvar _useSelector = require(\"./hooks/useSelector\");\n\nexports.useSelector = _useSelector.useSelector;\n\nvar _useStore = require(\"./hooks/useStore\");\n\nexports.useStore = _useStore.useStore;\n\nvar _batch = require(\"./utils/batch\");\n\nvar _reactBatchedUpdates = require(\"./utils/reactBatchedUpdates\");\n\nexports.batch = _reactBatchedUpdates.unstable_batchedUpdates;\n\nvar _shallowEqual = _interopRequireDefault(require(\"./utils/shallowEqual\"));\n\nexports.shallowEqual = _shallowEqual[\"default\"];\n(0, _batch.setBatch)(_reactBatchedUpdates.unstable_batchedUpdates);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/index.js\n// module id = 212\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Context = require(\"./Context\");\n\nvar _Subscription = _interopRequireDefault(require(\"../utils/Subscription\"));\n\nvar Provider =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inheritsLoose2[\"default\"])(Provider, _Component);\n\n function Provider(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n var store = props.store;\n _this.notifySubscribers = _this.notifySubscribers.bind((0, _assertThisInitialized2[\"default\"])(_this));\n var subscription = new _Subscription[\"default\"](store);\n subscription.onStateChange = _this.notifySubscribers;\n _this.state = {\n store: store,\n subscription: subscription\n };\n _this.previousState = store.getState();\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this.state.subscription.trySubscribe();\n\n if (this.previousState !== this.props.store.getState()) {\n this.state.subscription.notifyNestedSubs();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unsubscribe) this.unsubscribe();\n this.state.subscription.tryUnsubscribe();\n this._isMounted = false;\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.store !== prevProps.store) {\n this.state.subscription.tryUnsubscribe();\n var subscription = new _Subscription[\"default\"](this.props.store);\n subscription.onStateChange = this.notifySubscribers;\n this.setState({\n store: this.props.store,\n subscription: subscription\n });\n }\n };\n\n _proto.notifySubscribers = function notifySubscribers() {\n this.state.subscription.notifyNestedSubs();\n };\n\n _proto.render = function render() {\n var Context = this.props.context || _Context.ReactReduxContext;\n return _react[\"default\"].createElement(Context.Provider, {\n value: this.state\n }, this.props.children);\n };\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _propTypes[\"default\"].shape({\n subscribe: _propTypes[\"default\"].func.isRequired,\n dispatch: _propTypes[\"default\"].func.isRequired,\n getState: _propTypes[\"default\"].func.isRequired\n }),\n context: _propTypes[\"default\"].object,\n children: _propTypes[\"default\"].any\n};\nvar _default = Provider;\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/components/Provider.js\n// module id = 213\n// module chunks = 0","function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nmodule.exports = _interopRequireWildcard;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/interopRequireWildcard.js\n// module id = 214\n// module chunks = 0","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/assertThisInitialized.js\n// module id = 215\n// module chunks = 0","function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inheritsLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/inheritsLoose.js\n// module id = 216\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = exports.ReactReduxContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar ReactReduxContext = _react[\"default\"].createContext(null);\n\nexports.ReactReduxContext = ReactReduxContext;\nvar _default = ReactReduxContext;\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/components/Context.js\n// module id = 217\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _batch = require(\"./batch\");\n\n// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = (0, _batch.getBatch)(); // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n batch(function () {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n });\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexports[\"default\"] = Subscription;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/Subscription.js\n// module id = 218\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getBatch = exports.setBatch = void 0;\n\n// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nvar setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\n\nexports.setBatch = setBatch;\n\nvar getBatch = function getBatch() {\n return batch;\n};\n\nexports.getBatch = getBatch;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/batch.js\n// module id = 219\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = connectAdvanced;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _hoistNonReactStatics = _interopRequireDefault(require(\"hoist-non-react-statics\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _reactIs = require(\"react-is\");\n\nvar _Subscription = _interopRequireDefault(require(\"../utils/Subscription\"));\n\nvar _Context = require(\"./Context\");\n\n// Define some constant arrays just to avoid re-creating these\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n}; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect because we want\n// `connect` to perform sync updates to a ref to save the latest props after\n// a render is actually committed to the DOM.\n\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;\n\nfunction connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? _Context.ReactReduxContext : _ref2$context,\n connectOptions = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n (0, _invariant[\"default\"])(renderCountProp === undefined, \"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n (0, _invariant[\"default\"])(!withRef, 'withRef is removed. To access the wrapped instance, use a ref on the connected component');\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: . ' + 'You may also pass a {context : MyContext} option to connect';\n (0, _invariant[\"default\"])(storeKey === 'store', 'storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production') {\n (0, _invariant[\"default\"])((0, _reactIs.isValidElementType)(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n var selectorFactoryOptions = (0, _extends2[\"default\"])({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? _react.useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = (0, _react.useMemo)(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = (0, _objectWithoutPropertiesLoose2[\"default\"])(props, [\"forwardedRef\"]);\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = (0, _react.useMemo)(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && (0, _reactIs.isContextConsumer)(_react[\"default\"].createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = (0, _react.useContext)(ContextToUse); // The store _must_ exist as either a prop or in context\n\n var didStoreComeFromProps = Boolean(props.store);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n (0, _invariant[\"default\"])(didStoreComeFromProps || didStoreComeFromContext, \"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + \"or pass a custom React context provider to and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n var store = props.store || contextValue.store;\n var childPropsSelector = (0, _react.useMemo)(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = (0, _react.useMemo)(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new _Subscription[\"default\"](store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = (0, _react.useMemo)(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return (0, _extends2[\"default\"])({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = (0, _react.useReducer)(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = (0, _react.useRef)();\n var lastWrapperProps = (0, _react.useRef)(wrapperProps);\n var childPropsFromStoreUpdate = (0, _react.useRef)();\n var renderIsScheduled = (0, _react.useRef)(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffect(function () {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n }); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffect(function () {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n latestStoreState: latestStoreState,\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n }, [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = (0, _react.useMemo)(function () {\n return _react[\"default\"].createElement(WrappedComponent, (0, _extends2[\"default\"])({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = (0, _react.useMemo)(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return _react[\"default\"].createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? _react[\"default\"].memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = _react[\"default\"].forwardRef(function forwardConnectRef(props, ref) {\n return _react[\"default\"].createElement(Connect, (0, _extends2[\"default\"])({}, props, {\n forwardedRef: ref\n }));\n });\n\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return (0, _hoistNonReactStatics[\"default\"])(forwarded, WrappedComponent);\n }\n\n return (0, _hoistNonReactStatics[\"default\"])(Connect, WrappedComponent);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/components/connectAdvanced.js\n// module id = 220\n// module chunks = 0","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\n// module id = 221\n// module chunks = 0","'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 ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: 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 FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // 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 var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\n// module id = 222\n// module chunks = 0","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/index.js\n// module id = 223\n// module chunks = 0","/** @license React v16.9.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118;function x(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function y(a){return x(a)===m}exports.typeOf=x;exports.AsyncMode=l;\nexports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w)};exports.isAsyncMode=function(a){return y(a)||x(a)===l};exports.isConcurrentMode=y;exports.isContextConsumer=function(a){return x(a)===k};exports.isContextProvider=function(a){return x(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return x(a)===n};exports.isFragment=function(a){return x(a)===e};exports.isLazy=function(a){return x(a)===t};exports.isMemo=function(a){return x(a)===r};exports.isPortal=function(a){return x(a)===d};exports.isProfiler=function(a){return x(a)===g};exports.isStrictMode=function(a){return x(a)===f};exports.isSuspense=function(a){return x(a)===p};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/cjs/react-is.production.min.js\n// module id = 224\n// module chunks = 0","/** @license React v16.9.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\n\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\n// TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' ||\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarning$1 = lowPriorityWarning;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\n\n// AsyncMode is deprecated along with isAsyncMode\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\n\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\n\n// AsyncMode should be deprecated\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarning$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-is/cjs/react-is.development.js\n// module id = 225\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/invariant/browser.js\n// module id = 226\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createConnect = createConnect;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _connectAdvanced = _interopRequireDefault(require(\"../components/connectAdvanced\"));\n\nvar _shallowEqual = _interopRequireDefault(require(\"../utils/shallowEqual\"));\n\nvar _mapDispatchToProps = _interopRequireDefault(require(\"./mapDispatchToProps\"));\n\nvar _mapStateToProps = _interopRequireDefault(require(\"./mapStateToProps\"));\n\nvar _mergeProps = _interopRequireDefault(require(\"./mergeProps\"));\n\nvar _selectorFactory = _interopRequireDefault(require(\"./selectorFactory\"));\n\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nfunction createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? _connectAdvanced[\"default\"] : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps[\"default\"] : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps[\"default\"] : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps[\"default\"] : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory[\"default\"] : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _shallowEqual[\"default\"] : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _shallowEqual[\"default\"] : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _shallowEqual[\"default\"] : _ref3$areMergedPropsE,\n extraOptions = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, (0, _extends2[\"default\"])({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\n\nvar _default = createConnect();\n\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/connect.js\n// module id = 227\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\nvar hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/shallowEqual.js\n// module id = 228\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.whenMapDispatchToPropsIsFunction = whenMapDispatchToPropsIsFunction;\nexports.whenMapDispatchToPropsIsMissing = whenMapDispatchToPropsIsMissing;\nexports.whenMapDispatchToPropsIsObject = whenMapDispatchToPropsIsObject;\nexports[\"default\"] = void 0;\n\nvar _redux = require(\"redux\");\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nfunction whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\n\nfunction whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\n\nfunction whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) {\n return (0, _redux.bindActionCreators)(mapDispatchToProps, dispatch);\n }) : undefined;\n}\n\nvar _default = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mapDispatchToProps.js\n// module id = 229\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapMapToPropsConstant = wrapMapToPropsConstant;\nexports.getDependsOnOwnProps = getDependsOnOwnProps;\nexports.wrapMapToPropsFunc = wrapMapToPropsFunc;\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nfunction wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\n\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\n\nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject[\"default\"])(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/wrapMapToProps.js\n// module id = 230\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = verifyPlainObject;\n\nvar _isPlainObject = _interopRequireDefault(require(\"./isPlainObject\"));\n\nvar _warning = _interopRequireDefault(require(\"./warning\"));\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!(0, _isPlainObject[\"default\"])(value)) {\n (0, _warning[\"default\"])(methodName + \"() in \" + displayName + \" must return a plain object. Instead received \" + value + \".\");\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/verifyPlainObject.js\n// module id = 231\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = isPlainObject;\n\n/**\r\n * @param {any} obj The object to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = Object.getPrototypeOf(obj);\n if (proto === null) return true;\n var baseProto = proto;\n\n while (Object.getPrototypeOf(baseProto) !== null) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n return proto === baseProto;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/isPlainObject.js\n// module id = 232\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/warning.js\n// module id = 233\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.whenMapStateToPropsIsFunction = whenMapStateToPropsIsFunction;\nexports.whenMapStateToPropsIsMissing = whenMapStateToPropsIsMissing;\nexports[\"default\"] = void 0;\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nfunction whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : undefined;\n}\n\nfunction whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function () {\n return {};\n }) : undefined;\n}\n\nvar _default = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mapStateToProps.js\n// module id = 234\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.defaultMergeProps = defaultMergeProps;\nexports.wrapMergePropsFunc = wrapMergePropsFunc;\nexports.whenMergePropsIsFunction = whenMergePropsIsFunction;\nexports.whenMergePropsIsOmitted = whenMergePropsIsOmitted;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nfunction defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return (0, _extends2[\"default\"])({}, ownProps, stateProps, dispatchProps);\n}\n\nfunction wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject[\"default\"])(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\n\nfunction whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\n\nfunction whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\n\nvar _default = [whenMergePropsIsFunction, whenMergePropsIsOmitted];\nexports[\"default\"] = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/mergeProps.js\n// module id = 235\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.impureFinalPropsSelectorFactory = impureFinalPropsSelectorFactory;\nexports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory;\nexports[\"default\"] = finalPropsSelectorFactory;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _verifySubselectors = _interopRequireDefault(require(\"./verifySubselectors\"));\n\nfunction impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\n\nfunction pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\n\nfunction finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n (0, _verifySubselectors[\"default\"])(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/selectorFactory.js\n// module id = 236\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = verifySubselectors;\n\nvar _warning = _interopRequireDefault(require(\"../utils/warning\"));\n\nfunction verify(selector, methodName, displayName) {\n if (!selector) {\n throw new Error(\"Unexpected value for \" + methodName + \" in \" + displayName + \".\");\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!selector.hasOwnProperty('dependsOnOwnProps')) {\n (0, _warning[\"default\"])(\"The selector for \" + methodName + \" of \" + displayName + \" did not specify a value for dependsOnOwnProps.\");\n }\n }\n}\n\nfunction verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {\n verify(mapStateToProps, 'mapStateToProps', displayName);\n verify(mapDispatchToProps, 'mapDispatchToProps', displayName);\n verify(mergeProps, 'mergeProps', displayName);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/connect/verifySubselectors.js\n// module id = 237\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.useDispatch = useDispatch;\n\nvar _useStore = require(\"./useStore\");\n\n/**\n * A hook to access the redux `dispatch` function. Note that in most cases where you\n * might want to use this hook it is recommended to use `useActions` instead to bind\n * action creators to the `dispatch` function.\n *\n * @returns {any|function} redux store's `dispatch` function\n *\n * @example\n *\n * import React, { useCallback } from 'react'\n * import { useReduxDispatch } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const dispatch = useDispatch()\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\n * return (\n * \n * {value} \n * Increase counter \n *
\n * )\n * }\n */\nfunction useDispatch() {\n var store = (0, _useStore.useStore)();\n return store.dispatch;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/hooks/useDispatch.js\n// module id = 238\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.useStore = useStore;\n\nvar _useReduxContext2 = require(\"./useReduxContext\");\n\n/**\n * A hook to access the redux store.\n *\n * @returns {any} the redux store\n *\n * @example\n *\n * import React from 'react'\n * import { useStore } from 'react-redux'\n *\n * export const ExampleComponent = () => {\n * const store = useStore()\n * return {store.getState()}
\n * }\n */\nfunction useStore() {\n var _useReduxContext = (0, _useReduxContext2.useReduxContext)(),\n store = _useReduxContext.store;\n\n return store;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/hooks/useStore.js\n// module id = 239\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.useReduxContext = useReduxContext;\n\nvar _react = require(\"react\");\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _Context = require(\"../components/Context\");\n\n/**\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\n * hook that you should usually not need to call directly.\n *\n * @returns {any} the value of the `ReactReduxContext`\n *\n * @example\n *\n * import React from 'react'\n * import { useReduxContext } from 'react-redux'\n *\n * export const CounterComponent = ({ value }) => {\n * const { store } = useReduxContext()\n * return {store.getState()}
\n * }\n */\nfunction useReduxContext() {\n var contextValue = (0, _react.useContext)(_Context.ReactReduxContext);\n (0, _invariant[\"default\"])(contextValue, 'could not find react-redux context value; please ensure the component is wrapped in a ');\n return contextValue;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/hooks/useReduxContext.js\n// module id = 240\n// module chunks = 0","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.useSelector = useSelector;\n\nvar _react = require(\"react\");\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _useReduxContext2 = require(\"./useReduxContext\");\n\nvar _Subscription = _interopRequireDefault(require(\"../utils/Subscription\"));\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n/**\n * A hook to access the redux store's state. This hook takes a selector function\n * as an argument. The selector is called with the store state.\n *\n * This hook takes an optional equality comparison function as the second parameter\n * that allows you to customize the way the selected state is compared to determine\n * whether the component needs to be re-rendered.\n *\n * @param {Function} selector the selector function\n * @param {Function=} equalityFn the function that will be used to determine equality\n *\n * @returns {any} the selected state\n *\n * @example\n *\n * import React from 'react'\n * import { useSelector } from 'react-redux'\n *\n * export const CounterComponent = () => {\n * const counter = useSelector(state => state.counter)\n * return {counter}
\n * }\n */\n\n\nfunction useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n (0, _invariant[\"default\"])(selector, \"You must pass a selector to useSelectors\");\n\n var _useReduxContext = (0, _useReduxContext2.useReduxContext)(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var _useReducer = (0, _react.useReducer)(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = (0, _react.useMemo)(function () {\n return new _Subscription[\"default\"](store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = (0, _react.useRef)();\n var latestSelector = (0, _react.useRef)();\n var latestSelectedState = (0, _react.useRef)();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n var errorMessage = \"An error occured while selecting the store state: \" + err.message + \".\";\n\n if (latestSubscriptionCallbackError.current) {\n errorMessage += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\nOriginal stack trace:\";\n }\n\n throw new Error(errorMessage);\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/hooks/useSelector.js\n// module id = 241\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.unstable_batchedUpdates = void 0;\n\nvar _reactDom = require(\"react-dom\");\n\nexports.unstable_batchedUpdates = _reactDom.unstable_batchedUpdates;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-redux/lib/utils/reactBatchedUpdates.js\n// module id = 242\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar invariant = _interopDefault(require('tiny-invariant'));\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexports.calculateBox = calculateBox;\nexports.createBox = createBox;\nexports.expand = expand;\nexports.getBox = getBox;\nexports.getRect = getRect;\nexports.offset = offset;\nexports.shrink = shrink;\nexports.withScroll = withScroll;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-box-model/dist/css-box-model.cjs.js\n// module id = 243\n// module chunks = 0","'use strict';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nmodule.exports = memoizeOne;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/memoize-one/dist/memoize-one.cjs.js\n// module id = 244\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/values\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/values.js\n// module id = 245\n// module chunks = 0","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/values.js\n// module id = 246\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.object.values.js\n// module id = 247\n// module chunks = 0","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-to-array.js\n// module id = 248\n// module chunks = 0","module.exports = require(\"core-js/library/fn/object/keys\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/object/keys.js\n// module id = 249\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 250\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 251\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 252\n// module chunks = 0","module.exports = require(\"core-js/library/fn/date/now\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/date/now.js\n// module id = 253\n// module chunks = 0","require('../../modules/es6.date.now');\nmodule.exports = require('../../modules/_core').Date.now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/date/now.js\n// module id = 254\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.date.now.js\n// module id = 255\n// module chunks = 0","'use strict';\n\nvar rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nmodule.exports = rafSchd;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/raf-schd/dist/raf-schd.cjs.js\n// module id = 256\n// module chunks = 0","module.exports = require(\"core-js/library/fn/number/is-integer\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@babel/runtime-corejs2/core-js/number/is-integer.js\n// module id = 257\n// module chunks = 0","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/number/is-integer.js\n// module id = 258\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.number.is-integer.js\n// module id = 259\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-integer.js\n// module id = 260\n// module chunks = 0","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react-dom\"), require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react-dom\", \"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"react-dom\"), require(\"react\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"ReactDOM\"], root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_6__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 12);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findInArray = findInArray;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\nexports.int = int;\nexports.dontSetMe = dontSetMe;\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/ {\n for (var i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\n\nfunction isFunction(func /*: any*/) /*: boolean*/ {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\n\nfunction isNum(num /*: any*/) /*: boolean*/ {\n return typeof num === 'number' && !isNaN(num);\n}\n\nfunction int(a /*: string*/) /*: number*/ {\n return parseInt(a, 10);\n}\n\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) {\n if (props[propName]) {\n return new Error('Invalid prop ' + propName + ' passed to ' + componentName + ' - do not set this, set it on the child.');\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.addEvent = addEvent;\nexports.removeEvent = removeEvent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nexports.styleHacks = styleHacks;\nexports.addClassName = addClassName;\nexports.removeClassName = removeClassName;\n\nvar _shims = __webpack_require__(0);\n\nvar _getPrefix = __webpack_require__(19);\n\nvar _getPrefix2 = _interopRequireDefault(_getPrefix);\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\n/*:: import type {ControlPosition, MouseTouchEvent} from './types';*/\n\n\nvar matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/ {\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/ {\n var node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n node = node.parentNode;\n } while (node);\n\n return false;\n}\n\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {\n if (!el) {\n return;\n }\n if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else if (el.addEventListener) {\n el.addEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\n\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/) /*: void*/ {\n if (!el) {\n return;\n }\n if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else if (el.removeEventListener) {\n el.removeEventListener(event, handler, true);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\n\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/ {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\n\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/ {\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/ {\n var height = node.clientHeight;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\n\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/ {\n var width = node.clientWidth;\n var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: {clientX: number, clientY: number}*/, offsetParent /*: HTMLElement*/) /*: ControlPosition*/ {\n var isBody = offsetParent === offsetParent.ownerDocument.body;\n var offsetParentRect = isBody ? { left: 0, top: 0 } : offsetParent.getBoundingClientRect();\n\n var x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left;\n var y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top;\n\n return { x: x, y: y };\n}\n\nfunction createCSSTransform(_ref) /*: Object*/ {\n var x = _ref.x,\n y = _ref.y;\n\n // Replace unitless items with px\n return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix2.default), 'translate(' + x + 'px,' + y + 'px)');\n}\n\nfunction createSVGTransform(_ref3) /*: string*/ {\n var x = _ref3.x,\n y = _ref3.y;\n\n return 'translate(' + x + ',' + y + ')';\n}\n\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/ {\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {\n return identifier === t.identifier;\n }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {\n return identifier === t.identifier;\n });\n}\n\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/ {\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n var styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {background: transparent;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {background: transparent;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\n\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n try {\n if (doc && doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n window.getSelection().removeAllRanges(); // remove selection caused by scroll\n } catch (e) {\n // probably IE\n }\n}\n\nfunction styleHacks() /*: Object*/ {\n var childStyle /*: Object*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // Workaround IE pointer events; see #51\n // https://github.com/mzabriskie/react-draggable/issues/51#issuecomment-103488278\n return _extends({\n touchAction: 'none'\n }, childStyle);\n}\n\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp('(?:^|\\\\s)' + className + '(?!\\\\S)'))) {\n el.className += ' ' + className;\n }\n }\n}\n\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(?:^|\\\\s)' + className + '(?!\\\\S)', 'g'), '');\n }\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(14)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(17)();\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBoundPosition = getBoundPosition;\nexports.snapToGrid = snapToGrid;\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.getControlPosition = getControlPosition;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\n\nvar _shims = __webpack_require__(0);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _domFns = __webpack_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/ {\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n var bounds = draggable.props.bounds;\n\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n var node = findDOMNode(draggable);\n\n if (typeof bounds === 'string') {\n var ownerDocument = node.ownerDocument;\n\n var ownerWindow = ownerDocument.defaultView;\n var boundNode = void 0;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n var nodeStyle = ownerWindow.getComputedStyle(node);\n var boundNodeStyle = ownerWindow.getComputedStyle(boundNode);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNode) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNode) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n\n return [x, y];\n}\n\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/ {\n var x = Math.round(pendingX / grid[0]) * grid[0];\n var y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\n\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/ {\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\n\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/ {\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/ {\n var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n var node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/ {\n var state = draggable.state;\n var isStart = !(0, _shims.isNum)(state.lastX);\n var node = findDOMNode(draggable);\n\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node: node,\n deltaX: 0, deltaY: 0,\n lastX: x, lastY: y,\n x: x, y: y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node: node,\n deltaX: x - state.lastX, deltaY: y - state.lastY,\n lastX: state.lastX, lastY: state.lastY,\n x: x, y: y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/ {\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX,\n y: draggable.state.y + coreData.deltaY,\n deltaX: coreData.deltaX,\n deltaY: coreData.deltaY,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/ {\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\n\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/ {\n var node = _reactDom2.default.findDOMNode(draggable);\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 = __webpack_require__(6);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _domFns = __webpack_require__(5);\n\nvar _positionFns = __webpack_require__(9);\n\nvar _shims = __webpack_require__(0);\n\nvar _log = __webpack_require__(11);\n\nvar _log2 = _interopRequireDefault(_log);\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 type {EventHandler, MouseTouchEvent} from './utils/types';*/\n\n\n// Simple abstraction for dragging events names.\n/*:: import type {Element as ReactElement} from 'react';*/\nvar eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nvar dragEventFor = eventsFor.mouse;\n\n/*:: type DraggableCoreState = {\n dragging: boolean,\n lastX: number,\n lastY: number,\n touchIdentifier: ?number\n};*/\n/*:: export type DraggableBounds = {\n left: number,\n right: number,\n top: number,\n bottom: number,\n};*/\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n\n\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\n/*:: export type DraggableCoreProps = {\n allowAnyClick: boolean,\n cancel: string,\n children: ReactElement,\n disabled: boolean,\n enableUserSelectHack: boolean,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n};*/\n\nvar DraggableCore = function (_React$Component) {\n _inherits(DraggableCore, _React$Component);\n\n function DraggableCore() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, DraggableCore);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DraggableCore.__proto__ || Object.getPrototypeOf(DraggableCore)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n dragging: false,\n // Used while dragging to determine deltas.\n lastX: NaN, lastY: NaN,\n touchIdentifier: null\n }, _this.handleDragStart = function (e) {\n // Make it possible to attach event handlers on top of this one.\n _this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n var thisNode = _reactDom2.default.findDOMNode(_this);\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n var ownerDocument = thisNode.ownerDocument;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n\n if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.handle, thisNode) || _this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.cancel, thisNode)) {\n return;\n }\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n _this.setState({ touchIdentifier: touchIdentifier });\n\n // Get the current drag point from the event. This is used as the offset.\n var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _this);\n if (position == null) return; // not possible but satisfies flow\n var x = position.x,\n y = position.y;\n\n // Create an event object with all the data parents need to make a decision here.\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n (0, _log2.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log2.default)('calling', _this.props.onStart);\n var shouldUpdate = _this.props.onStart(e, coreEvent);\n if (shouldUpdate === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n _this.setState({\n dragging: true,\n\n lastX: x,\n lastY: y\n });\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);\n }, _this.handleDrag = function (e) {\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n if (e.type === 'touchmove') e.preventDefault();\n\n // Get the current drag point from the event. This is used as the offset.\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _this);\n if (position == null) return;\n var x = position.x,\n y = position.y;\n\n // Snap to grid if prop has been provided\n\n if (Array.isArray(_this.props.grid)) {\n var _deltaX = x - _this.state.lastX,\n _deltaY = y - _this.state.lastY;\n\n var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, _deltaX, _deltaY);\n\n var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);\n\n _deltaX = _snapToGrid2[0];\n _deltaY = _snapToGrid2[1];\n\n if (!_deltaX && !_deltaY) return; // skip useless drag\n x = _this.state.lastX + _deltaX, y = _this.state.lastY + _deltaY;\n }\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n (0, _log2.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n var shouldUpdate = _this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false) {\n try {\n // $FlowIgnore\n _this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n var event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n _this.handleDragStop(event);\n }\n return;\n }\n\n _this.setState({\n lastX: x,\n lastY: y\n });\n }, _this.handleDragStop = function (e) {\n if (!_this.state.dragging) return;\n\n var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _this);\n if (position == null) return;\n var x = position.x,\n y = position.y;\n\n var coreEvent = (0, _positionFns.createCoreData)(_this, x, y);\n\n var thisNode = _reactDom2.default.findDOMNode(_this);\n if (thisNode) {\n // Remove user-select hack\n if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n\n (0, _log2.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n _this.setState({\n dragging: false,\n lastX: NaN,\n lastY: NaN\n });\n\n // Call event handler\n _this.props.onStop(e, coreEvent);\n\n if (thisNode) {\n // Remove event handlers\n (0, _log2.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);\n }\n }, _this.onMouseDown = function (e) {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return _this.handleDragStart(e);\n }, _this.onMouseUp = function (e) {\n dragEventFor = eventsFor.mouse;\n\n return _this.handleDragStop(e);\n }, _this.onTouchStart = function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return _this.handleDragStart(e);\n }, _this.onTouchEnd = function (e) {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n\n return _this.handleDragStop(e);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(DraggableCore, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n var thisNode = _reactDom2.default.findDOMNode(this);\n if (thisNode) {\n var ownerDocument = thisNode.ownerDocument;\n\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // Same as onMouseDown (start drag), but now consider this a touch device.\n\n }, {\n key: 'render',\n value: function render() {\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), {\n style: (0, _domFns.styleHacks)(this.props.children.props.style),\n\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onTouchStart: this.onTouchStart,\n onMouseUp: this.onMouseUp,\n onTouchEnd: this.onTouchEnd\n });\n }\n }]);\n\n return DraggableCore;\n}(_react2.default.Component);\n\nDraggableCore.displayName = 'DraggableCore';\nDraggableCore.propTypes = {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes2.default.bool,\n\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes2.default.bool,\n\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes2.default.bool,\n\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function offsetParent(props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (process.browser === true && props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes2.default.arrayOf(_propTypes2.default.number),\n\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * \n *
Click me to drag
\n *
This is some other content
\n *
\n * \n * );\n * }\n * });\n * ```\n */\n handle: _propTypes2.default.string,\n\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n * \n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n * \n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes2.default.string,\n\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes2.default.func,\n\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes2.default.func,\n\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes2.default.func,\n\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes2.default.func,\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n};\nDraggableCore.defaultProps = {\n allowAnyClick: false, // by default only accept left click\n cancel: null,\n disabled: false,\n enableUserSelectHack: true,\n offsetParent: null,\n handle: null,\n grid: null,\n transform: null,\n onStart: function onStart() {},\n onDrag: function onDrag() {},\n onStop: function onStop() {},\n onMouseDown: function onMouseDown() {}\n};\nexports.default = DraggableCore;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n\n/*eslint no-console:0*/\nfunction log() {\n var _console;\n\n if (undefined) (_console = console).log.apply(_console, arguments);\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Draggable = __webpack_require__(13).default;\n\n// Previous versions of this lib exported as the root export. As to not break\n// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = __webpack_require__(10).default;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\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 _slicedToArray = function () { function sliceIterator(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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\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 = __webpack_require__(6);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(7);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = __webpack_require__(4);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _classnames = __webpack_require__(18);\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _domFns = __webpack_require__(5);\n\nvar _positionFns = __webpack_require__(9);\n\nvar _shims = __webpack_require__(0);\n\nvar _DraggableCore = __webpack_require__(10);\n\nvar _DraggableCore2 = _interopRequireDefault(_DraggableCore);\n\nvar _log = __webpack_require__(11);\n\nvar _log2 = _interopRequireDefault(_log);\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 _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 type {ControlPosition, DraggableBounds, DraggableCoreProps} from './DraggableCore';*/\n/*:: import type {DraggableEventHandler} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n/*:: type DraggableState = {\n dragging: boolean,\n dragged: boolean,\n x: number, y: number,\n slackX: number, slackY: number,\n isElementSVG: boolean\n};*/\n\n\n//\n// Define \n//\n\n/*:: export type DraggableProps = {\n ...$Exact,\n axis: 'both' | 'x' | 'y' | 'none',\n bounds: DraggableBounds | string | false,\n defaultClassName: string,\n defaultClassNameDragging: string,\n defaultClassNameDragged: string,\n defaultPosition: ControlPosition,\n position: ControlPosition,\n};*/\n\nvar Draggable = function (_React$Component) {\n _inherits(Draggable, _React$Component);\n\n function Draggable(props /*: DraggableProps*/) {\n _classCallCheck(this, Draggable);\n\n var _this = _possibleConstructorReturn(this, (Draggable.__proto__ || Object.getPrototypeOf(Draggable)).call(this, props));\n\n _this.onDragStart = function (e, coreData) {\n (0, _log2.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n var shouldStart = _this.props.onStart(e, (0, _positionFns.createDraggableData)(_this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n\n _this.setState({ dragging: true, dragged: true });\n };\n\n _this.onDrag = function (e, coreData) {\n if (!_this.state.dragging) return false;\n (0, _log2.default)('Draggable: onDrag: %j', coreData);\n\n var uiData = (0, _positionFns.createDraggableData)(_this, coreData);\n\n var newState /*: $Shape*/ = {\n x: uiData.x,\n y: uiData.y\n };\n\n // Keep within bounds.\n if (_this.props.bounds) {\n // Save original x and y.\n var _x = newState.x,\n _y = newState.y;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n\n newState.x += _this.state.slackX;\n newState.y += _this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n\n var _getBoundPosition = (0, _positionFns.getBoundPosition)(_this, newState.x, newState.y),\n _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),\n newStateX = _getBoundPosition2[0],\n newStateY = _getBoundPosition2[1];\n\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = _this.state.slackX + (_x - newState.x);\n newState.slackY = _this.state.slackY + (_y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - _this.state.x;\n uiData.deltaY = newState.y - _this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n var shouldUpdate = _this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n\n _this.setState(newState);\n };\n\n _this.onDragStop = function (e, coreData) {\n if (!_this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n var shouldStop = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_this, coreData));\n if (shouldStop === false) return false;\n\n (0, _log2.default)('Draggable: onDragStop: %j', coreData);\n\n var newState /*: $Shape*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n var controlled = Boolean(_this.props.position);\n if (controlled) {\n var _this$props$position = _this.props.position,\n _x2 = _this$props$position.x,\n _y2 = _this$props$position.y;\n\n newState.x = _x2;\n newState.y = _y2;\n }\n\n _this.setState(newState);\n };\n\n _this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n\n // Whether or not we have been dragged before.\n dragged: false,\n\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n\n // Used for compensating for out-of-bounds drags\n slackX: 0, slackY: 0,\n\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n return _this;\n }\n\n _createClass(Draggable, [{\n key: 'componentWillMount',\n value: function componentWillMount() {\n if (this.props.position && !(this.props.onDrag || this.props.onStop)) {\n // eslint-disable-next-line\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && _reactDom2.default.findDOMNode(this) instanceof window.SVGElement) {\n this.setState({ isElementSVG: true });\n }\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps /*: Object*/) {\n // Set x/y if position has changed\n if (nextProps.position && (!this.props.position || nextProps.position.x !== this.props.position.x || nextProps.position.y !== this.props.position.y)) {\n this.setState({ x: nextProps.position.x, y: nextProps.position.y });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.setState({ dragging: false }); // prevents invariant if unmounted while dragging\n }\n }, {\n key: 'render',\n value: function render() /*: ReactElement*/ {\n var _classNames;\n\n var style = {},\n svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n var controlled = Boolean(this.props.position);\n var draggable = !controlled || this.state.dragging;\n\n var position = this.props.position || this.props.defaultPosition;\n var transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : position.x,\n\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : position.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts);\n }\n\n var _props = this.props,\n defaultClassName = _props.defaultClassName,\n defaultClassNameDragging = _props.defaultClassNameDragging,\n defaultClassNameDragged = _props.defaultClassNameDragged;\n\n\n var children = _react2.default.Children.only(this.props.children);\n\n // Mark with class while dragging\n var className = (0, _classnames2.default)(children.props.className || '', defaultClassName, (_classNames = {}, _defineProperty(_classNames, defaultClassNameDragging, this.state.dragging), _defineProperty(_classNames, defaultClassNameDragged, this.state.dragged), _classNames));\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return _react2.default.createElement(\n _DraggableCore2.default,\n _extends({}, this.props, { onStart: this.onDragStart, onDrag: this.onDrag, onStop: this.onDragStop }),\n _react2.default.cloneElement(children, {\n className: className,\n style: _extends({}, children.props.style, style),\n transform: svgTransform\n })\n );\n }\n }]);\n\n return Draggable;\n}(_react2.default.Component);\n\nDraggable.displayName = 'Draggable';\nDraggable.propTypes = _extends({}, _DraggableCore2.default.propTypes, {\n\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes2.default.oneOf(['both', 'x', 'y', 'none']),\n\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * Content
\n * \n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes2.default.oneOfType([_propTypes2.default.shape({\n left: _propTypes2.default.number,\n right: _propTypes2.default.number,\n top: _propTypes2.default.number,\n bottom: _propTypes2.default.number\n }), _propTypes2.default.string, _propTypes2.default.oneOf([false])]),\n\n defaultClassName: _propTypes2.default.string,\n defaultClassNameDragging: _propTypes2.default.string,\n defaultClassNameDragged: _propTypes2.default.string,\n\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * I start with transformX: 25px and transformY: 25px;
\n * \n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes2.default.shape({\n x: _propTypes2.default.number,\n y: _propTypes2.default.number\n }),\n\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n * I start with transformX: 25px and transformY: 25px;
\n * \n * );\n * }\n * });\n * ```\n */\n position: _propTypes2.default.shape({\n x: _propTypes2.default.number,\n y: _propTypes2.default.number\n }),\n\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\nDraggable.defaultProps = _extends({}, _DraggableCore2.default.defaultProps, {\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: { x: 0, y: 0 },\n position: null\n});\nexports.default = Draggable;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar warning = __webpack_require__(8);\nvar assign = __webpack_require__(15);\n\nvar ReactPropTypesSecret = __webpack_require__(3);\nvar checkPropTypes = __webpack_require__(16);\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nif (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n var invariant = __webpack_require__(2);\n var warning = __webpack_require__(8);\n var ReactPropTypesSecret = __webpack_require__(3);\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (Object({\"DRAGGABLE_DEBUG\":undefined}).NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar emptyFunction = __webpack_require__(1);\nvar invariant = __webpack_require__(2);\nvar ReactPropTypesSecret = __webpack_require__(3);\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\treturn classNames;\n\t\t}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getPrefix = getPrefix;\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nvar prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/ {\n var prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n\n // Checking specifically for 'window.document' is for pseudo-browser server-side\n // environments that define 'window' as the global context.\n // E.g. React-rails (see https://github.com/reactjs/react-rails/pull/84)\n if (typeof window === 'undefined' || typeof window.document === 'undefined') return '';\n\n var style = window.document.documentElement.style;\n\n if (prop in style) return '';\n\n for (var i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n\n return '';\n}\n\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/ {\n return prefix ? '' + prefix + kebabToTitleCase(prop) : prop;\n}\n\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/ {\n return prefix ? '-' + prefix.toLowerCase() + '-' + prop : prop;\n}\n\nfunction kebabToTitleCase(str /*: string*/) /*: string*/ {\n var out = '';\n var shouldCapitalize = true;\n for (var i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nexports.default = getPrefix();\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=react-draggable.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-draggable/dist/react-draggable.js\n// module id = 261\n// module chunks = 0","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\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/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\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\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\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\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\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 `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\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 array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\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 a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\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\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\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash.isequal/index.js\n// module id = 262\n// module chunks = 0","import React, { Component } from 'react';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport { getClass } from './util';\nimport classnames from 'classnames';\nimport isEqual from 'lodash.isequal';\n\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nclass Vertical extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: this.props.list||[],\n };\n }\n componentWillReceiveProps(nextProps){\n if(!isEqual(this.state.items,nextProps.list)){\n this.setState({\n items:nextProps.list\n })\n }\n }\n\n onDragEnd = result => {\n if (!result.destination) {\n return;\n }\n const items = reorder(\n this.state.items,\n result.source.index,\n result.destination.index\n );\n\n this.setState({\n items,\n });\n this.props.onStop(result,items);\n }\n\n onDragStart = result =>{\n this.props.onStart(result,this.state.items);\n }\n\n\n render() {\n const { onStart,onDrag,onStop,onDragUpdate,dropClass,dropOverClass,\n dragClass,dragingClass,showKey,type } = this.props;\n \n return (\n \n \n {(provided, snapshot) => (\n \n {this.state.items.map((item, index) => (\n
\n {(provided, snapshot) => (\n \n {showKey?item[showKey]:item}\n
\n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n \n \n );\n }\n}\n\nexport default Vertical;\n\n\n// WEBPACK FOOTER //\n// ./src/SortList.js","export const getClass = (props,doing) =>{\r\n let { dropClass,dropOverClass,dragClass,dragingClass,type } = props;\r\n \r\n let verticalObj = {\r\n drop:{},drag:{}\r\n };\r\n verticalObj.drop['u-drop '+dropClass]=true;\r\n verticalObj.drop['u-droping '+dropOverClass]=doing;\r\n verticalObj.drag['u-drag '+dragClass]=true;\r\n verticalObj.drag['u-draging '+dragingClass]=doing;\r\n\r\n let horizontalObj = {\r\n drop:{},drag:{}\r\n }\r\n horizontalObj.drop['u-drop u-drop-horizontal '+dropClass]=true;\r\n horizontalObj.drop['u-droping u-droping-horizontal '+dropOverClass]=doing;\r\n horizontalObj.drag['u-drag u-drag-horizontal '+dragClass]=true;\r\n horizontalObj.drag['u-draging u-draging-horizontal '+dragingClass]=doing;\r\n\r\n switch (type){\r\n case 'vertical':\r\n return verticalObj;\r\n break;\r\n case 'horizontal':\r\n return horizontalObj;\r\n break;\r\n case 'betweenVertical':\r\n return verticalObj;\r\n break;\r\n case 'betweenHorizontal':\r\n return horizontalObj;\r\n break;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util.js","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\r\nimport { getClass } from './util';\r\nimport classnames from 'classnames';\r\nimport isEqual from 'lodash.isequal';\r\n\r\n\r\nconst reorder = (list, startIndex, endIndex) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n * Moves an item from one list to another list.\r\n */\r\nconst move = (source, destination, droppableSource, droppableDestination) => {\r\n const sourceClone = Array.from(source);\r\n const destClone = Array.from(destination);\r\n const [removed] = sourceClone.splice(droppableSource.index, 1);\r\n\r\n destClone.splice(droppableDestination.index, 0, removed);\r\n\r\n const result = {};\r\n result[droppableSource.droppableId] = sourceClone;\r\n result[droppableDestination.droppableId] = destClone;\r\n\r\n return result;\r\n};\r\n\r\n\r\nclass Between extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items: this.props.list,\r\n selected: this.props.otherList\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(!isEqual(this.state.items,nextProps.list)){\r\n this.setState({\r\n items:nextProps.list\r\n })\r\n }\r\n if(!isEqual(this.state.selected,nextProps.otherList)){\r\n this.setState({\r\n selected:nextProps.otherList\r\n })\r\n }\r\n }\r\n\r\n id2List = {\r\n droppable: 'items',\r\n droppable2: 'selected'\r\n };\r\n\r\n getList = id => this.state[this.id2List[id]];\r\n\r\n onDragEnd = result => {\r\n console.log(result);\r\n const { source, destination } = result;\r\n\r\n // dropped outside the list\r\n if (!destination) {\r\n return;\r\n }\r\n let list=this.state.items;\r\n let otherList=this.state.selected;\r\n\r\n if (source.droppableId === destination.droppableId) {\r\n const items = reorder(\r\n this.getList(source.droppableId),\r\n source.index,\r\n destination.index\r\n );\r\n\r\n let state = { items };\r\n list=items;\r\n\r\n if (source.droppableId === 'droppable2') {\r\n state = { selected: items };\r\n otherList=items;\r\n list=this.state.items;\r\n }\r\n this.setState(state);\r\n } else {\r\n const result = move(\r\n this.getList(source.droppableId),\r\n this.getList(destination.droppableId),\r\n source,\r\n destination\r\n );\r\n\r\n this.setState({\r\n items: result.droppable,\r\n selected: result.droppable2\r\n });\r\n list=result.droppable;\r\n otherList=result.droppable2;\r\n }\r\n this.props.onStop(result,{\r\n list:list,\r\n otherList:otherList\r\n })\r\n \r\n };\r\n\r\n onDragStart = result =>{\r\n this.props.onStart(result,{\r\n list:this.state.list,\r\n otherList:this.state.selected\r\n })\r\n }\r\n\r\n render() {\r\n const { onStart,onDrag,onStop,onDragUpdate,dropClass,dropOverClass,\r\n dragClass,dragingClass,showKey,type } = this.props;\r\n\r\n return (\r\n \r\n
\r\n \r\n {(provided, snapshot) => (\r\n \r\n {this.state.items.map((item, index) => (\r\n
\r\n {(provided, snapshot) => (\r\n \r\n {showKey?item[showKey]:item}\r\n
\r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n {(provided, snapshot) => (\r\n \r\n {this.state.selected.map((item, index) => (\r\n
\r\n {(provided, snapshot) => (\r\n \r\n {showKey?item[showKey]:item}\r\n
\r\n )}\r\n \r\n ))}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default Between;\n\n\n// WEBPACK FOOTER //\n// ./src/Between.js","import GridLayout from 'react-grid-layout';\r\n\r\nexport default GridLayout;\n\n\n// WEBPACK FOOTER //\n// ./src/GridLayout.js","module.exports = require('./build/ReactGridLayout').default;\nmodule.exports.utils = require('./build/utils');\nmodule.exports.Responsive = require('./build/ResponsiveReactGridLayout').default;\nmodule.exports.Responsive.utils = require('./build/responsiveUtils');\nmodule.exports.WidthProvider = require('./build/components/WidthProvider').default;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/index.js\n// module id = 267\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\n\nvar _utils = require(\"./utils\");\n\nvar _GridItem = require(\"./GridItem\");\n\nvar _GridItem2 = _interopRequireDefault(_GridItem);\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// End Types\n\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\n// Types\nvar ReactGridLayout = function (_React$Component) {\n _inherits(ReactGridLayout, _React$Component);\n\n // TODO publish internal ReactClass displayName transform\n function ReactGridLayout(props, context) {\n _classCallCheck(this, ReactGridLayout);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _initialiseProps.call(_this);\n\n (0, _utils.autoBindHandlers)(_this, [\"onDragStart\", \"onDrag\", \"onDragStop\", \"onResizeStart\", \"onResize\", \"onResizeStop\"]);\n return _this;\n }\n\n ReactGridLayout.prototype.componentDidMount = function componentDidMount() {\n this.setState({ mounted: true });\n // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n };\n\n ReactGridLayout.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var newLayoutBase = void 0;\n // Legacy support for compactType\n // Allow parent to set layout directly.\n if (!(0, _lodash2.default)(nextProps.layout, this.props.layout) || nextProps.compactType !== this.props.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(this.props.children, nextProps.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = this.state.layout;\n }\n\n // We need to regenerate the layout.\n if (newLayoutBase) {\n var newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, this.compactType(nextProps));\n var _oldLayout = this.state.layout;\n this.setState({ layout: newLayout });\n this.onLayoutMaybeChanged(newLayout, _oldLayout);\n }\n };\n\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n\n\n ReactGridLayout.prototype.containerHeight = function containerHeight() {\n if (!this.props.autoSize) return;\n var nbRow = (0, _utils.bottom)(this.state.layout);\n var containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n };\n\n ReactGridLayout.prototype.compactType = function compactType(props) {\n if (!props) props = this.props;\n return props.verticalCompact === false ? null : props.compactType;\n };\n\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDragStart = function onDragStart(i, x, y, _ref) {\n var e = _ref.e,\n node = _ref.node;\n var layout = this.state.layout;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout\n });\n\n return this.props.onDragStart(layout, l, l, null, e, node);\n };\n\n /**\n * Each drag movement create a new dragelement and move the element to the dragged location\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDrag = function onDrag(i, x, y, _ref2) {\n var e = _ref2.e,\n node = _ref2.node;\n var oldDragItem = this.state.oldDragItem;\n var layout = this.state.layout;\n var cols = this.props.cols;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n\n // Move the element to the dragged location.\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, this.props.preventCollision, this.compactType(), cols);\n\n this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n\n this.setState({\n layout: (0, _utils.compact)(layout, this.compactType(), cols),\n activeDrag: placeholder\n });\n };\n\n /**\n * When dragging stops, figure out which position the element is closest to and update its x and y.\n * @param {String} i Index of the child.\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n\n\n ReactGridLayout.prototype.onDragStop = function onDragStop(i, x, y, _ref3) {\n var e = _ref3.e,\n node = _ref3.node;\n var oldDragItem = this.state.oldDragItem;\n var layout = this.state.layout;\n var _props = this.props,\n cols = _props.cols,\n preventCollision = _props.preventCollision;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Move the element here\n var isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, this.compactType(), cols);\n\n this.props.onDragStop(layout, oldDragItem, l, null, e, node);\n\n // Set state\n var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);\n var oldLayout = this.state.oldLayout;\n\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n };\n\n ReactGridLayout.prototype.onLayoutMaybeChanged = function onLayoutMaybeChanged(newLayout, oldLayout) {\n if (!oldLayout) oldLayout = this.state.layout;\n if (!(0, _lodash2.default)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n };\n\n ReactGridLayout.prototype.onResizeStart = function onResizeStart(i, w, h, _ref4) {\n var e = _ref4.e,\n node = _ref4.node;\n var layout = this.state.layout;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout\n });\n\n this.props.onResizeStart(layout, l, l, null, e, node);\n };\n\n ReactGridLayout.prototype.onResize = function onResize(i, w, h, _ref5) {\n var e = _ref5.e,\n node = _ref5.node;\n var _state = this.state,\n layout = _state.layout,\n oldResizeItem = _state.oldResizeItem;\n var _props2 = this.props,\n cols = _props2.cols,\n preventCollision = _props2.preventCollision;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Something like quad tree should be used\n // to find collisions faster\n var hasCollisions = void 0;\n if (preventCollision) {\n var collisions = (0, _utils.getAllCollisions)(layout, _extends({}, l, { w: w, h: h })).filter(function (layoutItem) {\n return layoutItem.i !== l.i;\n });\n hasCollisions = collisions.length > 0;\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // adjust w && h to maximum allowed space\n var leastX = Infinity,\n leastY = Infinity;\n collisions.forEach(function (layoutItem) {\n if (layoutItem.x > l.x) leastX = Math.min(leastX, layoutItem.x);\n if (layoutItem.y > l.y) leastY = Math.min(leastY, layoutItem.y);\n });\n\n if (Number.isFinite(leastX)) l.w = leastX - l.x;\n if (Number.isFinite(leastY)) l.h = leastY - l.y;\n }\n }\n\n if (!hasCollisions) {\n // Set new width and height.\n l.w = w;\n l.h = h;\n }\n\n // Create placeholder element (display only)\n var placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n\n this.props.onResize(layout, oldResizeItem, l, placeholder, e, node);\n\n // Re-compact the layout and set the drag placeholder.\n this.setState({\n layout: (0, _utils.compact)(layout, this.compactType(), cols),\n activeDrag: placeholder\n });\n };\n\n ReactGridLayout.prototype.onResizeStop = function onResizeStop(i, w, h, _ref6) {\n var e = _ref6.e,\n node = _ref6.node;\n var _state2 = this.state,\n layout = _state2.layout,\n oldResizeItem = _state2.oldResizeItem;\n var cols = this.props.cols;\n\n var l = (0, _utils.getLayoutItem)(layout, i);\n\n this.props.onResizeStop(layout, oldResizeItem, l, null, e, node);\n\n // Set state\n var newLayout = (0, _utils.compact)(layout, this.compactType(), cols);\n var oldLayout = this.state.oldLayout;\n\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null\n });\n\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n };\n\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n\n\n ReactGridLayout.prototype.placeholder = function placeholder() {\n var activeDrag = this.state.activeDrag;\n\n if (!activeDrag) return null;\n var _props3 = this.props,\n width = _props3.width,\n cols = _props3.cols,\n margin = _props3.margin,\n containerPadding = _props3.containerPadding,\n rowHeight = _props3.rowHeight,\n maxRows = _props3.maxRows,\n useCSSTransforms = _props3.useCSSTransforms;\n\n // {...this.state.activeDrag} is pretty slow, actually\n\n return _react2.default.createElement(\n _GridItem2.default,\n {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: \"react-grid-placeholder\",\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n useCSSTransforms: useCSSTransforms\n },\n _react2.default.createElement(\"div\", null)\n );\n };\n\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n\n\n ReactGridLayout.prototype.processGridItem = function processGridItem(child) {\n if (!child || !child.key) return;\n var l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n var _props4 = this.props,\n width = _props4.width,\n cols = _props4.cols,\n margin = _props4.margin,\n containerPadding = _props4.containerPadding,\n rowHeight = _props4.rowHeight,\n maxRows = _props4.maxRows,\n isDraggable = _props4.isDraggable,\n isResizable = _props4.isResizable,\n useCSSTransforms = _props4.useCSSTransforms,\n draggableCancel = _props4.draggableCancel,\n draggableHandle = _props4.draggableHandle;\n var mounted = this.state.mounted;\n\n // Parse 'static'. Any properties defined directly on the grid item will take precedence.\n\n var draggable = Boolean(!l.static && isDraggable && (l.isDraggable || l.isDraggable == null));\n var resizable = Boolean(!l.static && isResizable && (l.isResizable || l.isResizable == null));\n\n return _react2.default.createElement(\n _GridItem2.default,\n {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n \"static\": l.static\n },\n child\n );\n };\n\n ReactGridLayout.prototype.render = function render() {\n var _this2 = this;\n\n var _props5 = this.props,\n className = _props5.className,\n style = _props5.style;\n\n\n var mergedClassName = (0, _classnames2.default)(\"react-grid-layout\", className);\n var mergedStyle = _extends({\n height: this.containerHeight()\n }, style);\n\n return _react2.default.createElement(\n \"div\",\n { className: mergedClassName, style: mergedStyle },\n _react2.default.Children.map(this.props.children, function (child) {\n return _this2.processGridItem(child);\n }),\n this.placeholder()\n );\n };\n\n return ReactGridLayout;\n}(_react2.default.Component);\n\nReactGridLayout.displayName = \"ReactGridLayout\";\nReactGridLayout.propTypes = {\n //\n // Basic props\n //\n className: _propTypes2.default.string,\n style: _propTypes2.default.object,\n\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes2.default.number,\n\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes2.default.bool,\n // # of cols.\n cols: _propTypes2.default.number,\n\n // A selector that will not be draggable.\n draggableCancel: _propTypes2.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes2.default.string,\n\n // Deprecated\n verticalCompact: function verticalCompact(props) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn(\n // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: _propTypes2.default.oneOf([\"vertical\", \"horizontal\"]),\n\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function layout(props) {\n var layout = props.layout;\n // I hope you're setting the data-grid property on the grid items\n if (layout === undefined) return;\n (0, _utils.validateLayout)(layout, \"layout\");\n },\n\n //\n // Grid Dimensions\n //\n\n // Margin between items [x, y] in px\n margin: _propTypes2.default.arrayOf(_propTypes2.default.number),\n // Padding inside the container [x, y] in px\n containerPadding: _propTypes2.default.arrayOf(_propTypes2.default.number),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes2.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes2.default.number,\n\n //\n // Flags\n //\n isDraggable: _propTypes2.default.bool,\n isResizable: _propTypes2.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes2.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes2.default.bool,\n\n //\n // Callbacks\n //\n\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes2.default.func,\n\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes2.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes2.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes2.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes2.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes2.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes2.default.func,\n\n //\n // Other validations\n //\n\n // Children must not have duplicate keys.\n children: function children(props, propName) {\n var children = props[propName];\n\n // Check children keys for duplicates. Throw if found.\n var keys = {};\n _react2.default.Children.forEach(children, function (child) {\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n keys[child.key] = true;\n });\n }\n};\nReactGridLayout.defaultProps = {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity, // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isDraggable: true,\n isResizable: true,\n useCSSTransforms: true,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n this.state = {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(this.props.layout, this.props.children, this.props.cols,\n // Legacy support for verticalCompact: false\n this.compactType()),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null\n };\n};\n\nexports.default = ReactGridLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/ReactGridLayout.js\n// module id = 268\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.noop = undefined;\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\nexports.bottom = bottom;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.childrenEqual = childrenEqual;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.correctBounds = correctBounds;\nexports.getLayoutItem = getLayoutItem;\nexports.getFirstCollision = getFirstCollision;\nexports.getAllCollisions = getAllCollisions;\nexports.getStatics = getStatics;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.perc = perc;\nexports.setTransform = setTransform;\nexports.setTopLeft = setTopLeft;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.autoBindHandlers = autoBindHandlers;\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// All callbacks are of the signature (layout, oldItem, newItem, placeholder, e).\nvar isProduction = process.env.NODE_ENV === \"production\";\nvar DEBUG = false;\n\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\nfunction bottom(layout) {\n var max = 0,\n bottomY = void 0;\n for (var _i = 0, len = layout.length; _i < len; _i++) {\n bottomY = layout[_i].y + layout[_i].h;\n if (bottomY > max) max = bottomY;\n }\n return max;\n}\n\nfunction cloneLayout(layout) {\n var newLayout = Array(layout.length);\n for (var _i2 = 0, len = layout.length; _i2 < len; _i2++) {\n newLayout[_i2] = cloneLayoutItem(layout[_i2]);\n }\n return newLayout;\n}\n\n// Fast path to cloning, since this is monomorphic\nfunction cloneLayoutItem(layoutItem) {\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable\n };\n}\n\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\nfunction childrenEqual(a, b) {\n return (0, _lodash2.default)(_react2.default.Children.map(a, function (c) {\n return c.key;\n }), _react2.default.Children.map(b, function (c) {\n return c.key;\n }));\n}\n\n/**\n * Given two layoutitems, check if they collide.\n */\nfunction collides(l1, l2) {\n if (l1 === l2) return false; // same element\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n return true; // boxes overlap\n}\n\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} Compacted Layout.\n */\nfunction compact(layout, compactType, cols) {\n // Statics go in the compareWith array right away so items flow around them.\n var compareWith = getStatics(layout);\n // We go through the items by row and column.\n var sorted = sortLayoutItems(layout, compactType);\n // Holding for new items.\n var out = Array(layout.length);\n\n for (var _i3 = 0, len = sorted.length; _i3 < len; _i3++) {\n var l = cloneLayoutItem(sorted[_i3]);\n\n // Don't move static elements\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted);\n\n // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n compareWith.push(l);\n }\n\n // Add to output array to make sure they still come out in the right order.\n out[layout.indexOf(sorted[_i3])] = l;\n\n // Clear moved flag, if it exists.\n l.moved = false;\n }\n\n return out;\n}\n\nvar heightWidth = { x: \"w\", y: \"h\" };\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\nfunction resolveCompactionCollision(layout, item, moveToCoord, axis) {\n var sizeProp = heightWidth[axis];\n item[axis] += 1;\n var itemIndex = layout.indexOf(item);\n\n // Go through each item we collide with.\n for (var _i4 = itemIndex + 1; _i4 < layout.length; _i4++) {\n var otherItem = layout[_i4];\n // Ignore static items\n if (otherItem.static) continue;\n\n // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n if (otherItem.y > item.y + item.h) break;\n\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n\n item[axis] = moveToCoord;\n}\n\n/**\n * Compact an item in the layout.\n */\nfunction compactItem(compareWith, l, compactType, cols, fullLayout) {\n var compactV = compactType === \"vertical\";\n var compactH = compactType === \"horizontal\";\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element up as far as it can go without colliding.\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n\n // Move it down, and keep moving it down if it's colliding.\n var collides = void 0;\n while (collides = getFirstCollision(compareWith, l)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n }\n // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n }\n }\n return l;\n}\n\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\nfunction correctBounds(layout, bounds) {\n var collidesWith = getStatics(layout);\n for (var _i5 = 0, len = layout.length; _i5 < len; _i5++) {\n var l = layout[_i5];\n // Overflows right\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w;\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n return layout;\n}\n\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\nfunction getLayoutItem(layout, id) {\n for (var _i6 = 0, len = layout.length; _i6 < len; _i6++) {\n if (layout[_i6].i === id) return layout[_i6];\n }\n}\n\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\nfunction getFirstCollision(layout, layoutItem) {\n for (var _i7 = 0, len = layout.length; _i7 < len; _i7++) {\n if (collides(layout[_i7], layoutItem)) return layout[_i7];\n }\n}\n\nfunction getAllCollisions(layout, layoutItem) {\n return layout.filter(function (l) {\n return collides(l, layoutItem);\n });\n}\n\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\nfunction getStatics(layout) {\n return layout.filter(function (l) {\n return l.static;\n });\n}\n\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\nfunction moveElement(layout, l, x, y, isUserAction, preventCollision, compactType, cols) {\n if (l.static) return layout;\n\n // Short-circuit if nothing to do.\n if (l.y === y && l.x === x) return layout;\n\n log(\"Moving element \" + l.i + \" to [\" + String(x) + \",\" + String(y) + \"] from [\" + l.x + \",\" + l.y + \"]\");\n var oldX = l.x;\n var oldY = l.y;\n\n // This is quite a bit faster than extending the object\n if (typeof x === 'number') l.x = x;\n if (typeof y === 'number') l.y = y;\n l.moved = true;\n\n // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n var sorted = sortLayoutItems(layout, compactType);\n var movingUp = compactType === \"vertical\" && typeof y === 'number' ? oldY >= y : compactType === \"horizontal\" && typeof x === 'number' ? oldX >= x : false;\n if (movingUp) sorted = sorted.reverse();\n var collisions = getAllCollisions(sorted, l);\n\n // There was a collision; abort\n if (preventCollision && collisions.length) {\n log(\"Collision prevented on \" + l.i + \", reverting.\");\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout;\n }\n\n // Move each item that collides away from this element.\n for (var _i8 = 0, len = collisions.length; _i8 < len; _i8++) {\n var collision = collisions[_i8];\n log(\"Resolving collision between \" + l.i + \" at [\" + l.x + \",\" + l.y + \"] and \" + collision.i + \" at [\" + collision.x + \",\" + collision.y + \"]\");\n\n // Short circuit so we can't infinite loop\n if (collision.moved) continue;\n\n // Don't move static items - we have to move *this* element away\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n\n return layout;\n}\n\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\nfunction moveElementAwayFromCollision(layout, collidesWith, itemToMove, isUserAction, compactType, cols) {\n var compactH = compactType === \"horizontal\";\n var compactV = compactType === \"vertical\";\n var preventCollision = false; // we're already colliding\n\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false;\n\n // Make a mock item so we don't modify the item here, only modify in moveElement.\n var fakeItem = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n };\n\n // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n if (!getFirstCollision(layout, fakeItem)) {\n log(\"Doing reverse collision on \" + itemToMove.i + \" up to [\" + fakeItem.x + \",\" + fakeItem.y + \"].\");\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\nfunction perc(num) {\n return num * 100 + \"%\";\n}\n\nfunction setTransform(_ref) {\n var top = _ref.top,\n left = _ref.left,\n width = _ref.width,\n height = _ref.height;\n\n // Replace unitless items with px\n var translate = \"translate(\" + left + \"px,\" + top + \"px)\";\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: width + \"px\",\n height: height + \"px\",\n position: \"absolute\"\n };\n}\n\nfunction setTopLeft(_ref2) {\n var top = _ref2.top,\n left = _ref2.left,\n width = _ref2.width,\n height = _ref2.height;\n\n return {\n top: top + \"px\",\n left: left + \"px\",\n width: width + \"px\",\n height: height + \"px\",\n position: \"absolute\"\n };\n}\n\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\nfunction sortLayoutItems(layout, compactType) {\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);else return sortLayoutItemsByRowCol(layout);\n}\n\nfunction sortLayoutItemsByRowCol(layout) {\n return [].concat(layout).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n return -1;\n });\n}\n\nfunction sortLayoutItemsByColRow(layout) {\n return [].concat(layout).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n return -1;\n });\n}\n\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\nfunction synchronizeLayoutWithChildren(initialLayout, children, cols, compactType) {\n initialLayout = initialLayout || [];\n\n // Generate one layout item per child.\n var layout = [];\n _react2.default.Children.forEach(children, function (child, i) {\n // Don't overwrite if it already exists.\n var exists = getLayoutItem(initialLayout, String(child.key));\n if (exists) {\n layout[i] = cloneLayoutItem(exists);\n } else {\n if (!isProduction && child.props._grid) {\n console.warn(\"`_grid` properties on children have been deprecated as of React 15.2. \" + // eslint-disable-line\n \"Please use `data-grid` or add your properties directly to the `layout`.\");\n }\n var g = child.props[\"data-grid\"] || child.props._grid;\n\n // Hey, this item has a data-grid property, use it.\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n }\n layout[i] = cloneLayoutItem(_extends({}, g, { i: child.key }));\n } else {\n // Nothing provided: ensure this is added to the bottom\n layout[i] = cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n });\n }\n }\n });\n\n // Correct the layout.\n layout = correctBounds(layout, { cols: cols });\n layout = compact(layout, compactType, cols);\n\n return layout;\n}\n\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\nfunction validateLayout(layout) {\n var contextName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n\n var subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n for (var _i9 = 0, len = layout.length; _i9 < len; _i9++) {\n var item = layout[_i9];\n for (var j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n if (item.i && typeof item.i !== \"string\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].i must be a string!\");\n }\n if (item.static !== undefined && typeof item.static !== \"boolean\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + _i9 + \"].static must be a boolean!\");\n }\n }\n}\n\n// Flow can't really figure this out, so we just use Object\nfunction autoBindHandlers(el, fns) {\n fns.forEach(function (key) {\n return el[key] = el[key].bind(el);\n });\n}\n\nfunction log() {\n var _console;\n\n if (!DEBUG) return;\n // eslint-disable-next-line no-console\n (_console = console).log.apply(_console, arguments);\n}\n\nvar noop = exports.noop = function noop() {};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/utils.js\n// module id = 269\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDraggable = require(\"react-draggable\");\n\nvar _reactResizable = require(\"react-resizable\");\n\nvar _utils = require(\"./utils\");\n\nvar _classnames = require(\"classnames\");\n\nvar _classnames2 = _interopRequireDefault(_classnames);\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/**\n * An individual item within a ReactGridLayout.\n */\nvar GridItem = function (_React$Component) {\n _inherits(GridItem, _React$Component);\n\n function GridItem() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, GridItem);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n resizing: null,\n dragging: null,\n className: \"\"\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // Helper for generating column width\n GridItem.prototype.calcColWidth = function calcColWidth() {\n var _props = this.props,\n margin = _props.margin,\n containerPadding = _props.containerPadding,\n containerWidth = _props.containerWidth,\n cols = _props.cols;\n\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n };\n\n /**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} Object containing coords.\n */\n\n\n GridItem.prototype.calcPosition = function calcPosition(x, y, w, h, state) {\n var _props2 = this.props,\n margin = _props2.margin,\n containerPadding = _props2.containerPadding,\n rowHeight = _props2.rowHeight;\n\n var colWidth = this.calcColWidth();\n\n var out = {\n left: Math.round((colWidth + margin[0]) * x + containerPadding[0]),\n top: Math.round((rowHeight + margin[1]) * y + containerPadding[1]),\n // 0 * Infinity === NaN, which causes problems with resize constraints;\n // Fix this if it occurs.\n // Note we do it here rather than later because Math.round(Infinity) causes deopt\n width: w === Infinity ? w : Math.round(colWidth * w + Math.max(0, w - 1) * margin[0]),\n height: h === Infinity ? h : Math.round(rowHeight * h + Math.max(0, h - 1) * margin[1])\n };\n\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n }\n\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n }\n\n return out;\n };\n\n /**\n * Translate x and y coordinates from pixels to grid units.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @return {Object} x and y in grid units.\n */\n\n\n GridItem.prototype.calcXY = function calcXY(top, left) {\n var _props3 = this.props,\n margin = _props3.margin,\n cols = _props3.cols,\n rowHeight = _props3.rowHeight,\n w = _props3.w,\n h = _props3.h,\n maxRows = _props3.maxRows;\n\n var colWidth = this.calcColWidth();\n\n // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n var x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n var y = Math.round((top - margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n x = Math.max(Math.min(x, cols - w), 0);\n y = Math.max(Math.min(y, maxRows - h), 0);\n\n return { x: x, y: y };\n };\n\n /**\n * Given a height and width in pixel values, calculate grid units.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @return {Object} w, h as grid units.\n */\n\n\n GridItem.prototype.calcWH = function calcWH(_ref) {\n var height = _ref.height,\n width = _ref.width;\n var _props4 = this.props,\n margin = _props4.margin,\n maxRows = _props4.maxRows,\n cols = _props4.cols,\n rowHeight = _props4.rowHeight,\n x = _props4.x,\n y = _props4.y;\n\n var colWidth = this.calcColWidth();\n\n // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n var w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n var h = Math.round((height + margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n w = Math.max(Math.min(w, cols - x), 0);\n h = Math.max(Math.min(h, maxRows - y), 0);\n return { w: w, h: h };\n };\n\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n\n\n GridItem.prototype.createStyle = function createStyle(pos) {\n var _props5 = this.props,\n usePercentages = _props5.usePercentages,\n containerWidth = _props5.containerWidth,\n useCSSTransforms = _props5.useCSSTransforms;\n\n\n var style = void 0;\n // CSS Transforms support (default)\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos);\n\n // This is used for server rendering.\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n\n return style;\n };\n\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n\n\n GridItem.prototype.mixinDraggable = function mixinDraggable(child) {\n return _react2.default.createElement(\n _reactDraggable.DraggableCore,\n {\n onStart: this.onDragHandler(\"onDragStart\"),\n onDrag: this.onDragHandler(\"onDrag\"),\n onStop: this.onDragHandler(\"onDragStop\"),\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\")\n },\n child\n );\n };\n\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n\n\n GridItem.prototype.mixinResizable = function mixinResizable(child, position) {\n var _props6 = this.props,\n cols = _props6.cols,\n x = _props6.x,\n minW = _props6.minW,\n minH = _props6.minH,\n maxW = _props6.maxW,\n maxH = _props6.maxH;\n\n // This is the max possible width - doesn't go to infinity because of the width of the window\n\n var maxWidth = this.calcPosition(0, 0, cols - x, 0).width;\n\n // Calculate min/max constraints using our min & maxes\n var mins = this.calcPosition(0, 0, minW, minH);\n var maxes = this.calcPosition(0, 0, maxW, maxH);\n var minConstraints = [mins.width, mins.height];\n var maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return _react2.default.createElement(\n _reactResizable.Resizable,\n {\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.onResizeHandler(\"onResizeStop\"),\n onResizeStart: this.onResizeHandler(\"onResizeStart\"),\n onResize: this.onResizeHandler(\"onResize\")\n },\n child\n );\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n GridItem.prototype.onDragHandler = function onDragHandler(handlerName) {\n var _this2 = this;\n\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n\n var handler = _this2.props[handlerName];\n if (!handler) return;\n\n var newPosition = { top: 0, left: 0 };\n\n // Get new XY\n switch (handlerName) {\n case \"onDragStart\":\n {\n // TODO: this wont work on nested parents\n var offsetParent = node.offsetParent;\n\n if (!offsetParent) return;\n var parentRect = offsetParent.getBoundingClientRect();\n var clientRect = node.getBoundingClientRect();\n newPosition.left = clientRect.left - parentRect.left + offsetParent.scrollLeft;\n newPosition.top = clientRect.top - parentRect.top + offsetParent.scrollTop;\n _this2.setState({ dragging: newPosition });\n break;\n }\n case \"onDrag\":\n if (!_this2.state.dragging) throw new Error(\"onDrag called before onDragStart.\");\n newPosition.left = _this2.state.dragging.left + deltaX;\n newPosition.top = _this2.state.dragging.top + deltaY;\n _this2.setState({ dragging: newPosition });\n break;\n case \"onDragStop\":\n if (!_this2.state.dragging) throw new Error(\"onDragEnd called before onDragStart.\");\n newPosition.left = _this2.state.dragging.left;\n newPosition.top = _this2.state.dragging.top;\n _this2.setState({ dragging: null });\n break;\n default:\n throw new Error(\"onDragHandler called with unrecognized handlerName: \" + handlerName);\n }\n\n var _calcXY = _this2.calcXY(newPosition.top, newPosition.left),\n x = _calcXY.x,\n y = _calcXY.y;\n\n return handler.call(_this2, _this2.props.i, x, y, { e: e, node: node, newPosition: newPosition });\n };\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n * All drag events call the function with the given handler name,\n * with the signature (index, x, y).\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n GridItem.prototype.onResizeHandler = function onResizeHandler(handlerName) {\n var _this3 = this;\n\n return function (e, _ref3) {\n var node = _ref3.node,\n size = _ref3.size;\n\n var handler = _this3.props[handlerName];\n if (!handler) return;\n var _props7 = _this3.props,\n cols = _props7.cols,\n x = _props7.x,\n i = _props7.i,\n maxW = _props7.maxW,\n minW = _props7.minW,\n maxH = _props7.maxH,\n minH = _props7.minH;\n\n // Get new XY\n\n var _calcWH = _this3.calcWH(size),\n w = _calcWH.w,\n h = _calcWH.h;\n\n // Cap w at numCols\n\n\n w = Math.min(w, cols - x);\n // Ensure w is at least 1\n w = Math.max(w, 1);\n\n // Min/max capping\n w = Math.max(Math.min(w, maxW), minW);\n h = Math.max(Math.min(h, maxH), minH);\n\n _this3.setState({ resizing: handlerName === \"onResizeStop\" ? null : size });\n\n handler.call(_this3, i, w, h, { e: e, node: node, size: size });\n };\n };\n\n GridItem.prototype.render = function render() {\n var _props8 = this.props,\n x = _props8.x,\n y = _props8.y,\n w = _props8.w,\n h = _props8.h,\n isDraggable = _props8.isDraggable,\n isResizable = _props8.isResizable,\n useCSSTransforms = _props8.useCSSTransforms;\n\n\n var pos = this.calcPosition(x, y, w, h, this.state);\n var child = _react2.default.Children.only(this.props.children);\n\n // Create the child element. We clone the existing element but modify its className and style.\n var newChild = _react2.default.cloneElement(child, {\n className: (0, _classnames2.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: _extends({}, this.props.style, child.props.style, this.createStyle(pos))\n });\n\n // Resizable support. This is usually on but the user can toggle it off.\n if (isResizable) newChild = this.mixinResizable(newChild, pos);\n\n // Draggable support. This is always on, except for with placeholders.\n if (isDraggable) newChild = this.mixinDraggable(newChild);\n\n return newChild;\n };\n\n return GridItem;\n}(_react2.default.Component);\n\nGridItem.propTypes = {\n // Children must be only a single element\n children: _propTypes2.default.element,\n\n // General grid attributes\n cols: _propTypes2.default.number.isRequired,\n containerWidth: _propTypes2.default.number.isRequired,\n rowHeight: _propTypes2.default.number.isRequired,\n margin: _propTypes2.default.array.isRequired,\n maxRows: _propTypes2.default.number.isRequired,\n containerPadding: _propTypes2.default.array.isRequired,\n\n // These are all in grid units\n x: _propTypes2.default.number.isRequired,\n y: _propTypes2.default.number.isRequired,\n w: _propTypes2.default.number.isRequired,\n h: _propTypes2.default.number.isRequired,\n\n // All optional\n minW: function minW(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n\n maxW: function maxW(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n\n minH: function minH(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n\n maxH: function maxH(props, propName) {\n var value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n\n // ID is nice to have for callbacks\n i: _propTypes2.default.string.isRequired,\n\n // Functions\n onDragStop: _propTypes2.default.func,\n onDragStart: _propTypes2.default.func,\n onDrag: _propTypes2.default.func,\n onResizeStop: _propTypes2.default.func,\n onResizeStart: _propTypes2.default.func,\n onResize: _propTypes2.default.func,\n\n // Flags\n isDraggable: _propTypes2.default.bool.isRequired,\n isResizable: _propTypes2.default.bool.isRequired,\n static: _propTypes2.default.bool,\n\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes2.default.bool.isRequired,\n\n // Others\n className: _propTypes2.default.string,\n // Selector for draggable handle\n handle: _propTypes2.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes2.default.string\n};\nGridItem.defaultProps = {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity\n};\nexports.default = GridItem;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/GridItem.js\n// module id = 270\n// module chunks = 0","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/index.js\n// module id = 271\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDraggable = require('react-draggable');\n\nvar _cloneElement = require('./cloneElement');\n\nvar _cloneElement2 = _interopRequireDefault(_cloneElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 Resizable = function (_React$Component) {\n _inherits(Resizable, _React$Component);\n\n function Resizable() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Resizable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n resizing: false,\n width: _this.props.width, height: _this.props.height,\n slackW: 0, slackH: 0\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Resizable.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If parent changes height/width, set that in our state.\n if (!this.state.resizing && (nextProps.width !== this.props.width || nextProps.height !== this.props.height)) {\n this.setState({\n width: nextProps.width,\n height: nextProps.height\n });\n }\n };\n\n Resizable.prototype.lockAspectRatio = function lockAspectRatio(width, height, aspectRatio) {\n height = width / aspectRatio;\n width = height * aspectRatio;\n return [width, height];\n };\n\n // If you do this, be careful of constraints\n\n\n Resizable.prototype.runConstraints = function runConstraints(width, height) {\n var _ref = [this.props.minConstraints, this.props.maxConstraints],\n min = _ref[0],\n max = _ref[1];\n\n\n if (this.props.lockAspectRatio) {\n var ratio = this.state.width / this.state.height;\n height = width / ratio;\n width = height * ratio;\n }\n\n if (!min && !max) return [width, height];\n\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n\n var _state = this.state,\n slackW = _state.slackW,\n slackH = _state.slackH;\n\n width += slackW;\n height += slackH;\n\n if (min) {\n width = Math.max(min[0], width);\n height = Math.max(min[1], height);\n }\n if (max) {\n width = Math.min(max[0], width);\n height = Math.min(max[1], height);\n }\n\n // If the numbers changed, we must have introduced some slack. Record it for the next iteration.\n slackW += oldW - width;\n slackH += oldH - height;\n if (slackW !== this.state.slackW || slackH !== this.state.slackH) {\n this.setState({ slackW: slackW, slackH: slackH });\n }\n\n return [width, height];\n };\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */\n\n\n Resizable.prototype.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && ['n', 's'].indexOf(axis) === -1;\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && ['e', 'w'].indexOf(axis) === -1;\n\n // reverse delta if using top or left drag handles\n if (canDragX && axis[axis.length - 1] === 'w') {\n deltaX = -deltaX;\n }\n if (canDragY && axis[0] === 'n') {\n deltaY = -deltaY;\n }\n\n // Update w/h\n var width = _this2.state.width + (canDragX ? deltaX : 0);\n var height = _this2.state.height + (canDragY ? deltaY : 0);\n\n // Early return if no change\n var widthChanged = width !== _this2.state.width,\n heightChanged = height !== _this2.state.height;\n if (handlerName === 'onResize' && !widthChanged && !heightChanged) return;\n\n // Set the appropriate state for this handler.\n var _runConstraints = _this2.runConstraints(width, height);\n\n width = _runConstraints[0];\n height = _runConstraints[1];\n var newState = {};\n if (handlerName === 'onResizeStart') {\n newState.resizing = true;\n } else if (handlerName === 'onResizeStop') {\n newState.resizing = false;\n newState.slackW = newState.slackH = 0;\n } else {\n // Early return if no change after constraints\n if (width === _this2.state.width && height === _this2.state.height) return;\n newState.width = width;\n newState.height = height;\n }\n\n var hasCb = typeof _this2.props[handlerName] === 'function';\n if (hasCb) {\n // $FlowIgnore isn't refining this correctly to SyntheticEvent\n if (typeof e.persist === 'function') e.persist();\n _this2.setState(newState, function () {\n return _this2.props[handlerName](e, { node: node, size: { width: width, height: height }, handle: axis });\n });\n } else {\n _this2.setState(newState);\n }\n };\n };\n\n Resizable.prototype.renderResizeHandle = function renderResizeHandle(resizeHandle) {\n var handle = this.props.handle;\n\n if (handle) {\n if (typeof handle === 'function') {\n return handle(resizeHandle);\n }\n return handle;\n }\n return _react2.default.createElement('span', { className: 'react-resizable-handle react-resizable-handle-' + resizeHandle });\n };\n\n Resizable.prototype.render = function render() {\n var _this3 = this;\n\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n children = _props.children,\n draggableOpts = _props.draggableOpts,\n width = _props.width,\n height = _props.height,\n handleSize = _props.handleSize,\n lockAspectRatio = _props.lockAspectRatio,\n axis = _props.axis,\n minConstraints = _props.minConstraints,\n maxConstraints = _props.maxConstraints,\n onResize = _props.onResize,\n onResizeStop = _props.onResizeStop,\n onResizeStart = _props.onResizeStart,\n resizeHandles = _props.resizeHandles,\n p = _objectWithoutProperties(_props, ['children', 'draggableOpts', 'width', 'height', 'handleSize', 'lockAspectRatio', 'axis', 'minConstraints', 'maxConstraints', 'onResize', 'onResizeStop', 'onResizeStart', 'resizeHandles']);\n\n var className = p.className ? p.className + ' react-resizable' : 'react-resizable';\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // Its original children (resizable's child's children), and\n // One or more draggable handles.\n return (0, _cloneElement2.default)(children, _extends({}, p, {\n className: className,\n children: [children.props.children, resizeHandles.map(function (h) {\n return _react2.default.createElement(\n _reactDraggable.DraggableCore,\n _extends({}, draggableOpts, {\n key: 'resizableHandle-' + h,\n onStop: _this3.resizeHandler('onResizeStop', h),\n onStart: _this3.resizeHandler('onResizeStart', h),\n onDrag: _this3.resizeHandler('onResize', h)\n }),\n _this3.renderResizeHandle(h)\n );\n })]\n }));\n };\n\n return Resizable;\n}(_react2.default.Component);\n\nResizable.propTypes = {\n //\n // Required Props\n //\n\n // Require that one and only one child be present.\n children: _propTypes2.default.element.isRequired,\n\n // Initial w/h\n width: _propTypes2.default.number.isRequired,\n height: _propTypes2.default.number.isRequired,\n\n //\n // Optional props\n //\n\n // Custom resize handle\n handle: _propTypes2.default.element,\n\n // If you change this, be sure to update your css\n handleSize: _propTypes2.default.array,\n\n // Defines which resize handles should be rendered (default: 'se')\n // Allows for any combination of:\n // 's' - South handle (bottom-center)\n // 'w' - West handle (left-center)\n // 'e' - East handle (right-center)\n // 'n' - North handle (top-center)\n // 'sw' - Southwest handle (bottom-left)\n // 'nw' - Northwest handle (top-left)\n // 'se' - Southeast handle (bottom-right)\n // 'ne' - Northeast handle (top-center)\n resizeHandles: _propTypes2.default.arrayOf(_propTypes2.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n\n // If true, will only allow width/height to move in lockstep\n lockAspectRatio: _propTypes2.default.bool,\n\n // Restricts resizing to a particular axis (default: 'both')\n // 'both' - allows resizing by width or height\n // 'x' - only allows the width to be changed\n // 'y' - only allows the height to be changed\n // 'none' - disables resizing altogether\n axis: _propTypes2.default.oneOf(['both', 'x', 'y', 'none']),\n\n // Min/max size\n minConstraints: _propTypes2.default.arrayOf(_propTypes2.default.number),\n maxConstraints: _propTypes2.default.arrayOf(_propTypes2.default.number),\n\n // Callbacks\n onResizeStop: _propTypes2.default.func,\n onResizeStart: _propTypes2.default.func,\n onResize: _propTypes2.default.func,\n\n // These will be passed wholesale to react-draggable's DraggableCore\n draggableOpts: _propTypes2.default.object\n};\nResizable.defaultProps = {\n handleSize: [20, 20],\n lockAspectRatio: false,\n axis: 'both',\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se']\n};\nexports.default = Resizable;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/Resizable.js\n// module id = 272\n// module chunks = 0","'use strict';\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// React.addons.cloneWithProps look-alike that merges style & className.\nmodule.exports = function cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _extends({}, element.props.style, props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + ' ' + props.className;\n }\n return _react2.default.cloneElement(element, props);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/cloneElement.js\n// module id = 273\n// module chunks = 0","'use strict';\n\nexports.__esModule = true;\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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Resizable = require('./Resizable');\n\nvar _Resizable2 = _interopRequireDefault(_Resizable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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// An example use of Resizable.\nvar ResizableBox = function (_React$Component) {\n _inherits(ResizableBox, _React$Component);\n\n function ResizableBox() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ResizableBox);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n width: _this.props.width,\n height: _this.props.height\n }, _this.onResize = function (e, data) {\n var size = data.size;\n var width = size.width,\n height = size.height;\n\n\n if (_this.props.onResize) {\n e.persist && e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n ResizableBox.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.width !== this.props.width || nextProps.height !== this.props.height) {\n this.setState({\n width: nextProps.width,\n height: nextProps.height\n });\n }\n };\n\n ResizableBox.prototype.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _props = this.props,\n handle = _props.handle,\n handleSize = _props.handleSize,\n onResize = _props.onResize,\n onResizeStart = _props.onResizeStart,\n onResizeStop = _props.onResizeStop,\n draggableOpts = _props.draggableOpts,\n minConstraints = _props.minConstraints,\n maxConstraints = _props.maxConstraints,\n lockAspectRatio = _props.lockAspectRatio,\n axis = _props.axis,\n width = _props.width,\n height = _props.height,\n resizeHandles = _props.resizeHandles,\n props = _objectWithoutProperties(_props, ['handle', 'handleSize', 'onResize', 'onResizeStart', 'onResizeStop', 'draggableOpts', 'minConstraints', 'maxConstraints', 'lockAspectRatio', 'axis', 'width', 'height', 'resizeHandles']);\n\n return _react2.default.createElement(\n _Resizable2.default,\n {\n handle: handle,\n handleSize: handleSize,\n width: this.state.width,\n height: this.state.height,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n draggableOpts: draggableOpts,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n lockAspectRatio: lockAspectRatio,\n axis: axis,\n resizeHandles: resizeHandles\n },\n _react2.default.createElement('div', _extends({ style: { width: this.state.width + 'px', height: this.state.height + 'px' } }, props))\n );\n };\n\n return ResizableBox;\n}(_react2.default.Component);\n\nResizableBox.propTypes = {\n height: _propTypes2.default.number,\n width: _propTypes2.default.number\n};\nResizableBox.defaultProps = {\n handleSize: [20, 20]\n};\nexports.default = ResizableBox;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-resizable/build/ResizableBox.js\n// module id = 274\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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 _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _lodash = require(\"lodash.isequal\");\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _utils = require(\"./utils\");\n\nvar _responsiveUtils = require(\"./responsiveUtils\");\n\nvar _ReactGridLayout = require(\"./ReactGridLayout\");\n\nvar _ReactGridLayout2 = _interopRequireDefault(_ReactGridLayout);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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 type = function type(obj) {\n return Object.prototype.toString.call(obj);\n};\n\nvar ResponsiveReactGridLayout = function (_React$Component) {\n _inherits(ResponsiveReactGridLayout, _React$Component);\n\n function ResponsiveReactGridLayout() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, ResponsiveReactGridLayout);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = _this.generateInitialState(), _this.onLayoutChange = function (layout) {\n var _extends2;\n\n _this.props.onLayoutChange(layout, _extends({}, _this.props.layouts, (_extends2 = {}, _extends2[_this.state.breakpoint] = layout, _extends2)));\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n // This should only include propTypes needed in this code; RGL itself\n // will do validation of the rest props passed to it.\n\n\n ResponsiveReactGridLayout.prototype.generateInitialState = function generateInitialState() {\n var _props = this.props,\n width = _props.width,\n breakpoints = _props.breakpoints,\n layouts = _props.layouts,\n cols = _props.cols;\n\n var breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n var colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols);\n // verticalCompact compatibility, now deprecated\n var compactType = this.props.verticalCompact === false ? null : this.props.compactType;\n // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n var initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n };\n\n ResponsiveReactGridLayout.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // Allow parent to set width or breakpoint directly.\n if (nextProps.width != this.props.width || nextProps.breakpoint !== this.props.breakpoint || !(0, _lodash2.default)(nextProps.breakpoints, this.props.breakpoints) || !(0, _lodash2.default)(nextProps.cols, this.props.cols)) {\n this.onWidthChange(nextProps);\n } else if (!(0, _lodash2.default)(nextProps.layouts, this.props.layouts)) {\n // Allow parent to set layouts directly.\n var _state = this.state,\n _breakpoint = _state.breakpoint,\n _cols = _state.cols;\n\n // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n\n var newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, _breakpoint, _breakpoint, _cols, nextProps.compactType);\n this.setState({ layout: newLayout });\n }\n };\n\n // wrap layouts so we do not need to pass layouts to child\n\n\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n ResponsiveReactGridLayout.prototype.onWidthChange = function onWidthChange(nextProps) {\n var breakpoints = nextProps.breakpoints,\n cols = nextProps.cols,\n layouts = nextProps.layouts,\n compactType = nextProps.compactType;\n\n var newBreakpoint = nextProps.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(nextProps.breakpoints, nextProps.width);\n\n var lastBreakpoint = this.state.breakpoint;\n\n // Breakpoint change\n if (lastBreakpoint !== newBreakpoint || this.props.breakpoints !== breakpoints || this.props.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in layouts)) layouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout);\n\n // Find or generate a new layout.\n var newCols = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n var _layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType);\n\n // This adds missing items.\n _layout = (0, _utils.synchronizeLayoutWithChildren)(_layout, nextProps.children, newCols, compactType);\n\n // Store the new layout.\n layouts[newBreakpoint] = _layout;\n\n // callbacks\n this.props.onLayoutChange(_layout, layouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.props.onWidthChange(nextProps.width, nextProps.margin, newCols, nextProps.containerPadding);\n\n this.setState({\n breakpoint: newBreakpoint,\n layout: _layout,\n cols: newCols\n });\n }\n };\n\n ResponsiveReactGridLayout.prototype.render = function render() {\n /* eslint-disable no-unused-vars */\n var _props2 = this.props,\n breakpoint = _props2.breakpoint,\n breakpoints = _props2.breakpoints,\n cols = _props2.cols,\n layouts = _props2.layouts,\n onBreakpointChange = _props2.onBreakpointChange,\n onLayoutChange = _props2.onLayoutChange,\n onWidthChange = _props2.onWidthChange,\n other = _objectWithoutProperties(_props2, [\"breakpoint\", \"breakpoints\", \"cols\", \"layouts\", \"onBreakpointChange\", \"onLayoutChange\", \"onWidthChange\"]);\n /* eslint-enable no-unused-vars */\n\n return _react2.default.createElement(_ReactGridLayout2.default, _extends({}, other, {\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n };\n\n return ResponsiveReactGridLayout;\n}(_react2.default.Component);\n\nResponsiveReactGridLayout.propTypes = {\n //\n // Basic props\n //\n\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes2.default.string,\n\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes2.default.object,\n\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes2.default.object,\n\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts: function layouts(props, propName) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n Object.keys(props[propName]).forEach(function (key) {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n\n\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes2.default.number.isRequired,\n\n //\n // Callbacks\n //\n\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes2.default.func,\n\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes2.default.func,\n\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes2.default.func\n};\nResponsiveReactGridLayout.defaultProps = {\n breakpoints: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 },\n cols: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 },\n layouts: {},\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n};\nexports.default = ResponsiveReactGridLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/ResponsiveReactGridLayout.js\n// module id = 275\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.sortBreakpoints = sortBreakpoints;\n\nvar _utils = require(\"./utils\");\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints, width) {\n var sorted = sortBreakpoints(breakpoints);\n var matching = sorted[0];\n for (var i = 1, len = sorted.length; i < len; i++) {\n var breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\n\n\nfunction getColsFromBreakpoint(breakpoint, cols) {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nfunction findOrGenerateResponsiveLayout(layouts, breakpoints, breakpoint, lastBreakpoint, cols, compactType) {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]);\n // Find or generate the next layout\n var layout = layouts[lastBreakpoint];\n var breakpointsSorted = sortBreakpoints(breakpoints);\n var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (var i = 0, len = breakpointsAbove.length; i < len; i++) {\n var b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, { cols: cols }), compactType, cols);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nfunction sortBreakpoints(breakpoints) {\n var keys = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/responsiveUtils.js\n// module id = 276\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\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\nexports.default = WidthProvider;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\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/*\n * A simple HOC that provides facility for listening to container resizes.\n */\nfunction WidthProvider(ComposedComponent) {\n var _class, _temp2;\n\n return _temp2 = _class = function (_React$Component) {\n _inherits(WidthProvider, _React$Component);\n\n function WidthProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, WidthProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n width: 1280\n }, _this.mounted = false, _this.onWindowResize = function () {\n if (!_this.mounted) return;\n // eslint-disable-next-line\n var node = _reactDom2.default.findDOMNode(_this); // Flow casts this to Text | Element\n if (node instanceof HTMLElement) _this.setState({ width: node.offsetWidth });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n WidthProvider.prototype.componentDidMount = function componentDidMount() {\n this.mounted = true;\n\n window.addEventListener(\"resize\", this.onWindowResize);\n // Call to properly set the breakpoint and resize the elements.\n // Note that if you're doing a full-width element, this can get a little wonky if a scrollbar\n // appears because of the grid. In that case, fire your own resize event, or set `overflow: scroll` on your body.\n this.onWindowResize();\n };\n\n WidthProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n window.removeEventListener(\"resize\", this.onWindowResize);\n };\n\n WidthProvider.prototype.render = function render() {\n var _props = this.props,\n measureBeforeMount = _props.measureBeforeMount,\n rest = _objectWithoutProperties(_props, [\"measureBeforeMount\"]);\n\n if (measureBeforeMount && !this.mounted) {\n return _react2.default.createElement(\"div\", { className: this.props.className, style: this.props.style });\n }\n\n return _react2.default.createElement(ComposedComponent, _extends({}, rest, this.state));\n };\n\n return WidthProvider;\n }(_react2.default.Component), _class.defaultProps = {\n measureBeforeMount: false\n }, _class.propTypes = {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes2.default.bool\n }, _temp2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-grid-layout/build/components/WidthProvider.js\n// module id = 277\n// module chunks = 0","\n/**\n *\n * @title 基础拖拽\n * @description 将某个元素设置为可拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Button from 'bee-button';\nimport Dnd from '../../src/index';\n\nclass Demo1 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\nexport default Demo1;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo1.js","\n/**\n *\n * @title 单个元素沿x轴y轴拖拽\n * @description 设置axis=\"x\"只可以沿着x轴拖拽,同理axis=\"y\"只可以沿着y轴拖拽\n *\n */\n\nimport React, { Component } from 'react';\nimport Button from 'bee-button';\nimport Dnd from '../../src/index';\n\nclass Demo2 extends Component {\n\n onStart=()=>{\n console.log('start');\n }\n onStop=()=>{\n console.log('stop');\n }\n render() {\n return (\n \n\n );\n }\n}\n\nexport default Demo2;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo2.js","\r\n/**\r\n *\r\n * @title 设置元素不可拖拽\r\n * @description 设置 onStart 的返回值为false,则不可以拖拽\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo3 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n return false;\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我不可以拖拽
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\nexport default Demo3;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo3.js","/**\r\n *\r\n * @title 单个元素拖拽把手\r\n * @description 设置 handle,值为选择器,例如 '.handle'\r\n * 设置不可拖拽区域 cancel,值为选择器,例如 '.handle'\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Icon from 'bee-icon';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo4 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo4;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo4.js","\r\n/**\r\n *\r\n * @title 每次拖拽移动距离\r\n * @description 设置 grid={[x,y]}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo5 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我每次拖拽可移动25px
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo5;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo5.js","\r\n/**\r\n *\r\n * @title 元素拖拽范围\r\n * @description 设置上下左右可拖拽范围 bounds={{top: -xxx, left: -xxx, right: xxx, bottom: xx}}\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo6 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n 我只能再上下左右50px内移动
\r\n \r\n
\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo6;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo6.js","\r\n/**\r\n *\r\n * @title 在指定容器中拖拽\r\n * @description 设置只可以在指定容器中移动\r\n * bounds的也可以设置为选择器,bounds=\".demo8-parent\"意为在class=demo8-parent的容器中移动\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Button from 'bee-button';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo7 extends Component {\r\n\r\n onStart=()=>{\r\n console.log('start');\r\n }\r\n onStop=()=>{\r\n console.log('stop');\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n 我只能在父级元素中移动
\r\n \r\n
\r\n
\r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Demo7;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo7.js","/**\n *\n * @title 数据集合拖拽列表排序\n * @description 增加list 可以为 [1,2,3]数组,\n * 也可以为 [{},{}...],需要配置 showKey 。\n * 也可以为 dom集合,见后边示例\n *\n */\n\nimport React, { Component } from 'react';\nimport Dnd from '../../src/index';\n\nclass Demo8 extends Component {\n \n onDragStart=(result,list)=>{\n console.log('开始');\n }\n onDragEnd=(result,list)=>{ \n console.log('结束');\n }\n onDragUpdate=(result)=>{\n console.log('update')\n }\n render() {\n let list=[\n {\n name:'第一',\n code:'a'\n },\n {\n name:'第二',\n code:'b'\n },\n {\n name:'第三',\n code:'c'\n },\n {\n name:'第四',\n code:'d'\n },\n {\n name:'第五',\n code:'e'\n },\n ];\n return (\n \n );\n }\n}\n\nexport default Demo8;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo8.js","\r\n/**\r\n *\r\n * @title DOM集合拖拽列表排序\r\n * @description list传dom集合\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/index';\r\n\r\nclass Demo9 extends Component {\r\n\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,list)=>{\r\n console.log('结束');\r\n }\r\n render() {\r\n let list=[DOM第一
,DOM第二
,DOM第三
,DOM第四
,DOM第五
];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo9\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo9.js","\r\n/**\r\n *\r\n * @title 横向拖拽列表排序\r\n * @description type='horizontal'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list=['第一','第二','第三','第四','第五'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo90.js","\r\n/**\r\n *\r\n * @title 两列纵向拖拽\r\n * @description 设置 type='betweenVertical'。 如果不设置高度以及 overflow: scroll; 则高度会自动撑开\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo91.js","\r\n/**\r\n *\r\n * @title 两列横向拖拽\r\n * @description 设置 type='betweenVertical'\r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nclass Demo90 extends Component {\r\n onDragStart=(result,list)=>{\r\n console.log('开始');\r\n }\r\n onDragEnd=(result,listObj)=>{\r\n console.log('结束');\r\n console.log(listObj)\r\n }\r\n render() {\r\n let list1=['第一','第二','第三','第四','第五'];\r\n let list2=['1','2','3','4','5'];\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo90\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo92.js","\r\n/**\r\n *\r\n * @title 网格排序\r\n * @description \r\n *\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport Dnd from '../../src/Dnd';\r\n\r\nconst GridLayout = Dnd.GridLayout;\r\n\r\nclass Demo93 extends Component {\r\n render() {\r\n let layout = [\r\n {i: 'a', x: 0, y: 0, w: 1, h: 2},\r\n {i: 'b', x: 1, y: 0, w: 3, h: 2},\r\n {i: 'c', x: 4, y: 0, w: 1, h: 2, static: true},\r\n {i: 'd', x: 0, y: 1, w: 1, h: 1},\r\n {i: 'e', x: 2, y: 2, w: 1, h: 2},\r\n {i: 'f', x: 3, y: 3, w: 1, h: 2}\r\n ];\r\n return (\r\n \r\n a
\r\n b
\r\n static
\r\n d
\r\n e
\r\n f
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Demo93;\n\n\n// WEBPACK FOOTER //\n// ./demo/demolist/Demo93.js"],"sourceRoot":""}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index a21646e..eecca52 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "bee-dnd",
- "version": "1.1.2",
+ "version": "1.1.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -8,6 +8,7 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz",
"integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==",
+ "dev": true,
"requires": {
"regenerator-runtime": "^0.12.0"
},
@@ -15,23 +16,29 @@
"regenerator-runtime": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==",
+ "dev": true
}
}
},
"@babel/runtime-corejs2": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz",
- "integrity": "sha512-drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==",
+ "version": "7.5.5",
+ "resolved": "https://registry.npm.taobao.org/@babel/runtime-corejs2/download/@babel/runtime-corejs2-7.5.5.tgz",
+ "integrity": "sha1-wyFMCO8gNBr0GH8cn73DV/vslrI=",
"requires": {
- "core-js": "^2.5.7",
- "regenerator-runtime": "^0.12.0"
+ "core-js": "^2.6.5",
+ "regenerator-runtime": "^0.13.2"
},
"dependencies": {
+ "core-js": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.9.tgz",
+ "integrity": "sha1-a0shRiDINBUuF5Mjcn/Bl0GwhPI="
+ },
"regenerator-runtime": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ "version": "0.13.3",
+ "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U="
}
}
},
@@ -49,7 +56,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz",
"integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
- "dev": true,
"requires": {
"object-assign": "4.x"
}
@@ -63,8 +69,7 @@
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
},
"assertion-error": {
"version": "1.1.0",
@@ -89,23 +94,12 @@
"requires": {
"classnames": "^2.2.5",
"tinper-bee-core": "^1.0.4"
- }
- },
- "bee-button": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/bee-button/-/bee-button-1.0.6.tgz",
- "integrity": "sha1-zilvdmutjEIzS+aEw4otb5Nykn4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.23.0",
- "classnames": "^2.2.5",
- "tinper-bee-core": "^0.4.1"
},
"dependencies": {
"tinper-bee-core": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/tinper-bee-core/-/tinper-bee-core-0.4.1.tgz",
- "integrity": "sha1-HTO79u6jziIr9SYhkIxbLv6RD6k=",
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
"dev": true,
"requires": {
"add-dom-event-listener": "^1.0.1",
@@ -117,6 +111,17 @@
}
}
},
+ "bee-button": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npm.taobao.org/bee-button/download/bee-button-2.0.11.tgz",
+ "integrity": "sha1-w+RtIjtDjg6whjqiiD6n3yXRSp0=",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.23.0",
+ "classnames": "^2.2.5",
+ "tinper-bee-core": "^2.0.32"
+ }
+ },
"bee-clipboard": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/bee-clipboard/-/bee-clipboard-2.0.0.tgz",
@@ -124,7 +129,7 @@
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
- "bee-button": "^1.0.6",
+ "bee-button": "^2.0.11",
"bee-form-control": "^2.0.1",
"bee-icon": "^1.0.10",
"bee-locale": "^0.0.12",
@@ -132,7 +137,7 @@
"bee-tooltip": "^2.0.3",
"classnames": "^2.2.5",
"clipboard": "^1.6.1",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
},
"dependencies": {
"babel-runtime": {
@@ -153,7 +158,7 @@
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
}
}
@@ -164,25 +169,25 @@
"integrity": "sha512-FTrjJhj3AqljMFuYOu33Ozg3UpfAcLa0/3bmXmpgxVhZ7QZbF9KanwMn+6yGQe6m6m2C8UwL6jpMCDn1+0fv0Q==",
"dev": true,
"requires": {
- "bee-button": "^1.0.6",
+ "bee-button": "^2.0.11",
"bee-form-control": "^2.0.1",
"bee-input-group": "^2.0.1",
"classnames": "^2.2.5",
"moment": "^2.17.1",
"rc-time-picker": "^3.1.0",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-drawer": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/bee-drawer/-/bee-drawer-0.0.2.tgz",
- "integrity": "sha1-oEYuaqWU9DHbuC0m1+YBzc+TMKY=",
+ "integrity": "sha512-w8C4XTpiD1AYuxBDQucvFLEMCfptDqccwaNll+CWF2Tx7BGgRlzxSFbcRxSkMqa2GP3cLfBEup+W1+GKA7wvPw==",
"dev": true,
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "^2.2.6",
"react-transition-group": "^2.6.1",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-form-control": {
@@ -194,7 +199,7 @@
"bee-icon": "^1.0.3",
"classnames": "^2.2.5",
"express": "^4.16.3",
- "tinper-bee-core": "^1.0.4",
+ "tinper-bee-core": "^2.0.32",
"warning": "^3.0.0"
}
},
@@ -206,7 +211,7 @@
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-input-group": {
@@ -217,7 +222,7 @@
"requires": {
"bee-input-group-addon": "^1.0.0",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-input-group-addon": {
@@ -228,6 +233,21 @@
"requires": {
"classnames": "^2.2.5",
"tinper-bee-core": "^1.0.4"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
},
"bee-layout": {
@@ -237,7 +257,7 @@
"dev": true,
"requires": {
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-loading": {
@@ -249,7 +269,7 @@
"bee-icon": "^1.0.10",
"bee-overlay": "^1.0.2",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
},
"dependencies": {
"bee-icon": {
@@ -260,7 +280,7 @@
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
}
}
@@ -273,7 +293,7 @@
"requires": {
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-menus": {
@@ -292,7 +312,7 @@
"rc-util": "^4.6.0",
"react-addons-test-utils": "15.3.2",
"resize-observer-polyfill": "^1.5.1",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
}
},
"bee-message": {
@@ -336,7 +356,7 @@
"bee-transition": "^0.2.2",
"classnames": "^2.2.5",
"dom-helpers": "3.0.0",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
},
"dependencies": {
"bee-transition": {
@@ -348,6 +368,21 @@
"classnames": "^2.2.5",
"dom-helpers": "^3.0.0",
"tinper-bee-core": "^1.0.4"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
},
"dom-helpers": {
@@ -365,7 +400,7 @@
"dev": true,
"requires": {
"bee-animate": "^1.0.0",
- "bee-button": "^1.0.6",
+ "bee-button": "^2.0.11",
"classnames": "^2.2.5",
"tinper-bee-core": "^0.4.1"
},
@@ -396,6 +431,21 @@
"dom-helpers": "^3.0.0",
"tinper-bee-core": "^1.0.4",
"warning": "^3.0.0"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
},
"bee-panel": {
@@ -417,6 +467,19 @@
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
"integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==",
"dev": true
+ },
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
}
}
},
@@ -430,7 +493,7 @@
"bee-locale": "^0.0.2",
"bee-overlay": "^1.0.22",
"classnames": "^2.2.5",
- "tinper-bee-core": "^1.0.4"
+ "tinper-bee-core": "^2.0.32"
},
"dependencies": {
"bee-locale": {
@@ -442,6 +505,21 @@
"babel-runtime": "^6.23.0",
"classnames": "^2.2.5",
"tinper-bee-core": "^1.0.4"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
}
}
@@ -460,7 +538,7 @@
"dom-scroll-into-view": "1.x",
"rc-menu": "^7.4.19",
"react-lifecycles-compat": "^3.0.4",
- "tinper-bee-core": "^1.0.4",
+ "tinper-bee-core": "^2.0.32",
"warning": "^3.0.0"
}
},
@@ -474,6 +552,21 @@
"bee-overlay": "^1.0.20",
"classnames": "^2.2.5",
"tinper-bee-core": "^1.0.4"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
},
"bee-transition": {
@@ -485,6 +578,21 @@
"classnames": "^2.2.5",
"dom-helpers": "^3.0.0",
"tinper-bee-core": "^1.0.4"
+ },
+ "dependencies": {
+ "tinper-bee-core": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-1.0.8.tgz",
+ "integrity": "sha1-d1v3Rq2HmStP0UHGACW3Me5/YqA=",
+ "dev": true,
+ "requires": {
+ "add-dom-event-listener": "^1.0.1",
+ "component-classes": "^1.2.6",
+ "create-react-class": "^15.5.3",
+ "dom-align": "^1.5.2",
+ "warning": "^3.0.0"
+ }
+ }
}
},
"body-parser": {
@@ -583,7 +691,6 @@
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz",
"integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
- "dev": true,
"requires": {
"component-indexof": "0.0.3"
}
@@ -591,8 +698,7 @@
"component-indexof": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz",
- "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=",
- "dev": true
+ "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ="
},
"console-polyfill": {
"version": "0.2.3",
@@ -642,7 +748,6 @@
"version": "15.6.3",
"resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
"integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
- "dev": true,
"requires": {
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
@@ -660,11 +765,11 @@
}
},
"css-box-model": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.1.0.tgz",
- "integrity": "sha512-T+/q/VoHaTZ8ezGJrV9JSpaeTEpchEVg3v3Gq7v4TBuk7J0WGM/v0Q4XQomJMofoxxzqYjB60ffOBaCzKPvsTQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npm.taobao.org/css-box-model/download/css-box-model-1.1.3.tgz",
+ "integrity": "sha1-qhrFhT0sk1h4Pmf+CxyiLs2CsjI=",
"requires": {
- "tiny-invariant": "^1.0.1"
+ "tiny-invariant": "^1.0.5"
}
},
"css-select": {
@@ -741,8 +846,7 @@
"dom-align": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.8.0.tgz",
- "integrity": "sha512-B85D4ef2Gj5lw0rK0KM2+D5/pH7yqNxg2mB+E8uzFaolpm7RQmsxEfjyEuNiF8UBBkffumYDeKRzTzc3LePP+w==",
- "dev": true
+ "integrity": "sha512-B85D4ef2Gj5lw0rK0KM2+D5/pH7yqNxg2mB+E8uzFaolpm7RQmsxEfjyEuNiF8UBBkffumYDeKRzTzc3LePP+w=="
},
"dom-helpers": {
"version": "3.4.0",
@@ -818,7 +922,6 @@
"version": "0.1.12",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "dev": true,
"requires": {
"iconv-lite": "~0.4.13"
}
@@ -931,7 +1034,6 @@
"version": "0.8.17",
"resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
"integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
- "dev": true,
"requires": {
"core-js": "^1.0.0",
"isomorphic-fetch": "^2.1.1",
@@ -945,8 +1047,7 @@
"core-js": {
"version": "1.2.7",
"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
- "dev": true
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
}
}
},
@@ -1019,11 +1120,11 @@
"dev": true
},
"hoist-non-react-statics": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz",
- "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.0.tgz",
+ "integrity": "sha1-sJF48BIhhPuVrPUl2q7LTY9FlYs=",
"requires": {
- "react-is": "^16.3.2"
+ "react-is": "^16.7.0"
}
},
"htmlparser2": {
@@ -1064,7 +1165,6 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@@ -1077,8 +1177,8 @@
},
"invariant": {
"version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz",
+ "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
"requires": {
"loose-envify": "^1.0.0"
}
@@ -1113,8 +1213,7 @@
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"is-subset": {
"version": "0.1.1",
@@ -1141,7 +1240,6 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
"integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "dev": true,
"requires": {
"node-fetch": "^1.0.1",
"whatwg-fetch": ">=0.10.0"
@@ -1279,9 +1377,9 @@
"dev": true
},
"memoize-one": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.2.tgz",
- "integrity": "sha512-ucx2DmXTeZTsS4GPPUZCbULAN7kdPT1G+H49Y34JjbQ5ESc6OGhVxKvb1iKhr9v19ZB9OtnHwNnhUnNR/7Wteg=="
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/memoize-one/download/memoize-one-5.1.0.tgz",
+ "integrity": "sha1-znrykcDi/gQbcJysXox7GYyZQoY="
},
"merge-descriptors": {
"version": "1.0.1",
@@ -1370,7 +1468,6 @@
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
"integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "dev": true,
"requires": {
"encoding": "^0.1.11",
"is-stream": "^1.0.1"
@@ -1459,16 +1556,10 @@
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
"dev": true
},
- "performance-now": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
- "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
- },
"promise": {
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "dev": true,
"requires": {
"asap": "~2.0.3"
}
@@ -1502,6 +1593,7 @@
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+ "dev": true,
"requires": {
"performance-now": "^2.1.0"
},
@@ -1509,14 +1601,15 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
}
}
},
"raf-schd": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.0.tgz",
- "integrity": "sha512-m7zq0JkIrECzw9mO5Zcq6jN4KayE34yoIS9hJoiZNXyOAT06PPA8PrR+WtJIeFW09YjUfNkMMN9lrmAt6BURCA=="
+ "version": "4.0.2",
+ "resolved": "https://registry.npm.taobao.org/raf-schd/download/raf-schd-4.0.2.tgz?cache=0&sync_timestamp=1564557383089&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fraf-schd%2Fdownload%2Fraf-schd-4.0.2.tgz",
+ "integrity": "sha1-vUTHCBiPLoTIEL9V/OqSMbyu2KA="
},
"range-parser": {
"version": "1.2.0",
@@ -1649,19 +1742,18 @@
"dev": true
},
"react-beautiful-dnd": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-9.0.2.tgz",
- "integrity": "sha512-hZJJeOUnWLecgD52cJ51zsvosRTsSoweOlyYa+RQzvXHejCdzKUecEqSzF0aNaCsuHGx/GCVBHTdUR4be1HbWg==",
- "requires": {
- "@babel/runtime-corejs2": "^7.0.0",
- "css-box-model": "^1.0.0",
- "memoize-one": "^4.0.0",
- "prop-types": "^15.6.1",
+ "version": "11.0.5",
+ "resolved": "https://registry.npm.taobao.org/react-beautiful-dnd/download/react-beautiful-dnd-11.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-beautiful-dnd%2Fdownload%2Freact-beautiful-dnd-11.0.5.tgz",
+ "integrity": "sha1-FrHb1NZJPeDLP4QsrVfH6eH/X+c=",
+ "requires": {
+ "@babel/runtime-corejs2": "^7.4.5",
+ "css-box-model": "^1.1.2",
+ "memoize-one": "^5.0.4",
"raf-schd": "^4.0.0",
- "react-motion": "^0.5.2",
- "react-redux": "^5.0.7",
- "redux": "^4.0.0",
- "tiny-invariant": "^1.0.0"
+ "react-redux": "^7.0.3",
+ "redux": "^4.0.1",
+ "tiny-invariant": "^1.0.4",
+ "use-memo-one": "^1.1.0"
}
},
"react-dom": {
@@ -1698,37 +1790,52 @@
}
},
"react-is": {
- "version": "16.6.0",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.0.tgz",
- "integrity": "sha512-q8U7k0Fi7oxF1HvQgyBjPwDXeMplEsArnKt2iYhuIF86+GBbgLHdAmokL3XUFjTd7Q363OSNG55FOGUdONVn1g=="
+ "version": "16.9.0",
+ "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.9.0.tgz",
+ "integrity": "sha1-IcqVYTmarQ/xp3AcAWg+jKmB7cs="
},
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
- },
- "react-motion": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz",
- "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==",
- "requires": {
- "performance-now": "^0.2.0",
- "prop-types": "^15.5.8",
- "raf": "^3.1.0"
- }
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==",
+ "dev": true
},
"react-redux": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.0.tgz",
- "integrity": "sha512-CRMpEx8+ccpoVxQrQDkG1obExNYpj6dZ1Ni7lUNFB9wcxOhy02tIqpFo4IUXc0kYvCGMu6ABj9A4imEX2VGZJQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npm.taobao.org/react-redux/download/react-redux-7.1.0.tgz",
+ "integrity": "sha1-cq989JCnSs3FFuqcHdgOJa+eoLI=",
"requires": {
- "@babel/runtime": "^7.1.2",
- "hoist-non-react-statics": "^3.0.0",
+ "@babel/runtime": "^7.4.5",
+ "hoist-non-react-statics": "^3.3.0",
"invariant": "^2.2.4",
- "loose-envify": "^1.1.0",
- "prop-types": "^15.6.1",
- "react-is": "^16.6.0",
- "react-lifecycles-compat": "^3.0.0"
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.8.6"
+ },
+ "dependencies": {
+ "@babel/runtime": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.5.5.tgz",
+ "integrity": "sha1-dPulbTXvvspEQJHHhQzNSU/S8TI=",
+ "requires": {
+ "regenerator-runtime": "^0.13.2"
+ }
+ },
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz",
+ "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.3",
+ "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.3.tgz",
+ "integrity": "sha1-fPanfY9cb2Drc8X8GVWyzrAea/U="
+ }
}
},
"react-resizable": {
@@ -1764,9 +1871,9 @@
}
},
"redux": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz",
- "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npm.taobao.org/redux/download/redux-4.0.4.tgz",
+ "integrity": "sha1-TuGusWS2PWobzFeuSqC25vp6N5Y=",
"requires": {
"loose-envify": "^1.4.0",
"symbol-observable": "^1.2.0"
@@ -1792,8 +1899,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"scheduler": {
"version": "0.10.0",
@@ -1847,8 +1953,7 @@
"setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
- "dev": true
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
"setprototypeof": {
"version": "1.1.0",
@@ -1882,14 +1987,13 @@
},
"symbol-observable": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+ "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-1.2.0.tgz",
+ "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ="
},
"tinper-bee-core": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/tinper-bee-core/-/tinper-bee-core-1.0.4.tgz",
- "integrity": "sha512-57UbUEb4uNPY5ig4friDIHSWLeHcKuRL/B+rPQGaRMnEKhFUM4mhJwttXOpp/dunxRpK/8pkcnt7SOCeNwfUVA==",
- "dev": true,
+ "version": "2.0.32",
+ "resolved": "https://registry.npm.taobao.org/tinper-bee-core/download/tinper-bee-core-2.0.32.tgz",
+ "integrity": "sha1-OYnDZMgGPMR1N2BdNC8KOP76K2s=",
"requires": {
"add-dom-event-listener": "^1.0.1",
"component-classes": "^1.2.6",
@@ -1905,9 +2009,9 @@
"dev": true
},
"tiny-invariant": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.2.tgz",
- "integrity": "sha512-J5T/Z/4GhqAipQlAB5NYJSDNMm/68AxRJyDSAGIK3d1o788OPgAB/zKxHG3KSYws8ncxpQ7NuAnsOMQywdaJOQ=="
+ "version": "1.0.6",
+ "resolved": "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.0.6.tgz",
+ "integrity": "sha1-s/mziDXjakHIQ6OwkHpaezdV3nM="
},
"toggle-selection": {
"version": "1.0.6",
@@ -1934,8 +2038,7 @@
"ua-parser-js": {
"version": "0.7.19",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz",
- "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==",
- "dev": true
+ "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ=="
},
"unpipe": {
"version": "1.0.0",
@@ -1943,6 +2046,11 @@
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
+ "use-memo-one": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/use-memo-one/download/use-memo-one-1.1.1.tgz",
+ "integrity": "sha1-Oebwj+J+Qip9eyNLX5BWrzE70iw="
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -1971,7 +2079,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
"integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
- "dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
@@ -1979,8 +2086,7 @@
"whatwg-fetch": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
- "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==",
- "dev": true
+ "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
}
}
}
diff --git a/package.json b/package.json
index f64fc44..4d7fad4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bee-dnd",
- "version": "1.1.3",
+ "version": "1.1.4",
"description": "Dnd ui component for react",
"keywords": [
"react",
@@ -41,7 +41,7 @@
"babel-runtime": "^6.26.0",
"classnames": "^2.2.5",
"lodash.isequal": "^4.5.0",
- "react-beautiful-dnd": "^9.0.2",
+ "react-beautiful-dnd": "^11.0.5",
"react-draggable": "^3.0.2",
"react-grid-layout": "^0.16.6",
"tinper-bee-core": "latest"
diff --git a/src/SortList.js b/src/SortList.js
index 9a5d953..44b5df9 100644
--- a/src/SortList.js
+++ b/src/SortList.js
@@ -64,7 +64,7 @@ class Vertical extends Component {
})}
>
{this.state.items.map((item, index) => (
-
+
{(provided, snapshot) => (